หากเพือนๆ สนใจที่จะพัฒนางานทางด้านไมโครคอนโทรลเลอร์เช่น Arduino บน Debian แล้วหล่ะก็ มีสิ่งที่น่าสนใจ เล็กๆ น้อยๆ ที่ผมได้ทดลอง และหาข้อมูล จะได้นำมาเขียนบันทึกไว้บน Blog แห่งนี้ วิธีการก็คือ
หลังจากที่เราได้เคยติดตั้ง Oracle VM VirtualBox และได้ติดตั้ง Debian ไปแล้ว เมื่อสั่งให้ระบบปฏิบัติการณ์เริ่มทำงาน เราจะเข้าสู่โหมด XWindows จากนั้น ให้ Logon ด้วย user ที่เราได้กำหนดไว้ ในที่นี้ ผมได้ Logon เข้าด้วย user: pi ที่ผมได้กำหนดไว้ จากนั้น ทำการเปลี่ยนตัวเองเป็น root เพื่อที่จะติดตั้ง arduino ide
su -
ใส่ password root ที่เราได้กำหนดไว้แล้ว
ต่อมาใช้คำสั่ง apt-get install arduino ตอบ y รอจนกว่าระบบติดตั้ง arduino เรียบร้อย
หากใครสงสัยว่า arduio คืออะไร สามารถศึกษาเพิ่มเติมได้ที่นี่ คลิก
ทำการเสียบบอร์ด Arduino เข้ากับ PC หรือ Notebook ของเรา แล้วทำการเลือกที่เมนูหน้าต่าง Oracle VM VirtualBox ไปที่
Device->USB Device แล้วทำการเลือก FTD FT232R ตามรูป (ซึ่งน่าจะเป็นอย่างนั้น สำหรับบอร์ด arduino)
ที่หน้าต่าง console หากเราใช้คำสั่ง tail -f /var/log/message (สำหรับ root) เราจะเห็นข้อความสำหรับเจ้า FTDI USB Serial Device...... ttyUSB0 ด้วยเช่นกัน
ทำการเช็คที่ ls -l /dev/ttyUSB0 จะเห็นไฟล์นี้ เกิดขึ้นเช่นกันที่ folder /dev/
crw-rw---- 1 root dialout 188, 0 Jan 10 23:11 /dev/ttyUSB0
ปัญหาของเจ้า arduino IDE มันอยู่ตรงนี้ครับ คือหลังจากที่เราติดตั้ง arduino IDE เรียบร้อยแล้ว เราจะยังไม่สามารถที่เลือกที่เมนู IDE
tool->Serial Port ได้ (ไม่เชื่อลองเปิด IDE ขึ้นมา ) เราจะไม่สามารถเลือก Serial port ที่จะติดต่อกับบอร์ด arduino ได้ครับ ถึงแม้ว่า Debian จะมองเห็น USB ที่ต่อเข้ามาแล้วก็ตาม
เนื่องจากว่า ตอนนี้ เราเองเป็น user: pi แต่เจ้า ttyUSB0 นั่นอยู่ในกรุ๊บ dialout ครับ
crw-rw---- 1 root dialout 188, 0 Jan 10 23:11 /dev/ttyUSB0 (owner เป็น root แต่ group เป็นของ dialout ครับ )
วิธีแก้ไข ก็คือ ทำให้ pi นั้นสามารถเข้าใช้ group ของ dialout ได้ ด้วยคำสั่ง
root@raspberrypi:~#usermod -a -G dialout pi
หากเราใช้คำสั่ง pi@raspberrypi:~$ groups อีกครั้ง เราก็ยังพบว่า pi ยังไม่มีสิทธิใน dialout เหมือนเดิม อันนี้ ไม่ต้องตกใจครับ ให้เรา Logout แล้ว Logon มาใหม่ครับ แล้วลองเช็คอีกที จะพบว่า
pi@raspberrypi:~$ groups
pi dialout cdrom floppy audio dip video plugdev netdev
มองเห็น dialout เรียบร้อยแล้ว ทดลองเปิด arduino ide อีกครั้ง ก็จะพบว่าที่เมนู tool->Serial Port สามารถเลือก /dev/ttyUSB0 ได้แล้วครับ
ลองเลือกโค๊ดตัวอย่าง แล้วทำการ upload โค๊ดตัวอย่างที่ผ่านการ build แล้ว ใส่ไปที่บอร์ด arduino ของเราครับ ซึ่งน่าจะทำงานได้ตามปกติ จากนี้ไปเราก็สามารถที่จะพัฒนางาน arduino บน Debian ได้แล้วครับ ซึ่งสามารถนำหลักการนี้ไปใช้บน Raspian ของ Raspberry Pi ได้เช่นกันครับ ซึ่งต่อไป ผมอาจจะนำเอา piFirmata มาใช้ในการพัฒนา Raspberry Pi กับ Arduino ต่อไปครับ (คิดไว้ก่อนเฉยๆ ไม่รู้จะว่างหรือเปล่านะ :P )
ปล. ผมอาาจะอธิบายขั้นตอนการ Build / Upload Code สำหรับ Arduino เร็วไป แต่คิดว่า เพื่อน น่าจะหาข้อมูลอ่านได้ไม่ยาก หากสงสัยขั้นตอนไหนหน่ะครับ ซึ่งทั่วๆไป วิธีการก็จะคล้ายๆกัน
0 ความคิดเห็น:
Post a Comment