วันศุกร์ที่ 4 มีนาคม พ.ศ. 2559

ติดตั้ง Samba และ mDNS และ MPD, MPC เพื่อเล่นเพลงบน Raspberry Pi A+

การเชื่อมต่อผ่านเครือข่ายถือว่าเป็นสิ่งสำคัญสำหรับ Raspberry Pi หรืออุปกรณ์ที่ทำงานเกี่ยวกับ IoT ทั้งหลาย ซึ่งการเชื่อมต่อเข้ากับระบบเน็ตเวิร์คทุกครั้งจะต้องติดต่อผ่าน IP แต่การแจกจ่าย IP เป็นแบบ DHCP ทำให้เราไม่ทราบว่า IP ที่ได้นั้นเป็นอะไร หรือเปลี่ยนแปลงตลอดเวลา ดังนั้นหากจะให้ง่ายก็ต้องติดตั้ง DNS คือ ตัวแปลงชื่อให้เป็น IP

ใน Raspberry Pi จะมีระบบ mDNS ซึ่งทำให้อุปกรณ์นั้นสามารถกำหนดชื่อแล้วตามด้วย .local เพื่อให้ง่ายต่อการเข้าถึงเช่น

openelec.local/ หรือ volumio.local/

การเข้าถึงต้องใส่เครื่องหมาย / ต่อท้ายด้วย ไม่เช่นนั้นจะกลายเป็นการค้นหาในเว็บเบราเซอร์

เพิ่มรีโมทให้กับ Volumio

Volumio เป็นระบบเล่นไฟล์เสียงที่ทำให้ Raspberry Pi กลายเป็นเครื่องเล่น MP3 หลายคนอาจสงสัยว่า ทำไมถึงเล่นจาก RPi ทั้งๆ ที่เดี๋ยวนี้เราสามารถเล่นเพลงจากโทรศัพท์ หรือเครื่องเล่น MP3 มากมายในท้องตลาด และมีราคาที่ถูกแสนถูก โดยเฉพาะของจีนที่แพร่ตามท้องตลาดบางตัวราคาไม่ถึง 100 บาท

สำหรับนักฟังเพลงทั้งหลายคงเข้าใจเหตุผล หากบอกว่า เราสามารถ DIY (Do It by Yourselves) เพราะเราสามารถทำอะไรหลายๆ อย่างได้ด้วยตนเอง แต่ก็ไม่ง่าย และไม่ยากหากสนใจ

Volumio สามารถดาวน์โหลดได้ที่ https://volumio.org/ จะได้ไฟล์ .img วิธีการลงให้ดูจาก https://volumio.org/get-started หรือมีหลายเว็บลองค้นหาจาก google กันก่อนนะครับ

หลังจากที่ติดตั้งแล้ว บูตขึ้นมาแล้วให้เสียบสายแลนไว้เลย ให้ใช้โปรแกรม Putty เชื่อมต่อไปยัง Volumio โดยไม่ต้องสนใจ IP โดยเชื่อมไปที่ volumio.local

หน้าจอเมื่อเรียก volumio.local/

วันพุธที่ 2 มีนาคม พ.ศ. 2559

Raspberry Pi A+ ข้อจำกัดบนบอร์ดขนาดเล็ก

ขณะที่เขียนโปรแกรมโน่นๆ นี่ๆ อยู่ก็ต้องทดสอบอุปกรณ์ต่อพ่วงอื่นๆ อีก ครั้นจะดึงเข้าๆ ออกๆ ก็ทำให้เสียเวลา และโอกาสเกิดข้อผิดพลาดสูง (มีครั้งหนึ่งเคยต่อสาย OLED ผิด ขั้วบวกและลบกลับกันอย่างชัดเจน ทำให้ต้องเสียเงินซื้ออุปกรณ์ใหม่)

จึงคิดจะซื้อบอร์ดมาเพิ่มสักตัว เดิมจะซื้อ Raspberry Pi B เพิ่มสักตัว แต่ก็คิดอยากลองตัวเล็กบ้าง เห็นแล้วอยากได้น่ารักดี บอร์ดเล็กๆ แต่พอไปดูสเปคแล้วก็ตกใจเหมือนกัน เพราะแรมแค่ 256M แต่ในใจก็คิดว่าเอามาทดลองพวก I/O ต่างๆ แค่นั้นไม่ต้องเปลืองอะไรมากนัก

เมื่อได้มาแล้วก็ลองลง Volumio ทันที ก็ไม่รอด ดูเหมือนจะมี Error หลายอย่าง และไม่สามารถใช้งาน UART ได้ พยายามหลายครั้งก็แล้ว ดูเหมือนจะถูกปิดหลายๆ อย่าง

กลับมาถึงบ้านลองติดตั้ง NOOBS 1.7 ก็ติดตั้งไม่ได้มีข้อความแจ้งระบบไม่ซัพพอร์ท สุดท้ายเหลือบไปเห็นเวอร์ชัน 1.4 เลยลองลงดู... ผ่านไม่มี Error อะไรเลย

จากนั้นก็เช่นเดิม ต่อใช้งาน UART เพราะจะได้ไม่ต้องใช้ USB Hub ต่อคีย์บอร์ดหรือเมาส์ และ WiFi การต่อก็ไม่ยากอะไร เพียงแต่ต้องเข้าไปเปิดการใช้งานใน raspi-config ก่อน


วันอังคารที่ 1 มีนาคม พ.ศ. 2559

ทดลองเขียน python: อ่านค่าจากสวิทช์

