• HOME
  • DỰ ÁN & MẠCH ĐIỆN
    • Lập trình
      • ARDUINO PROJECT
      • ESP8266 PROJECT
      • ESP32 PROJECT
      • RASPBERRY PI PROJECT
      • Vi điều khiển
    • Điện tử ứng dụng
      • Audio / Amplifiers
      • Nguồn điện
      • Pin sạc/Acquy và mạch sạc
      • Biến đổi AC và DC
      • Robotic
      • Cảm biến
      • LED
      • LCD
      • Động cơ bước
      • Mạch linh tinh
      • Test & Measurement
      • RF – FM
    • Nixie Clock
    • HOME AUTOMATION
    • Dân dụng
    • Công nghiệp
  • KIẾN THỨC CĂN BẢN
    • Điện tử cơ bản
    • Điện tử số
    • PCB
    • Nixie Tube
    • Raspberry Pi
    • Vi điều khiển
    • Arduino
    • IN 3D
  • DOWNLOAD
    • Phần mềm điện tử
    • Giáo trình
      • Giáo trình Điện – Điện tử
      • Giáo trình Tự Động Hóa
      • Giáo trình Viễn thông
    • Đề tài
      • Đề tài – Điện – Điện Tử
      • Đề tài – Tự Động Hóa
      • Đề tài – Viễn thông
    • Điện tử ứng dụng
    • Tài liệu nước ngoài
    • Hướng dẫn, sửa chữa
    • Sơ đồ, nguyên lý thiết bị
    • Tiêu chuẩn – Đo lường – Thử nghiệm
    • Datasheet
  • LIÊN HỆ
  • SẢN PHẨM

Mạch Điện Lý Thú

Sơ đồ nguyên lý, PCB, đồ án, tài liệu, DIY

Bạn đang ở:Trang chủ / DỰ ÁN & MẠCH ĐIỆN / Lập trình / ESP8266 PROJECT / Điều khiển thiết bị bằng Facebook Massenger thông qua Adafruit, Webhooks sử dụng NodeMCU ESP8266

Điều khiển thiết bị bằng Facebook Massenger thông qua Adafruit, Webhooks sử dụng NodeMCU ESP8266

26/08/2021 by admin Để lại bình luận

Đã được đăng vào 25/09/2020 @ 10:24

Điều khiển thiết bị bằng Facebook Massenger thông qua Adafruit, Webhooks sử dụng NodeMCU ESP8266

Mục lục hiện
Điều khiển thiết bị bằng Facebook Massenger thông qua Adafruit, Webhooks sử dụng NodeMCU ESP8266
Thiết lập Feeds và Dashboards trên iO Adafruit
Tạo Feeds iO Adafruit
Dashboards iO Adafruit
Thiết lập IFTTT Webhooks
Thiết lập chatfuel với Facebook
Thiết lập Chatfuel với IFTTT
Sơ đồ đấu nối
Các linh kiện cần thiết cho dự án
Code
Thư viện
Giải thích Code

Hôm nay mình sẽ hướng dẫn các bạn cách sử dụng Facebook Messenger để điều khển thiết bị thông qua io.adafruit.com.

Nếu bạn chưa biết cách cài đặt NodeMCU ESP8266 trên Arduino IDE thì các bạn xem bài viết bên dưới nhé.

  • Hướng dẫn cài đặt ESP8266 và kết nối với Blynk
  • Hệ thống điều khiển thiết bị nhà thông minh sử dụng NodeMCU ESP8266 và App Blynk

 

Thiết lập Feeds và Dashboards trên iO Adafruit

Tạo Feeds iO Adafruit

Các bạn truy cập vào website io.adafruit.com để tạo nhé.

Chọn “Feeds – Actions – Create a New Feed” .

 

  • Name: Đặt tên cho Feed “onoff”.
  • Description: Phần mô tả thông tin dự án bạn đang thực hiện (phần này không bắt buộc) và nhấn Create để hoàn thành.

 

 

Dashboards iO Adafruit

Bây giờ chúng ta sẽ tạo một Dashboards (bảng điều khiển) để điều khiển trực tiếp trên Adafruit IO.

Chọn Dashboards > Actions > Create a New Dashboard.

 

 

Chúng ta đặt tên cho bảng điều khiển và mô tả dự án đang thực hiện.

 

 

Chọn dấu  +  để tạo block mới và chọn Toggle như hình.

 

 

Tiếp theo vào Group / Feed đã tạo (Create a New Feed) và nhấn Next step.

 

Ở mục Block Title mình đặt là Arduinokit.vn, ở đây bạn ghi gì cũng được nhé.

  • Button On Text: 1 (trạng thái bật).
  • Button Off Text: 0 (trạng thái tắt).

Tiếp theo nhấn Create Block.

 

 

 

Active Key Adafruit

Bạn chọn Dashboards/Bảng điều khiển chọn cái chìa khóa màu vàng.

 

 

Chúng ta quan tâm đến Username và Active Key.

Phần này chúng ta Copy và cho vào trong Code nhé.

 

 

Thiết lập IFTTT Webhooks

Trong bài viết Điều khiển thiết bị bằng giọng nói thông qua Google Assistant Tiếng Viết sử dụng ESP8266, Blynk và IFTTT mình đã hướng dẫn chi tiết cách để tạo tài khoản trên IFTTT nên phần này các bạn xem lại bài trước để hiểu rõ hơn nhé.

Sau khi đăng nhập thành công các bạn Click vào “My Applets” và chọn “New Applet” để tạo một dự án mới.

 

 

Bấm vào  + this.

 

 

Và chọn Webhooks nhé.

 

 

Tiếp theo ta chọn  Receive a web request nhé.

 

 

Nhập bất kỳ tên sự kiện nào ở đây mình ghi là “Arduinokit.vn”

Sau đó nhấn vào Create trigger

 

Tiếp theo, nhấp vào  + that.

Tìm kiếm đến Adafruit và bấm kết nối.

 

 

 

  • Tiếp theo nhấp vào Send data to Adafruit IO
  • Mục Feed name mình chọn  “onoff”  ở phần tạo một Feed dự án ban đầu.
  • Chọn Value1 bằng cách nhấp vào Add ingredient.
  • Tiếp theo nhấn Create action.

 

 

Quay lại My Applest > Services > Webhooks vào phần Settings và Copy đoạn mã được bôi đậm như hình, (Lưu đoạn mã vào note để lát sử dụng nhé).

 

 

Thiết lập chatfuel với Facebook 

Truy cập https://chatfuel.com/ và nhấp vào đăng nhập bằng Id Facebook của bạn.

Lưu ý trong bước này bạn cần tạo cho mình một Fanpage trên Facebook.

Truy cập vào Link để đăng ký: https://www.facebook.com/pages/creation/

Sau khi hoàn tất việc đăng ký nhấn Create from Template để bắt đầu thiết lập.

 

 

Ở mục Automate chúng ta cần đặt câu lệnh để điều khiển thiết bị.

 

 

  • Nhấn vào RELAY ON chọn dấu + (tô vàng) ở mục Test & Send content  ta chọn Test và điền câu lệnh trả về ở đây mình ghi là “OK.Đèn Đã Được Bật”.
  • Nhấn vào RELAY OFF chọn dấu + (tô vàng) ở mục Test & Send content  ta chọn Test và điền câu lệnh trả về ở đây mình ghi là “OK Đèn Đã Được Tắt”.

 

 

Thiết lập Chatfuel với IFTTT

Thiết lập URL cho 2 nút điều khiển RELAY ON và RELAY OFF.

Chọn  Relay ON và nhấp vào + đăng nhập và chọn APIJSON từ các Plugin Chatfuel.

 

 

Các bạn làm theo cú pháp: https://maker.ifttt.com/trigger/Event Name/with/key/mã kích hoạt/?value1=1

  • “Event Name”: Tên sự kiện mình đặt là Arduinokit.vn
  • “mã kích hoạt”: m02i62jB5pkMh3xGAl5nljPnWtA0EofB2iJWieuVgdo
  • “value=1”: dành cho RELAY ON.

URL 1: https://maker.ifttt.com/trigger/Arduinokit.vn/with/key/m02i62jB5pkMh3xGAl5nljPnWtA0EofB2iJWieuVgdo/?value1=1

URL 2: https://maker.ifttt.com/trigger/Arduinokit.vn/with/key/m02i62jB5pkMh3xGAl5nljPnWtA0EofB2iJWieuVgdo/?value1=0

 

 

Nhấp vào mục Set Up AI ở bên trái màn hình: Ở phần này các bạn có thể đặt thêm các câu thoại dùng để bật tắt thiết bị.

 

 

Sơ đồ đấu nối

NodeMCU ESP8266 Relay
Vin 5V
GND GND
D0 IN

 

 

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng
NodeMCU ESP8266 1
Dây cắm 3
Relay 1
Bóng đèn 220V 1

Code

#include <ESP8266WiFi.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
#define WLAN_SSID "Nha Tro 4"
#define WLAN_PASS "nguyennam"
#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT  1883
#define AIO_USERNAME "hu123"
#define AIO_KEY "62fd797b121e4f2f89353f0711393257"
#define led D0

WiFiClient client;
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);
Adafruit_MQTT_Subscribe onoffbutton = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/onoff");
void MQTT_connect();

void setup() {
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);
  Serial.begin(115200);
  delay(10);
  Serial.println(F("Adafruit MQTT demo"));
  Serial.println(); Serial.println();
  Serial.print("Connecting to ");
  Serial.println(WLAN_SSID);
  WiFi.begin(WLAN_SSID, WLAN_PASS);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println();
  Serial.println("WiFi connected");
  Serial.println("IP address: "); Serial.println(WiFi.localIP());
  mqtt.subscribe(&onoffbutton);
}

uint32_t x=0;

void loop() {
  MQTT_connect();
  Adafruit_MQTT_Subscribe *subscription;
  while ((subscription = mqtt.readSubscription(5000))) {
    if (subscription == &onoffbutton) {
      Serial.print(F("Got: "));
      Serial.println((char *)onoffbutton.lastread);
      String response = (char*)onoffbutton.lastread; 
      if (response == "1"){
      digitalWrite(led, HIGH);
      }
      else {
        digitalWrite(led, LOW);
      }
    }
  }
}

void MQTT_connect() {
  int8_t ret;

  // Stop if already connected.
  if (mqtt.connected()) {
    return;
  }

  Serial.print("Connecting to MQTT... ");

  uint8_t retries = 3;
  while ((ret = mqtt.connect()) != 0) { // connect will return 0 for connected
       Serial.println(mqtt.connectErrorString(ret));
       Serial.println("Retrying MQTT connection in 5 seconds...");
       mqtt.disconnect();
       delay(5000);  // wait 5 seconds
       retries--;
       if (retries == 0) {
         // basically die and wait for WDT to reset me
         while (1);
       }
  }
  Serial.println("MQTT Connected!");
}

Thư viện

Download thư viện “Adafruit_MQTT.h”: Tải ngay

Download thư viện “Adafruit_MQTT_Client.h” :Tải ngay

Giải thích Code

WiFi.begin("wifi router name", "wifi router pass");
  • “WLAN_SSID”: Tên Wifi.
  •  “WLAN_PASS”: Mật khẩu Wifi.
#define AIO_USERNAME        "hu123"
#define AIO_KEY             "62fd797b121e4f2f89353f0711393257"
  • Username: “hu123”
  • Active key: “62fd797b121e4f2f89353f07113xxxxx”
Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/onoff");

Các bạn làm theo cú pháp: “&mqtt, AIO_USERNAME/feeds/feedname”

  • “username”: Tên người dùng.
  • “feeds”: cái này các bạn để mặc định.
  • “feedname”: tên Feed mà bạn đã đặc cho dự án.

