[TH] Ticker Class : esp8266 Timer interrupt

บทความนี้กล่าวถึงการใช้ Ticker กับไมโครคอนโทรลเลอร์ ESP8266 เพื่อสร้างการขัดจังหวะจากสัญญาณนาฬิกา แทนการหน่วงเวลาด้วย delay() ทำให้ระยะเวลาที่ต้องเสียจากการวนรอบด้วย delay() ถูกใช้ไปทำอย่างอื่น และสร้างประสิทธิภาพต่อซอฟต์แวร์ที่พัฒนา

[TH] u8g2 Library

จากบทความการใช้ ESP8266 กับจอแสดงผลกราฟิกแบบ OLED ซึ่งเขียนด้วยภาษาไพธอนจะพบว่าการทำงานนั้นสะดวกรวดเร็วในระดับดี แต่เมื่อต้องใช้กับไมโครคอนโทรลเลอร์ตัวอื่นที่ไม่สามารถใช้ Micropython หรือ CircuitPython ได้นั้นจะต้องทำอย่างไร ซึ่งหนึ่งในหลายทางเลือกคือไลบรารี u8glib หรือ u8g2 (Universal 8 bit Graphics Library) ที่ออกแบบมาเพื่อทำงานกับกราฟิกแบบ 8 บิตแบบโมโนโครมทั้งผ่านการสื่อสารแบบ I2C หรือ SPI โดยบทความนี้ใช้อุปกรณ์ต่อเชื่อมกันดังภาพที่ 1 ด้วยการใช้ OLED แบบ I2C

ภาพที่ 1 การเชื่อมต่อ STM32F401CCU6 กับ OLED แบบ I2C

[TH] ESP Class

บทความนี้เป็นการเข้าไปดูรายละเอียดของไฟล์ ESP.h ของ esp8266 Arduino เพื่อศึกษาหน้าที่ฟังก์ชันต่าง ๆ ซึ่งมีประโยชน์มากต่อการเขียนโปรแกรมเพื่อควบคุมการทำงานของไมโครคอนโทรลเลอร์ตัวนี้ เช่น การทราบจำนวนหน่วยความจำที่เหลืออยู่ หรือขนาดหน่วยความจำใหญ่ที่สุดที่สามรถจองได้ ซึ่งใช้ในการกรณีที่ต้องการเขียนโปรแกรมที่ใช้หน่วยความจำแบบพลวัติ (Dynamic) เพื่อเก็บรายชื่อ AP ที่พบทั้งหมด เป็นต้น โดยการผู้เขียนโปรแกรมสามารถใช้คลาสนี้ได้โดยตรงจากวัตถุ ESP

[TH] ESP8266 WebServer

บทความนี้เป็นการทดลองทำให้ไมโครคอนโทรลเลอร์ esp8266 เป็นเครื่องให้บริการเว็บเพื่อแสดงผลค่าอุณหภูมิและความชื้นจากเซ็นเซอร์ DHT11 โดยใช้ไลบรารีของ Adafruit ดังภาพที่ 1 และเมื่อกำหนดให้ไมโครคอรโทรลเลอร์ทำงานในโหมด SoftAP เพื่อให้ลูกข่ายหรือผู้ใช้เชื่อมต่อ WiFi เข้ามาหลังจากนั้นใช้ Browser เข้าไปยัง IP หมายเลข 192.168.4.1 ซึ่งเป็นหมายเลขของ esp8266

ภาพที่ 1 ตัวอย่างการการต่ออุปกรณ์สำหรับบทความ

[TH] ESP-01s + Relay

บทความนี้เป็นการประยุกต์ใช้โมดูล ESP-01s เชื่อมต่อกับโมดูล ESP-01/01s Relay v4.0 ดังภาพที่ 1 เพื่อสั่งงานให้รีเลย์ทำงาน โดยตัวอย่างโปรแกรมเป็นการเปิดและปิดรีเลย์ผ่านทางเว็บบราวเซอร์ซึ่งได้กล่าวถึงไปบ้างแล้วในบทความ WebServer แต่เพิ่มเติมคือเรื่องการดัก URL สำหรับนำมาเป็นอาร์กิวเมนต์ของการทำงาน

