JS輕應用熱更新 - 無需連線輕鬆進行嵌入式裝置開發除錯

HaaS技術社群發表於2020-12-25

1、前言

不同於傳統嵌入式開發流程,輕應用的JavaScript應用在PC端開發完成後,無需編譯、連結、韌體燒錄等繁瑣步驟,使用者可直接使用命令列工具動態推送最新的應用到指定裝置,這個過程我們稱之為應用熱更新,輕應用支援本地應用熱更新和線上應用熱更新兩種方式:

  • 本地熱更新:通過有線方式(串列埠)對裝置的應用進行更新,尤其是裝置無法聯網或輕應用的程式碼異常。

  • 線上熱更新:通過無線方式(網路)對裝置的應用進行更新,如裝置不在本地或不支援與開發機的有線連線。

2、準備工作

公測申請,獲取輕應用SDK包

為了更好的瞭解您的產品需求,請將相關資訊傳送郵件至aliosthings@service.aliyun.com,或者在HaaS開發者群中聯絡 HaaS小二,待評估後將會提供SDK軟體包。

 

硬體獲取:

相關JS輕應用開發案例:

 

3、本地熱更新

本地熱更新

通過有線方式(串列埠)對裝置的應用進行更新,可適用於裝置無法聯網或輕應用程式碼執行異常的情況。

下載模式

本地熱更新與實際硬體的接線強相關,以HaaS 600為例,需先切到下載模式(參考HaaS600)。

更新應用

進入下載模式後,執行amp命令完成本地更新:

$ amp serialput <app-dir> <serial-port>

執行示例:

$ ./amp serialput ./app /dev/tty.SLAB_USBtoUART
device type: ymodem
generate app package
put complete!

其中/dev/tty.SLAB_USBtoUART 對應的串列埠連線硬體的本地更新埠。

 

4、線上熱更新

線上熱更新

通過無線方式(網路)對裝置進行熱更新。當裝置不在本地或者裝置無法跟電腦連線的時候,可以通過網路通道將輕應用程式碼下發到裝置,類似OTA功能。步驟如下:

該命令會消耗網路流量,推送應用到蜂窩模組時請按需使用。

使用者登陸

amp login <your-token>

此處的 <your-token> 來自步驟2中公測申請的輕應用SDK包

$ amp login <token>
login success

檢視裝置

amp device list

檢視當前已繫結的裝置列表。

$ amp device list
Your bound devices:
<device_name1>
<device_name2>

更新應用

amp put ./app <device_name>
  • ./app 指當前目錄下app目錄,包含板級配置檔案和指令碼檔案。

  • device_name 指繫結列表中的裝置名稱。

執行示例

$ ./amp login 9da64dd7e367********c02655a8abcd
login success

$ ./amp device list
Your bound devices:
8675*******3456
8675*******4321
3522*******7456

$ ./amp put ./app 8675*******3456
device:8675*******3456 ONLINE.
generate app package
push app package SUCCESS

 

 

無需連線也能輕鬆除錯進行嵌入式除錯了,還能操作HaaS板上的各種硬體資源哦。快來試試吧。

 

5、開發者技術支援

如需更多技術支援,可加入釘釘開發者群

更多技術與解決方案介紹,請訪問阿里雲AIoT首頁https://iot.aliyun.com/

 

 

 

 

 

相關文章