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

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

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

มาเล่น 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 มาเล่น NETPIE REST API กับ Freeboard กัน

มาเล่น 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 มาเล่น LinkIt Smart 7688 กัน

มาเล่น 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 มาเล่น ESPresso Lite กัน

มาเล่น 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 มาเล่น HAP-NodeJS สำหรับ HomeKit Accessory กัน

มาใช้งาน ESPert Arduino Library กับ NodeMCU Devkit v1 กัน

สำหรับท่านที่ใช้งาน ESPresso Lite คงจะคุ้ยเคยกับบริการของค่าย ESPert และคงได้ใช้ ESPert Arduino Library กันไปบ้าง ตัว Library นอกจากจะใช้งานกับ Board ใน Series ESPresso แล้ว ยังสามารถเอามาใช้งานกับ Wifi Dev Kit ที่ใช้ ESP8266 ได้ แนะนำให้ใช้กับ ESP-12E+ ขึ้นไป อย่างเช่น NodeMCU Dev Kit v1 ได้ ทำให้เราสามารถใช้ความสามารถของ Library ที่มีอยู่ได้เลย ทั้ง SmartConfig, AP Mode,เรียกใช้งาน OLED และ DHT22 แบบง่ายมากๆ และการเชื่อมต่อกับบริการของ ESPert อย่างเช่น MQTT Service ได้

หากมาดู pin layout ของ ESPresso Lite เปรียบเทียบกับ NodeMCU DevKit v1 จะพบว่า

  • pin D0 หรือ GPIO 16 ต่อ LED เดียวกันกับ NodeMCU Dev Kit v1
  • pin D1, D2 คือ SCL และ SDA เอาไว้ต่อกับจอ OLED
  • pin D4 ต่อกับ USER Button
  • pin D6 ต่อกับ DHT22

Continue reading มาใช้งาน ESPert Arduino Library กับ NodeMCU Devkit v1 กัน

มาทำ Smart Home ด้วย HomA กัน

HomA เป็น framework สำหรับสร้าง Smart Home รองรับการเชื่อมต่อกับอุปกรณ์ Internet of Things ได้อย่างง่ายๆ HomA ใช้ MQTT Protocol ในการสื่อสารและการเก็บข้อมูล การเชื่อมต่อของอุปกรณ์ IoT ต่างๆ ใน HomA เราจะเรียกว่า Components จะเชื่อมต่ออ่านเขียนข้อมูลกับ MQTT Broker ซึ่ง Components ไม่ได้หมายถึงตัวอุปกรณ์เพียงอย่างเดียว แต่รวมไปถึงบริการต่างๆ ด้วย เช่น Weather Service, Google Calendar เป็นต้น HomA มีตัวอย่างการติดตั้ง Components ต่างๆ ไว้หลายตัว เช่น Ambilight, Calendar, Logger, CSM, Rules, Sockets เป็นต้น สำหรับการควบคุม Components ต่างๆ สามารถสั่งงานผ่าน Mobile App ชื่อ HomA ได้เลย
มาลองเล่น HomA กัน เริ่มจากติดตั้ง HomA service กันก่อนดังนี้
export HOMA_BASEDIR=/opt/homa
git clone https://github.com/binarybucks/homA.git $HOMA_BASEDIR
cd $HOMA_BASEDIR
ติดตั้ง submodule
git submodule init
git submodule update
Continue reading มาทำ Smart Home ด้วย HomA กัน

มาเล่น NETPIE กัน

NETPIE เป็น Platform as a Service บริการการเชื่อมต่อข้อมูลและแลกเปลี่ยนข้อมูลระหว่างอุปกรณ์ต่างๆ ได้ เหมาะสำหรับ Internet of Things ซึ่งรูปแบบการใช้งานจะเหมือนกับ MQTT พ่วงความสามารถด้าน Authentication และ Token เพิ่มความปลอดภัยในการสื่อสาร เราสามารถเชื่อมต่อกับ NETPIE ได้หลายช่องทาง ทั้งอุปกรณ์ IoT อย่าง Arduino, Raspberry Pi, ESP8266 Dev Kit, HTML5 หรือแม้กระทั่ง Node.js Application ดังนั้นหากคุณใช้ ESP8266 Dev Kit ของค่ายใดอยู่ก็ตามสามารถใช้งานได้เลย ดู Library ของอุปกรณ์ต่างๆ ได้ที่หน้าโครงการใน GitHub NETPIE ให้บริการโดยศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (NECTEC)

มาลองเล่นกัน การใช้งาน NETPIE ก็ง่ายมากๆ

  • สมัครสมาชิก
  • เพิ่ม Application ลงใน Key Management
  • เขียนโค้ดลงในอุปกรณ์

Continue reading มาเล่น NETPIE กัน