帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
儲存函式庫到位Arduino實務開發添火力
 

【作者: 陸向陽】   2023年12月25日 星期一

瀏覽人次:【1451】


圖一 : Portenta H7系統板可透過USB Hub連接USB隨身碟、透過Vision Shield子板連接SD記憶卡(圖片來源:Arduino官網)
圖一 : Portenta H7系統板可透過USB Hub連接USB隨身碟、透過Vision Shield子板連接SD記憶卡(圖片來源:Arduino官網)

目前四片板卡可用儲存函式庫

Arduino官方在今(2023)年11月釋出兩套儲存相關的函式庫,主要供Arduino Pro系列(產業實務應用取向)的板卡使用,目前有4片板卡可用,分別為Arduino Portenta H7、Arduino Portenta C33、Arduino Opta(嚴格來說是台PLC)以及Arduino Portenta Machine Control。Arduino官方表示後續會讓函式庫適用到更多板卡上。


註:一般數學方程式的f(x)=y+x稱為函數,類似用法在程式設計領域我國一般譯為函式,將許多函式集中在同一群以利管理或運用者稱為函式庫(library)。

官方舉出三種應用情境

有了儲存函式庫,在開發撰寫Arduino板卡存取USB隨身碟、SD記憶卡的相關應用就方便許多,對此Arduino官方也設想了些可能會用及隨身碟、記憶卡的情境,例如一個放置於戶外遠處、沒有連線的監測裝置,用它來監測溫度、空氣品質等,監測到的數值需要地方存放,這時就需要連接隨身碟、記憶卡,而後派人定期去抽換儲存媒體,並將儲存的資料拿回來研究分析。


或者,同樣是不連線的裝置,需要更新裝置系統的韌體(firmware)時,無法使用無線傳輸更新韌體(FOTA)的作法,這時也是將要更新的韌體存到記憶卡內,派人到現場連接插卡、操作更新程序。


類似的,裝置長期運作也可能出現一些錯誤,這些錯誤需要加以記錄,以利後續問題分析診斷,甚至預測日後何時可能再發生錯誤?會在哪些環節發生錯誤等,這些記錄稱為日誌(log),日誌通常以檔案方式存放,而給裝置插入記憶卡便能用來儲存日誌檔,便於日後帶回日誌資料進行分析。


為何要有兩套儲存函式庫?

既然函式庫用來讀寫隨身碟、記憶卡,官方為何要推出兩套?這兩套的名字分別是Arduino_POSIXStorage、Arduino_UnifiedStorage,這其實是有原因的。


首先是開發者過去可能已經開發過UNIX、類UNIX(例如FreeBSD、Linux、Mac等)等作業系統上的應用程式,在這類作業系統上為了方便程式移植,也為了維持相容性等,通常依循POSIX介面標準來撰寫,如此就可以盡可能減少改動而推出不同作業系統版本的應用程式,包含Windows也是支援POSIX介面。


為了讓開發者儘快上手,所以Arduino官方提出相容POSIX的Arduino_POSIXStorage函式庫,讓開發者用過去習慣來撰寫儲存相關的程式。不過筆者看了一下技術細節,還是與POSIX有些差異,不全然相同。



圖二 : Arduino_POSIXStorage函式庫基本範例程式與簡單說明(圖片來源:GitHub)
圖二 : Arduino_POSIXStorage函式庫基本範例程式與簡單說明(圖片來源:GitHub)

另一款儲存函式庫Arduino_UnifiedStorage是比Arduino_POSIXStorage更方便簡易使用的,把一些複雜細節都去除了,如果程式設計師過去沒有開發依循POSIX介面標準的應用程式的經驗,是可以直接使用Arduino_UnifiedStorage,Arduino_UnifiedStorage也比較合乎過往Arduino官方函式庫的命名、參數風格。


此外,兩套函式庫還是有一些異同,例如都支援熱插拔、USB隨身碟、SD記憶卡,檔案格式可以是FAT32、LittleFS等,但Arduino_UnifiedStorage還支援QSPI(Queued SPI)介面的讀寫,在資料管理與操作上也比較方便,例如存取USB、SD、內部儲存等的方式一致、更方便確認資料是否可移動、在不同儲存媒體上搬移資料也比較方便,或者資料的覆寫管理也比較好、提供資料夾結構導覽可讓檔案操作管理更直覺等。


既然如此為何還要有POSIX版?主要是因為Arduino Pro是產業實務應用取向的,支援與相容過往就有開發經驗的職業、專業程式設計師是必要的,如此才能更快讓Arduino Pro有更多的產業實務應用。


最後,官方文件也提到一些細節,畢竟隨身碟、記憶卡廠牌型款多又多,函式庫的開發者也無法全部都測試驗證,目前官方主要測試Kingston、Samsung、SanDisk等廠牌;USB Hub集線器也是有限度測試,一些進階型的USB Hub(整合RJ-45、HDMI等)通常還沒測試。


(本文由VMAKER授權轉載;連結原文網址


延伸閱讀:

[1] Arduino_POSIXStorage函式庫網址:https://github.com/arduino-libraries/Arduino_POSIXStorage


[2] Arduino_UnifiedStorage函式庫網址:https://github.com/arduino-libraries/Arduino_UnifiedStorage


  相關新聞
» 報告:企業面臨生成式AI詐騙挑戰 需採用多層次防禦策略
» 精誠「Carbon EnVision雲端碳管理系統」獲台灣精品獎銀質獎 善盡企業永續責任 賺有意義的錢
» 善用「科技行善」力量 精誠集團旗下奇唯科技榮獲「IT Matters 社會影響力產品獎」
» 《2025全球資安威脅預測》威脅手法將更強大複雜 挑戰資安防禦極限
» 加速開發電動車流程 富豪汽車採用3DEXPERIENCE平台


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.133.108.207
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw