วันอังคารที่ 10 มกราคม พ.ศ. 2560

การใช้งาน Arduino ส่งข้อความผ่าน LINE

การใช้งาน Arduino ให้ส่งข้อความ Application line นั้นจำเป็นทำการเพิ่มเพื่อน LINE Notify จาก QR Code


จากนั้นให้เราเข้าไปขอ Access Token https://notify-bot.line.me/my/ จากนั้นทำการล็อคอินเข้าสู้ระบบ


จากนั้นกดปุ่มออก Token


จากนั้นเว็บไซต์จะให้เราตั้งชื่อ token และเลือกช่องแชทที่ต้องการให้ส่งข้อความเข้า จากนั้นกดออก Token


จากนั้นเว็บไซต์จะแสดง Token ขึ้นมาให้เราทำการบันทึก Token นั้นไว้แล้วทำการปิดเว็บไซต์


จากนั้นให้เราดาวโหลดโปรแกรม Arduino IDE จากเว็บไซต์ https://www.arduino.cc/en/Main/Software


จากนั้นทำการติดตั้งไฟล์โดยการ Extract


เมื่อติดตั้งเรียบร้อยแล้วให้เข้าไปหน้าจอโปรแกรมให้ไปที่ file > Preferences


ในช่อง Addition Board Manager URL: ดังนี้ http://arduino.esp8266.com/stable/package_esp8266com_index.json จากนั้นกด OK


จากนั้นไปที่ Tool > Boards Manager....


จากนั้นเปลียน Type จาก All เป็น Contributed  แล้วเลอก esp8266 by ESP8266 Community ที่เป็น Borad ของเราแล้วกด Install จากนั้นโปรแกรมจะทำการดาวน์โหลดข้อมูลเมื่อโหลดเรียบร้อยแล้วให้ทำการปิดเปิดโปรแกรมใหม่หนึ่งครั้ง


จากนั้นไปที่ Tools เลือก Borad จะสังเกตุได้ว่ามีชื่อรุ่นของ Borad เพิ่มขึ้นมาให้เราเลือก NobeMCU 1.0


ดาวห์โหลดไฟล์ Code จากลิ้งด่านล้างนี้ แนะนำให้ดาวน์โหลดไฟล์ไปแก้ไขเนื่องจาก Word Press แสดงสัญลักษณ์ " " (ฟันหนู) ไม่ถูกต้อง linetest
#include <ESP8266WiFi.h> // Config connect WiFi #define WIFI_SSID "ใส่ชือ wifi" #define WIFI_PASSWORD "password wifi" // Line config #define LINE_TOKEN "ใส่รหัส Token ที่ทำไว้ในขั้นตอนแรก" #define SW D2 String message = "ใส่คำที่ต้องการให้แสดง"; void setup() { pinMode(SW, INPUT); Serial.begin(9600); WiFi.mode(WIFI_STA); // connect to wifi. WiFi.begin(WIFI_SSID, WIFI_PASSWORD); Serial.print("connecting"); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(); Serial.print("connected: "); Serial.println(WiFi.localIP()); }void loop() { if (digitalRead(SW) == HIGH) { while(digitalRead(SW) == HIGH) delay(10); Serial.println("Enter !"); Line_Notify(message); // Serial.println(); } delay(10); } void Line_Notify(String message) { WiFiClientSecure client; if (!client.connect("notify-api.line.me", 443)) { Serial.println("connection failed"); return; } String req = ""; req += "POST /api/notify HTTP/1.1\r\n"; req += "Host: notify-api.line.me\r\n"; req += "Authorization: Bearer " + String(LINE_TOKEN) + "\r\n"; req += "Cache-Control: no-cache\r\n"; req += "User-Agent: ESP8266\r\n"; req += "Content-Type: application/x-www-form-urlencoded\r\n"; req += "Content-Length: " + String(String("message=" + message).length()) + "\r\n"; req += "\r\n"; req += "message=" + message; // Serial.println(req); client.print(req); delay(20); // Serial.println("-------------"); while(client.connected()) { String line = client.readStringUntil('\n'); if (line == "\r") { break; } //Serial.println(line); } // Serial.println("-------------"); }
จากนั้นตรวจสอบความถูกต้องของโปรแกรมโดยการกดที่เคลื่องหมายติกถูก


เมื่อถูกต้องเรียบร้อยแล้วให้ทำการต่อ Borads ของเราเข้ากับ PC เพื่อลงโปรแกรม จากนั้นกดปุ่ม Upload รูปลูกศร เพื่อทำการลงโปรแกรม จากนั้นทำการต่อ Borad เข้ากับวงจรตามภาพ


จากนั้นให้ทดสอบการทำงานโดยการกดกดสวิตซ์


หากต้องการให้แสดงข้อความเป็นภาษาไทยต้องทำการ Encoder ก่อนเนื่องไมโครคอนโทรลเลอร์ไม่รองรับ UTF-8 http://meyerweb.com/eric/tools/dencoder/ Credit http://www.ioxhop.com

ไม่มีความคิดเห็น:

แสดงความคิดเห็น