ได้บอร์ด Raspberry Pi มานานหลายเดือนแล้ว เดิมทีจะเอาไปทำระบบ Digital Signage เลยซื้อไว้ 2 ตัว แต่พอจะทำจริง xibo ยกเลิกโปรแกรมบน Ubuntu ทำให้ฝันสลายและงานเข้า เพราะเหลือแต่ไคลเอนท์จาก Android และ Windows สุดท้ายเลยเลือกซื้อ Android Box ไปแทน (แพงกว่าหลายร้อยบาท)

แล้ว Raspberry Pi ก็นอนค้างอยู่ที่โต๊ะจนฝุ่นเกาะ จนล่าสุดเลยเอามาดูหนังฟังเพลง โดยลง OpenElec สำหรับดูหนังตัวหนึ่ง ลง Volumio สำหรับฟังเพลงเครื่องหนึ่ง

รวมๆ ก็ถือว่าใช้ได้ดี แต่บังเอิญอยากทำปุ่มควบคุม Volumio โดยไม่ต้องเปิดเครื่องคอมพิวเตอร์ สุดท้ายก็ลองเขียนโปรแกรมควบคุมผ่าน Python ก็พอเขียนได้แต่ยังไม่สามารถประยุกต์ใช้ได้อย่างเต็มประสิทธิภาพ คงต้องอาศัยประสบการณ์สักพัก

บทความนี้ไม่ได้กล่าวถึงการติดตั้ง python ต้องอ่านและทำตามวิธีการติดตั้งที่ เว็บนี้


ใช้ GPIO Extension Board เพื่อสะดวกต่อการเชื่อมต่ออุปกรณ์อื่นๆ


วันเสาร์ที่ 27 กุมภาพันธ์ พ.ศ. 2559

esp8266-12e ใช้งาน GPIO9

โมดูล ESP8266-12e เป็นโมดูลที่พัฒนามาจากรุ่น 12 โดยจะมีขาใช้งานเพิ่มขึ้นอีก 6 ขา และมี GPIO เพิ่มอีก 2 ขา คือ GPIO9 และ GPIO10 ตามหลักการสามารถนำมาใช้งานได้ แต่เท่าที่ลองแล้วพบว่า ผู้เขียนยังไม่สามารถนำเอาขา GPIO10 มาใช้งานได้เลย ซึ่งจะหาทางศึกษาการนำมาใช้งานต่อไป

ตัวอย่างการต่ออุปกรณ์เพื่อทดสอบใช้งานขา GPIO9 โดยบอร์ดจะใช้ไฟเลี้ยงจากข้างนอก


วันเสาร์ที่ 20 กุมภาพันธ์ พ.ศ. 2559

LinkIt Smart7688 เชื่อมต่อ Arduino Uno R3 ผ่าน Serial Port

โดยปกติแล้วการเชื่อมต่อของฮาร์ดแวร์ในโลกของ Micro Controller นั้นจะเชื่อมต่อผ่านพอร์ต Serial เป็นหลัก แม้แต่ปัจจุบันพอร์ต USB จะมาแทนที่ Serial Port แบบ DB9 แล้วก็ตาม แต่นั่นก็เป็นพอร์ต Serial อีกรูปแบบหนึ่งที่มีความเร็วการเชื่อมต่อสูงกว่าแบบเดิมๆ

การใช้งาน Arduino และคอนโทรเลอร์อื่นๆ นั้นผ่าน Serial Port ที่เป็น USB (Universal Serial Bus) แทบทั้งสิ้น โดยผ่านการแปลงแบบ TTL ปัจจุบันนี้มีหลากหลายผู้ผลิต ส่วนผู้เขียนก็ใช้หลายๆ ตัวแล้วแต่โอกาสจะอำนวย แต่หลักๆ ก็ใช้ CP210x และ CH340

ทดลองเชื่อมต่อ LinkIt Smart 7688 กับ Uno R3 ผ่านขาที่เป็น Serial 


วันศุกร์ที่ 19 กุมภาพันธ์ พ.ศ. 2559

LinkIt-Smart-7688 คอนโทรเลอร์ที่น่าสนใจในเวลานี้

หลังจากที่ได้รับโจทย์ด่วนมาเรื่องเครื่องสแกนลายนิ้วมือสำหรับสาขาหรือจุดที่มีคนใช้งานเพียงแค่ 1-2 คน ซึ่งเป็นสาขาย่อย หากจะติดตั้งเครื่องสแกนลายนิ้วมือตามท้องตลาดก็ดูเหมือนจะขี่่ช้างจับตั๊กแตนอย่างแน่นอน เพราะราคาอยู่ที่ 5 พันบาทขึ้นไป แต่เป็นรุ่นที่เก่าและจะหายไปจากตลาดในเร็ววัน

ถ้าเครื่องดีๆ หน่อยก็อยู่ที่ 8 พันบาทขึ้นไป และมักจะจบที่ 1x,xxx อย่างแน่นอน แต่ประเด็นไม่ได้อยู่ที่ราคาเพียงอย่างเดียว แต่อยู่ที่ข้อมูลรายการที่สแกนเข้าออก เพราะปัจจุบันข้อมูลต่างๆ ยังอยู่ในเครื่องรอให้ผู้ใช้งานเชื่อมต่อเข้าไปเพื่อดึงข้อมูลออกมาอีกครั้งหนึ่ง

ส่วนเครื่องสแกนที่ส่งข้อมูลแบบ Real Time หรือส่งข้อมูลทันทีนั้นมีเหมือนกันแต่ราคาก็สูงขึ้นไปอีก ทำให้เกิดแนวคิดที่จะแก้ไขปัญหา 2 ประการ คือ

Gtk4 ตอนที่ 6 Defining a Child object

Defining a Child object A Very Simple Editor ในบทความที่ผ่านมาเราสร้างโปรแกรมอ่านไฟล์ชนิดข้อความ และในบทความนี้ก็จะมาปรับแต่งโปรแกรมกันสักหน...