ภาพที่ 1 ตัวอย่างการทดลองในบทความ ESP-01s + Relay

[TH] ESP-01s

บทความนี้แนะนำโมดูล esp8266 ชื่อ ESP-01s ที่มีขาให้เชื่อมต่อ 8 ขา โดยอธิบายหน้าที่ของแต่ละขา การขยายวงจรเพื่อโปรแกรมชิพ (ตัวอย่างดังภาพที่ 1) การทำให้ชิพทำงาน และรวมถึงตัวอย่างการเขียนโปรแกรมเพื่อใช้งานโมดูลนี้ด้วย Arduino เพื่อให้เห็นภาพรวมในการพัฒนระบบซึ่งเป็นระบบที่ราคาน่ารักน่าสนใจระบบหนึ่ง

ภาพที่ 1 บอร์ดโปรแกรมชิพ ESP8266 ที่ใช้กับโมดูล ESP-01/ESP-01s

[TH] Arduino : ESP8266 GPIO

ในบทความนี้เป็นการเรียนรู้เรื่องของ GPIO (General Purpose I/O) หรือขาเชื่อมต่อกับอุปกรณ์ภายนอกของไมโครคอนโทรลเลอร์ด้วยภาษา C++ ของ Arduino โดยใช้ esp8266 เป็นชิพอ้างอิง ซึ่งสามารถนำไปประยุกต์ใช้กับ Arduino Uno, Arduino Mega หรือ STM32 ได้เช่นกัน ภายใต้บทความนี้อธิบายเรื่องของการกำหนดหน้าที่ของขา การนำสัญญาณออก และการนำสัญญาณเข้า

ภาพที่ 1 WeMos D1 กับ GPIO ที่ทำหน้าที่ต่าง ๆ

[TH] ESP8266WiFi

บทความนี้เป็นการเรียบเรียงข้อมูลที่เกี่ยวของกับคลาส ESP8266WiFi ซึ่งทำหน้าที่ด้านระบบ WiFi ของไมโครคอนโทรลเลอร์ ESP8266 โดยคลาสดังกล่าวนี้สามารถเข้าถึงผ่านทางวัตถุชื่อ WiFi ที่เป็นวัตถุที่ถถูกสร้างขึ้นสำหรับเข้าถึงโมดูลไร้สายของชิพ และต้องนำเข้าไฟล์ส่วนหัวชื่อ ESP8266WiFi.h

[TH] WiFiServer

หลังจากได้ศึกษาเรื่องของ ESP8266WiFi เพื่อควบคุมการทำงานของไมโครคอนโทรลเลอร์ให้เชื่อมต่อกับเครือข่ายไร้สายในแบบ STA และ SoftAP ไปแล้ว หลังจากนั้นได้เรียนรู้การใช้ WiFiClient เพื่อใช้ esp8266 เป็นโหนดลูกข่าย ในครั้งนี้เป็นเรื่องของ WiFiServer เพื่อให้ esp8266 ทำหน้าที่เป็นโหนดให้บริการหรือ Server โดยตัวอย่างในบทความนี้เป็นการสร้างระบบเครือข่ายภายในโดยใช้ esp8266 จำนวน 3 ตัวเพื่อทำหน้าที่เป็น SoftAP, Server และ Client ดังภาพที่ 1

[TH] WiFiClient

หลังจากได้กล่าวถึงคลาส ESP8266WiFi ไปในบทความก่อนหน้านี้ ครั้งนี้มาเรียนรู้เกี่ยวกับการใช้คลาส WiFiClient เพื่อเขียนโปรแกรมในฝั่งลูกข่ายที่เชื่อมโยงไปยังเครื่องให้บริการหรือ Server