มาเล่น Android Things กัน

หลังจาก Brillo เปิดตัวไปเมื่อปีที่แล้ว และหายไปนานมากกกกก ล่าสุด Google ปัดฝุ่นเอา Android มาใช้กับงาน IoT ใช้ชื่อว่า Android Things โดยโครงสร้างของระบบปฏิบัติการจะเป็น Android ขนาดเล็ก สามารถเขียน App เชื่อมต่อกับ Hardware ได้

หน้าตา Android Things SDK

ช่วงนี้ยังอยู่ใน Developer Preview และ DevKit ที่รองรับยังมีแค่ Intel Edison, NXP Pico i.MX6UL และ Raspberry Pi 3 น่าจะมีอุปกรณ์รองรับมากขึ้นเรื่อยๆ (ทิ้งท้ายไว้เหมือน Brillo เลยจะรอดมั๊ย)
Continue reading

มาเล่น Sonoff smart switch กับ NETPIE กัน

ครั้งที่แล้วลอง flash firmware ใหม่ลงใน Sonoff smart switch เพื่อใช้งาน MQTT กันไปแล้ว ในครั้งนี้มาลองเล่นกับ NETPIE.io กันดูบ้าง NETPIE เป็นบริการ IoT Platform พัฒนาโดย NECTEC แนะนำให้ไปใช้กันครับ :) ครั้งนี้เราจะเรียกใช้งาน WifiManager เพื่อช่วยเรื่องการเชื่อมต่อ Wifi และการ Config AP ผ่าน Web Browser กันแบบง่ายๆ

การใช้งานก็ง่ายมากๆ เสียบสายไฟแล้วกดปุ่มค้างไว้ รอไฟกระพริบถี่ๆ จะเข้า mode setting เกาะ AP ชื่อ ESPXXXX จะเข้าสู่หน้าตั้งค่า AP ดังนี้

เลือก AP ที่ต้องการใช้งาน เท่านี้ก็ใช้ได้แล้ว โค้ดเขียนมาลวกๆ สั่ง subscribe ไปยัง /switch/01 เพื่อรอคำสั่ง
Continue reading

มา flash firmware ใหม่ให้ Sonoff smart switch กัน

เนื่องจากไม่ค่อยมีเวลาเล่นอุปกรณ์ IoT ส่วนใหญ่จะดองอยู่ในโหล วันนี้ได้โอกาสเลยมาแกะกล่อง smart switch เล่นกัน smart switch เป็น IoT switch ใช้ ESP8266 เป็นตัวประมวลผลและเป็น Wifi module โดยปกติการใช้งานจะใช้งานผ่าน Mobile Application ของ Sonoff แต่ครั้งนี้เราจะมา flash firmware ใหม่ให้ switch IoT ตัวนี้ให้ทำงานร่วมกับ MQTT Broker กัน :)

แกะกล่องออกมาเราจะเจอ board ประมาณนี้ (แอบต่อ pin header ไว้แล้ว) สำหรับรุ่นใหม่ๆ จะมี 5 pin แต่รุ่นเก่าจะมี 4 pin

Continue reading

เก็บตกอบรม Cyber Security กับ ACIS

ผมได้มีโอกาสไปอบรม Cyber Security กับ ACIS ซึ่งเป็นโครงการอบรมต่อเนื่องจากงาน CDIC 2016 ผมสมัครอบรมในหัวข้อ Internet of Things Penetration Testing และ Client-side Attack เนื่องจากกันลืมและอาจจจะเป็นประโยชน์ก็เลยมา blog ไว้สักหน่อย


Continue reading

มาเล่น Node32s กัน

วันนี้ได้ Node32s ส่งตรงจาก Gravitech Thai สั่งซื้อแบบ pre-order ไว้ ช่วงเดือนพฤศจิกายนจนลืมไปแล้ว วันนี้พัสดุมาส่งก็เลยมา blog ไว้สักหน่อย Node32s เป็น development board จาก Ayarafun และ LamLoei ผลิตโดย Gravitech Thai มาดูบอร์ดกันสักหน่อย

ตัวบอร์ดมาพร้อม USB to TTL ใช้ชิป FTDI มีพอร์ท JST สำหรับต่อแบตเตอรี่และสามารถชาร์ตแบตเตอรี่ได้ด้วย สำหรับชิปเป็น ESP32s แบบ module มี PTC Fuse ขนาด 500mA ด้วย :) ด้านหลังมี label บอกตำแหน่ง pin ต่างๆ

