วันอังคารที่ 1 กันยายน พ.ศ. 2558

Node-RED – ให้ Node-RED ควบคุม LED

ดูเหมือนจะหลงออกนอกเส้นทางไปหน่อย หลังจากฝากข้อมูลไว้กับ Dweet.io ทำ Dashboard บน Freeboard.io ก็ว่าจะไปสร้าง Hardware ด้วย ESP8266 ลืมพระเอกของเรื่องไปเลย ตอนนี้เลยขอใช้งาน Node-RED สักหน่อยก่อน ก่อนที่จะไปใช้งาน ESP8266
เปิด Console (Command prompt) เรียกใช้งาน Node-Red
พิมพ์ Node-Red ได้เลยครับ รอสักพักจน node-red server เริ่มทำงาน
จากนั้นก็เปิด browser เรียก http://127.0.0.1:1880
ตอนนี้จะเห็นหน้า Editor สร้าง Sheet ใหม่
Nodes ที่เราต้องใช้ประกอบด้วย
- inject (อยู่ที่แท็ป input) 2 ตัว แทนปุ่มกด 2 ปุ่ม เพื่อสั่งงานให้ LED ON-OFF
- http request (อยู่ที่แท๊ป function)  1 ตัว ใช้ในการส่งข้อมูลไปให้ Dweet.io
- debug (อยู่ที่แท๊ป output) 1 ตัว สำหรับแสดงข้อมูลที่เกิดขึ้นใน Flow
จัดการเชื่อมต่อ flow ตามตัวอย่างกันเลย
image
การตั้งค่าให้ inject ตัวแรก ซึ่งจะส่งตัวอักษร (string) = 1 ไปให้ http request
image
การตั้งค่าให้ inject ตัวที่สอง จะส่งตัวอักษร (string) = 0 ไปให้ http request
image
การตั้งค่าให้ http request ในช่อง URL ให้ป้อน
https://dweet.io/dweet/for/Node-RED-Supotsaeea?LED={{payload}}
payload คือค่าที่ส่งมาจาก inject ซึ่งเป็นค่ามาตรฐานที่ส่งออกจาก node ใดๆ
ส่วนของ payload มีความซับซ้อนพอควร ซี่งจะอธิบายเป็นคราวๆไป
image
การตั้งค่าสำหรับ debug
image
ทำการ deploy เท่านี้ก็พร้อมทำงานแล้ว
เปิด Freeboard ที่สร้างไว้จากตอนที่แล้ว จะเห็น indicator light ติดหรือดับค้างอยู่ ตามสภาวะล่าสุด
กดที่ช่องสี่เหลี่ยมด้านหน้า inject node ตัวใดตัวหนึ่ง ค่า 1 หรือ 0 จะถูกส่งไปประกอบกันใน http request node จากนั้นจะส่งออกไปยัง Dweet.io
ระหว่างนี้ที่แท๊ป debug ก็จะแสดงค่าต่างๆ
image
บรรทัดแรกแสดงค่า 1 ส่งออกมาจาก inject node จากนั้น http request ก็จะจัดรูปแบบข้อมูลเป็นรูปแบบ json format ส่งไปให้กับ Dweet.io
เช่นเดียวกันเมื่อกดที่ inject ตัวที่สอง ก็จะส่งค่า 0 ออกไปประกอบกัน ดูได้จากแถวที่ 3 และ 4
ขณะเดียวกัน LED ที่ Freeboard ก็จะติดหรือดับตามการเปลี่ยนแปลงไปด้วย
สำหรับ Freeboard.io นั้น ถ้าต้องการใช้งาน โดยไม่ทำการ login ทำได้โดยที่บันทึก address ที่แสดง  ขณะที่เรา login สำหรับของผมจะเป็นตามนี้
image
สามารถพิมพ์ address นี้ใน browser ตัวบอร์ดจะถูกแสดงขึ้นมาโดยไม่มีส่วนของการแก้ไข
ซึ่งสามารถนำไปเปิดใน smartphone หรือ tablet ได้เลย
เท่ากับว่าคุณสามารถควบคุม IoT device จากมือถือได้ โดยไม่ต้องเขียนโค๊ดเลยสักบรรทัด



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

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