โดย Jibin Thomas
"Internet จะหายไป จะมี IP Addresses มากมาย Devices, Sensors, Things ที่คุณสวมใส่ Things ที่คุณโต้ตอบ คุณจะไม่รู้สึกมันเลย มันจะเป็นส่วนหนึ่งของ Presence ของคุณตลอดเวลา ทưởng tượngว่าคุณเดินเข้าห้อง และห้องนั้น Dynamic ด้วย Permission ของคุณและทั้งหมด คุณโต้ตอบกับ Things ที่เกิดขึ้นในห้อง"
ปัจจุบันอุปกรณ์หลายอย่างที่ใช้ประจำวันเชื่อมต่อ Internet แล้ว เช่น TV, Smart Speakers, Refrigerators อุปกรณ์เหล่านี้ขยาย Primary Functions ให้โต้ตอบกับอุปกรณ์อื่นบน Internet และควบคุมจาก Remote ได้
คุณสร้าง IoT Devices เองได้ด้วย Sensors และ Microcontrollers มี Development Boards หลายตัวช่วยเริ่มต้น IoT เช่น Arduino, NodeMCU, Raspberry Pi สามารถ Automate Home ได้ด้วยการสร้างจากอุปกรณ์เหล่านี้
ใน Post นี้ เราจะใช้ NodeMCU DevKit และ Firebase สำหรับควบคุม LED On/Off แบบ Remote NodeMCU DevKit และ Firebase เป็น Combination ที่ดีที่สุดสำหรับเริ่มต้น IoT Projects NodeMCU ราคาถูก มี Built-in WiFi สำหรับ Internet Connectivity และ Firebase Free Plan พอเพียงมาก
Setting up Development Environment
เราจะใช้ Arduino IDE เขียน Code และ Flash ไป Device Download Latest Version ได้ที่นี่
เนื่องจาก NodeMCU ไร้ Official Support จาก Arduino IDE ต้องเพิ่ม JSON File ของ Device ใน Arduino IDE เพิ่ม URL นี้ใน
Open File > Preferences > Additional Board Manager URLs
https://arduino.esp8266.com/stable/package_esp8266com_index.json
- Select Board จาก
Tools > Board > NodeMCU 1.0
ใช้ Firebase Database ใน NodeMCU ต้อง Download firebase-arduino Library ซึ่ง Abstract REST API ของ Firebase Download ได้ที่นี่
Include Downloaded Zip File ใน Arduino IDE
Sketch > Include Library > Add .zip > Select Zip File
- ต้อง Install ArduinoJson Library ด้วย โหลดจาก Arduino IDE เองได้
Note: Library Version ไม่ควรเป็น 6.x.x — ใช้ Latest 5.x.x
Sketch > Include Library > Manage Libraries > Search ArduinoJson by Benoit Blanchon
Setting up Firebase Database
สร้าง Firebase Project ใหม่จาก Console ไป Database Section เลือก Firebase Real-time Database
Copy Database Secret สำหรับ Authentication จาก Settings Panel > Service Accounts
Database Secret
- เพิ่ม Led Node ใน Firebase Database Value นี้จะตัดสินใจ Turn On/Off LED

Configuring Arduino IDE และ Firebase Database ให้ทำงานร่วมกัน
Setup Procedures เสร็จแล้ว เริ่ม Coding
ต้องสร้าง Macro สำหรับ Database URL และ Firebase Secret ที่ Copy ใน Step 8
#define FIREBASE_HOST "yourfirebasedatabase.firebaseio.com"
#define FIREBASE_AUTH "*"
เพื่อความง่าย เราจะเขียน Code 簡単 สำหรับ Turn On/Off LED แบบ Remote
- Positive ของ LED ต่อ Pin D1 และ Negative Pin ไป Ground Pin ของ NodeMCU

- Upload Code จาก Arduino IDE
Sketch > Upload
- ลองเปลี่ยน Database Value เป็น True และ False LED ควร On/Off ได้ ต่อไปคุณขยาย Project ได้โดยสร้าง Web App Toggle LED แทนการเปลี่ยนค่าใน Database เอง
ตอนนี้คุณเข้าใจ Basics การเชื่อม NodeMCU กับ Internet และควบคุม Remote เริ่ม Hack Projects ใหม่ๆ ได้แล้ว
เรียนรู้เขียนโค้ดฟรี หลักสูตรโอเพนซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานเป็นนักพัฒนา เริ่มต้นได้เลย