แสดงบทความที่มีป้ายกำกับ Raspberry Pi แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Raspberry Pi แสดงบทความทั้งหมด

วันเสาร์ที่ 10 ธันวาคม พ.ศ. 2559

เพิ่ม IR Remote ให้กับ LibreElec โดยใช้ Remote TV

LibreElec เป็น Media Center อีกตัวหนึ่งที่ติดตั้งมาพร้อมกับ NOOBS โดยก่อนหน้านั้นจะเป็น OpenElec แต่ OpenElec ดูเหมือนจะหยุดพัฒนาไปนานเลยทีเดียว พอมีปลายปีนี้ทาง Raspberry Pi ก็ติดตั้ง LibreElec เข้าไปแทน โดยรวมก็คล้ายๆ กันโดยใช้แกนกลางเป็น Kodi

โดยปกติแล้วเราสามารถใช้รีโมททีวีในการดูหนังฟังเพลงได้เพราะใช้การสั่งงานผ่าน HDMI แต่ก็มีบางฟังค์ชันจะไม่มีในปุ่มรีโมททีวี เราต้องเพิ่มเข้าไปโดยใช้ IR Sensor ช่วยอีกทางหนึ่ง

กำหนดให้ใช้ IR Remote ได้


ให้เข้าไปแก้ไขในไฟล์ /flash/config.txt เพื่อให้เรียกโมดูล lircd ก่อน โดยมีวิธีการแก้ไขดังนี้

#mount -o remount, rw /flash
เพื่อกำหนดให้ /flash สามารถแก้ไขได้ จากนั้นเปิดไฟล์ config.txt ด้วยคำสั่ง nano และเพิ่มบรรทัดสุดท้าย:
dtoverlay=lirc-rpi
เสร็จแล้วกำหนดให้ /flash อ่านได้อย่างเดียวด้วยคำสั่ง
#mount -o remount, ro /flash
รีบูตเครื่องด้วยคำสั่ง reboot ครั้งหนึ่งก่อน แล้วเข้าไปกำหนดค่าปุ่มกด


กำหนดปุ่มกด


ขั้นแรกให้ปิดโปรแกรม lircd ที่เปิดอยู่ด้วยคำสั่ง
#killall lircd
ลำดับต่อมาให้บันทึกไฟล์ lircd.conf ไว้ใน /storage/.config/lircd.conf

#irrecord /storage/.config/lircd.conf
โปรแกรมจะมีข้อความให้อ่าน โดยรวมให้กดปุ่ม Enter สองครั้ง แล้วจะมีหน้าจอรอให้กดปุ่มใดๆ บนรีโมทเพื่อตรวจสอบความถี่และช่วงการกดปุ่ม โดยให้กดปุ่มค้างจะมีเครื่องหมาย . แสดงไปเรื่อยๆ จนหมดบรรทัด

ต่อมาจะมีข้อความขึ้นและรอให้กดปุ่มอีก ทีนี้ กดปุ่มแล้วก็ปล่อยไปเรื่อยๆ จนจะหมดบรรทัด

เมื่อกดปุ่มเสร็จแล้วจะได้ค่าความถี่และการกดปุ่มแล้ว จะมีหน้าจอให้ป้อนค่าของปุ่มกด เช่น KEY_LEFT, KEY_POWER, KEY_PLAY, KEY_STOP เมื่อพิมพ์เสร็จก็กดปุ่ม Enter ถ้าชื่อ Key ไม่ถูกต้องก็จะมีข้อความเตือน เมื่อพิมพ์ชื่อปุ่มถูกต้องแล้วหน้าจะจะมีข้อความให้กดปุ่มที่จะกำหนด

แล้วก็เริ่มให้พิมพ์ชื่อปุ่มกันใหม่ ถ้าไม่ต้องการเพิ่มแล้วก็กดปุ่ม Enter สองครั้ง รอสักครู่จะกลับไปที่หน้าจอคำสั่ง

ระบบจะสร้างไฟล์ lircd.conf ไว้ใน /storage/.config/ ถ้าต้องการเริ่มใหม่ก็ลบไฟล์ lircd.conf ทิ้งก่อนแล้วบันทึกใหม่ หรือจะสร้างชื่ออื่นแล้วคัดลอกปุ่มที่เพิ่มนั้นมาใส่ในไฟล์ lircd.conf ก็ได้เช่นกัน

