?同學們都知道,開發過程中文件系統的重要性,同樣的,4G-Cat.1模組的文件系統也非常重要,它通常與數據傳輸速度、存儲效率,以及數據安全性等有非常重要的關系,在應用開發中也非常重要。
今天我們來嘗試Air201的實用示例**——文件系統的使用**
** Air201文件系統的使用 **
合宙Air201資產定位模組 ——是一個集成超低功耗4G通信、語音通話、超低功耗定位、計步、震動、Type-C、充電、放音、錄音等功能的超小PCBA。
內部集成高效、簡單、可靠的LuatOS語言,旨在幫助客戶降低開發難度,降低研發成本,以及打造超小超低功耗的精品產品。
本教程教你使用Air201文件系統,可根據實際情況靈活運用。我們先來簡單了解文件系統相關的基礎知識:
文件系統是為了解決什么問題產生的?
4G-Cat.1通信模組的文件系統是為了支持數據存儲與管理、支持遠程管理和配置,以及保障數據安全性而產生的。
常見的文件系統有哪些?
在嵌入式系統和物聯網設備中,常見的文件系統類型包括FAT、YAFFS、JFFS2,以及專為嵌入式系統設計的文件系統如SquashFS和LittleFS等。
文末閱讀原文,了解不同文件系統類型在應用中的優缺點。
合宙Air201選擇的文件系統有何特點?
合宙選擇LittleFS作為主文件系統,并通過VFS擴展支持其他文件系統。
LittleFS文件系統是由ARM公司(特別是其mbedOS團隊)開發的一款專為微控制器(MCU)和物聯網(IoT)設備設計的輕量級、健壯的文件系統。
它針對資源受限的環境進行了優化,具有輕量高效、閃存友好、易用可移植、支持高度定制等特色優勢。
合宙Air201的文件系統分區存儲方式,使用Block存儲策略:
將文件分割成多個數據塊(Blocks),每個數據塊可以獨立存儲和處理,這樣允許多個數據塊同時讀寫,從而提高數據傳輸速度和存儲效率。
默認分配的文件系統(lfs)大小為512KB,在代碼中也可通過 fs.fsstat("/") 實時獲取文件系統的空間大小。
?
接下來,開始講解Air201文件系統的使用示例:
1. 搭建環境
新同學建議先看前期的相關教程,更有助于理解和操作。
此時可以在LuaTools項目管理中新建一個項目,重新選擇底層固件和腳本;或者在原有項目的基礎上,不更換固件,將原來的腳本刪除,添加為demo/fs的腳本。
?
1.1 硬件準備:
?
![]("點擊并拖拽以移動
- 合宙Air201 PCBA
- 帶有數據通信功能的數據線
- Win10以上PC
1.2 軟件準備:
- LuaTools調試工具:
doc.openluat.com/wiki/52?wiki_page_id=5071 - 最新固件:
gitee.com/openLuat/LuatOS-Air201/tree/master/core - 最新腳本:
gitee.com/openLuat/LuatOS-Air201/tree/master/demo/fs
2. 編寫代碼
2.1 代碼基本配置
我們在編寫一個新腳本的時候,首先應該做的操作就是把框架搭好,有一個合理的框架才能編寫出完美的代碼。
以下代碼對腳本做了命名、添加使用庫、創建任務線程等操作:
?
2.2 添加看門狗
注意:我們在進行文件系統的操作時,可能會出現空間不足死機的情況。
我們可以提前添加看門狗,來避免程序卡死:
?
2.3 讀寫操作
以下代碼對文件進行了打開讀取內容和寫入內容的操作,建議仔細閱讀,可幫助我們更好地了解和掌握文件系統的讀寫操作。
?
運行這段代碼,得到的結果如下圖打印:
2.4 文件seek操作
下面為大家演示seek的操作:
?
如果沒有加入seek的操作,這段代碼運行結果應該是"ABCDEFG12345hello",但是因為seek將文件指針移動,導致結果輸出不同。
?
如何將TCP得到的數據存到文件系統呢?
今天的分享就到這里了
更多實用示例帶你開啟應用之門
下一期見~
?
-
物聯網
+關注
關注
2903文章
44275瀏覽量
371273 -
文件系統
+關注
關注
0文章
284瀏覽量
19883 -
模組
+關注
關注
6文章
1436瀏覽量
30291
發布評論請先 登錄
相關推薦
評論