本篇文章是T3ch Flicks團隊,製作智慧浮標的記錄摘要。以下將分三段落介紹:3D列印、電子器材、主控版。首先,讓我們先看一段影片:
智慧浮標可以做些什麼?
位於智慧浮標上的感測器,使浮標能測量波浪高、波浪期、波浪力量、水溫、氣溫、氣壓、電壓、電流使用量及GPS定位。在理想狀態下,智慧浮標也應能測量波浪方向,這部分的功能,我們已快要接近完成。然而,原來計算波浪方向十分複雜,並且這部分在實際的研究社群中,就是一個巨大的問題。因此,讀者若能幫助我們,建議一個有效計算波浪方向的方法,請讓我們知道!我們非常樂於向您請教。
所有智慧浮標收集的資料,皆透過廣播的方式傳輸至基地站,實際上是一個樹莓派(Raspberry Pi)。我們運用Vue JS.製作了一個主控版,以顯示這些資料。
打造智慧浮標
浮標的成型
浮標大概是至今我們3D列印過最困難的事物。當浮標要放入海中、暴露在自然元素及大量陽光下,有太多事情需要考量。簡而言之,我們列印了兩個半顆的近空心球。上半顆空心球有插槽給太陽能板使用,以及一個洞讓廣波天線穿過。下半顆空心球有一個洞,讓溫度感測器穿過,以及手柄讓繩子可以綁住。
在使用PETG線材列印浮標後,我們打磨外表,然後用以一些填料底漆進行噴漆,然後塗上幾層環氧樹脂。一旦浮標外殼的準備完成後,接著我們把所有電子器材放入,運用膠槍封住水溫感測器、廣播天線及太陽能板。最後,我們運用「超級航模黏合膠(super aeroplane glue)」,黏合上下兩顆空心球。
浮標的電子器材
在浮標上有許多感測器,其動力來源是一個18650電池,由4個5V太陽能板充電。然而,在智慧浮標上,只有一個實時時鐘持續需要電力。智慧浮標運用實時時鐘的輸出pin腳位,以控制一個晶體管,好讓電力可以進入其餘的系統。當系統啟動,感測器會開始計算,包括來自電源監控模組的電壓值,而這個電壓值決定系統進入休眠狀態多久的時間,直至下一次系統讀取數據。
系統由許多感測器構成,並且有一個廣播模組連結至一個Arduino。GY-86模組、實時時鐘(RTC)、電力監控模組,以及I2C多路轉換器,皆使用I2C與Arduino溝通。我們需要I2C多路轉換器,是因為GY-86模組和RTC模組皆有同樣的位址,所以,多路轉換器模組省去了溝通上額外的麻煩。
廣播模組透過SPI溝通。原本我們有一個SD卡模組,但因為其函式庫的大小,造成我們許多麻煩,最後我們決定放棄它。
看看程式碼吧!可能您會有一些問題,甚至是揮之不去的懷疑,我們很樂意聽聽您的問題、懷疑。我們試著從邏輯上分開程式碼的檔案,使用一個主要的檔案含括它們,而這是一個完美運作的方法。
基地站的電子器材
關於基地站,我們使用樹莓派Zero(Raspberry Pi Zero),以及一個附加的廣播模組。一旦我們讓程式碼在Arduino上運作,便相當容易在樹莓派上得到運算結果,只要透過運作「receive.py」的程式碼。
T3ch Flicks團隊的一位成員是網站工作師,最近才學習了Vue JS.。當我們決定需要一個主控版時,他們非常興奮,並且令我們大為驚訝,設計了這個十分酷的主控版。
主控版
如果向讀者展示、說明如何製作整個主控版,文字上會有點像長篇小說,因為那是一個相當長而且複雜的專案。若您有興趣了解,T3ch Flicks團隊的網站工程師會非常高興向您解說。
一旦將這些檔案放上樹莓派,您便應該能夠運作伺服器,並且看到資料開始進入主控版。為了開發因素,以及如果主控版由好的、規律的資料供應,會呈現什麼樣貌,我們在伺服器中,加入了一個假數據生成器。若您想要知道當您有更多資料時,主控版的樣貌。請運作這個假數據生成器。