มาลอง Deep Sleep บน ESP8266 กัน

คุณ Sarunyu Chompupon โพสเอกสารเกี่ยวกับ Sleep Funtion ใน ESP8266 ลงในกลุ่ม ESP8266 Thailand ทำให้คิดถึงเรื่องที่มีคนพยายามบัคกรีขาจิ๋วๆ ของชิปตัวนี้ใน ESP-01 ให้ใช้ sleep mode ได้ (พยายามกันมากเลย) จากเอกสารอธิบายได้ดีมากเลยครับ แถมโค้ดตัวอย่างมาหน่อยนึง ขอแปะไว้ก่อนจะได้ไม่หายไปไหนนะครับ

ใครสนใจก็เอาไปลองเล่นดู จะได้รู้ว่าประหยัดไฟได้จิงป่าว

มาเล่น ESP8266 กับจอ LCD กัน

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 เลย

Continue reading

มาเล่น ESP8266 DHT22 และจอ OLED กัน

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

Continue reading

มาเล่น ESP8266 กับจอ OLED 128×64 ด้วย Arduino ESP กัน

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

วิธีการก็ง่ายมากๆ ติดตั้ง library Adafruit_SSD1306 และ Adafruit_GFX เอาไฟล์ตัวอย่างเฉยๆ T_T

Continue reading

เก็บตกงานเขียนเกี่ยวกับ Embedded และ IoT

ผ่านมาเกือบ 2 ปีละกับ Arduino และบอร์ดอื่นๆ ที่ได้ซื้อมาเล่น สั่งทีละนิดทีละหน่อย พอมาดูกล่องพัสดุมีเกือบ 20 กล่อง แสดงว่าหมดเงินไปเยอะเหมือนกัน ก็เลยมาสรุปสักหน่อยว่า เล่นอะไรไปบ้าง ทำโปรเจคอะไรบ้าง เดี๋ยวว่างๆ จะลองนับใบเสร็จดูว่าเสียตังค์ไปกี่บาทแล้ว :P

เนื้อหาที่เกี่ยวกับ Arduino

เนื้อหาที่เกี่ยวกับ Raspberry Pi

เนื้อหาที่เกี่ยวกับ ESP8266, NodeMCU

มาเล่น DW.miniESP กัน

ผมได้ DW.miniESP เป็น IoT Dev Kit ขนาดเล็กพร้อม ESP8266 (ESP-07) พัฒนาโดย Deaware สามารถเสียบลง Bread Board ใช้งานได้ทันที ตัวบอร์ดมี regurator 5.0v มาให้ด้วย สามารถเสียบ battery หรือใช้ไฟจาก usb-to-ttl ก็ได้ สำหรับท่านที่เป็นห่วงเรื่องสัญญาณ Wifi ตัว ESP-07 มีจุดเชื่อมต่อเสาอากาศเพิ่มได้ด้วย ตัวบอร์ด DW.miniESP มีหน้าตาแบบนี้

สำหรับการใช้งาน DW.miniESP มาพร้อมกับ NodeMCU คุณสามารถเขียนภาษา lua ใส่เข้าไปได้เลย หรือหากต้องการเขียนแบบ native โดยใช้ Arduino ESP ก็สามารถทำได้เช่นกัน

Continue reading

เพิ่มบอร์ด ESP8266 ใน Arduino IDE

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 ใส่ http://arduino.esp8266.com/package_esp8266com_index.json ลงไป

Continue reading

มาใช้งาน Arduino ESP8266 IDE กับ NodeMCU Dev Kit กัน

*** เนื้อหานี้เก่าแล้วแนะนำให้อ่าน เพิ่มบอร์ด ESP8266 ใน Arduino IDE แทนครับ ***

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

วิธีการแก้ปัญหานี้คือให้ดาวน์โหลด esptool ตัวใหม่มาดังนี้

git clone https://github.com/themadinventor/esptool.git

cd esptool

Continue reading

มา Flash Firmware ให้ ESP8266 ด้วย 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] -p [device] write_flash [address] [firmware-file]

ตัวอย่าง

esptool.py -b 9600 -p /dev/cu.usbmodem1421 write_flash 0x00000 nodemcu_latest.bin

มาลองเล่น Arduino ESP IDE กัน

ชุมชน ESP8266 มีการพัฒนา Arduino IDE เพื่อรองรับการพัฒนาโปรแกรมใส่ลงใน ESP8266 โดยไม่ต้องพึ่ง NodeMCU ไม่ต้องหัดเขียนภาษาใหม่ IDE ชุดนี้เพิ่ม esptool ใช้เป็นเครื่องมือในการอัพโหลด firmware ที่ได้จากการคอมไพล์ สำหรับท่านที่อยากลอง ดาวน์โหลดได้ที่หน้าโครงการใน GitHub ครับ ซึ่งมีให้ดาวน์โหลดทั้ง Windows, Linux และ OSX วิธีการใช้งานคุณสามารถใช้คู่กับ FTDI หรือบอร์ด Arduino ก็ได้

ผมใช้บอร์ด Arduino ละกัน เมื่อได้ IDE มาแล้วให้เปิดตัวอย่าง WebServer ขึ้นมา

Continue reading