鴻蒙系統韌體編譯及燒寫——通過AT命令完成WLAN模組Hi3861聯網

2020-10-18 12:00:20

原始碼編譯

IDE終端工具開啟方法

使用OpenHarmony IDE工具DevEco的終端工具連線Linux伺服器。(OpenHarmony IDE工具DevEco整合了終端工具的能力,基本使用請參考官方指導檔案)依次點選「View」、「Terminal」,即可開啟IDE終端工具。

在這裡插入圖片描述

ssh連線虛擬機器器

先啟動虛擬機器器,然後在VS Code的終端(TERMINAL)介面輸入如下指令:

ssh harmony@172.18.3.254

我們可以看到命令執行完畢之後,VS Code的終端進入了虛擬機器器的終端。

編譯程式碼

在VS Code的終端介面輸入如下指令:

python build.py wifiiot

注意:要在/home/harmony/harmony/code/code-1.0 目錄下執行上面的指令。

編譯結束後,如果出現「BUILD SUCCESS」字樣,則證明構建成功。

在這裡插入圖片描述

構建成功後,使用指令:

ls -l out/wifiiot/

檢視輸出檔案,會在./out/wifiiot/路徑中生成以下檔案,我們看到時間是剛剛編譯的時間,說明沒有問題,至此編譯構建流程結束。

在這裡插入圖片描述

Ubuntu虛擬機器器中檢視,下圖中的目錄和上圖的目錄兩者是一樣的。

在這裡插入圖片描述

韌體下載

燒錄Hi3861 WLAN模組韌體可以通過OpenHarmony IDE工具DevEco完成,

韌體下載過程

  1. 安裝串列埠驅動

Hi3861 WLAN模組上面有一個Type C USB介面與CH340G晶片連線,實現了USB轉串列埠功能。

在這裡插入圖片描述

我們使用USB線連線WLAN模組(需預先安裝USB轉串列埠驅動,安裝時需要先連線模組,驅動下載地址:http://www.wch.cn/search?q=ch340g&t=downloads),Type C的另一端與USB口相連,然後在裝置管理器中檢視COM口,如USB-SERIAL CH340(COM3),該串列埠整合了燒錄、紀錄檔列印、AT命令等功能。

在這裡插入圖片描述

  1. IDE燒錄設定

在這裡插入圖片描述

串列埠燒錄引數設定

  • Baud Rate:921600
  • Data bit:8

在這裡插入圖片描述

Burn Files選擇

檔案存放路徑:.\out\wifiiot\Hi3861_wifiiot_app_allinone.bin

在這裡插入圖片描述

上面截圖,在Windows系統下直接開啟了虛擬機器器中的檔案,使用的是Samba伺服器實現的,具體實現細節可以參考:

安裝並設定Samba伺服器–將HarmonyOS的檔案對映到Windows 中

RISC-V系列程式碼燒錄

點選下圖中Burn右側的三角按鈕,進入燒寫韌體模式,稍後上面會彈出串列埠選擇列表,選擇對應的串列埠(我的機器使用COM3與Hi3861模組相連),如果環境搭建沒有問題的話,即可完成韌體的下載。

在這裡插入圖片描述

如果點選下載的三角按鈕,出現下圖所示錯誤:

在這裡插入圖片描述

根據錯誤提示,使用如下指令查詢npm所在路徑:

npm config get prefix

那麼,我們在系統環境變數中新增 NODE_PATH = C:\Users\Administrator\AppData\Roaming\npm\node_modules 即可。

在這裡插入圖片描述

測試WiFi模組

使用串列埠助手工具,連線Hi3861模組串列埠(我的機器是COM3),並設定好波特率115200,同時勾選「傳送新行」,確保輸入字串以"\r\n"結尾,避免AT命令無法輸入。

復位WLAN模組,終端介面顯示「ready to OS start」,證明WiFi模組復位成功。

在視窗助手中,依次執行如下AT命令,使Hi3861模組啟動STA模式,連線指定AP熱點,並開啟DHCP功能。

命令含義
AT+STARTSTA啟動STA模式
AT+SCAN掃描周邊AP
AT+SCANRESULT顯示掃描結果
AT+CONN=「SSID」,2,「PASSWORD」連線指定AP,其中SSID/PASSWORD為待連線的熱點名稱和密碼
AT+STASTAT檢視連線結果
AT+DHCP=wlan0,1通過DHCP向AP請求wlan0的IP地址
AT+IFCFG檢視模組介面IP
AT+PING=X.X.X.X檢視WLAN模組與閘道器聯通是否正常,其中X.X.X.X需替換為實際的閘道器地址