Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Mục lục:

1. Giới thiệu về blynk

blynk

Blynk là một nền tảng với các ứng dụng điện thoại thông minh cho phép bạn có thể dễ dàng tương tác với bộ vi điều khiển như: Arduino, Esp8266, Esp32 hoặc Raspberry qua Internet.

Blynk App là một bảng điều khiển kỹ thuật số cho phép bạn có thể xây dựng giao diện đồ họa cho dự án của mình bằng cách kéo và thả các widget khác nhau mà nhà cung cấp thiết kế sẵn.

Blynk không bị ràng buộc với một số bo hoặc shield cụ thể. Thay vào đó, nó hỗ trợ phần cứng mà bạn lựa chọn. Cho dù Arduino hoặc Raspberry Pi của bạn được liên kết với Internet qua Wi-Fi, Ethernet hoặc chip ESP8266, Blynk sẽ giúp bạn kết nối và sẵn sàng cho các dự án IoT.

Blynk Server – chịu trách nhiệm về tất cả các giao tiếp giữa điện thoại thông minh và phần cứng. Bạn có thể sử dụng Blynk Cloud hoặc chạy cục bộ máy chủ Blynk riêng của mình. Nó là mã nguồn mở, có thể dễ dàng xử lý hàng nghìn thiết bị và thậm chí có thể được khởi chạy trên Raspberry Pi.

Thư viện Blynk – dành cho tất cả các nền tảng phần cứng phổ biến – cho phép giao tiếp với máy chủ và xử lý tất cả các lệnh đến và lệnh đi.

Mỗi khi bạn nhấn một nút trong ứng dụng Blynk, thông điệp sẽ truyền đến không gian của đám mây Blynk, và tìm đường đến phần cứng của bạn.

Mọi thứ bạn cần để xây dựng và quản lý phần cứng được kết nối: cung cấp thiết bị, hiển thị dữ liệu cảm biến, điều khiển từ xa với các ứng dụng web và di động, cập nhật chương trình cơ sở qua mạng, bảo mật, phân tích dữ liệu, quản lý người dùng và truy cập, cảnh báo, tự động hóa và nhiều thứ khác hơn…

Đặc tính

  • API và giao diện người dùng tương tự cho tất cả phần cứng và thiết bị được hỗ trợ
  • Kết nối với đám mây bằng cách sử dụng:
    • Wifi
    • Bluetooth và BLE
    • Ethernet
    • USB (Nối tiếp)
    • GSM
  • Bộ Widget dễ sử dụng
  • Thao tác ghim trực tiếp mà không cần viết mã
  • Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng ghim ảo
  • Theo dõi dữ liệu lịch sử qua tiện ích SuperChart
  • Giao tiếp giữa thiết bị với thiết bị sử dụng Bridge Widget
  • Gửi email, tweet, push notification…

Các tính năng mới liên tục được bổ sung!

Review về app Blynk new 2.0 so với phiên bản Blynk cũ

Những ưu điểm của Blynk new 2.0:

  • Có thể cập nhật OTA
  • Có sẵn phần thêm ESP làm thiết bị và add wifi cho ESP sử dụng
  • Các button có thể thêm icon, hình ảnh vào để cá nhân hóa, thể hiện trực quan hơn, người dùng có thể dễ dạng nhận biết button đó là để điều khiển thiết bị nào.
  • Không cần thêm cầu kết nối data giữa các thiết bị khác nhau ở code nữa , chỉ cần chọn nó dùng data stream nào là được, ví dụ là dùng 2 thiết bị muốn ấn bật tắt trên 1 thiết bị , nó sẽ đồng bộ hóa ngay vs thiết bị kia để hiển thị trạng thái của cả 2 là giống nhau
  • Sử dụng số lượng Widget box tùy ý không bị giới hạn Enzeny như xưa, ngày xưa muốn dùng nhiều sẽ phải làm bộ Pi server, vừa tốn tiền, vừa bị lag hơn server chính hãng, dùng mấy server chia sẻ trên các nhóm cộng đồng thì mất bảo mật.

Những nhược điểm của app blynk new 2.0:

  • Bản miễn phí chỉ dùng được 2 Devices trên 1 ứng dụng, Device ở đây tương tự như Project trên app cũ, app cũ có thể tạo được nhiều project
  • Ngoài ra bản miễn phí còn 1 cái nữa là cái đồ thị theo dõi (Superchart) chỉ dùng được duy nhất 1 data stream ,muốn xem thêm cái khác thì phải thêm ô (Superchart ) khác nữa và sẽ khó so sánh các thông số trực quan, bản cũ sẽ dùng được 4 cái stream sẵn có, bản mới muốn có phải xài bảng tốn phí
  • Không có theo dõi GPS như bảng cũ

