16 Mar 2016 มารู้จัก PlatformIO IDE Tool ที่กำลังมาแรงสำหรับงานพัฒนาด้าน IoT

มารู้จัก PlatformIO IDE Tool ที่กำลังมาแรงสำหรับงานพัฒนาด้าน IoT

หลังจากที่ได้ลองเล่น PlatformIO มาสักระยะแล้ว รู้สึกว่ามันเป็น Tool ที่ดีมาก ๆ ตัวหนึ่งสำหรับการพัฒนาโปรแกรม  และตัว PlatformIO เองก็พึ่งปล่อย IDE ออกมาได้ไม่นานทำให้หลายคนอาจจะยังไม่รู้จัก บทความนี้เราเลยจะมาพูดถึง PlatformIO IDE กันครับ

ก่อนหน้านี้ถ้าเราจะพัฒนาโปรแกรมบน Arduino Framework  เราก็ต้องใช้ Arduino IDE  แต่ถ้าเราต้องการจะพัฒนาบน mbed Framework ก็ต้องไปใช้ Online IDE ของ mbed หรือใครจะ Export Project มาพัฒนาแบบ Offline ก็ได้   ประกอบกับปัจจุบันมีชิปตระกูลต่าง ๆ มีการพัฒนาค่อนข้างเร็ว  ทำให้เครื่องมือในการพัฒนามีความหลากหลายมากขึ้น   ดังนั้นถ้าเราจะพัฒนาโปรแกรมบน ARM , AVR , ESP8266 ก็จะต้องติดตั้ง Tool สำหรับชิปต่าง ๆ หลายตัว

ด้วยสาเหตุนี้จึงมีการพัฒนา PlatformIO ขึ้นมา  โดยจะรวบรวมเครื่องมือต่าง ๆ ที่จำเป็น  เช่น Toolchain ของ MCU ตระกูลต่างๆ  , Uploader (Programmer) , framework (Library)  ทำให้เราสามารถพัฒนาโปรแกรมบนบอร์ดต่าง ๆ เพียงแค่กำหนด Configuration ของ Project ให้ตรงตามบอร์ดที่เราใช้งาน นอกจากนี้ PlatformIDE ยังใช้ Atom TextEditor ซึ่งมาพร้อมกับ Plugin ต่าง ๆ ทำให้เราสามารถพัฒนาโปรแกรมได้สะดวกมากเลยครับ

ถ้าจะพูดง่าย ๆ ก็คือ สามารถใช้ PlatformIO IDE แทน Arduino IDE และ Mbed Online IDE ได้เลย

Read More “มารู้จัก PlatformIO IDE Tool ที่กำลังมาแรงสำหรับงานพัฒนาด้าน IoT” »

22 Jun 2015 ESP8266 อ่านค่าจาก SHT15 แล้วส่งไปแสดงผลบน Qt ด้วย UDP

ESP8266 อ่านค่าจาก SHT15 แล้วส่งไปแสดงผลบน Qt ด้วย UDP

สำหรับบทความนี้จะเป็นการอ่านค่าอุณหภูมิและความชื้นจาก SHT15 แล้วส่งไปแสดงผลบน Qt ด้วย UDP Protocol หลาย ๆ ท่านคงจะเคยเห็นการส่งค่าไปเก็บบน Cloud หรือ เก็บลงฐานข้อมูลโดยใช้ Protocol ต่าง ๆ เช่น MQTT , HTTP ซึ่ง Stack อยู่บน TCP แต่บทความนี้เราจะใช้ UDP Protocol ในการส่งข้อมูลเพราะต้องการเน้นเรื่องความเร็วเป็นหลักครับ Read More “ESP8266 อ่านค่าจาก SHT15 แล้วส่งไปแสดงผลบน Qt ด้วย UDP” »

9 May 2015 ควบคุมหุ่นยนต์ผ่าน UDP แบบง่าย ๆ โดยใช้ C# และ NODEMCU

ควบคุมหุ่นยนต์ผ่าน UDP แบบง่าย ๆ โดยใช้ C# และ NODEMCU

 

ช่วงนี้กระแส IoT กำลังบูมมาก ๆ  ทำให้หลายคนที่ทำงานด้าน Embedded หันมาเล่นด้านนี้กันมากขึ้น   ในช่วงที่ผ่านมามี Chip ที่ชื่อว่า ESP8266 ผลิตโดย Espressif  ซึ่งรองรับการใช้งาน Wifi ในโหมด AP และ Station    สามารถส่งข้อมูลได้ทั้งแบบ UDP และ TCP  ที่สำคัญราคาถูกมาก ๆ (ตัวละร้อยกว่าบาท) ทำให้ Chip ตัวนี้มีตัวอย่างการประยุกต์ใช้งานให้ศึกษาหลายที่เลย

ในโพสนี้เราจะลองเขียนโค้ดควบคุมหุ่นยนต์แบบง่าย ๆ ผ่าน UDP  ซึ่ง Command ที่เราจะส่งนั้นมีแค่

  • เดินหน้า
  • ถอยหลัง
  • เลี้ยวซ้าย
  • เลี้ยวขวา
ทำให้การส่งข้อมูลเราจะใช้แค่ 1 Byte สำหรับการส่ง Command  ส่วนการเขียนโค้ดเราจะใช้ Arduino IDE for ESP8266  เพราะมี toolchain ของ ESP8266 มาให้เลย  ซึ่งเราจะเขียนแบบ C++ หรือ C ก็ได้เหมือนกันครับ   ข้อดีอีกอย่างคือเราสามารถ port library ของ Arduino มาใช้งานได้ไม่ยาก

 

ในส่วนวงจรขับมอเตอร์  เราจะใช้โมดูล L298   และการเขียนโปรแกรมก็ทำการรับ UDP มา 1 Byte แล้วส่งให้ Class AppStackRobot จัดการต่อ   ภายใน Class ก็จะมีหน้าที่เช็คว่าค่าที่รับเข้ามาคืออะไร  ตรงกับ Protocol ที่ตั้งไว้หรือไม่  ถ้าตรงก็ไปสั่ง GPIO ให้ Module L298 ทำงานแค่นี้เองครับ
ในส่วนโปรแกรมที่พัฒนาด้วย C# ก็จะมีปุ่มสำหรับส่ง Command เมื่อมีการกดปุ่มโปรแกรมก็สร้าง UDP packet ส่ง command ไปควบคุมหุ่นยนต์
Source code ตัวอย่างดูจากคอมเม้นใน Clip ได้เลยครับ