มาเริ่มต้นกันกับ NodeMcu v.2 ตอนที่ 2 การใช้งาน NodeMcu กับ Thingspeak





Thingspeak เป็นเว็ปที่ให้การบริการในการเก็บข้อมูล และสามารถแสดงข้อมูลแบบ real-time ได้ ซึ้งเราสามารถ update ข้อมูล หรือจะเรียกดูข้อมูลได้ตลอดเวลา ที่ไหนก็ได้ เพราะทำงานบน cloud ซึ่ง thingspeak สร้างมาเพื่อต้องการให้ตอบโจทย์ของ IoT อยู่แล้ว ส่วนข้อมูลที่เก็บอยู่บน cloud นั้นก็ขึ้นอยู่กับเราว่าจะใช้ยังไง รูปแบบไหน ในการที่จะส่งข้อมูล data ไปไว้บน cloud นั้น ทาง thingspeak ได้มี api ในการติดต่อไว้เรียบร้อยแล้ว เรามาเริ่มกันเลย!!


อันดับแรกเลย ให้ทำการสมัครสมาชิกให้เรียบร้อย จากนั้นก็สร้าง channel ขึ้นมา โดยให้เรากดไปที่ My channel แล้วก็ new channel ขึ้นมา



           หลังจากที่ new channel ขึ้นมาแล้ว ไปที่ channel setting ก็ป้อนข้อมูลเข้าไป เจ้าของบล็อกป้อนข้อมูลประมาณนี้ เสร็จแล้วก็กด save channel 




            เมื่อสร้างเสร็จแล้ว ก็จะแสดงหน้าต่าง ในหน้าต่างนี้จะแสดงข้อมูลเป็นแบบเส้นกราฟ ซึ่งตอนนี้ยังไม่มีข้อมูลใด ๆ ส่งมาจึงไม่เกิดอะไรขึ้น



            เอาละได้ฤกษ์แล้ว ต่อมาเจ้าของบล็อกจะทำการ update ข้อมูลไปยัง cloud ผ่าน api ที่ thingspeak มีไว้ให้มาเริ่มกันเลย!!



            อันดับแรกให้ดูที่ API KEY ของเราว่ามันคืออะไร API KEY ของเจ้าของบล็อกคือ 98GPY691PIR4WILO ตามรูป



          ในการ update ข้อมูลจะเป็นการส่ง HTTP Request ไปยัง server เพื่อ update ข้อมูลที่ต้องการตาม field ต่าง ๆ ที่เรากำหนด วิธีการ update โดยเราจะส่งข้อมูลแบบนี้

https://api.thingspeak.com/update?key=98GPY691PIR4WILO&field1=0

ที่ขีดเส้นไว้คือ

                
98GPY691PIR4WILO คือ API KEY
                field1=0 คือ field ที่เราต้องการ update ในตัวอย่างคือ field ที่ 1 และกำหนดให้มีค่า
                เท่ากับ 


มาดูผลลัพธ์กัน..


          จากรูปตัวอย่างฝั่งขวาคือเจ้าของบล็อกได้ทำการ update ข้อมูล โดยกำหนดให้ field ที่ 1 มีค่าเท่ากับ 0 และฝั่งซ้ายนั้นได้มีจุดเพิ่มมา 1 จุดก็คือค่าที่เราเพิ่มไปเมื่อซักครู่นั่นเอง


ต่อมาเรามาเขียนโปรแกรมให้กับ NodeMcu ให้ส่งข้อมูล update บ้างดีกว่า..


           อันดับแรกเปิด IDE ที่ได้ติดตั้งไว้ในตอนแรก แล้วเราก็มาเขียนโปรแกรมกัน เจ้าของบล็อกก็ขอเตรียมตัวแปรที่ควรได้ใช้ก่อนแล้วกันก็จะมีประมาณนี้


             เจ้าของบล็อกจะพยายามอธิบายในคอมเม้นโปรแกรม แล้วมาเพิ่มเติมเพื่อความเข้าในในบทความอีกทีนะครับ 




ในส่วนของ void setup() ก็จะประมาณนี้ ไม่มีอะไรมากแค่ เชื่อมต่อกับ wifi และถ้าเชื่อมต่อได้ก็จะแสดงที่อยู่  IP ออกมา




ในส่วนของ void loop() ก็จะเป็นในส่วนของการส่งข้อมูล ก็จะเป็นการส่งแบบ http request ซึ่งเราส่งออกไปว่า

GET /update?key=98GPY691PIR4WILO&field1=0 HTTP/1.1\r\n
                                     Host: api.thingspeak.com\r\n
                                     Connection: close\r\n\r\n


มื่อส่งไปแล้วถ้าหากถูกต้อง Server จะส่ง HTTP response กลับมาว่าถูกต้อง และทำการ update ข้อมูลให้เรา


มาดูผลลัพธ์กัน..



จากวิดีโอคือให้ NodeMcu ส่ง http request ไปที่ server เพื่อ update ข้อมูล ซึ่งฝั่ง thingspeak ก็ทำการ update แบบ real-time และพลอตออกมาในรูปแบบกราฟ ซึ่งทาง thingspeak สามารถบันทึกข้อมูลได้ทุก ๆ 15 วินาที ซึ่งหากว่าเราสามารถบันทึกค่าข้อมูลลง cloud ได้แล้ว ก็เหมือนกับว่าเรามีค่าอะไรบางอย่างที่เราพร้อมเรียกตลอดเวลาไม่ว่าจะอยู่ที่ไหนก็ตาม 

เมื่อเราส่งค่าไปที่ cloud ได้แล้ว ต่อมาก็เป็นการรับค่าจาก cloud มาประมวณผล อย่างเปิดปิดไฟผ่าน internet ก็จะไม่ใช่เรื่องยากอีกต่อไป..





ติดตามตอนอื่น ๆ

มาเริ่มต้นกันกับ NodeMcu v.2 ตอนที่ 3 การควบคุมเปิดปิด LED ผ่าน Internet ด้วย NodeMcu 

มาเริ่มต้นกันกับ NodeMcu v.2 ตอนที่ 1 Getting start 

ความคิดเห็น

Unknown กล่าวว่า
พี่ค่ะหนูอยากรู้ว่า ถ้าสมมติเราจะให้ thingspeak บันทึกข้อมูลให้ได้ทุก ๆ 5 นาที เราต้องเสียเงินเท่าไหร่ค่ะ แล้วหนูจะต้องกำหนดอะไรบ้างค่ะพี่

โพสต์ยอดนิยมจากบล็อกนี้

ว่าด้วยเรื่องหน่วยความจำ สิ่งที่หลายคนมองข้าม : รู้จักกับ Memory

คณิตศาสตร์กับโปรแกรมมิ่งมันเป็นยังไงนะ ตอนที่ 1 เกริ่นพีทาโกรัส

Pointer กับตัวแปร Array นะจ๊ะ.. [Back to basic แต่ไม่ basic]