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

CMMC ให้แหล่งข้อมูลมาเพิ่มเติมอีกหน่อยดังนี้


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 เลือกบอร์ดเป็น ESP8266

Continue reading

เมื่ออาทิตย์ที่แล้วได้ของเล่นใหม่จาก Deaware มา 1 อันเป็น Wifi Dev Kit ชื่อ Photon จากค่าย Particle (หรือชื่อ Spark เดิมนั่นเอง) ผมซื้อต่อจาก Deaware มาในราคาไม่แพงเท่าไรเน้นสนุกไว้ก่อน

คุณสมบัติของ Photon ก็ประมาณนี้

  • เสียบ breadboard ได้
  • ใช้งานได้เหมือนกับ Spark Core
  • ผ่านการรับรองจาก FCC/CE/IC certified
  • ใช้สถาปัตยกรรม STM32F205 ARM Cortex M3
  • ใช้ Broadcom BCM43362 Wi-Fi chip
  • เป็น Open source hardware


Continue reading

ครั้งที่แล้วแนะนำ High Availability MQTT Cluster แบบ Back to Basic ไว้เนื่องจากจะได้เข้าใจว่าหลักการเป็นอย่างไร ได้ลองติดตั้ง Ponte ตั้งค่า HA Proxy ฯลฯ ครั้งนี้เราจะใช้ Docker Compose ในการสร้าง Container ในส่วน MQTT Broker, HAProxy และ MongoDB สั่งงานครั้งเดียวจบ ตัวอย่างนี้เหมาะสำหรับศึกษาเท่านั้น หากต้องการเอาไปใช้งานควรแยก data volume ของ mongodb ออกมาด้วยครับ

จากภาพเดิมเราจะใช้ Docker Compose สร้าง Container ทั้งหมดขึ้นมาซึ่งประกอบไปด้วย

  • HA Proxy
  • MQTT Broker 1
  • MQTT Broker 2
  • MongoDB


Continue reading

ครั้งที่แล้วพาเล่น MQTT Cluster กันไปบ้างแล้ว ครั้งนี้เรามาลองวิธีง่ายๆ โดยใช้บริการของ AWS กันบ้าง AWS เครื่องมือพร้อมสำหรับการทำ Load Balance และการทำ Auto Scaling มาให้ด้วย เพราะฉนั้นการทำ Horizontal Scaling จะทำได้ง่ายมากๆ เพียงแค่คลิกเท่านั้นเอง จากภาพเดิมเราจะ Scale MQTT Broker โดยใช้ Elastic Scaling ของ AWS กัน

เนื้อหาไม่รวม Authentication, Secure Connection สำหรับ Persistance Storage คุณอาจเลือกใช้ DynamoDB หรือ RDS ได้ หากต้องการใช้ MongoDB Cluster อ่าน Reference Guide เพิ่มเติมได้ที่ MongoDB บน AWS Cloud

ขั้นตอนมีดังนี้

  • สร้าง instance พร้อม private network 2 เครื่อง
  • ติดตั้ง MongoDB ไปยังเครื่องที่ 1 เพื่อใช้เป็น Persistent Storage
  • ติดตั้ง Ponte ไปยังเครื่องที่ 2 ตั้งค่าเก็บข้อมูลมายังเครื่องที่ 1
  • สร้าง Snapshot ของเครื่องที่ 2
  • สร้าง Scaling Groups กำหนดขนาดของและเงื่อนไขในการ Scale
  • สร้าง Load Balancer และเพิ่ม instance ที่ Scaling Groups สร้างมาให้
  • กำหนด Load Balancer ให้ Scaling Groups ใช้เป็น Elastic Scaling


Continue reading

เนื่องจากจำไม่ได้ว่าใครถามเรื่อง High Availability MQTT Cluster แต่ที่จำได้ผมบอกไปว่า Mosca + Haproxy น่าจะจบก็ไม่ได้ทำอะไรต่อเพราะน่าจะเข้าใจแล้ว แต่ก็คิดไปคิดมาก็เลยลองดูสักหน่อยว่าใช้ได้หรือเปล่า T_T จาก Blog ของ Lelylan อธิบายเรื่อง High Availability MQTT Cluster ไว้ได้ดีในเรื่องของการประยุกต์ใช้ Docker และ MQTT Broker ซึ่งถือว่าเป็น Micro Service ถ้าสนใจก็ลองไปอ่านได้ครับ

กลับมา Back to Basic เราจะไม่ใช้ Docker เพื่อให้เกิดความเข้าใจเรื่อง HA กับ MQTT Broker ในเบื้องต้นก่อนครั้งหน้า (ถ้าไม่ลืม) เราจะมาเล่น Docker Machine + Swarm + Compose ทำ High Availability MQTT Cluster กันอีกรอบ

Continue reading

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


Continue reading

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


Continue reading

ผมได้ 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

Sparkfun เปิดโครงการโอเพนซอร์ส data.sparkfun.com ชื่อ phant.io เป็นบริการจัดเก็บข้อมูลสำหรับอุปกรณ์ IoT เหมาะสำหรับท่านที่อยากมีระบบจัดเก็บข้อมูลอย่างง่าย phant.io ใช้ node.js เป็นหลักทำให้ง่ายต่อการ deploy และใช้งาน การส่งข้อมูลจาก IoT ไปยัง phant ใช้ HTTP Request ปกติ มาลองเล่นกัน

ติดตั้ง Node.js ให้เรียบร้อย จากนั้นสั่งติดตั้ง phant ดังนี้

sudo npm install -g phant

จากนั้นเรียก phant ขึ้นมาทำงานดังนี้

phant


Continue reading