สำหรับการเขียนโปรแกรมสามารถใช้ ESP-IDF หรือ Arduino Core ก็ได้ตามความถนัด หรือท่านที่ชอบใช้ Platform.io ก็สามารถใช้งานได้เช่นกัน สำหรับ pin layout เป็นแบบนี้ครับ

ฝากไว้หน่อย คู่มือการใช้งานและการเขียนโปรแกรมบน Node32s ครับ

มาเล่น Nano32 กัน

Nano32 เป็น Development Board ที่ใช้ชิป ESP32 ตัว Dev Kit พัฒนาโดย MakerAsia และ GravitechThai ตัวบอร์ดมาพร้อมกับ FTDI เสียบสาย usb ปุ๊บใช้งานได้เลย ความสามารถของชิป ESP32 ที่หลายคนรอคอยคือสามารถใช้งาน Wifi และ Bluetooth ได้ แถมประหยัดพลังงานด้วย สำหรับการเชื่อมต่อก็มี GPIO มาให้ใช้งานเยอะมาก มี SPI, SDIO, I2C, UART มาพร้อม รายละเอียดดูได้ที่เว็บ Espressif ครับ

สำหรับการเขียนโปรแกรมบน ESP32 นี้จะใช้ ESP IDF (Espressif IoT Development Framework) ช่วงแรกนี้อาจจะโหดสักหน่อยเพราะมีการเปลี่ยนแปลงแยะมาก สำหรับท่านที่เขียน C++ บน RTOS มาก่อนคงไม่ค่อยรู้สึกแตกต่างมากนัก สำหรับท่านที่เริ่มใหม่ก็ต้องสร้างกำลังใจเรียนรู้ใหม่กันเลยครับ

การติดตั้ง toolchain สำหรับ ESP32 มีหลายวิธี แต่วิธีที่ง่ายที่สุดคงเป็นติดตั้งและใช้งานบน Linux มีคนทำ toolchain บน Docker ด้วยน่าสนใจดีครับ สำหรับท่านที่ใช้ Mac OS แบบผมก็สามารถติดตั้ง toolchain มาเล่นบน Mac ได้เหมือนกัน ลองอ่านวิธีการได้ที่ Wiki ของ ESP IDF อ้อเกือบลืมท่านที่ใช้ Brew อย่าลืมติดตั้ง package เพิ่มเติมดังนี้

brew install gnu-sed gawk binutils homebrew/dupes/gperf grep gettext ncurses pkgconfig

ตั้งค่า PATH ดังนี้

สำหรับการพัฒนาก็ง่ายมาก สามารถศึกษาได้จากตัวอย่างใน git repository โครงการ ESP-IDF ได้ การสร้างโปรเจคใหม่ทาง Esspressif มี template ใช้งานเช่นกัน

เพิ่มเติมทาง Chiang Mai Maker Club มี Tutorial การติดตั้ง Toolchain และ ESP-IDF สำหรับ Windows, Mac, Ubuntu และ Docker ลองไปศึกษาเพิ่มเติมได้ครับ

สำหรับวิธีการ Build ก็ง่ายมาก Makefile มีเครื่องมือมาให้ใช้งานพร้อมแล้ว ผ่าน make tool เช่น

  • การ build ใช้คำสั่ง make
  • การตั้งค่า sdkconfig ผ่านคำสั่ง make menuconfig (อารมณ์เดียวกับ build kernel เลย)
  • การ flash ก็เพียงแค่สั่ง make flash

อัพเดทเพิ่มเติมสำหรับท่านที่อยากใช้ Arduino IDE สามารถติดตั้ง ESP32 บน Arduino IDE และเขียนโค้ดแบบ Arduino ได้แล้ว ดูวิธีการติดตั้ง ESP32 สำหรับ Arduino Core จาก Chiang Mai Maker Club ได้ ปล. Arduino Core วิ่งได้แค่ Core เดียวนะครับ

มาเล่น NETPIE REST API กับ Freeboard กัน

วันนี้ได้ความรู้ใหม่จากคุณ Teerawut Jitpromma เรื่อง NETPIE REST API รู้สึกแปลกใจอยู่นิดหน่อยว่ามี REST API ตั้งแต่ตอนไหน การที่ NETPIE มี REST API ทำให้รู้สึกตื่นเต้นมากครับ เพราะเราสามารถเอาอะไรไปเชื่อมต่อ ก็ได้ตามที่เราต้องการ เช่น Mobile App, Data Aggregator, Node-RED, Freeboard.io เป็นต้น ก็เลยได้มาลองเล่น NETPIE REST API ดูบ้าง มีคำแนะนำใน GitHub เรื่อง REST API อยู่นะครับ เอาเป็นว่าจะอธิบายง่ายๆ ละกัน

