สำหรับท่านที่ใช้งาน 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

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

เคย blog เรื่อง สั่งงาน Arduino ผ่าน Bluetooth ไปบ้างแล้ว จำได้ว่าใช้ตัวอย่างจาก ArduDroid ซึ่งน่าจะเข้าใจง่าย แต่ก็พบว่ามันไม่ง่ายเท่าไร T_T ก็เลยมาอัพเดทเพิ่มเติม Arduino มี Library ที่น่าสนใจอยู่ตัวนึงชื่อ SerialCommand Library นี้ทำหน้าที่เป็น Token Parser ให้ เรียกว่าไม่ได้เขียน Parse ข้อมูลเอง เพียงแค่กำหนดคำสั่งและให้ไปทำหน้าที่อะไรผ่าน call back ยกตัวอย่างเช่น สั่ง ON ให้เรียก function เปิดไฟ สั่ง OFF ให้เรียก function ปิดไฟ เป็นต้น นอกจากนี้ยังสามารถ parse argument ที่ต่อจากคำสั่งได้ด้วย มาลองเล่นกัน

ต่อ Bluetooth Module ให้เรียบร้อย แล้ว flash โค้ดตัวอย่างดังนี้

Continue reading

เนื่องจากเกิดอาการนึกสนุกทำ Arduino Robot ไปเมื่อปีที่แล้ว ปีนี้ได้มีโอกาสทำหุ่นยนต์แมง 4 ขาก็เลยได้ทำ App ใหม่อยู่ 2 ตัว คือ App Joystick และ App Joypad ที่ได้เขียน App Joystick ใหม่ก็เนื่องจากพยายามหา App Joystick ที่ตรงใจไม่ได้ อยากได้ฟังก์ชั่นการใช้งานเยอะๆ แต่ที่มีใน PlayStore ยังไม่ถูกใจมากนัก ก็เลยเขียน App มาเล่นเอง ซึ่ง App ทั้งสองตัวแตกต่างตามฟังก์ชั่นการใช้งาน ที่เขียนทั้ง 2 แบบ ก็เผื่อจะเอาไปใช้กับโครงการอื่นๆ ด้วย มาดู App Joystick กันก่อน

ที่อยากได้ App Joystick ตอนแรกว่าจะเอาไปคุมหุ่นยนต์ 4 ขา อยากได้การควบคุมหลายทิศทาง หลายฟังก์ชั่น ตั้งค่าปุ่มได้จะได้เอาไปใช้กับโครงการอื่นได้ ต่อกับ Video Streaming ได้ ฯลฯ คิดเยอะบวกกับความต้องการเยอะมากกกกก แต่เอาไปเล่นกับหุ่นยนต์ 4 ขา ไม่สนุกเลย เพราะฟังก์ชั่นหลายอย่างไม่ได้ใช้งาน ใช้อยู่ 4 ปุ่ม ตอนตั้งค่าปุ่มกดจนเมื่อยมือกว่าจะได้เล่น T_T ตอนเขียนก็อยากได้ Joystick แต่ไม่ได้นึกถึงตอนใช้งานเท่าไร ก็เลยเขียน App ใหม่เป็น Joypad แทน T_T

Continue reading

Let’s Encrypt เป็นโครงการออกใบรับรอง (Certification Authority – CA) ที่แจกใบรับรองฟรี หลังการตรวจสอบความเป็นเจ้าของโดเมนด้วยระบบอัตโนมัติ เปิดให้บริการให้กับบุคคลทั่วไปแล้ว วิธีการขอ Certificate และการติดตั้งก็ง่ายมากๆ เพราะมีเครื่องมือพร้อมให้ใช้งาน สำหรับท่านที่ใช้ web server ยอดนิยมอย่าง Apache, Nginx ก็สามารถติดตั้งอัตโนมัติและใช้งานได้เลย สำหรับ web server อื่นๆ จะต้องติดตั้งเอง

มาลองกันเลย สั่ง clone script จากหน้าโครงการใน github มาก่อน

git clone https://github.com/letsencrypt/letsencrypt

จากนั้นก็สั่งติดตั้งได้เลย ตัวอย่างใช้ Apache เป็น web server domain ชื่อ ssltest.sipa.or.th ถ้ามี domain อื่นอยู่ก็ใส่เพิ่มเข้าไปได้เลย

