CMMC เล่น SmartConfig บน ESP8266 แถมออก Mobile App ชื่อ ESP8266 SmartConfig ให้เล่นด้วย ก็เลยคิดว่าน่าสนุกดีเลยลองเล่นบ้าง ใน Feature SmartConfig ของ ESP8266 ทำงานเหมือนกับ Wifi Module ของ TI สามารถใช้ Mobile App ช่วยตั้งค่า SSID ให้กับ Wifi Module ได้ ทำให้การตั้งค่า SSID สามารถทำได้ง่ายมากขึ้น และไม่ต้องฝังโค้ดระบุ SSID ตายตัวในโปรแกรม ลองดู Demo ของ CMMC กันก่อน CMMC ให้แหล่งข้อมูลมาเพิ่มเติมอีกหน่อยดังนี้ ตัวอย่างโค้ด SmartConfig สำหรับ ESP8266 Esptouch for Android IOT Espressif for… Continue reading

มีคนชวนเล่น Blynk ก็เลยลองเล่นบ้าง Blynk เป็น platform ที่ช่วยให้คุณเชื่อมต่อ Arduino, Raspberry Pi, ESP8266 กับ Mobile App ได้ง่ายมากขึ้น ง่ายจนแทบไม่ต้องทำอะไรเลย ข้อดีของ Blynk คือไม่ต้องมี board อะไรพิเศษ เอา Board เดิมๆ มาเล่นได้เลย อ้อเกือบลืมไปต้องต่อ internet ได้ด้วยนะ บริการของ Blynk มี 3 ส่วนคือ Mobile App สำหรับควบคุมหรือดูข้อมูล Cloud Service สำหรับเก็บข้อมูลจากอุปกรณ์ Library สำหรับเขียนโค้ดเชื่อมต่อกับ Cloud Service มาลองเล่นกัน เริ่มจากติดตั้ง App Blynk กันก่อน รองรับทั้ง iOS และ Android สะดวกมากๆ สมัครสมาชิกแล้วสร้าง Project… Continue reading

น้อง Wasin แห่ง Chiang Mai Maker Club แนะนำเรื่องการวาด Bitmap บนจอ OLED โดยใช้เครื่องมือยอดฮิตชื่อ LCD Assistant ช่วยให้เราแปลงภาพ Bitmap เป็นโค้ดตัวแปร Array ในภาษา C++ จากนั้นเราก็เอาโค้ดที่ได้นี้เอาไปใช้งาน แต่… ผมไม่มี Windows ก็เลยต้องหาวิธีอื่น T_T หลังจากที่ค้นจาก Google ไปพักใหญ่ ก็ได้เครื่องมือเหมือนกับ LCD Assistant แต่เป็นบริการแบบออนไลน์ สามารถเลือกไฟล์จากเครื่องของเราแล้วสั่งแปลงได้เลย เครื่องมือชื่อ Image to Byte array ลองกดเข้าไปดู

ESP8266 สามารถต่อกับจอ LCD ผ่าน I2C ได้ ถ้ายังจำกันได้จอ OLED ก็ต่อผ่าน I2C เหมือนกัน วิธีการก็ง่ายมากๆ สำหรับ DW.miniESP และ ESP8266 ต่อวงจรดังนี้ PIN 4 = SCL และ PIN 5 = SDA สำหรับ NodeMCU Devkit ต่อ D1 = SCL และ D2 = SDA จากนั้นก็เขียนโค้ดกันได้ ใช้ Arduino ESP เหมือนเดิม และใช้ library LiquidCrystal-I2C เหมือนกับ Arduino เลย

เมื่อวานได้ลองเล่น DW.miniESP กับจอ OLED กันไปแล้ว ครั้งนี้ขอมัดรวมพ่วงกับ DHT22 เพื่อวัดอุณหภูมิและความชื้นด้วย ยังไม่ได้ส่งข้อมูลไปไหนนะครับ แค่ใช้อ่านและแสดงผลผ่านจอเท่านั้น เราสามารถใช้ library DHT22 ของ Adafruit ได้ เพียงแก้ไขตอน init dht เท่านั้นเอง

ESP8266 สามารถใช้งาน I2C ได้และสามารถเชื่อมต่อกับจอ OLED แบบ I2C ได้ ซึ่งทาง Chiang Mai Maker Club ได้แก้ไข library จอ OLED ชื่อ Adafruit_SSD1306 ซึ่งเดิมใช้งานร่วมกับ Arduino ให้สามารถใช้งานกับ ESP8266 ได้ และทำตัวอย่างออกมาให้ดูกัน ผมมีจอ OLED 128×64 สีฟ้ากับ DW.miniESP ของ อ.เดียว อยู่ก็เลยมาลองเล่นบ้าง วิธีการก็ง่ายมากๆ ติดตั้ง library Adafruit_SSD1306 และ Adafruit_GFX เอาไฟล์ตัวอย่างเฉยๆ T_T

