Được sản xuất bởi Espressif Systems, ESP32 mang lại sức mạnh của công nghệ không dây hiện đại như Wi-Fi và Bluetooth ngay trong lòng bàn tay bạn.Với khả năng xử lý mạnh mẽ từ CPU Xtensa
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCMKHOA ĐIỆN – ĐIỆN TỬ
MÔN: TT ĐIỀU KHIỂN TỰ ĐỘNG HÓA HỆ THỐNG ĐIỆN – CÔNG NGHIỆP
BÁO CÁO MÔN HỌC
BÀI 6: ĐỌC GIÁ TRỊ ANALOG IOCỦA ESP32 SỬ DỤNG BLYNK
GVHD: TS Trần Quang Thọ
SVTH: Trương Minh TuấnMSSV: 20142447
Trang 4Lời mở đầu
ESP32 - một vi điều khiển hệ thống trên chip (SoC) mạnh mẽ, linh hoạt và tiết kiệm năng lượng Được sản xuất bởi Espressif Systems, ESP32 mang lại sức mạnh của công nghệ không dây hiện đại như Wi-Fi và Bluetooth ngay trong lòng bàn tay bạn.
Với khả năng xử lý mạnh mẽ từ CPU Xtensa hai nhân 32-bit LX6, bộ nhớ RAM 520 KiB và ROM 448 KiB, cùng với sự hỗ trợ của nhiều giao diện ngoại vi, ESP32 mở ra một thế giới mới với vô số khả năng.
ESP32 không chỉ là một vi điều khiển, mà còn là một công cụ mạnh mẽ cho các dự án Internet of Things (IoT) và Smart Home Với ESP32, bạn có thể tạo ra những sản phẩm thông minh, kết nối và tiên tiến mà không cần phải đầu tư vào các giải pháp đắt đỏ.
Trang 5Mục tiêu
Sau bài báo cáo này, sinh viên hiểu rõ hơn về arduino, nghiên cứu về các dự án Internet of Things (IOT) Từ đó có thể tạo ra các dự án đa dạng về chúng, ví dụ arduino đo nhiệt độ điều khiển máy phun sương, adruino nhận dạng giọng nói để bật tắt quạt – đèn, …
Trang 6MỤC LỤC
Lời mở đầu 2
Mục tiêu 3
CHƯƠNG 1: GIỚI THIỆU VỀ ESP32 VÀ BLYNK 5
1.1 GIỚI THIỆU ESP32: 5
1.2 GIỚI THIỆU VỀ BLYNK: 6
CHƯƠNG 2: PHẦN CODE TRÊN ADRUINO IDE: 8
2.1 CODE CÓ SỬ DỤNG BLYNK: 8
2.2 GIẢI THÍCH CODE 9
CHƯƠNG 3: CẤU HÌNH TRÊN WEB BLYNK.CLOUD VÀ APP BLYNK TRÊN ĐIỆN THOẠI DI DỘNG: 11
3.1 CẤU HÌNH TRÊN WEB BLYNK.CLOUD: 11
3.2 CẤU HÌNH APP BLYNK TRÊN DIỆN THOẠI THÔNG MINH: 17
CHƯƠNG 4: NHẬN XÉT 22
CHƯƠNG 5: ĐỀ XUẤT 22
Trang 7CHƯƠNG 1: GIỚI THIỆU VỀ ADRUINO VÀ BLYNK1.1 GIỚI THIỆU ADRUINO:
Dòng ESP32 WROOM 32 của Espressif Systems là dòng chip Wi-Fi được sản xuất bởi Espressif Systems ESP32 WROOM-32 là mô-đun Wi-Fi phù hợp với ngân sách, phù hợp cho các dự án tự làm trong lĩnh vực Internet of Things (IoT) Mô-đun này đi kèm với nhiều GPIO và hỗ trợ nhiều giao thức như SPI, I2C, I2S, UART và nhiều hơn nữa Điểm tốt nhất là nó đi kèm với kết nối mạng không dây, điều này làm cho nó khác biệt so với các vi điều khiển khác như Arduino Điều này có nghĩa là nó có thể dễ dàng kiểm soát và giám sát thiết bị từ xa qua Wi-Fi và Bluetooth® với một mức giá phải chăng.
ESP32 WROOM 32 là một hệ thống trên chip (SoC) tích hợp một vi điều khiển Tensilica 32-bit, các giao diện ngoại vi số tiêu chuẩn, công tắc ăng-ten, RF balun, khuếch đại công suất, khuếch đại thu tiếng ồn thấp, bộ lọc và các mô-đun quản lý năng lượng vào một gói nhỏ Nó cung cấp Wi-Fi 2.4GHz (802.11 b/g/n, hỗ trợ tốc độ lên đến 150MB/s), BLE và giao tiếp không dây Bluetooth® cổ điển, 34 chân I/O, giao diện I2C và I2S, ADC (chuyển đổi tương tự thành số), DAC (chuyển đổi số thành tương tự), giao diện SPI, UART trên các chân chuyên dụng, và PWM (Điều chỉnh Độ rộng Xung).
Lõi vi xử lý, được gọi là LX6 bởi Espressif, dựa trên bộ điều khiển vi xử lý Xtensa® dual-core 32-bit LX6 và hoạt động ở dải tần số từ 80-240MHz Nó có ROM khởi động 448kB, SRAM trên chip 520kB, và bộ nhớ flash ngoại vi 4MB có thể truy cập thông qua giao diện SPI.
Hình 1.1 Bộ Module ESP32
Trang 81.2 GIỚI THIỆU VỀ BLYNK:
- Blynk là một nền tảng phát triển ứng dụng di động cho Internet of Things (IoT) và các ứng dụng được kết nối qua internet Nó giúp bạn dễ dàng tạo ra các ứng dụng di động để kiểm soát và theo dõi các thiết bị và dự án IoT của bạn thông qua điện thoại di động hoặc máy tính bảng Blynk đã trở thành một công cụ phổ biến cho các nhà phát triển và tinkerers trong cộng đồng IoT.
- Ứng dụng di động dễ sử dụng: Blynk cung cấp một ứng dụng di động trực quan và dễ sử dụng cho cả iOS và Android để kiểm soát và theo dõi các thiết bị IoT của bạn Bạn có thể tạo giao diện người dùng tùy chỉnh bằng cách sử dụng nhiều loại biểu đồ, nút bấm, thanh trượt và nhiều thành phần khác.
- Hỗ trợ cho nhiều loại thiết bị: Blynk hỗ trợ nhiều loại vi điều khiển và các bo mạch phổ biến như Arduino, Raspberry Pi, ESP8266, ESP32, Particle, và nhiều thiết bị khác.
- Sử dụng giao thức kết nối đơn giản: Blynk sử dụng giao thức kết nối đơn giản, chẳng hạn như HTTP, WebSocket hoặc MQTT để kết nối thiết bị của bạn với ứng dụng di động Điều này giúp bạn dễ dàng tương tác với thiết bị của bạn qua internet.
- Blynk Cloud hoặc máy chủ riêng: Blynk cung cấp dịch vụ đám mây cho phép bạn lưu trữ dữ liệu và kiểm soát thiết bị của bạn trực tuyến Bạn cũng có thể tự quản lý máy chủ Blynk riêng của mình nếu bạn muốn.
Hình 1.2 Trang web Blynk Cloud
Trang 9CHƯƠNG 2: PHẦN CODE TRÊN ADRUINO IDE:2.1 CODE CÓ SỬ DỤNG BLYNK:
#defineBLYNK_PRINT Serial
#defineBLYNK_TEMPLATE_ID"TMPL6m0AaMTmD" #defineBLYNK_TEMPLATE_NAME"Blynk"
analogValue = int analogRead(analog_input ;)
float voltage = analogValue * ( 3.3) / 4096; Blynk virtualWrite (V0, analogValue ;)
Blynk virtualWrite (V1, voltage ; )
Serial printf ("ADC analog value = %d\n",analogValue ;)
Serial printf ("ADC volts value = %.3f\n",voltage ;)
delay(100);
2.2 GIẢI THÍCH CODE
Trang 10#defineBLYNK_PRINT Serial
#defineBLYNK_TEMPLATE_ID"TMPL6m0AaMTmD" #defineBLYNK_TEMPLATE_NAME"Blynk"
#defineBLYNK_AUTH_TOKEN"LweeRw_36jhXpF9qdaSIsLXAXorX312j" #include<WiFi.h>
#include<WiFiClient.h> #include<BlynkSimpleEsp32.h>
- Khai báo các thư viện “wifi”, “wifiClient” và “BlynkSimpleEsp32” và định nghĩa thông tin thiết bị được kết nối với máy tính trên trang Blynkcloud.
char ssid[] = "C402";
char pass[] = "dkhtdcn@";
- Cài đặt thông tin wifi ( tên và mật khẩu) để thiết bị kết nối #defineanalog_input36
- Định nghĩa analog_input là chân IO36, IO này được nối với biến trở điều chỉnh để đọc điện áp bằng tính hiệu analog.
+ Serial begin (115200) Khởi tạo tốc độ truyền cho cổng kết nối trực tiếp với máy tính để gửi và nhận dữ liệu với kit là 115200.
+ Blynk begin (BLYNK_AUTH_TOKEN, ssid, pass); là lệnh để kết nối với nền tảng Blynk BLYNK_AUTH_TOKEN là mã thông báo xác thực của bạn trên nền tảng Blynk, mà bạn cần tạo khi tạo một dự án Blynk "ssid" và "pass" là tên mạng Wi-Fi (SSID) và mật khẩu để kết nối thiết bị với mạng Wi-Fi.
+ analogReadResolution(12) được sử dụng để đặt kích thước (đơn vị: bit) của giá trị trả về bởi hàm analogRead() Với module ESP32 là 12 bit.
+ voidloop() {
Blynk run ();
Trang 11float voltage = analogValue * ( 3.3) / 4096; Blynk virtualWrite (V0, analogValue ;)
Blynk virtualWrite (V1, voltage ; )
// print out the values you read:
Serial printf ("ADC analog value = %d\n",analogValue ;)
Serial printf ("ADC volts value = %.3f\n",voltage ;)
delay(100);
+ Blynk run (); để duy trì kết nối với nền tảng Blynk Nó cần được gọi trong vòng lặp loop() để đảm bảo việc gửi và nhận dữ liệu giữa kit và ứng dụng Blynk diễn ra một cách liên tục.
+ analogValue = int analogRead(analog_input); dùng để đọc giá trị chuyển đổi analog của Chân analog_input(IO36), với giá trị nhận được analogValue sẽ nằm trong khoảng (0-4095).
+ float voltage = analogValue * ( 3.3) / 4096; ta thực hiện tính giá trị điện áp nhận được, với 3.3V điện áp tham chiếu của ADC và 4096 tương đương với độ phân giải 12 bit.
+ Blynk virtualWrite (V0, analogValue ;)
Blynk virtualWrite (V1, voltage ; dùng để ghi dữ liệu đọc được lên )
BlynkCloud.
Trang 12CHƯƠNG 3: CẤU HÌNH TRÊN WEB BLYNK.CLOUD VÀ APP BLYNK TRÊN ĐIỆN THOẠI DI DỘNG:
3.1 CẤU HÌNH TRÊN WEB BLYNK.CLOUD:
Hình 3.1.1 giao diện Blynk trên web Blynk.cloud
- New Device → From Template, nhập tên thiết bị vào ô Device Name và nhấp vào Create.
Hình 3.1.2 Hộp thoại New Device
Trang 13- Xuất hiện Device vừa tạo trong mục My device, và kiểm tra trạng thái online của device đó.
- Nhấp vào device Blynk, xuất hiện giao diện sau:
Hình 3.1.3 Giao diện trong mục device - Tiếp theo chọn mục Device Info
- Copy phần code vào đầu chương trình để định nghĩa thiết bị - Điều chỉnh trong phần Template:
Trang 14Hình 3.1.4 Giao diện mục Template - Nhấp vào New Template, xuất hiện hộp thoại sau:
Hình 3.1.5 Hộp thoại New Template.
+ Nhập tên vào ô NAME, chọn Hardware và connection type như hình trên, sau đó chọn DONE.
Trang 15- Click vào Template “Blynk” để tạo Datastreams.
Hình 3.1.6 Dữ liệu hiển thị trên blynk
Hình 3.1.7 Giao diện trong mục Web Dashboard
3.2 CẤU HÌNH APP BLYNK TRÊN DIỆN THOẠI THÔNG MINH:
Trang 16Hình 3.2.1 Giao diện app Blynk trên điện thoại thông minh
Hình 3.2.2 Giao diện trên điện thoại
Trang 17Hình 3.2.4 Giao diện Widget Box trên điện thoại
- Chọn dấu “+” trên góc phải, hộp thoại Widget Box hiện ra, ta chọn các Gauge
Trang 18Hình 3.2.7 Giao diện trên app điện thoại sau khi điều chỉnh hoàn tất
Trang 19- Chỉnh hoàn tất, giao diện như hình 3.2.7 từ đó ta có thể hiển thị được số giá trị analog và điện áp trên kit qua app Blynk trên điện thoại có kết nối internet.
CHƯƠNG 4: NHẬN XÉT
Qua bài báo cáo trên, sinh viên hiểu thêm về ESP32 và phương pháp hoạt động của kit esp32 kết nối với Blynk Thực hiện được ví dụ về đọc giá trị analog trên board qua blynk.cloud và app blynk trên điện thoại thông minh.
CHƯƠNG 5: ĐỀ XUẤT
Dễ dàng mở rộng để thêm các chức năng và tương tác với các thiết bị ngoại vi khác Có thể thêm các điều kiện hoặc lệnh khác trong vòng lặp loop() để thực hiện các chức năng phức tạp như điều khiển độ sáng đèn bằng biến trở thông qua tính hiệu analog hay đọc giá trị dòng, điện áp trong thiết bị gia dụng,….