Như vậy, theo mình thấy app mới cho người dùng doanh nghiệp là chính, phức tạp hơn cho lập trình viên vì cách setup nhiều bước hơn tuy nhiên có nhiều tính năng mới, thiết kế đẹp, có OTA là 1 lợi thế. App cũ phù hợp cho các bạn sinh viên, những ai cần nghiên cứu, các đồ án, dự án nhỏ…

2. Hướng dẫn cài đặt và sử dụng Blynk New 2.0 với Esp8266

Yêu cầu: Ở phần mềm Arduino Ide đã cài board esp8266, thêm thư viện cho blynk mới

Tải thư viện Blynk tại đây: https://github.com/blynkkk/blynk-library

Sau khi tải vào Arduino IDE chọn Sketch -> Include library -> Add .ZIP library và chọn file vừa tải về.

Thiết lập Blynk trên máy tính:

Đầu tiền truy cập vào https://blynk.cloud/ đăng nhập, nếu chưa có tài khoản thì chọn Create new account để đăng ký. Các bạn nhập tên email vào, sau đó tích chọn Sign Up.

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-1
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Họ sẽ gửi mail về cho bạn, sau đó chọn Create Pasword để tạo mật khẩu. Sau khi có tài khoản, bạn đăng nhập vào chọn New Template, nhập tên và chọn đầy đủ như hình dưới:

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-2
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Sau khi tạo xong sẽ hiện giao diện bên dưới, ta copy mã Template để dán vào code, link tải code mình sẽ để ở phần dưới.

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-3
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Tiếp theo, chọn Datastreams -> Virtual Pin -> nhập đầy đủ datastream của Pin -> Create

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-4
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Ở ví dụ này mình làm gửi dữ liệu cảm biến nhiệt độ, độ ẩm lên Blynk nên các bạn tạo tương tự một Pin V1 là độ ẩm, và tạo V3 là Pin điều khiển Led:

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-5
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Sau khi tạo Pin xong, ta chọn Web Dashboard, kéo các Gauge bên trái qua để hiển thị nhiệt độ và độ ẩm, Switch để làm công tắc bật tắt Led, một biểu đồ chart để để hiển thị nhiệt độ (bản free chỉ hiển thị được 1 biểu đồ), nhấn biểu tượng cài đặt để chọn từng Pin hiển thị phù hợp.

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-6
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Sau khi chọn xong ta ấn Save để lưu cài đặt:

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-7
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Tiếp theo, chọn biểu tượng Seach -> New Device để chọn thiết bị từ From template:

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-8
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Chọn tên template mà bạn đã tạo -> Create, sau đó xem kết quả:

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-9
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Thiết lập Blynk trên điện thoại:

Trên điện thoại sau khi tải app Blynk mới về, các bạn mở lên sau đó đăng nhập tài khoản đã tạo bên web, tên thiết bị bạn tạo lúc nãy trên web sẽ được hiển thị sẵn:

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-10
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Tương tự như bản cũ, các bạn chọn biểu tượng Button để điều khiển led, Value Display để hiển thị nhiệt độ, độ ẩm… nhớ chọn chân Pin cho từng mục:

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-11
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

Thành quả sau khi tạo xong, các bạn có thể thay đổi màu, thiết kế giao diện cho từng dự án:

huong-dan-cai-dat-va-su-dung-blynk-new-2-0-tren-arduino-ide-voi-esp8266-12
Hướng dẫn cài đặt và sử dụng Blynk New 2.0 trên Arduino IDE với ESP8266

3. Sơ đồ kết nối và code tham khảo:

Các sản phẩm bạn cần cho ví dụ này:

Module Thu Phát Wifi ESP8266 NodeMCU Lua CP2102, ESP-12F Ai-Thinker x1

Module Cảm Biến Độ Ẩm Nhiệt Độ DHT22 x1

Module 1 Relay Với Opto Cách Ly Kích H/L (5VDC) x1

Nguồn adapter 5V 2A x1

Sơ đồ kết nối mạch:

Sơ đồ kết nối
Sơ đồ kết nối

Code tham khảo: https://drive.google.com/drive/folders/1VdOt5U214K7W3gcn_AGho4NL1z1oQUo2?usp=sharing

Kết quả: Ở app Blynk mới này các bạn có thể truy cập bằng trình duyệt web có thể xem data và điều khiển thiết bị như trên điện thoại, dữ liệu được đồng bộ cả hai, ví dụ khi bạn điều khiển đèn bằng điện thoại, trạng thái đèn cũng sẽ được cập nhật trên giao diện web và ngược lại.