UserID: 

 Last logged in: 


Blog IoTtweet.com



[LED vs NodeMCU vs Dashboard]-ควบคุม LED ผ่าน Internet ด้วย NodeMCU และ Dashboard ของ IoTtweet

Isaranu, 2016.Oct.3


NodeMCU vs iottweet

จากตัวอย่างการส่งข้อมูลจาก NodeMCU ด้วย Library ของ IoTtweet ครั้งที่แล้ว หลายๆท่านคงจะได้เห็นแล้วนะครับว่า การใช้งานนั้นไม่ยากเลย
มีคำสั่งในการส่งแค่ไม่กี่บรรทัดเท่านั้น ไม่ซับซ้อน และเข้าใจได้ง่ายเลยทีเดียว.

ในบทความนี้ จะอธิบายเกี่ยวกับการใช้งาน digital switch และ analog slider เพื่อส่งค่าไปควบคุม IoT ที่เชื่อมต่อบน Internet
โดยที่ในตัวอย่างนี้ จะใช้ NodeMCU เหมือนเดิมกับครั้งที่แล้วนะครับ

ดังนั้นไม่รอช้านะครับ เรามาเริ่มกันเลยดีกว่า ถ้าใครอ่านบทความแรกไปแล้ว ตอนที่เราดาวน์โหลดไฟล์ Library ของ IoTtweet มาจาก Github
เราจะได้ไฟล์ sketch มาด้วย ในนั้นให้เราเปิดไฟล์ที่ชื่อว่า “ControlMyIoT.ino” ครับ ไฟล์นี้ล่ะครับ ที่เราจะเอามาใช้กัน

NodeMCU vs iottweet
เริ่ม step ตามนี้ครับ

[Step 1] เตรียม account IoTtweet, ลงทะเบียนอุปกรณ์ IoT และคัดลอก Key มาเก็บไว้.
* การเตรียมสิ่งเหล่านี้ สามารถอ่านได้จากในตัวอย่างแรกนะครับ ส่วนคนที่เคยทำแล้ว ผ่านไป step 2 ได้เลยครับ

[Step 2] เปลี่ยน parameter ในไฟล์ ControlMyIoT.ino
ทำการเปลี่ยนค่าต่างๆในไฟล์นี้ ให้เป็นค่าของเราครับ อันได้แก่
userid, key, ssid และ wifi password ครับ

NodeMCU vs iottweet
[Step 3] Upload code ไปที่ NodeMCU
ทำการอัพโหลดไฟล์ “ControlMyIoT.ino” ที่แก้ไขค่าต่างๆแล้ว ไปยัง NodeMCU ได้เลยครับ เมื่อเราทำการอัพโหลดเสร็จเรียบร้อย
ให้เปิด serial monitor ขึ้นมา เพื่อจะดูค่าที่ได้รับมาจาก Dashboard IoTtweet ครับ
การเปิด Serial monitor ก็ทำได้โดยไปที่ Arduino IDE แล้วไปที่ Tool > Serial monitor ครับ

[Step 4] ดูผลลัพธ
เมื่อให้ NodeMCU เชื่อมต่อกับ WiFi แล้ว เราก็มาที่ browser ที่หน้าจอ Dashboard IoTtweet ได้เลยครับ ให้เราลองเปิด/ปิด สวิทช์ตัวที่ 1 ที่ control IoT panel ตามรูป
แล้วลองสังเกตที่หน้าจอ Serial monitor ของเรา จะเห็นว่ามีการเปลียนแปลงสถาณะ ON – OFF ของ sw1.

รูปปิด swtich ที่ dashboard
NodeMCU vs iottweet
รูปเปิด swtich ที่ dashboard
NodeMCU vs iottweet
ส่วนการใช้งาน Analog slider, เราสามารถเลื่อนแท็บบนตัว slider ได้เลยครับ แต่ดาต้าจะยังไม่ถูกส่งไปอัพเดทบน server เราจะต้องกดปุ่ม “Fire to IoT” ก่อนครับ
ค่าเหล่านั้นจะถูกส่งไป server และส่งไปยังอุปกรณ์ของเราอีกทีครับ

