เมื่อครั้งที่แล้วพาเล่น OpenShift Hub ซึ่งคุณสามารถสั่ง Lauch Application จากหน้าเว็บของ OpenShift Hub ได้เลย ซึ่งใช้ควมสามารถของ Web-Based App Creation Workflow URL อารมณ์เดียวกับ AWS Marketplace ที่เรากดแล้วได้ Application มาใช้งานได้เลย มีนักพัฒนาเว็บสร้างปุ่ม Launch Service สำหรับ Application ต่างๆ เอาไว้ทดสอบโดยที่ไม่จำเป็นต้องใส่ลง OpenShift Hub

เมื่อกรอกรายละเอียด Cartridge, Git Repository ของ Application ที่ต้องการ Deploy เราจะได้ Code HTML กับ Markdown เอาไปแปะหน้าเว็บได้ :)

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

OpenWeatherMap เป็นเว็บให้ข้อมูลสภาพอากาศ ข้อมูลการพยากรณ์อากาศทั่วโลก ข้อมูลสภาพอากาศย้อนหลัง แผนที่อากาศ ฯลฯ การใช้ง่ายมากๆ เพียงแค่ใส่ชื่อเมืองและประเทศลงไปเท่านั้นก็ได้ข้อมูลสภาพอากาศมาแล้ว นอกจากจะให้ข้อมูลสภาพอากาศแล้ว OpenWeatherMap ยังเปิดข้อมูลให้เรียกใช้งานผ่าน API ได้ด้วย สำหรับค่าใช้จ่ายมีทั้งแบบฟรีและจ่ายเงินแบ่งเป็น Plan ต่างๆ ขึ้นอยู่กับจำนวนการใช้งานและจำนวนข้อมูลที่ต้องการใช้งาน

สำหรับการใช้งาน API มีให้เรียกใช้หลายแบบ เช่น ข้อมูลตามสถานีตรวจอากาศ, ข้อมูลตามเมืองและประเทศ เป็นต้น สำหรับผู้ใช้ทั่วไปอย่างเราก็เรียกใช้ฟรีละกัน เข้าไปที่หน้า API เราจะพบว่า มี service หลายตัวให้เรียก มาลอง service ง่ายๆ อย่างเช่นข้อมูลตามเมืองและประเทศกัน วิธีการก็ง่ายมาก เรียก URL ดังนี้

api.openweathermap.org/data/2.5/weather?q={city name}

api.openweathermap.org/data/2.5/weather?q={city name},{country code}


Continue reading

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

หลังจากที่ค้นจาก Google ไปพักใหญ่ ก็ได้เครื่องมือเหมือนกับ LCD Assistant แต่เป็นบริการแบบออนไลน์ สามารถเลือกไฟล์จากเครื่องของเราแล้วสั่งแปลงได้เลย เครื่องมือชื่อ Image to Byte array ลองกดเข้าไปดู

Continue reading

หลังจากที่ NodeMCU เปิดตัวไปเมื่อปีที่แล้วก็ประสบความสำเร็จอย่างมาก ทั้ง Firmware ของ NodeMCU และ NodeMCU DevKit ปีนี้ก็มี DevKit รุ่นใหม่ออกมาเป็น NodeMCU DevKit v1.0 ตัวเก่าเป็นรุ่น 0.9 นะครับ บางคนเรียก DevKit ตัวใหม่ว่า V2 ก็ไม่ต้องตกใจ อีกอย่างจะได้ไม่สับสนด้วย DevKit ตัวนี้ได้มาจากพี่ช้างแห่ง Ayarafun ครับใครสนใจก็ติดต่อไปได้ครับ มาดูหน้าตากันก่อน


Continue reading

จำได้ว่าเคยเขียนเรื่องนี้ไว้เมื่อนานมาแล้ว มีคนถามเรื่องนี้อีกครั้งก็เลยมาเขียน How-To ไว้สักหน่อย ปัญหาเดิมจากครั้งที่แล้ว เราต้องการเว็บไซต์หลายๆ เว็บโดยใช้ Drupal ตัวเดียว ซึ่ง Drupal เองก็รองรับการทำ Multi Site อยู่แล้ว ยกตัวอย่าง ต้องการสร้างเว็บโดยใช้ Drupal Multi Site

  • www.fffee.org
  • site1.fffee.org
  • site2.fffee.org

วิธีการง่ายๆ ให้คุณตั้งค่า domain www.fffee.org, site1.fffee.org และ site2.fffee.org ชี้ไปยังเครื่องเดียวกัน เพราะเราจะใช้ค่า ServerAlias สำหรับ virtualhost เข้าช่วย มาติดตั้งสิ่งที่จำเป็นแบบเร็วๆ กันก่อน


Continue reading

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

เมื่อวานได้ลองเล่น 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