Internet vạn vật là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tí
Trang 1Trang1
z
ỦY BAN NHÂN DÂN TP.HCM
TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC
NGHIÊN CỨU KHOA HỌC NĂM HỌC 2021 - 2022
Tên đề tài: HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ ĐIỆN QUA MẠNG
Trang 2Chủ nhiệm đề tài: LÊ PHƯỚC ĐỨC
Cán bộ phối hợp nghiên cứu:
TP Hồ Chí Minh, ngày 25 tháng 01 năm 2022
Trang 3MỤC LỤC
TRANG TRANG TỰA
MỤC LỤC 1
A DANH MỤC CÁC CHỮ VIẾT TẮT 3
B DANH SÁCH CÁC HÌNH 4
Chương I TỔNG QUAN 5
1.1 Tổng quan 6
1.2 Nhiệm vụ của đề tài 6
1.2.1 Yêu cầu của đề tài 6
1.2.2 Nội dung cần thực hiện 6
1.3 Mục tiêu đề tài 6
1.4 Đối tượng và phạm vi nghiên cứu 6
1.5 Các phương pháp nghiên cứu 6
Chương 2 CƠ SỞ LÝ THUYẾT 8
2.1 Tổng quan về IoT 8
2.1.1 Khái niệm IoT 8
2.1.2 Các đặc trưng cơ bản của hệ thống IoT 9
2.2 Giới thiệu vi điều khiển ESP8266 11
2.2.1 Sơ đồ chân 12
2.2.2 Thông số phần cứng 14
2.2.3 SĐK hỗ trợ từ hãng sản xuất 15
2.2.4 Board mạch phát triển UNO WEMOS D1 ESP8266 16
Chương 3 THIẾT KẾ MÔ HÌNH THỰC NGHIỆM 20
3.1 Cài đặt NodleMCU ESP8266 Wifi 20
Trang 43.2 Thêm thư viện Blynk cho Aduino IDE 21
3.3 Tạo tài khoản Blynk 27
3.4 Sơ đồ khối hệ thống 32
3.5 Khối nguồn 32
3.6 Khối xử lý trung tâm 33
3.7 Khối điều khiển thiết bị 34
3.8 Khối điều khiển trung tâm 35
3.10 Khối nguồn cung cấp 36
3.11 Khối tải 37
3.12 Mô hình điều khiển thiết bị qua mạng Wifi dùng vi điều khiển ESP8266 38
3.13 Hướng dẫn sử dụng mô hình 39
Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 455
4.1 Kết luận 455
4.2 Hướng phát triển 455
C TÀI LIỆU THAM KHẢO 466
Trang 5A DANH MỤC CÁC CHỮ VIẾT TẮT
Trang 6B DANH SÁCH CÁC HÌNH
Hình 2.1 Sơ đồ chân vi điều khiển ESP8266 12
Hình 2.2 Sơ đồ khối vi điều khiển ESP8266 14
Hình 2.3 Sơ đồ nguyên lý giao tiếp phần cứng cơ bản VĐK ESP8266 15
Hình 2.4 Board phát triển WEMOS D1 R2 18
Hình 3.1 Sơ đồ khối hệ thống 32
Hình 3.2 Sơ đồ nguyên lý khối nguồn DC 32
Hình 3.3 Khối xử lý trung tâm 33
Hình 3.4 Sơ đồ nguyên lý khối Relay DPDT 34
Hình 3.5 Sơ đồ nguyên lý khối Relay SSR 35
Hình 3.6 Khối điều khiển trung tâm dùng Board Wemos D1 35
Hình 3.7 Module điều khiển thiết bị dùng Relay tiếp điểm 36
Hình 3.8 Module điều khiển thiết bị dùng Relay SSR 36
Hình 3.9 Khối cấp nguồn AC 37
Hình 3.10 Khối cấp nguồn DC 37
Hình 3.11 Khối tải đèn 38
Hình 3.12 Mô hình hoàn chỉnh 38
Hình 3.13 Giao diện điều khiển trên điện thoại Error! Bookmark not defined.2
Trang 7Chương 1 TỔNG QUAN
1.1 Tổng quan
Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật đã mang lại cho con người một cuộc sống mới tiện nghi hơn, thoải mái hơn, an toàn hơn Cùng với sự phát triển đó, các loại máy móc hiện đại như máy ảnh số, máy quay phim kỹ thuật
số, máy vi tính,…cũng ra đời nhằm phục vụ nhu cầu ngày càng cao của con người Qua đó, lượng thông tin con người thu được dưới dạng số ngày càng tăng, dữ liệu
về hình ảnh có lượng thông tin lớn và chính xác hơn các loại dữ liệu từ các cảm biến khác Điều này giúp cho việc giải quyết các vấn đề trong lĩnh vực điều khiển
tự động dễ dàng hơn Từ đó, một lĩnh vực khoa học công nghệ mới đã ra đời nhằm đáp ứng cho việc điều khiển trong công nghiệp 4.0 đó là “Internet vạn vật” (Internet of things-IoT) Internet vạn vật là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó nhằm giải quyết các vấn đề phát sinh trong xã hội phát triển ngày nay
Trong thời đại công nghiệp 4.0 hiện nay, với tiến bộ công nghệ đáng kinh ngạc
đã tạo nên những cách tương tác mới giữa người và máy, nổi bật như màn hình cảm ứng (như iPhone, iPad) và cử động (như Nintendo Wii), rồi đến công nghệ điều khiển bằng giọng nói (như Siri) Nhiều thiết bị thông minh hiện nay còn cho phép người dùng nhập văn bản trực tiếp bằng cách đọc thông qua phần mềm nhận dạng giọng nói Để việc tương tác giữa người và máy ngày càng tự nhiên và thoải mái, người ta đã phát triển các công nghệ cho phép người dùng điều khiển các thiết
bị điện tử thông qua mạng Wifi
Điều khiển tự động là một vấn đề được rất nhiều nhà nghiên cứu quan tâm đặc biệt bởi những ứng dụng thiết thực của nó cho đời sống xã hội Chẵng hạn như các
hệ thống điều khiển bằng giọng nói, âm thanh, ánh sáng đã và đang được ứng dụng rộng rãi trong đời sống Giúp cho cuộc sống của con người ngày càng thuận tiện hơn , thoải mái hơn
Trang 8Hiện nay trên thế giới đã có nhiều công trình nghiên cứu về IoT trong điều khiển và cũng đã có nhiều ứng dụng đáng kể trong lĩnh vực này Tuy nhiên, so với yêu cầu thực tế thì như thế vẫn là chưa đủ
Ở Việt Nam, IoT là một vấn đề còn khá mới mẻ Thực tế cho thấy rằng, khi xã hội phát triển càng mạnh, yêu cầu về các thiết bị công nghệ càng cao Như vậy, IoT
là một mảnh đất màu mỡ cho các trung tâm nghiên cứu, các công ty đầu tư vào Nhất là trong giai đoạn hệ thống nhúng đang phát triển và mở ra một kỷ nguyên mới cho ngành công nghệ phần mềm như hiện nay
1.2 Nhiệm vụ của đề tài
1.2.1 Yêu cầu của đề tài
Trong khuôn khổ đề tài, mục tiêu của tôi là là nghiên cứu và xây dựng mô hình hệ thống điều khiển thiết bị điện từ xa thông qua mạng Wifi để từ đó ứng dụng điều khiển các thiết bị điện trong gia đình ở bất cứ nơi nào có Internet Đề tài dùng vi điều khiển ESP8266 làm đơn vị điều khiển trung tâm, phần mềm Blynk để thiết kế giao diện, kết hợp giao thức IFTTT và ngôn ngữ lập trình C++
1.2.2 Nội dung cần thực hiện
Đề tài nghiên cứu và xây dựng hệ thống điều khiển thiết bị điện từ xa thông qua mạng Wifi dựa trên vi điều khiển ESP8266, kết hợp phần mềm Blynk để xây dựng giao diện điều khiển trên điện thoại Hệ thống được lập trình bằng ngôn ngữ C++ trên máy tính Đề tài tập trung nghiên cứu các vấn đề cơ bản sau :
- Tìm hiểu vi điều khiển ESP8266
- Xây dựng lưu đồ giải thuật và viết chương trình điều khiển
- Ứng dụng phần mềm Blynk thiết kế giao diện điều khiển trên điện thoại
1.3 Mục tiêu của đề tài
- Thiết kế và xây dựng hệ thống điều khiển thiết bị điện qua mạng không dây
- Biên soạn tài liệu giảng dạy phù hợp với sản phẩm
1.4 Đối tượng và phạm vi nghiên cứu của đề tài
- Vi mạch ESP8266, phần mềm Blynk, kết hợp giao thức IFTTT và ngôn ngữ lập trình C++
1.5 Các phương pháp nghiên cứu được sử dụng để nghiên cứu đề tài
- Phương pháp tham khảo tài liệu: tìm kiếm thông tin từ sách ,báo, tạp chí công nghệ, internet
Trang 9- Phương pháp nghiên cứu thực nghiệm: Từ những kiến thức thu thập được tiến hành
mô phỏng, khảo sát nhiều phương pháp khác nhau để từ đó xây dựng hê thống tối ưu nhất
Trang 10Chương 2
CƠ SỞ LÝ THUYẾT
2.1 Tổng quan về IoT
2.1.1 Khái niệm IoT
Internet of Things (IoT) là thuật ngữ dùng để chỉ các đối tượng có thể được nhận biết cũng như sự tồn tại của chúng trong một kiến trúc mang tính kết nối Đây là một viễn cảnh trong đó mọi vật, mọi con vật hoặc con người được cung cấp các định danh
và khả năng tự động truyền tải dữ liệu qua một mạng lưới mà không cần sự tương tác giữa con người-với-con người hoặc con người-với-máy tính IoT tiến hoá từ sự hội tụ của các công nghệ không dây, hệ thống vi cơ điện tử (MEMS) và Internet Cụm từ này được đưa ra bởi Kevin Ashton vào năm 1999 Ông là một nhà khoa học đã sáng lập ra Trung tâm Auto-ID ở đại học MIT
IoT có thể là bộ cảm ứng được lắp ráp trong một chiếc tủ lạnh để ghi lại nhiệt độ,
là một trái tim được cấy ghép trong cơ thể con người… Hiểu đơn giản, IoT có thể khiến mọi vật giờ đây có thể giao tiếp với nhau dễ dàng hơn và ưu điểm lớn nhất của
“Thông minh” là khả năng phòng ngừa và cảnh báo tại bất kì đâu
Cụm từ Internet of things được đưa ra bởi Kevin Ashton vao năm 1999, tiếp sau
đó nó cũng được dùng nhiều trong cac ấn phẩm đến từ các hãng và nhà phân tích Họ cho rằng IoT là một hệ thống phức tạp, bởi nó la một lượng lớn các đường liên kết giữa máy móc, thiết bị và dịch vụ với nhau Ban đầu, IoT không mang nghĩa tự động
và thông minh Về sau, người ta đã nghĩ đến khả năng kết hợp giữa hai khai niệm IoT - Autonomous control lại với nhau Nó có thể quan sát sự thay đổi và phản hồi với môi trường xung quanh, cũng co thể tự điều khiển bản thân mà không cần kết nối mạng Việc tich hợp trí thông minh vào IoT còn có thể giúp các thiết bị, máy móc, phần mềm thu thập va phân tích các dữ liệu điện tử của con người khi chúng ta tương tác với chúng Xu hướng tất yếu trong tương lai,con người có thể giao tiếp với máy móc chỉ qua mạng internet không dây mà không cần them bất cứ hình thức trung gian nào khác Câu hỏi đặt ra la, điều gì giúp IoT“thông minh" và“hiểu" con người ? Ban đầu, người ta cho rằng Internet của vạn vật chủ yếu xoay quanh giao tiếp M2M (các thiết bị kết nối với nhau thông qua một thiết bị khác điều khiển) Nhưng khi hướng đến
sự “thông minh hóa”, đó không chỉ la giao tiếp giữa M2M nữa mà cần phải đề cập đến cac cảm biến (sensor) Và cũng đừng lầm tưởng rằng Sensor là Cơ sở kỹ thuật IoT
Thing" - sự vật - trong Internet of Things, có thể là một trang trại động vật với bộ tiếp sóng chip sinh học, một chiếc xe ô tô tích hợp các cảm biến để cảnh báo lái xe khi lốp quá non, hoặc bất kỳ đồ vật nào do tự nhiên sinh ra hoặc do con người sản xuất ra
Trang 11- MQTT (Message Queue Telemetry Transport): một giao thức cho việc thu thập
dữ liệu và giao tiếp cho các máy chủ (D2S) Mục đích là đo đạc từ xa, hoặc giám sát từ
xa, thu thập dữ liệu từ nhiều thiết bị và vận chuyển dữ liệu đó đến máy trạm với ít xung đột nhất MQTT nhắm đến các mạng lớn của các thiết bị nhỏ mà cần phải được theo dõi hoặc kiểm soát từ các đám mây
- XMPP: giao thức tốt nhất để kết nối các thiết bị với mọi người, một trường hợp đặc biệt của mô hình D2S, kể từ khi người được kết nối với các máy chủ
- DDS: giao thức tốc độ cao cho việc tích hợp máy thông minh (D2D)
- AMQP: hệ thống hàng đợi được thiết kế để kết nối các máy chủ với nhau (S2S)
2.1.2.2 Năng lực truyền thông (Communication Capabilities)
Địa chỉ IP được coi là yếu tố quan trọng trong IoT, khi mà mỗi thiết bị được gán một địa chỉ IP riêng biệt Do đó khả năng cấp phát địa chỉ IP sẽ quyết định đến tương lai của IoT Hệ thống địa chỉ IPv4 được tạo ra mới mục đích đánh cho mỗi máy tính kết nối vào mạng internet một con số riêng biệt, giúp cho thông tin có thể tìm tới đúng nơi cần đến ngay khi nó được chuyển đi từ bất cứ địa điểm nào trên thế giới Theo thiết kế, Ipv4 có thể cung cấp 2^32 (tương ứng với khoảng 4,2 tỉ) địa chỉ IP, một con
số lớn không tưởng cách đây 30 năm Tuy nhiên, sự bùng nổ mạnh mẽ của Internet đã khiến cho số lượng địa chỉ IP tự do càng ngày càng khan hiếm Mới đây, RIPE NCC - Hiệp hội các tổ chức quản lý mạng Internet khu vực châu Âu phải đưa ra tuyên bố rằng
họ đã sử dụng đến gói địa chỉ IP chưa cấp phát cuối cùng (khoảng 1,8 triệu địa chỉ)
Và sự ra đời của IPv6 như là một giải pháp cứu sống kịp thời cho sự cạn kiệt của IPv4 Độ dài bit của là 128 Sự gia tăng mạnh mẽ của IPv6 trong không gian địa chỉ là một yếu tố quan trọng trong phát triển Internet of Things
2.1.2.3 Công suất thiết bị (Device Power)
Các tiêu chí hình thức chính của thiết bị khi triển khai một ứng dụng IoT là phải giá thành thấp, mỏng, nhẹ…và như vậy phần năng lượng nuôi thiết bị cũng sẽ trở nên nhỏ gọn lại, năng lượng tích trữ cũng sẽ trở nên ít đi Do đó đòi hỏi thiết bị phải tiêu
Trang 12tốn một công suất cực nhỏ (Ultra Low Power) để sử dụng nguồn năng lượng có hạn
đó Bên cạnh đó yêu cầu có những giao thức truyền thông không dây gọn nhẹ hơn, đơn giản hơn, đòi hỏi ít công suất hơn (Low Energy Wireless Technologies) như Zigbee, BLE (Bluetooth low energy), ANT/ANT+, NIKE+,
2.1.2.4 Thời gian đáp ứng
Thời gian đáp ứng phải đảm bảo tính thời gian thực, sao cho hàng ngàn các node mạng có thể truy cập vào hệ thống mà không xảy ra hiện tượng nghẽn mạng Với các ứng dụng D2D, thời gian đáp ứng trong khoảng 10us đến 10ms, trong khi ứng dụng D2S, thời gian này là 10ms đến 1s Với các ứng dụng S2S, không có yêu cầu khắt khe
về thời gian đáp ứng, tuy nhiên thông thường yêu cầu từ 3 đến 5s
2.1.2.5 Các ứng dụng của IoT
Với những hiệu quả thông minh rất thiết thực mà IoT đem đến cho con người, IoT
đã và đang được tích hợp trên khắp mọi thứ, mọi nơi xung quanh thế giới mà con người đang sống Từ chiếc vòng đeo tay, những đồ gia dụng trong nhà, những mãnh vườn đang ươm hạt giống, cho đến những sinh vật sống như động vật hay con người…đều có sử dụng giải pháp IoT
a Ứng dụng trong lĩnh vực vận tải
Ứng dụng điển hình nhất trong lĩnh vực này là gắn chíp lấy tọa độ GPS lên xe chở hàng, nhằm kiểm soát lộ trình, tốc độ, thời gian đi đến của các xe chở hàng Ứng dụng này giúp quản lý tốt khâu vận chuyển, có những xử lý kịp thời khi xe đi không đúng lộ trình hoạt bị hỏng hóc trên những lộ trình mà ở đó mạng di động không phủ sóng tới được, kiểm soát được lượng nhiên liệu tiêu hao ứng với lộ trình đã được vạch trước…
b Ứng dụng trong lĩnh vực sản xuất nông nghiệp
Quá trình sinh trưởng và phát triển của cây trồng trải qua nhiều giai đoạn từ hạt nảy mầm đến ra hoa kết trái Ở mỗi giai đoạn cần có sự chăm sóc khác nhau về chất dinh dưỡng cũng như chế độ tưới tiêu phù hợp Những yêu cầu này đòi hỏi sự bền bỉ
và siêng năng của người nông dân từ ngày này sang ngày khác làm cho họ phải vất vả Nhưng nhờ vào ứng dụng khoa học kỹ thuật, sử dụng cảm biến để lấy thông số nhiệt
độ, độ ẩm, độ pH của đất trồng, cùng với bảng dữ liệu về quy trình sinh trưởng của loại cây đó, hệ thống sẽ tự động tưới tiêu bón lót cho cây trồng phù hợp với từng giai đoạn phát triển của cây trồng Người nông dân bây giờ chỉ kiểm tra, quan sát sự vận hành của hệ thống chăm sóc cây trồng trên một màn hình máy tính có nối mạng
Sản phẩm của mỗi loại nông sản sẽ được gắn mã ID, nếu tủ lạnh nhà chúng ta sắp hết một loại nông sản nào đó thì ngay lập tức nó sẽ tự động gửi thông báo cần mua đến
cơ sở dữ liệu của trang trại có trồng loại nông sản đó, và chỉ sau một thời gian nông sản mà chúng ta cần sẽ được nhân viên đem đến tận nhà
c Ứng dụng trong nhà thông minh
Trang 13Vài năm trở lại đây, khi thế giới đang dần tiến vào kỷ nguyên Internet of Things, kết nối mọi vật qua Internet, nhà thông minh trở thành một xu hướng công nghệ tất yếu, là tiêu chuẩn của nhà ở hiện đại Trong căn hộ thông minh, tất cả các thiết bị từ rèm cửa, điều hoà, dàn âm thanh, hệ thống ánh sáng, hệ thống an ninh, thiết bị nhà tắm… được kết nối với nhau và hoạt động hoàn toàn tự động theo kịch bản lập trình sẵn, đáp ứng đúng nhu cầu sử dụng của khách hàng
Nếu có việc cả nhà phải đi vắng, chế độ "Ra khỏi nhà" sẽ được kích hoạt, toàn bộ thiết bị điện tử gia dụng sẽ tự động tắt hoặc đóng lại và khi chủ nhân về, chúng cũng sẽ khôi phục lại trạng thái trước đó Thậm chí, nước nóng cũng đã sẵn sàng từ vài phút trước khi gia chủ về đến cửa Riêng hệ thống an ninh luôn hoạt động 24/24 và sẽ thông báo đến chủ nhà mọi thay đổi "đáng ngờ" trong ngôi nhà, dù đang ở bất cứ đâu
2.2 Giới thiệu vi mạch ESP8266
ESP8266 là dòng chip tích hợp Wi-Fi 2.4Ghz có thể lập trình được, rẻ tiền được sản xuẩt bởi một công ty bán dẫn Trung Quốc: Espressif Systems
Được phát hành đầu tiên vào tháng 8 năm 2014, đóng gói đưa ra thị trường dạng
Mô dun ESP-01, được sản xuẩt bởi bên thứ 3: AI-Thinker Có khả năng kểt nối Internet qua mạng Wi-Fi một cách nhanh chóng và sử dụng rẩt ít linh kiện đi kèm Với giá cả có thể nói là rẩt rẻ so với tính năng và khả năng ESP8266 có thể làm được ESP8266 có một cộng đồng các nhà phát triển trên thể giới rẩt lớn, cung cẩp nhiều Module lập trình mã nguồn mở giúp nhiều người có thể tiểp cận và xây dựng ứng dụng rẩt nhanh
Hiện nay tẩt cả các dòng chip ESP8266 trên thị trường đều mang nhãn ESP8266EX, là phiên bản nâng cẩp của ESP8266
Trang 142.2.1 Sơ đồ chân
Hình 2.1 Sơ đồ chân vi điều khiển ESP8266
RF antenna interface
2 LNA I/O Chip output impedance = 39 + j6 Q It is suggested to retain the n-type
matching network to match the antenna.
Chip Enable
8 XPD_DCDC I/0 Deep-sleep wakeup (need to be connected to EXT_RSTB); GPIO16
Trang 1518 SDI0_DATA_2 I/0 Connect to SD_D2 (Series R: 20 Q); SPIHD; HSPIHD; GPIO9
19 SDI0_DATA_3 I/0 Connect to SD_D3 (Series R: 200 Q); SPIWP; HSPIWP; GPIO10
21 SDI0_CLK I/0 Connect to SD_CLK (Series R: 200 Q); SPI_CLK; GPIO6
22 SDI0_DATA_0 I/0 Connect to SD_D0 (Series R: 200 Q); SPI_MISO; GPIO7
23 SDI0_DATA_1 I/0 Connect to SD_D1 (Series R: 200 Q); SPI_MOSI; GPIO8
27 XTAL_0UT I/0 Connect to crystal oscillator output, can be used to provide BT clock
input
31 RES12K I Serial connection with a 12 kQ resistor and connect to the ground
Trang 16- 64KBytes RAM thực thi lệnh
- 96KBytes RAM dữ liệu
- 64KBytes boot ROM
- Chuẩn wifi EEE 802.11 b/g/n, Wi-Fi 2.4 GHz
- Tích hợp TR switch, balun, LNA, khuếch đại công suất và matching network
- Hổ trợ WEP, WPA/WPA2, Open network
- Dải nhiệt độ hoạt động rộng : -40C ~ 125C
Hình 2.2 Sơ đồ khối vi điều khiển ESP8266
Trang 17- Do không hỗ trợ bộ nhớ Flash nên các board sử dụng ESP8266 phải gắn thêm chip Flash bên ngoài và thường là Flash SPI để ESP8266 có thể đọc chương trình ứng dụng với chuẩn SDIO hoặc SPI
Hình 2.3 Sơ đồ nguyên lý giao tiếp phần cứng cơ bản ESP8266
2.2.3 SĐK hỗ trợ từ hãng sản xuất
Espressif hiện đã hỗ trợ 3 nền tảng SDK (Software Development Kit - Gói phát triển phần mềm) độc lập, là: NON OS SDK, RTOS SDK và Arduino Cả 3 đều có những ưu điểm riêng phù hợp với từng ứng dụng nhất định, và sử dụng chung nhiều các hàm điều khiển phần cứng Hiện nay Arduino đang được sử dụng rộng rãi bởi tính
dễ sử dụng, kiến trúc phần mềm tốt và tận dụng được nhiều thư viện cộng đồng
Trang 18- Smartconfig: Hỗ trợ cấu hình thông số Wi-Fi cho ESP8266 nhanh chóng
- Sniffer API: Bắt các gói tin trong mạng không dây 2.4Ghz
- SNTP API: Đồng bộ thời gian với Máy chủ thời gian
- WPA2 Enterprise API: Cung cấp việc quản lý kết nối Wi-Fi bằng tài khoản
- MESH API: Liên kết các module ESP8266 với cau trúc mạng MESH
- FOTA API: Firmware Over The Air - cập nhật firmware từ xa cho thiết bị
- ESP-Now API: Sử dụng các gói tin Wireless 2.4GHz trao đổi trực tiếp với ESP8266 khác mà không cần kết nối tới Access Point
- Simple Pair API: Thiết lập kết nối bảo mật giữa 2 thiết bị tự động
2.2.4 Board mạch phát triển UNO WEMOS D1 ESP8266
Module ESP8266 chỉ bao gồm Chip ESP8266 và các linh kiện giúp chip có thể hoạt động được Tuy nhiên, trong quá trình phát triển sản phẩm, chúng ta cần phải nạp chương trình cho chip trước khi đưa vào hoạt động thực tể Quá trình này là quá trình gởi dữ liệu Binary (đã biên dịch trên máy tính] xuống bộ nhớ Flash của ESP8266 Để đưa ESP8266 vào chể độ Nạp (Program] thì cần phải đặt mức logic 0 (0V - GND] vào chân GPIŨ0, đồng thời RESET chip Rồi sau đó có thể dùng các công cụ nạp để gởi Firmware từ máy tính xuống
Hiện nay các Board mạch phát triển đều tích hợp các mạch nạp tự động, nghĩa là phần mềm sẽ tự động điều chỉnh các chân DTR và RTS của chip USB CDC, đưa
Trang 19ESP8266 vào chể độ nạp, sau đó sẽ gởi firmware xuống Arduino IDE cũng vậy, nó sẽ điều chỉnh dựa trên việc khai báo Board mạch sử dụng
Arduino là một IDE tích hợp sẵn editor, compiler, programmer và đi kèm với nó
là các firmware có bootloader, các bộ thư viện được xây dựng sẵn và dễ dàng tích hợp Ngôn ngữ sử dụng là C/C++ Tất cả đều opensource và được đóng góp, phát triển hàng ngày bởi cộng đồng Triết lý thiết kể và sử dụng của Arduino giúp cho người mới, không chuyên rất dễ tiểp cận, các công ty, hardware dễ dàng tích hợp Tuy nhiên, với trình biên dịch C/C++ và các thư viện chất lượng được xây dựng thì mức độ phổ biển ngày càng tăng và hiệu năng thì không hề thua kém các trình biên dịch chuyên nghiệp cho chip khác
Đại diện cho Arduino ban đầu là chip AVR, nhưng sau này có rất nhiều nhà sản xuất sử dụng các chip khác nhau như ARM, PIC, STM32 gần đây nhất là ESP8266, ESP32, và RISCV với năng lực phần cứng và phần mềm đi kèm mạnh mẽ hơn nhiều Arduino che dấu đi sự phức tạp của điện tử bằng các khái niệm đơn giản, che đi sự phức tạp của phần mềm bằng các thủ tục ngắn gọn Việc setup output cho 1 MCU bằng cách setup thanh ghi rõ ràng phức tạp đến độ người chuyên cũng phải lật datasheet ra xem, nhưng với Arduino thì chỉ cần gọi 1 hàm
Bởi vì tính phổ biển và dễ dùng, với các thư viện được tích hợp sẵn Ta chỉ cần quan tâm đển tính năng sản phẩm mà bỏ qua các tiểu tiểt (protocol, datasheet ) Nên giúp các người không chuyên dễ dàng tiểp cận và làm ra các sản phẩm tuyệt vời mà không cần phải biết nhiều về điện tử
Chính vì không quan tâm nhiều đến cách thức hoạt động của các Module đi kèm, nên đa phần người dùng sẽ khó xử lý được khi có các vấn đề phát sinh ngoài tầm của thư viện
Thiểt kể IDE tốt, có thể dễ dàng tích hợp nhiều loại compiler, nhiều loại hardware
mà không hề giảm hiệu năng Ví dụ: Arduino gốc cho AVR, nhưng có nhiều phiên bản cho STM32, PIC32, ESP8266, ESP32 tận dụng tối đa các thư viện sẵn có
Các thư viện được viết dựa trên lớp API trên cùng, nên đa số các thư viện cho Arduino có thể dùng được cho tẩt cả các chip Điển hình là Arduino cho ESP8266 có thể tận dụng trên 90% các thư viện cho Arduino khác
Trang 20Trình biên dịch cho Arudino là C/C++, khi biên dịch ESP8266 non-os SDK và ESP8266 Arduino cùng dùng chung trình biên dịch Do đó hiệu năng không hề thua kém
Cách tổ chức các thư viện C/C++ theo dạng OOP giúp phân lớp, kể thừa và quản
lý cực kỳ tốt cho các ứng dụng lớn Các MCU ngày càng mạnh mẽ và ứng dụng cho
nó sẽ ngày càng lớn Các mô hình quản lý code đơn giản trước đây (thuần C) sẽ khó Các project cho Arduino đều opensource, dễ dàng lấy nó và đưa vào sản phẩm production với chẩt lượng tốt và học hỏi được nhiều từ cách thức thiểt kể chương trình của các bậc thầy
Arduino chú trọng tính đa nền tảng, module hóa cao, phù hợp với các ứng dụng
từ phức tạp tới cực kỳ phức tạp Các ứng dụng kiểu này rẩt phổ biển trong thực tể Nểu không dùng C++, hoặc arduino mà gặp vẩn đề về overcontrol thì nên thử qua Arduino WEMOS D1 R2 là kit phát triển phiên bản mới nhất từ WeMos, kit được thiết kế với hình dáng tương tự Arduino Uno nhưng trung tâm lại là module wifi Soc ESP8266EX được build lại firmware để có thể chạy với chương trình Arduino Kit thích hợp và dễ dàng thực hiện các ứng dụng thu thập dữ liệu và điều khiển qua Wifi
Hình 2.4 Board phát triển WEMOS D1 R2
Trang 21- Thông số kỹ thuật:
lí do là vì: các chân từ D11=>D15 là các chân "giả" để kit trông giống arduino hơn (ESP chỉ có 11 pin digital Vì vậy các pin D11=>D15 được nối lần lượt với D7=>D3
Trang 22Chương 3 THIẾT KẾ MÔ HÌNH THỰC NGHIỆM
3.1 Cài đặt NodleMCU ESP8266 Wifi
Khởi động Arduino IDE, click vào File trên thanh công cụ chọn Preferences (Ctrl+Comma)
Chèn một đường Link để Arduino IDE có thể nhận Board
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Vào Tools > Board > Boards Manager
Trang 23Cửa sổ mở lên ta Seach Esp8266 để tải danh mục của các Board về Nhấn Install để tiến hành cài đặt
3.2 Thêm thư viện Blynk cho Aduino IDE
Cách 1: Khởi động Arduino IDE, click vào Sketch trên thanh công
cụ chọn Include Library > Manage Libraries
Trang 24Tiếp theo sẽ là vùng Library Manager là nơi chứa các thư viện mới nhất từ các doanh nghiệp, cộng đồng, cá nhân đã quyên góp tiền để xây dựng phần mềm Click
vào Filter your seach để tiềm kiếm thư vện hoặc sử dụng Type và Topic để lọc ra các
kết quả tìm kiếm mà chúng ta đang cần