NodeMCU vs iottweet
เมื่อกดปุ่มแล้ว จะมีแถบ Notification แจ้งเตือนด้านล่างครับ
NodeMCU vs iottweet
ตอนนี้ข้อมูลที่ได้รับมาจาก Dashboard IoTtweet จะเป็นรูปแบบ JSON ฟอร์แมต (อะไรคือ JSON ฟอร์แมต ?) ซึ่งเวลาที่เราจะนำไปใช้งานนั้น เราต้องทำการถอดรหัส (Decode) เสียก่อน
ซึ่งถ้าใครเขียนโปรแกรม sketch ชำนาญๆแล้ว ก็สามารถใช้คำสั่งใน Library ที่ชื่อว่า “ArduinoJson.h” มาถอดรหัสเอาค่าแต่ละตัวออกมาก็ได้นะครับ

NodeMCU vs iottweet
แต่เนื่องจาก IoTtweet team ต้องการให้ผู้ใช้งานเว็บนี้ สามารถทำงานได้ง่ายขึ้น เราจึงเตรียมคำสั่งพิเศษไว้ให้เรียบร้อยแล้วครับ
จากในไฟล์ที่ดาวน์โหลดมาจาก Github:Iottweet v0.2.0 ให้เปิดไฟล์ที่ชื่อ “ControlMyIoT_switch.ino” และ “ControlMyIoT_slider.ino” ทั้งสองตัวนี้จะเป็นไฟล์ที่เราเขียนคำสั่งพิเศษไว้ให้แล้ว
ในการถอดรหัสทั้ง switch และ slider ตามลำดับครับ

NodeMCU vs iottweet
[การอ่านค่า switch แต่ละตัว]
มาเริ่มที่ “ControlMyIoT_switch.ino” ครับ ไม่มีอะไรมากเลย คำสั่งที่ชื่อว่า “ReadDigitalSwitch(userid,key,switch_number)” คือคำสั่งที่ให้อ่านค่า switch ที่เราต้องการได้ทันทีครับ
โดยคำสั่งนี้จะส่งค่า “ON” หรือ “OFF” กลับมาให้เรา ตามสถานะของ switch ที่หน้า Dashboard เลย ส่วน switch_number ก็คือเลขของ switch ที่เราต้องการจะอ่านค่าครับ
ส่วนค่าอื่นๆที่เกี่ยวกับการ connect WiFi ให้เรากรอกค่าต่างๆให้เรียบร้อย แล้วก็อัพโหลดไฟล์นี้ลง NodeMCU ได้เลยครับ.

NodeMCU vs iottweet
อัพโหลดเสร็จแล้ว ก็ลองใช้งานดูได้เลยครับ แล้วลอง เปิดปิดที่ switch 1 บน Dashboard ครับ จะเห็นว่า ไฟ LED บนบอร์ด NodeMCU จะเปิดปิดตามที่เราสั่ง
(Built-in LED จะต่ออยู่ที่ GPIO port เบอร์ 16 นะครับ)

[การอ่านค่า slider แต่ละตัว]
ในส่วนนี้ ให้ไปยังไฟล์ที่ชื่อ “ControlMyIoT_slider.ino” ครับ ในนั้นมีคำสั่งชื่อ “ReadAnalogSlider(userid,key,slider_number)”
คล้ายกับ switch แทบจะทุกประการ ต่างกันตรงที่ ฟังก์ชั่นนี้จะส่งค่ากลับมาเป็น float นะครับ และตอนใช้งานที่ Dashboard ก่อนส่งข้อมูลมายัง NodeMCU
อย่าลืมกดปุ่ม “Fire to IoT” ก่อนด้วยครับ.

NodeMCU vs iottweet
NodeMCU vs iottweet
สำหรับคนที่เคยดาวน์โหลด Library IoTtweet ไปแล้ว ในเวอร์ชั่น 0.1.0 นั้น จะยังไม่มี ไฟล์ 2 ตัวด้านบนนี้นะครับ
จำเป็นต้องเข้าไปดาวน์โหลด Library ใหม่ จาก Github ซึ่งจะเป็นเวอร์ชั่น IoTtweet:0.2.0 และจะมีไฟล์ “ControlMyIoT_switch.ino” และ “ControlMyIoT_slider.ino” มาให้ด้วยครับ

ลองใช้งานกันดูนะครับ ชมวีดีโอตัวอย่างด้านล่างนี้ได้เลยครับ


พูดคุยกันได้ข้างล่างนี้นะครับ
IoTtweet.com
- Support team -