รายชื่อ KEY ที่จำเป็น

      begin codes
          KEY_STOP                
          KEY_POWER             
          KEY_MENU               
          KEY_VOLUMEUP       
          KEY_VOLUMEDOWN 
          KEY_PLAY                
          KEY_PAUSE             
          KEY_LEFT                
          KEY_RIGHT              
          KEY_UP                  
          KEY_DOWN            
          KEY_OK                  
          KEY_EXIT                
          KEY_FORWARD       
          KEY_REWIND          
          KEY_MUTE              
          KEY_ENTER             

          KEY_1
          KEY_2
          KEY_3
          KEY_4
          KEY_5
          KEY_6
          KEY_7
          KEY_8
          KEY_9
          KEY_0
      end codes





mount -o remount,rw /flash

วันศุกร์ที่ 6 พฤษภาคม พ.ศ. 2559

ติดตั้งคีย์บอร์ดภาษาไทยและกำหนดให้สลับคีย์บอร์ด thai-english, Raspberry Pi และ Orange Pi

หลังจากติดตั้ง Raspberry Pi ให้สามารถใช้งานโปรแกรมต่างๆ ได้แล้ว ก็ถึงคิวติดตั้งคีย์บอร์ด ไทย-อังกฤษ เบื้องต้นให้เข้าไปติดตั้งที่ raspi-config ด้วยคำสั่ง

sudo raspi-config

จากนั้นให้เลือกคีย์บอร์ดเป็น en-us และ th-th ให้เลือกทั้ง TIS และ UTF (จริงๆ จะเลือกเฉพาะ UTF ก็ได้)

เมื่อเลือกแล้วระบบยังไม่สามารถสลับคีย์บอร์ด ไทย-อังกฤษ ได้ง่ายนัก จึงต้องเข้าไปกำหนดคำสั่งที่ Terminal ก่อนดังนี้

echo "setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,th" > ~/.xsessionrc
เมื่อกดปุ่ม Enter แล้วระบบจะสร้างไฟล์ชื่อ .xsessionrc ไว้ใน Home Directory ของ pi แต่เวลาเข้าไปดูจะมองไม่เห็นเพราะจะถูกซ่อนไฟล์ไว้ ต้องใช้คำสั่ง ls -a ถึงจะมองเห็น

จากนั้นให้รีบูตเครื่องก่อน ก็จะสามารถสลับคีย์บอร์ดได้โดยกดปุ่ม Alt+Shift

สำหรับ Orange Pi นั้นถ้าเป็น Debian ให้กำหนด dpkg-reconfigure locales แล้วเลือกเพิ่ม th.TH-UTF8  แค่นี้ก็ใช้ได้แล้ว




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

รายละเอียดการติดตั้ง PiTFT บน Raspi A+ เพื่อให้เป็นเครื่องสแกนลายนิ้วมือ

บันทึกนี้เขียนขึ้นเพื่อเก็บรายละเอียดเกี่ยวกับการติดตั้งโปรแกรม และระบบต่างๆ บน Raspberry Pi A+ กับ PiTFT 2.8" Capacitive เพื่อทำเป็นเครื่องสแกนลายนิ้วมือ โดยจะใช้ Fingerprint Reader FZ1035 (China)

Raspberry Pi A+ ต่อ PiTFT 2.8" Capacitive และโปรแกรมตัวอย่าง

วันพฤหัสบดีที่ 10 มีนาคม พ.ศ. 2559

ทดสอบ MCP3008 กับบอร์ด Raspberry Pi A+

ตัวอย่างโปรแกรมใช้งาน IC หมายเลข MCP3008 โดยโปรแกรมนี้จะอ่านค่าจาก สวิทช์ 5 ปุ่มที่ ขา Ch0 และอ่านค่า VR 10k ที่ขา Ch1 แล้วแปลงค่าเป็น Digital Input ไปยัง Raspberry Pi

Switch ของ DFRobot 5 ปุ่ม แต่ใช้สายไฟแค่ 3 เส้น Vcc, Gnd และ Output

PiTFT 2.8" จอภาพขนาด 320x240 จาก Adafruit

หลังจากที่มองๆ อุปกรณ์หลายๆ ตัวเพื่อนำมาใช้งานเกี่ยวกับ Fingerprint Scan สุดท้ายมีแนวโน้มที่จะใช้ Raspberry Pi ในการพัฒนาเพราะสะดวก รวดเร็วกว่า ถึงแม้ว่าราคาต้นทุนจะแพงขึ้นกว่าการใช้บอร์ดคอนโทรลเลอร์ทั่วไป แต่วินาทีนี้ต้องเร่งมือก่อน แล้วค่อยมาพัฒนาทีหลัง

