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

เนื่องจากมีคนถามมาเรื่อง Ultrasonic Sensor กับ NodeMCU Dev Kit ว่าใช้งานได้หรือไม่ ก็เลยไปหา Ultrasonic Sensor HC-SR04 มาทดลองเล่นดู การต่อกับ NodeMCU Dev Kit เราจะจ่ายไฟเข้า USB Port แล้วใช้ Vin และ GND จ่ายไฟให้ตัว Ultrasonic Sensor ดังภาพ

เขียนโค้ดพร้อม Upload Sketch ไปยัง Dev Kit

Continue reading

Rancher Compose เป็น Orchestration Tool คล้ายกับ Docker Compose แต่การทำงานจะเป็นการเชื่อมต่อกับ Racher ไม่ได้เชื่อมต่อกับ Swarm ดังนั้นการใช้งาน Rancher Compose จะต้องใช้คู่กับ Rancher ด้วย Rancher Compose จะใช้ไฟล์ config อยู่ 2 ไฟล์คือ docker-compose.yml สำหรับกำหนด stack ที่ต้องการ deploy และ rancher-compose.yml สำหรับกำหนดค่า Load Balance หรือการ Scale หากใช้ไฟล์ docker-compose.yml อย่างเดียว Rancher จะไปสร้าง config rancher-compose ให้ พร้อมกำหนดจำนวน Scale เท่ากับ 1 ไว้ ดังนั้นในแต่ละ Service สามารถสั่ง Scale ได้โดยอัตโนมัติ

ตัวอย่าง Jenkins CI จะเห็นภาพมากที่สุด เพราะโครงสร้างของ Jenkins ออกแบบมาให้ Scale ในส่วน Jenkins Slave ได้เรื่อยๆ ดังนั้นหากมีการเพิ่ม Host ของ Jenkins Slave เมื่อ Container เริ่มทำงานจะต้อง Link กลับมาที่ Jinkins Master เพื่อ config slave เพิ่ม เราจะใช้ image ชื่อ ibuildthecloud/jenkins-swarm และ ibuildthecloud/jenkins-swarm-slave กัน Rancher Compose สามารถใช้งานได้บน UI, API และ CLI ครั้งนี้มาลองใช้ CLI กันบ้าง ให้ดาวน์โหลด Rancher Compose CLI มาจากหน้า Stack และติดตั้งให้เรียบร้อย

Continue reading

ครั้งที่แล้วพาเล่น Load Balance บน Rancher แบบง่ายๆ ไปแล้ว ครั้งนี้ก็เลยมายกตัวอย่าง HA WordPress กันบ้าง WordPress เป็น CMS เก็บข้อมูลบน Storage 2 ส่วน คือ บน MySQL และบน File System หากต้องการทำ HA สำหรับ WordPress จะต้องกระจายโหลดจาก Load Balance ไปยัง WordPress และการเก็บข้อมูลจะต้องเก็บข้อมูลบน Storage เดียวกันโดยใช้ Distributed Storage เข้ามาช่วย และใช้ MySQL Cluster สำหรับเก็บข้อมูลด้วย เครื่องมือที่ใช้ได้แก่ Gluster,
Percona XtraDB Cluster และ WordPress มาลงมือกันเลย ให้คุณเพิ่ม Docker Host เข้าไปใน Rancher 3 Host ดังนี้


Continue reading

Load Balance Service เป็นบริการที่มีใน Rancher คุณสามารถสร้าง Web Application พร้อม Load Balance ได้ง่าย โดยไม่ต้องตั้งค่าให้ยุ่งยาก ไม่ต้องใช้ plugin เสริม ไม่ต้องติดตั้งอะไรเพิ่มเติม Load Balance Service มีให้ใช้งานในส่วน Stack มาลองสร้าง Load Balance ให้ Web Application เล็กๆ กันครับ อันดับแรกให้คุณเพิ่ม Docker Host เข้ามาใน Rancher ดังนี้

จากนั้นสร้าง App Stack ขึ้นมาใหม่

Continue reading