Arduino IDE 1.6.4+ เพิ่มคุณบัติการใช้งาน development board อื่นๆ ผ่าน Arduino IDE ได้ โดยสามารถติดตั้ง board เหล่านั้นเพิ่มเติมผ่าน Boards Manager ซึ่งบอร์ด ESP8266 ก็สามารถติดตั้งเพิ่มเติมได้เช่นกัน จะได้ไม่ต้องมี IDE หลายตัว และไม่ต้องแก้ไขไฟล์ config ต่างๆ ให้ยุ่งยาก วิธีการก็ง่ายมาก ให้คุณดาวน์โหลด Arduino IDE 1.6.4 จากเว็บไซต์ Arduino เปิดโปรแกรมขึ้นมา เลือก Preferences ดูตรง Additional Board Manager URLs ใส่ https://arduino.esp8266.com/stable/package_esp8266com_index.json ลงไป

ครั้งที่แล้วพาเล่น Arduino ESP8266 IDE กับ ESP-01 ซึ่งดูจะไม่ค่อยจะมีปัญหาเท่าไร สามารถ flash ได้ แต่พอได้ลองกับ NodeMCU Devkit กลับใช้งานไม่ได้ เพราะ esptool อ่านค่าสถานะ flash mode จาก Devkit ไม่ได้นั่นเอง โดยปกติ esptool จะส่งค่าไป enable flash mode ที่ตัว ESP จากที่สังเกตพบว่าไม่ทำงาน ได้ความรู้จากพี่ช้างแห่ง Ayarafun Factory มาว่า esptool ที่ bundle มามันใช้บน OSX ไม่ได้มันมีบั๊ก เลยเข้าไปดูไฟล์ platform.txt ก็ถึงบางอ้อเลย มันคนละตัวกันแน่นอน วิธีการแก้ปัญหานี้คือให้ดาวน์โหลด esptool ตัวใหม่มาดังนี้ git clone https://github.com/themadinventor/esptool.git cd esptool

Wifi Module อย่าง ESP8266 ได้รับความนิยมอย่างมาก นอกจากราคาถูกแล้วยังสามารถ flash firmware ใหม่ลงไปได้ ซึ่งเครื่องมือมีอยู่หลายตัว เช่น ESP8266 Flasher, NodeMCU Flasher เป็นต้น ส่วนใหฐ่เครื่องมือเหล่านี้ทำงานบน Windows สำหรับท่านที่ใช้ OSX และ Linux มีเครื่องมืออีกตัวนึงสามารถใช้งานบน Linux และ OSX ได้ แต่ต้องใช้ผ่าน Command Line นะครับ ชื่อ ESPTool การติดตั้งและใช้งานก็ง่ายมาก สั่ง clone git repository ของโครงการลงมาได้เลยดังนี้ git clone https://github.com/themadinventor/esptool.git cd esptool ติดตั้งโดยใช้คำสั่งดังนี้ sudo python setup.py install จากนั้นก็ใช้งานได้เลย วิธีการใช้งานก็ง่ายๆ แบบนี้ esptool.py -b [baud-rate]… Continue reading

CircuitPython และ MicroPython เหมือนหรือแตกต่างกันอย่างไร CircuitPython ก็ใช้ภาษา Python เหมือนกันกับ MicroPython ใช้เครื่องมือ IDE ก็เหมือนกัน และยังทำงานบน Embedded System เหมือนกันด้วย ครั้งนี้ถือโอกาสมาอธิบายเพิ่มเติมว่า CircuitPython แตกต่างจาก MicroPython อย่างไร CircuitPython พัฒนามาจาก MicroPython ที่เน้นให้การใช้งานภาษา Python สำหรับงาน Embedded System โดยปรับปรุงภาษาและการใช้งานให้ง่ายขึ้น มีชุดคำสั่งที่กระชับเข้าใจง่าย ทำให้ CircuitPython เหมาะสำหรับคนที่เริ่มต้นศึกษาภาษา Python สำหรับงาน Embedded System CircuitPython พัฒนาโดย Adafruit Industries ฮาร์ดแวร์ที่รองรับส่วนใหญ่เป็นฮาร์ดแวร์ที่ผลิดโดย Adafruit เป็นหลัก CircuitPython รองรับชิป Atmel SAMD21 หรือที่เราเรียกว่า M0 และยังมีรุ่นที่รองรับ ESP8266 ด้วย สำหรับ… Continue reading