ตัว NETPIE เปิด API ให้เราสามารถสั่ง publish, subscribe ผ่านทาง REST API ได้ โดยใช้ URL ชื่อ https://api.netpie.io เป็น service endpoint จะทำอะไรก็ตามกับ resources เช่น publish, subscribe จะต้องทำ authentication เพื่อยืนยันตัวตน ก่อนใช้งานทุกครั้ง ซึ่งตอนนี้มี 2 วิธี
Continue reading

มาเล่น LinkIt Smart 7688 กัน

ช่วงนี้มีของเล่นมาใหม่เยอะพอสมควร MediaTek Lab กับ SeedStudio ออก Wifi Development Board มาหลายตัว หลายรุ่นโดยเฉพาะ LinkIt ก็มีอยู่หลายตัวที่น่าสนใจ เช่น LinkItSmart, LinkItOne เป็นต้น ครั้งนี้เรามาลองเล่น LinkIt Smart 7688 กันก่อน ในรุ่นนี้มี 2 แบบนะครับ คือ LinkIt Smart 7688 และ LinkIt Smart 7688 Duo ซึ่ง 2 ตัวนี้จะคล้ายๆ กัน แตกต่างกันตรงที่รุ่น Duo จะมีชิป ATMEGA 32u4 ติดมาด้วย ทำให้เราสามารถเขียน Arduino ลงไปได้

สำหรับท่านที่อยากได้มาลองก็ไปซื้อได้ที่ร้าน Home of Maker หรือสั่งผ่านทางออนไลน์ได้ที่ GravitechThai และ Thai Easy Elec ครับ

Continue reading

มาเล่น ESPresso Lite กัน

ESPresso Lite เป็น WiFi Development Board จากค่าย ESPert ซึ่ง ESPresso (ESP8266 Module) เป็นโครงการที่เป็นความร่วมมือจาก 3 ประเทศ ไทยเป็นคนออกแบบ, ทำต้นแบบ, พัฒนาซอฟต์แวร์ และระบบคลาวด์, สิงคโปร์ทำด้านการตลาดและการจัดจำหน่าย, มาเลเซียทำการผลิต ESPresso Lite มาพร้อมกับ ESP-WROOM-02, LED, push button switch ช่องสำหรับเชื่อมต่อกับ module วัดอุณหภูมิและความชื้น DHT22, ช่องต่อจอ OLED, pin เชื่อมต่อกับ ESP-WROOM-02 และ pin เชื่อมต่อกับ USB2TTL เอาไว้สำหรับ flash โปรแกรม

Continue reading

มาเล่น HAP-NodeJS สำหรับ HomeKit Accessory กัน

เนื่องจากมีหลายท่านแนะนำ HomeKit ของ Apple ให้ลองเล่นกับ Siri ทั้ง Dearware และ Chiang Mai Maker Club (CMMC) ได้ทำเล่นกันไปสนุกสนานกันไปนานแล้ว ก็เลยมาเล่นบ้าง โครงการ HomeKit Bridge แบบนี้มีนักพัฒนาหลายคนพยายามแกะโปรโตคอล เพื่อสร้างอุปกรณ์หลอกๆ แล้วสั่งให้ Siri ทำงานได้ โดยไม่ต้องไปหาซื้ออุปกรณ์ที่รองรับ HomeKit มาใช้งานจริงๆ เช่น คุณอยากจะควบคุมหลอดไฟในบ้าน ก็ไม่ต้องไปซื้อ SmartBlub มาเปลี่ยนทั้งบ้าน อยากจะควบคุมปลั๊กไฟในบ้านก็ไม่ต้องเปลี่ยนเต้าเสียบทั้งบ้าน เป็นต้น

โดยปกติ HomeKit Accessory จะทำงานผ่าน Wifi หรือ Bluetooth หากสามารถสร้าง Accessory หลอก HomeKit ได้ ก็สามารถใช้ Siri สั่งงานได้ ซึ่งโครงการแบบนี้มีอยู่เยอะพอสมควร โดน Apple ปิดไปบ้างก็มี ครั้งนี้มาแนะนำ HAP-NodeJS เป็น HomeKit Accessory Server ดูจากชื่อใช้ Node.js ก็สามารถเอาไปติดตั้งที่ไหนก็ได้ PC, Router ที่ใช้ OpenWRT หรือ Raspberry Pi มาลงมือติดตั้งกันเลย เราจะใช้ Raspberry Pi เป็น Accessory Server กัน
Continue reading