Nguồn: arduinokit.vn

5/5 - (3 bình chọn)
  • Share on Facebook
  • Tweet on Twitter

Bài viết liên quan

Điều khiển thiết bị bằng giọng nói thông qua Google Assitant sử dụng ESP8266, Adafruit, IFTTT
Điều khiển thiết bị bằng giọng nói thông qua Google Assistant Tiếng Việt sử dụng ESP8266, Blynk và IFTTT
LED RGB sử dụng NodeMCU ESP8266 thay đổi màu sắc trên App Blynk

Thuộc chủ đề:ESP8266 PROJECT Tag với:Adafruit, esp8266, IFTTT, nodemcu, Webhooks

Bài viết trước « Kỹ thuật truyền sóng RF 433Mhz và 315Mhz
Bài viết sau Giải mã Remote RF bất kỳ bằng Arduino »

Reader Interactions

Trả lời Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Sidebar chính

Zalo hỏi đáp 24/7

Theo dõi qua mạng xã hội

  • Facebook
  • RSS

Bạn đang tìm gì?

Bài viết mới nhất

Mạch đuổi muỗi đơn giản

Mạch đuổi muỗi đơn giản

20/05/2022

Đèn tự động sáng khi trời tối

Đèn tự động sáng khi trời tối

20/05/2022

Điều khiển quạt tản nhiệt tự động

19/05/2022

Chuông cửa (Doorbell) sử dụng IC 555

Chuông cửa (Doorbell) sử dụng IC 555

19/05/2022

Đèn nháy theo nhạc dùng LM3914 (10 bóng)

Đèn nháy theo nhạc dùng LM3914 (10 bóng)

19/05/2022

Chuyên mục

  • DỰ ÁN & MẠCH ĐIỆN (245)
    • Công nghiệp (16)
    • Dân dụng (28)
    • Điện tử ứng dụng (178)
      • Audio / Amplifiers (34)
      • Biến đổi AC và DC (23)
      • Cảm biến (43)
      • Động cơ bước (6)
      • Kiểm thử và đo đạc (23)
      • LCD (15)
      • LED (19)
      • Mạch linh tinh (27)
      • Nguồn điện (39)
      • Pin sạc/Acquy và mạch sạc (22)
      • RF – FM (5)
      • Robotic (2)
    • HOME AUTOMATION (27)
    • Lập trình (92)
      • ARDUINO PROJECT (39)
      • ESP32 PROJECT (6)
      • ESP8266 PROJECT (29)
      • RASPBERRY PI PROJECT (9)
      • Vi điều khiển (22)
    • Nixie Clock (3)
  • Kiến thức căn bản (163)
    • Arduino (36)
    • Điện tử cơ bản (72)
    • Điện tử số (9)
    • IN 3D (9)
    • Nixie Tube (13)
    • PCB (18)
    • Raspberry Pi (10)
    • Vi điều khiển (14)

Footer

Bài viết mới nhất

  • Mạch đuổi muỗi đơn giản
  • Đèn tự động sáng khi trời tối
  • Điều khiển quạt tản nhiệt tự động
  • Chuông cửa (Doorbell) sử dụng IC 555
  • Đèn nháy theo nhạc dùng LM3914 (10 bóng)
  • 0.3-1.5V LED Flashlight

Bình luận mới nhất

  • Ernesto trong Nguyên lý cảm biến siêu âm chống nước JSN-SR04T và sơ đồ mạch
  • admin trong Mạch Ampli 19W dùng IC LA4440
  • Hoài trong Cách thay thế transistor tương đương
  • Dương trong Mạch Ampli 19W dùng IC LA4440

Tìm kiếm

Tất cả nội dung trên website chỉ dùng để tham khảo. Chúng tôi không chịu trách nhiệm về thông tin thành viên đăng tải lên website và xóa bài viết khi có vi phạm bản quyền tác giả.