Firebase และ Arduino ตอนที่ 2

ในตอนที่ 2 เราจะมาดูภาคการเขียนโปรแกรมในส่วนของ board โดยใช้ซอฟต์แวร์ arduino-1.8.10 เขียน sketch แล้ว upload เข้า board เพื่อใช้งานร่วมกับ Firebase หากบังเอิญ search มาเจอบทความนี้ก่อน ย้อนกับไปอ่าน ตอนที่ 1 ได้ครับ

เริ่มต้นเราต้องดาวน์โหลดซอฟต์แวร์ที่จะต้องใช้ ดังรูป

ภาพที่ 1 แสดงรายการไฟล์ที่ใช้ใน project Firstapp-IoT ของผม

รันโปรแกรมที่ดาวน์โหลดมา arduino-1.8.10-windows.exe (ส่วนอีก 2 ไฟล์ที่เป็น .zip แตกไฟล์ออกมา CH341SER_WINDOWS.zip ใช้เพื่อให้ USB port ของ Notebook จำลองเป็น Serial port COM3 ได้ และ firebase-arduino-master.zip จะใช้ในโปรแกรม Arduino ในขั้นตอน Add Libraries)

ภาพที่ 2 แสดงโครงสร้างไดเรกทอรีของโปรแกรม Arduino จะได้ libraries มา และเราสร้างไดเรกทอรีเพิ่มเองเพื่อเก็บโปรแกรม

ในไดเรกทอรี libraries จะเห็นว่าเราใช้งาน libraries ใดได้บ้างในการเขียนโปรแกรม

ภาพที่ 3 แสดงรายการไดเรกทอรีภายในของ libraries

และเมื่อเราจะเขียนโปรแกรม จะต้องวางไว้ในไดเรกทอรี ดูตัวอย่าง

ภาพที่ 4 แสดงชื่อโปรแกรม nodemcu-8021x-v3.ino (แจกโค๊ด)

เอาโค๊ดของ project ชื่อ Firstapp-IoT ได้ที่ link นี้ https://github.com/woonpsu/firstapp-iot

เมื่อรันโปรแกรม Arduino ในครั้งแรก ให้ตั้งค่าเพิ่มที่ File > Preferences

ภาพที่ 5 เพิ่ม Additional Boards Manager URLs

ตัวอย่าง Arduino board ที่ใช้ ESP8266 ต้องใส่ URL: https://arduino.esp8266.com/stable/package_esp8266com_index.json

ถัดไป ตั้งค่าเลือก Board ให้ตรงกับที่เราซื้อมา (ให้ข้อมูลเพิ่มครับ ที่ซื้อมาคือรุ่น บอร์ดทดลอง NodeMCU V2 NodeMCU V2 ESP8266 Development Kit ESP-12F/N)

ภาพที่ 6 แสดงการเลือกใช้ Board: “NodeMCU 1.0 (ESP-12E Module)”

เมื่อเราเขียน Sketch book เสร็จ ไม่ error แล้ว เราจะอัปโหลดใส่ board ในขั้นตอนนี้ เราใช้สาย USB data ต่อ board เข้ากับ USB port ในรูปจะเห็น COM3 หากใช้สาย USB Charger จะไม่เห็น Serial port นะ เมื่อพร้อมก็คลิกปุ่ม upload

ภาพที่ 7 เมื่อเปิดโปรแกรม Arduino จะจำ Sketch book ล่าสุดที่เราใช้งาน คลิกรูปลูกศรชี้ขวา ด้านบน เพื่อ upload

ต่อไปเราก็เปิดหน้าต่าง Serial Monitor เพื่อดูผลลัพธ์ หรือ debug

ภาพที่ 8 เปิด Serial Monitor จากเมนู Tools

จะเห็นว่า โปรแกรมมีการใช้คำสั่ง Serial.println(“WiFi connected”); เพื่อ debug

ภาพที่ 9 แสดงข้อมูลในหน้าต่าง Serial monitor เมื่อ board เริ่มทำงาน

ผลลัพธ์เมื่อเราใช้โปรแกรม JavaScript สั่งเปิด LED1 และ LED2 และตั้งสีให้กับหลอดสี เป็น สีเขียว

ภาพที่ 10 แสดงผลลัพธ์การทำงานที่ถูกต้องตาม Project นี้

อ้างอิง:

  • อ่านเยอะ ๆ และ search จาก google หลายเพจมาก ๆ
  • ได้รับข้อมูลเรื่องการเชื่อมต่อเน็ต Arduino ไปยัง Wi-Fi 802.1x จากเพื่อนชื่อโป้งทำงานที่ CLIB PSU โดยนักศึกษาฝึกงานเขียนโค๊ดไว้บน github ที่นี่ https://github.com/ton28919/firedoor/blob/main/nodeMCU_WifiEnterprise/nodeMCU_WifiEnterprise.ino
  • โปรแกรม JavaScript ที่เขียนก็ได้จาก Firebase Document ส่วนมาก
  • ต้องขอบคุณเพจนี้ด้วย เป็นเพจแรก ๆ ที่จุดประกายให้ http://www.daydev.com/firebase/web-authentication-with-firebase.html และ https://adamblog.co/firebase-authentication-with-firebaseui/
  • Firebase UI https://github.com/firebase/firebaseui-web
  • และขอบคุณทุกเพจบนโลกใบนี้ที่เขียนแนะนำโดยไม่หวังสิ่งใดตอบแทน

1 comment for “Firebase และ Arduino ตอนที่ 2

  1. mongkol.th
    June 28, 2021 at 2:03 pm

    มีตัวอย่าง ESP8266 + DHT11 โมดูลวัดอุณหภูมิ
    เชื่อม WiFi 802.1x เตือน อุณหภูมิ เข้า Line
    ไม่ทราบว่ามีมั้ยครับ ตอนนี้ ติด ปัญหาเชื่อม WiFi 802.1x ยังเชื่อมไม่ได้ครับ
    มือใหม่ครับ

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.