摘要:相比于haas600,haas團隊推出的haas510價格更加便宜,做到了百元以內,2.0版本比1.0版本布局更加合理,USB、用戶串口和除錯串口采用了不同的硬體接頭,不會再發生誤插的危險,阿里云官方今天用一個頁面給出了專業的使用說明,但是語焉不詳,初學者對有些概念還是不容易理解,本文就用圖文結合的方式,帶您一步步讓您的JavaScript輕應用順利跑起來,
![]()

硬體:haas510 v2.0(絲印HaaS 510-AS),USB串口模塊,配套的轉接線
軟體:win7x64,amp,vscode,sscom
本文參考檔案連接:
https://help.aliyun.com/document_detail/277467.html?spm=a2c4g.11186623.6.661.1e441a1fNiMqxd
1.硬體接線
如下圖所示,用一個USB串口通過套件中提供的轉接線進行連接,

簡化版的接線圖,將MAIN UART與USB串口相連,MAIN UART在推送JavaScript代碼時,用作推送介面,推送完成后,可以在程式中當做PORT2介面,也就是用戶介面,當做普通的串口使用,

這樣接線有2個目的,第一是向開發板供電,這個板子供電電壓是5V,核心模組是移遠的EC600S-CN,耗電量非常小,所以可以直接使用USB串口的5V進行供電,
haas510開發板上的提供的都是XH2.54的標準連接器,四個角都設計了螺孔,所以可以直接安裝在您的設備外殼中充當DTU模塊,
2.下載amp工具
amp的意思是AliOS Things Mini Program (AMP),
字面大概意思就是阿里云物聯網mini(輕)應用,專門用于阿里云物聯網硬體的軟體,
它的作用是將JavaScript程式推送到haas硬體設備中,這些設備有很多,包括haas510,
首先下載amp工具,通過幫助檔案找到windows版 AMP工具,然后點擊下載,
請注意,AMP工具也一直在更新,推薦使用最新的,否則可能會導致程式燒錄不上的問題,

下載的檔案是一個壓縮包,接下來我們需要解壓,
解壓后有兩個檔案夾,這與之前的版本又所區別,以前的版本只有一個APP檔案夾,

這個工具怎么樣使用呢?答案是使用windows命令列工具,
假如我們將這個工具放在用戶檔案夾下
C:\Users\Administrator\amp-win
那么使用這個工具的步驟就是
使用cmd命令打開window命令列,進入到記憶體放amp工具的檔案夾,注意,amp工具在dist檔案夾下,要想呼叫這個工具,就需要cd 逐層進入dist檔案夾,我們可以通過dir命令來觀察是否真正進入到了dist檔案夾,真正的dist檔案目錄應該是下圖所示,

接下來就該進行推送操作了,
3.確保硬體作業正常
將電路板接入PC的USB介面,啟動串口助理,復位開發板,
假如開發板接線連接正常,那么串口助理將顯示RDY amp shakehand begin,也就是開發板準備完畢,可以通過amp工具進行握手了,

4.推送JavaScript程式
haas系列硬體一個突出的特點是支持多種開發方式,比如可以使用c語言,從底層開發,
haas一個最明顯的特征是支持JavaScript和Python兩種語言,通過內置了這兩種語言的引擎,使得haas硬體能夠通過極少量的代碼來開發物聯網應用,這將大大提高開發人員的作業效率,
阿里云haas團隊將這種開發方式稱為“輕應用”,
當我們成功下載了amp工具,也連接好了硬體之后,下面開始推送“輕應用”程式,

在成功cd到dist檔案夾之后使用命令:
amp seriallist
可以看到當前的串口串列,在我的電腦上,它是COM52,那么顯示的COM1和COM3是什么?它是系統自帶的串口設備,這里不用管,初學者怎么樣判斷到底我們是哪一個串口呢?

判斷串口是哪一個的方法是打開設備管理器的界面,拔掉USB串口,再插上,觀察到底哪個串口是新增的,

知道自己的USB串口是哪個之后,可以使用如下的命令,在windows命令列工具中推送輕應用程式,
amp serialput app com52
輸入完命令之后回車,會回傳一些資訊,其中最關鍵的資訊是“Please reboot board now”,意思是說,請復位haas510開發板,不復位是無法進行推送的,

按下紅框圈中的復位鍵(在510第一版中,這個按鍵是沒有任何標記的),

然后amp工具就開始推送,并以簡易進度條形式顯示進度,
假如我們使用的是剛剛下載的 amp默認的代碼,這個推送速度是非常快的,
amp工具自帶的代碼是這樣的:
console.log('hello amp!');
console.log('amp version is: ' + system.version());
console.log('amp platform is: ' + system.platform());
console.log('amp heapTotal is: ' + system.memory().heapTotal);
console.log('amp heapUsed is: ' + system.memory().heapUsed);
推送完成

5.觀察運行效果
amp工具自帶的這個js程式內容很簡單,就是發送幾個字串資訊,比如hello amp,還有系統版本號等等資訊,
console.log('hello amp!');
console.log('amp version is: ' + system.version());
console.log('amp platform is: ' + system.platform());
console.log('amp heapTotal is: ' + system.memory().heapTotal);
console.log('amp heapUsed is: ' + system.memory().heapUsed);
這些資訊通過什么來觀察?
是DEBUG UART,也就是除錯串口,
怎么連接?
如下圖所示:

實際接線如下圖所示,使用套件中的3Pin轉接線進行轉接,然后單獨接一根5V的杜邦線供電,

復位一下開發板,然后通過串口助理觀察,本文使用sscom串口助理,從一大堆的除錯資訊中,我們可以找到這個開機只運行一次的js程式輸出資訊,

有沒有覺得查找這些被埋沒的資訊特別麻煩,沒關系,咱們可以修改一下,
6.定時發送資訊
我們把程式修改一下,通過VSCODE修改,也可以通過VSCODE自帶的terminal替代windows自帶的命令列工具進行推送,

源代碼如下,可以一鍵復制,
console.log('hello amp!');
console.log('amp version is: ' + system.version());
console.log('amp platform is: ' + system.platform());
console.log('amp heapTotal is: ' + system.memory().heapTotal);
console.log('amp heapUsed is: ' + system.memory().heapUsed);
setInterval(function () {
console.log('Hello World, time: ' + new Date());
}, 1000);
運行效果如下圖所示,這樣我們就不用費勁在大段的除錯資訊中尋找幾行除錯輸出了,

console.log在除錯js程式時是一個非常重要的方法,在代碼行數比較多的程式中,可以在關鍵的位置添加這個方法,用來觀察程序資料是否正確,從而可以幫助修改優化程式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292577.html
標籤:其他
