作者:陸向陽
隨著樹莓派(Raspberry Pi, RPi)規格及生態圈的日益茁壯,近期的RPi發展似乎已偏重在桌上型電腦及產業實務應用(嵌入到各種現場設備中)上,但其實在創客領域持續有新進展,且是在新場合中運用。
bag.builds專案把樹梅派放入背包
首先是把RPi放在後背包裡帶出門使用,創客Davide Marchetti發起了名為bag.builds的專案,他把RPi、電池及一些週邊配件都放入背包內,在背包內用木板及塑膠扣具(用3D列印成)等將配件相互隔開並加以固定,避免擠壓碰撞,然後再給各部件接上線路,如此就能出門使用。
Davide Marchetti揭露他在背包內放的配件清單,包含一台RPi 4;一個Docking Station;一個Linksys公司的WRT1900ACS型Wi-Fi路由器,路由器使用OpenWrt嵌入式作業系統外加虛擬私有網路(VPN)功能;一個USB介面的外接式機械硬碟;一個USB介面的外接式固態硬碟。
另外還有Thunderbolt介面的NVMe儲存,Wi-Fi Dongle、HackRF的無線數據傳輸模組,搭配1MHz~3GHz頻率範圍的主動式天線;喇叭;GL.iNet公司的Wi-Fi Hotspot,並透過智慧型手機來連線Tor網路;最後則是250Wh電量的行動電源。
雖然文字條列為上述內容,但從他公布的照片來看背包內也有小型顯示器、滑鼠、甚至是耳機等裝置。他也將此背包系統稱為Portable desk for outdoor hacktivities,亦即戶外駭客活動用的攜帶型桌面,或者稱Hacking Station。
樹梅派放入水中
另一個有趣的專案是把RPi用於水下,用一個透明圓柱型的壓克力容器來當船殼,從而打造出一艘玩具潛水艇,而RPi正是艇內的主控系統,更具體說是用Raspberry Pi Zero 2 W,專案發起者則是Brick Experiment Channel(簡稱BEC)。
BEC打造的潛艇其機械部件都是用樂高(LEGO)積木搭組而成,潛艇不僅可以在水裡推進向前、轉向、俯仰等,也可以在水中保持靜止,以及與水底保持距離避免碰撞,距離可以在遙控玩家設定後由潛艇自動維持。
另外,BEC使用一個注射針筒來充當潛艇的排水櫃,而後控制水的吸排量來產生上升、下潛效果,BEC使用的是最傳統的PID控制法。
浮潛理論聽來簡單,但實際上在此前BEC已嘗試過三種控制與維持深度的方式,最終採行目前的第四種作法,估計後續也會持續精進或有更多新嘗試。
潛艇另一個設計要點是壓力感測器,BEC前後嘗試了兩種,一是漢寧威爾(Honeywell)的ABP2LANG004BG2A3XX,另一是漢寧威爾的SSCMANV030PA2A3,經各種測試與評估最終選擇後者。
還有雷射感測器Whadda WPSE337,裡頭包含了意法微電子(STMicro)的VL53L0X模組,將感測器設置於潛艇底部,以便偵測船身與海底間的距離,之後則用Sparkfun TFMini-S Micro感測器。
在玩家手上的遙控器方面BEC其實是買現成玩具來改裝,買了一艘中國大陸品牌Mliu的玩具潛艇,使用玩具配備的27MHz無線遙控器與接收器,因為只有低頻的無線電波才能在水中仍保有一段傳輸距離,若使用現行常用的2.4GHz頻段則在水下很快就衰減光,潛艇沒跑多遠就失去遙控信號。
其他方面,潛艇是使用約8V輸出的樂高電池盒搭配Pololu 2123 S7V8F5 5V2電壓調節器再供電給RPi,RPi使用16GB MicroSD記憶卡,作業系統為官方標準的Raspberry Pi OS,而相關的操控程式則是用Python撰寫成。
最後,BEC對這專案有很嚴謹的開發測試過程,有各種工程數據記錄,例如系統在壓克力容器內運作必然會產生熱,熱在未有散熱措施下會在內部升溫,測試結果顯示樂高積木的機械部件在攝氏60度以上就開始融化(雖然一般宣稱要到105度),而RPi宣稱可以運作到85度,實際上也在高過60度CPU就明顯變慢。
歸結而言,BEC潛艇專案詳整記錄各種開發過程及心得,對於想讓專案更朝實務方向精進的創客而言非常值得參考學習。
延伸閱讀
BEC潛艇專案:https://brickexperimentchannel.wordpress.com/rc-submarine-4-0-blog-post-series/