cd letsencrypt

./letsencrypt-auto --apache --renew-by-default --agree-tos --email anochit@gmail.com -d ssltest.sipa.or.th


Continue reading

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

Raspbian 8 ออกใหม่มีการเปลี่ยนแปลงตาม Debian 8 ซึ่งเป็น distro หลักการเปลี่ยนแปลงที่สำคัญคือ systemd ซึ่งเริ่มใช้งานในเวอร์ชั่นนี้ ก็เลยได้มาอัพเดทบทความเก่าๆ ให้ทันสมัยมากขึ้นสักหน่อย เริ่มจาก Stream Video บน Raspberry Pi ก่อน เราจะใช้เครื่องมือเดิมคือ mjpg streamer แต่การตั้งค่า service เราจะมาใช้ systemd กัน

ก่อนอื่นติดตั้ง mjpg streamer กันก่อนดังนี้

Continue reading

เนื่องจากซื้อ iBeacon มาเมื่อปีที่แล้ว แต่ตัวที่ได้มาเป็น HM11 Bluetooth Low Energy Module กับลังถ่านขนาด CR3023 สั่ง AT Command เพื่อตั้งค่าต่างๆ ได้ แต่ไม่มีปัญญาจะบัคกรีจุดเล็กๆ ได้ ก็เลยหย่อนใส่โหลเอาไว้ ไม่ได้ทำอะไร พอมีเวลาก็หยิบมาลองเล่นสักหน่อย เพราะ EddyStone ของ Google ออกมาแล้ว Beacon อันเก่า ยังไม่ได้เล่นเลย

เทคโนโลยีของ Beacon มีมานานมาก การประยุกต์ใช้ก็ทำได้หลายแบบ เช่น

  • แจ้งโปรโมชั่นสินค้า หากผู้ซื้ออยู่ในระยะของ Beacon
  • ใช้ทำ in-door navation บอกตำแหน่งที่อยู่ปัจจุบัน แสดงแผนที่ในโซนนั้นๆ
  • ใช้ทำ Tag สำหรับการค้นหาหรือบอกระยะทางของสิ่งที่เอาไปติด เช่น พวงกุญแจ, กระเป๋า, เข็มกลัดติดเสื้อเด็ก เป็นต้น

สำหรับการเขียนโค้ดสำหรับ Android นั้นสามารถใช้ไลบรารี BluetoothLE ได้ หรือจะใช้ไลบรารีของ 3rd Party ก็ได้เช่น AltBeacon เป็นต้น

Continue reading

Image Layers เป็นบริการของ CenturyLink ช่วยให้คุณสามารถดูโครงสร้างของ Docker Image ได้ง่ายๆ จาก Docker Hub หรือการอัพโหลด Image ขึ้นไปตรวจสอบ การแสดงผลจะอยู่ในรูปแบบของ Graph แสดงข้อมูล Image แต่ละ Layer ขนาดที่ใช้ในแต่ละ Layer ด้วย นอกจากนี้ยังแสดงคำสั่งต่างๆ ใน Dockerfile อีกด้วย วิธีการใช้งานก็ง่ายมากๆ เข้าไปที่เว็บไซต์ imagelayers.io

จากนั้นกำหนด Docker Image ที่ตรงการดู ตัวอย่างผมอยากดู Image ชื่อ ibuildthecloud/jenkins-swarm

Continue reading

CenturyLink Lab มีเครื่องมือหลายตัวที่ใช้งานร่วมกับ Docker ซึ่งก็มีเครื่องมือเล็กๆ ชื่อ Docker Image Graph ที่ทำหน้าที่อ่านโครงสร้างของ Docker Image แล้วแสดงผลออกมาเป็นภาพกราฟิก ทำให้เราเข้าใจถึงความสัมพันธ์และการขึ้นต่อกันของ Image แต่ละตัว ทำให้เข้าใจโครงสร้างของ Image นั้นๆ ได้ง่ายมากขึ้น

การใช้งานก็ง่ายมากเพียงแค่สั่งผ่าน Docker ดังนี้่

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock centurylink/image-graph > docker_images.png

เราจะได้ผลลัพท์เป็นไฟล์ภาพ docker_images.png ดังนี้



Continue reading