ช่วงนี้ศึกษาการเขียนโปรแกรมด้วย Python อยู่อย่างต่อเนื่อง และเห็นวิธีการเขียนโปรแกรมผ่าน GUI โดยใช้ Tkinter แล้วก็มองเห็นช่องทาง ซึ่งจะรวดเร็วในการพัฒนา จึงคิดต่อไปถึงหน้าจอ ว่าจะใช้แบบไหน หากใช้แบบ LCD หรือ OLED ก็ต้องเขียนคำสั่งในการจัดการหน้าจอกันอีก ดูเหมือนจะใช้เวลา จึงตัดสินใจซื้อจอ PiTFT 2.8" ของ AdaFruit แต่ราคาก็สูงพอสมควร แบบ Resistive ราคา 1,950 และ Capacitive ราคา 2,150 บาท ที่ร้าน ThaiEasyElec แต่ถ้าที่ร้าน GravitechThai จะราคาอยู่ที่ 1,750 บาท สำหรับจอแบบ Capacitive แต่ยังไม่ได้บัดกรีขา และไม่มีสวิทช์มาให้ เลยตัดสินใจซื้อที่ง่ายที่สุด

ลองเปิด Window-X ก็พอดูได้ ถึงจะลำบากสักหน่อย

วันศุกร์ที่ 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 เพื่อสะดวกต่อการเชื่อมต่ออุปกรณ์อื่นๆ


วันจันทร์ที่ 29 มิถุนายน พ.ศ. 2558

ติดตั้ง Concerto Digital Signage และ Raspberry Pi Client

งานเข้าอย่างแรง!!!

ก่อนหน้านี้ทำระบบ Digital Signage ผ่านโปรแกรม Xibo โดยใช้ Windows Client และ Android Client ก็ใช้งานได้ดี โดยเฉพาะ Android แต่ภายหลังถูกเรียกเก็บเงินค่า Client บน Android ด้วยที่ระบบไม่ใช่ทำเพื่อพาณิชย์ ไม่มีรายได้จากการดำเนินการ ก็มีความคิดริเริ่มจะเอา Ubuntu Client มาใช้งาน ตอนนั้นก็มองเครื่องที่เป็น Embedding Computer ไว้หลายตัว แต่ราคาก็แพงเหลือเกิน และงานพัฒนาก็หยุดชะงักไป

ครั้นล่าสุดได้มีโอกาสใช้งาน Raspberry Pi 2 ก็คิดว่าเหมาะสำหรับนำมาใช้เป็น Xibo Client ได้เป็นอย่างดี ก็ตัดสินใจซื้อมา 2 ตัวเพื่อทดสอบก่อน

เมื่อได้เครื่องเรียบร้อยเข้าไปในเว็บ xibo.org.uk ปรากฏว่าไม่มี client ของ Ubuntu ค้นไปค้นมาก็เจอว่า ยกเลิกการใช้งาน pyclient ไปเรียบร้อยเมื่อเดือนธันวาคม 2557 คือ 6-7 เดือนก่อนหน้านี้นี่เอง

ตกใจเล็กน้อย และพยายามค้นหาวิธีการติดตั้ง แต่ก็ติดเรื่อง ติดตั้ง chromium ไม่ผ่านสักที พยายามแล้วก็หมดหนทาง (เสียเวลานานเกินไป) จึงคิดยกเลิก หาทางใช้บริการรายอื่น ก็ไปเจอ piSignage เป็น Digital Signage สำหรับ raspberry pi โดยเฉพาะ แต่ยังเป็นบริษัทใหม่ ระบบใหม่ ยังไม่สมบูรณ์ แจกฟรี 3 Player

เมื่อลองสอบถามไปยังผู้พัฒนาถึงค่าใช้จ่ายเพิ่มที่เกินจาก 3 Player ได้รับคำตอบว่า Player ละ 25$US จะใช้กี่เครื่องก็คูณเข้าไป สรุปแล้วก็ต้องถอย เพราะแพงกว่า xibo Android เสียอีก

คิดจะเขียนเองก็จำกัดจำเขี่ยด้วยเวลาน้อย และเพิ่งเริ่มกระโดดเข้ามาใช้งาน Embedding Computer แต่ก็ยังคิดอยู่ว่า สักวันหนึ่งอาจจะลองสร้างขึ้นมาสักระบบหนึ่ง ดูสิว่าจะเป็นอย่างไร (ถ้าไม่หมดแรงเสียก่อน)

สุดท้ายก็ต้องวนกลับมาที่ Concerto Digital Signage ซึ่งเคยดูเทียบๆ กันกับ xibo แต่ดูเหมือน xibo จะดีกว่าด้านการจัดการ และติดตั้งง่ายกว่ามาก

ในเมื่อทางเลือกเหลือน้อยแล้วก็ลงมือติดตั้งกันอีกสักครั้ง ไม่รู้ว่าจะเป็นอย่างไร เดี๋ยวมีอะไรคืบหน้าจะมาอัพเดทกันต่อครับ...

Client for Raspberry Pi:
https://github.com/flamewave000/concerto_rpi

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

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