สร้าง Cloud Arduino ด้วย php & MySQL (ตอนที่ 1)

Pain หรือ ความคันๆ  ของเรื่องนี้  คือ  กรูจะสร้าง Cloud ไว้เก็บข้อมูลเองไดงัยวะ

ก็ไปลองดูมาหมดแล้ว โดยค้สหาคำว่า cloud IOT ก็จะเจอ ตั้งแต่ Google, Windows, Mosquitto, Thingsboard, Thinsgpeak, Blynk, etc  ของไทยเราเองก็มี  NETPIE  ที่ให้ใช้ฟรี   ของฟรีไม่มีในโลก  เพราะหากใช้มากกว่านั้น  ก็ต้องเสียตังก์  ของฝรั่งก็เหมือนกัน  หรือจะเอามาใช้แบบลึก ๆ ก็ไม่ได้

และไอ้ที่มีอยู่มันก็ทำให้เราเป็นแค่คนส่งของ  ส่งข้อมูลไปเก็บ มันทำตัวเป็นทั้ง  broker และ  server (แต่จริง ๆ ยังมี Gateway อีกตัวอยู่  ค่อยอธิบายกันอีกที)  แล้วใช้ แดชบอร์ดมัน  และไม่ฟรีด้วย  ไม่ฟรีไม่เท่าไหร่  แต่ไม่มันส์

จนกระทั่งไปเจอคลิป  ชาวอินเดียอันนึง  (แต่ตอนหลัง ก็มาเจอ  คนไทยทำกันไว้บ้างเช่นกัน ทำนอง  เอา ขึ้น  MySQL  database ด้วย php ทำนองนี้    แต่ที่เจอของชาวอินเดียก่อน  เพราะพิมพ์หา  ด้วยภาษาอังกฤษ  และที่สำคัญ  เขามีครบทั้งฝั่ง Arduino  และ  php  ที่เขามีโค้ดให้ด้วย  แต่อย่างว่า  ก็ต้องมาแกะทำความเข้าใจ

และคิดว่า หลายคนคงจะยากได้

ก็จะมาอธิบายกันให้ฟังครับ

ภาพรวมของงานตามนี้เลย

  1. อยากควบคุมผ่านมือถือ  ก็เหมือนที่ทุกคนอยาก
  2. อยากมีแดชบอร์ด  ก็เหมือนหลายคนอยาก
  3. มีที่เก็บข้อมูลที่เราอยากจะเอาไปทำอะไร ๆ ทีหลังได้  เช่นเอาไปย่อย แบบว่าที่เขาเรียก Big data
  4. ให้ arduino  มันส่งข้อมูลมาเก็บ  และก็ทำงานสั่งปิดเปิดโน่นนี่ได้จากมือถือ  ไม่ว่าเราจะอยู่ที่ไหนในโลกนี้  ที่มีเน็ต

 

อย่างรูปนี้ก็หน้าจอมือถือ  แบบว่ากดปุ่มแล้วมันสั่งานได้

 

 

 

 

 

 

 

สรุปเลย  :  ทำได้   ใช้ดีด้วยซิ  และอิสระด้วย   แต่ก็ต้องไปสร้าง  เขียน  หรือไปลอกเขามาโมดิฟาย  ผมใช้วิธีหลังนีิแหละ  อ่านออกแกะได้ก็เก่งเหมือนกัน อุอุ

เอารูปข้างบนมาอธิบายใหม่นะครับ

ขั้นตอนที่  1  ประกอบร่าง  ESP8266 Wifi เข้ากับ DHT11 ที่ขา D4  (ขากราวน์  ไฟบวกนั่น  คงเป็นที่รู้กันอยู่  หรือไม่ก็คลิกไปอ่านที่หน้า Basic Electronics นะครับ    นอกจากประกอบร่างแล้วก็เขียนโค้ด  กอปปี้โค้ดแล้วอัพโหลด  พร้อมทดสอบ  ดูจาก  Serial ว่ามันอ่านและส่งข้อมูลได้

โค้ด  Arduino แรกก็อันนี้เลย   ดาวน์โหลดเลยครับ  และจะอธิบายในจุดที่จะทำให้เวิรกไม่เวิรก์  และจุดไหนที่มันต่อ wifi  หรือมันต่อเน็ต

ขั้นตอนที่ 2  ประกอบร่าง ESP8266 อีกตัวนึง  แต่จะให้มันเป็น ฝั่งรับสัญญาณ และเอาไปสั่ง led ทำงาน  ซึ่ง led ในที่นี้   เทียบเท่า  มอเตอร์  หลอดไฟ  อะไรก็แล้วแต่  ที่จะต้องเอาไปขับ รีเลย์อีกทีนึง

ขั้นตอนที่  3  คือ  สร้างฐานข้อมูล  MySQL บน Server จริง

ขั้นตอนที่  4 คือ  สร้าง โค้ด  php  ที่จะรอรับการอ่านข้อมูลจาก Arduino แล้วเขียนลง MySQL database    ส่วนนี้เรียกว่า api  และเก็บในโฟลดเดอร์ api   และอีกส่วนคือ   app  ที่ผู้ใช้จะเรียกใช้งานผ่านมือถือ  หรือคอมพิวเตอร์ ที่ผับที่บาร์ไหนก็ได้  และเก็บไว้ใน  โฟลเดอร์  app

รูปร่าง ESP8266 ตัวส่ง ข้อมูลจาก DHT11   สั้งเกตนะครับ   DHT11  ต่อไว้ที่   D4    นี่ทำชิลด์เองเลย  ด้านหลังบัดกรีห่วยมาก

รูปร่าง ESP8266 ตัวที่รับคำสั่ง และเอาไปคุม มอเตอร์ หรือรีเลย์อื่น ๆ ต่อ   ชุดนี้สวยหน่อย  เพราะได้มาตอนไปเรียนกับ  Geniuos Robotics (ผมก็ศิษย์มีอาจารย์  อาจารย์  Jack Parkpoom )   ต่อ Led ไว้ที่  D5, D6,D7  และต้องแก้ไขโปรแกรม Duino ให้ตรงกันด้วย

ผมใช้สองตัว  เพราะมีเยอะ  ม่ายช่าย ๆ  แต่เพราะ  ระหว่างทดสอบ ไม่อยากไปกวนอีกตัว  ให้มันทำงานไป  แต่ตอนจบก็จะเอามารวมกันทั้ง โค้ด และ  ฮาร์ดแวร์

ส่วนฝั่งโค้ด  ที่อยู่บน Server มีโครงสร้าง โฟลเดอรแบบนี้เลย  คือ มี 2 โฟลเดอร์  ชื่อ api  กับ  app  แม่เจ้า  แค่นี้เอาไปโมต่อได้อีกบานเลย

โฟลดเดอร์ /api/led/

โฟลดเดอร์ /api/weather/

โฟลดเดอร์ /app/led/

โฟลดเดอร์ /app/weather/

 

 

11,857 total views, 35 views today

ใส่ความเห็น