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” »

16 Nov 2015 วิธีอัพเกรด ST-Link บนบอร์ด STM32 Nucleo

วิธีอัพเกรด ST-Link บนบอร์ด STM32 Nucleo

หลังจากซื้อบอร์ด STM32 Nucleo มาดองไว้นานมาก จน Firmware ของ Nucleo เค้าอัพเกรดกันไปหลายเวอร์ชั่นแล้ว พอดองได้ที่ก็เอาบอร์ดออกมาใช้งาน แต่เจอปัญหาว่าเวลาอัพโหลดโค้ดที่เขียนจาก mbed กลับใช้งานไม่ได้ ก็เลยคิดว่าน่าจะเป็นที่ Nucleo Firmware หลังจากอัพเกรดให้เป็นเวอร์ชั่นล่าสุด ถึงใช้งานได้ดีไม่มีปัญหาครับ
Read More “วิธีอัพเกรด ST-Link บนบอร์ด STM32 Nucleo” »

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” »

18 Jun 2015 วิธีดูข้อมูลต่างๆ ของ ESP8266 (ChipID , FlashID , FlashSize)

วิธีดูข้อมูลต่างๆ ของ ESP8266 (ChipID , FlashID , FlashSize)

ก่อนหน้าที่เคยเห็นคำถามเกี่ยวกับ ESP8266  เช่น มีตัวเลขอะไรที่เป็น Unique หรือเปล่า  หรือ  หรืออยากรู้ Flash Size ของโมดูลแต่ละตัว   ซึ่งค่าพวกนี้เราสามารถดูได้โดยใช้ ESP-specific APIs  บทความนี้เราจะใช้ Arduino IDE ในการเขียนโปรแกรมเพื่อดึงค่าต่าง ๆ มาแสดงบน Serial Monitor กันครับ Read More “วิธีดูข้อมูลต่างๆ ของ ESP8266 (ChipID , FlashID , FlashSize)” »

17 Jun 2015 Review : DW.miniESP ( ESP8266-07 Model )

Review : DW.miniESP ( ESP8266-07 Model )

บทความนี้จะมารีวิวและแนะนำวิธีใช้งาน DW.miniESP ครับ  บอร์ดนี้ใช้โมดูล ESP-07  ก็จะมีข้อมูลเบื้องต้นดังนี้

  • มี 9 GPIO (0,2,4,5,12,13,14,15,16)
  • มี ADC 10 Bit
  • ใช้ไฟ Vcc 3.3 v
  • Vin  4.5v – 12v (มี Regulator อยู่ใต้บอร์ด)
  • มีเสาอากาศแบบเซรามิก  และสามารถต่อเสาเพิ่มได้
  • มี Flash ประมาณ 512 KB

Read More “Review : DW.miniESP ( ESP8266-07 Model )” »

10 May 2015 Review : Arduino IDE 1.6.4 มีอะไรใหม่มาดูกัน

Review : Arduino IDE 1.6.4 มีอะไรใหม่มาดูกัน

ปกติ Arduino IDE  ออกเวอร์ชั่นใหม่ก็จะไม่ค่อยได้ตามสักเท่าไหร่  เพราะคิดว่าตัวเก่าก็ยังงานได้ปกติ  แล้วพอตัวเวอร์ชั่นใหม่ก็อาจจะเพิ่มหรือแก้ Bug บางอย่างที่ไม่เกี่ยวกับเราสักเท่าไหร่   แต่หลังจาก Arduino IDE เวอร์ชั่น 1.6.4 ออกมาแล้วเห็นความสามารถในการจัดการ Library , Board ก็น่าจะทำให้เราทำงานได้สะดวกขึ้นก็เลยเอามาแชร์ครับ

Read More “Review : Arduino IDE 1.6.4 มีอะไรใหม่มาดูกัน” »

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 ได้เลยครับ