

硬體:haas510 (2.0版本),USB串口
軟體:win7 x64,vscode
目錄
1.在阿里云物聯網平臺注冊產品和設備
2.撰寫設備上云源代碼
3.燒錄程式到開發板
4.運行效果
5.關于HaaS
1.在阿里云物聯網平臺注冊產品和設備
注冊產品和設備是為了做本文介紹的實驗,獲取一個云平臺的虛擬的設備的“三元組”資料,
如果您已經有了注冊好的設備,可以直接用自己的設備來實驗,從而跳過這一步,
按照下圖所示,新增一個產品,聯網方式選擇蜂窩,不過根據實驗,即使選擇wifi,對操作也沒有影響,

創建成功后,這個“智能燈”還不具有任何屬性,比如它連個開關也沒有,更別說是色彩了,

可以編輯草稿,添加想要的功能,

添加一個自定義的開關

為了做其他實驗,我們新增一個備注屬性

接下來發布上線,上線之后就可以添加很多具備這兩個屬性的設備了,一個產品是一類設備的統稱,

新增一個設備light001,那么這個設備就自動具有主燈開關和備注2個屬性,

點擊進入設備詳情頁,然后查看三元組資料

三元組資料是三個字串,長度不同,可以一鍵復制,將這三個字串記下來,

復制后的資料是json格式的,可以用在很多地方,

2.撰寫設備上云源代碼
haas系列硬體離開alios things物聯網作業系統的支持,就與普通的物聯網模塊毫無差別,
比如510開發板,采用的是移遠的EC600S模組,基于這種模組的各種型別的開發板或者模塊五花八門,開發模式也多種多樣,假如模組內置的是移遠官方韌體的話,可以支持AT指令開發,例如要想連接阿里云物聯網平臺,您就需要使用一個MCU通過UART發送若干個UART指令來告訴這個模組連接物聯網平臺,

我們注意到,EC600S模組本身就具有MCU功能,那么何苦再加一個MCU發送指令來實作聯網的功能呢?能不能用它本身實作聯網和具體功能的實作?
阿里云haas已經為我們準備好了,
例如haas510,我們可以將它看做是一塊內置了JavaScript引擎,還內置了阿里云物聯網作業系統的具備二次開發功能的開發板,
通過vscode即可非常方便地對它進行編程,
假如我們想用510連接阿里云,僅僅需要20余行代碼(這中間還保留著必要的注釋)就可以實作,
上云的程序是阿里云的韌體自動適配的,無須像AT指令那樣,還要關注每一步是否應答了成功的指令,
代碼如下
var iot = require('iot');
var network = require('network');
var net = network.openNetWorkClient();
/* 設備三元組資訊獲取請參考common目錄下的iot組件說明 */
var productKey = 'gc4XXXXXnjX';
var deviceName = 'light001';
var deviceSecret = 'b25XXXXXXXXXXXXXXXXXXXXXXXXXXXXe6db';
// 構建物聯網連接實體
var device;
net.on('connect', function () {
device = iot.device({
productKey: productKey,
deviceName: deviceName,
deviceSecret: deviceSecret,
region: 'cn-shanghai',
success: function () {
console.log('iot: [success] connect');
},
fail: function () {
console.log('iot: [failed] connect');
}
});
})
3.燒錄程式到開發板
連接硬體,使用2個USB串口的目的是一個燒錄,一個觀察除錯資訊,

詳細的程序可以參考文章,燒錄的操作是通過vscode實作的,
阿里云開發板vscode開發環境搭建https://blog.csdn.net/youngwah292/article/details/120356887?spm=1001.2014.3001.5501
出現下圖的界面就燒錄成功了,

4.運行效果
經過前面的步驟,一個極簡代碼上云的物聯網設備就做好了,
燒錄(或者叫做推送)之后,我們登錄阿里云物聯網平臺,就可以看到設備成功在線,
怎么樣簡單吧?!!

下面對比一下EC600S使用AT指令使設備在線的復雜步驟,可以看到每一步都需要觀察模塊是否回傳來正確的資訊,例如是否回傳了“OK”,假如我們每發送一個AT指令都采用“延時”再發送下一條指令的形式來使設備在線,那么后果將是不穩定和不可控,我親自做了實驗,有的時候(例如網路信號弱),真的有這種盡管發送AT指令正確,但是不能成功與云平臺連接的情況發生,這樣對比,就能看出來haas的過人之處了,因為它對阿里云無線網平臺是“自適應”的,

我們還可以通過除錯串口可以觀察一下除錯資訊,
當然這只是輔助措施,當設備成功在線后,看不看除錯資訊都行,
如果后續開發其他功能時,借助除錯串口可以彌補JavaScript不能單步除錯的不足,使我們可以迅速定位故障,使用haas快速實作產品原型,搶占先機,

5.關于HaaS
在物聯網方案多樣化與場景碎片化等大背景下,基于阿里云物聯網數億設備落地經驗,阿里云物聯網團隊推出了HaaS這個加速AIoT中小開發者的創新平臺,HaaS(Hardware as a service)硬體即服務,通過向用戶提供物聯網場景中的的標準硬體以及嵌入到硬體中的軟體驅動及功能模塊,為用戶提供物聯網設備高效開發服務,旨在幫助AIoT中小開發者聚焦業務,能做到低門檻快速組裝軟硬體積木,實作設備安全上云,加速AIoT創新迭代,
HaaS設備端搭載阿里IoT團隊全面開源的物聯網作業系統AliOS Things,AliOS Things 是面向AIoT 領域的、高可伸縮的物聯網統一作業系統,致力于搭建云端一體化 IoT 基礎設備,具備極致性能、極簡開發、云端一體、豐富組件、安全防護等關鍵能力,并支持終端設備連接到阿里云IoT平臺,可廣泛應用在智能家居、智慧城市、工業、新出行等領域,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302305.html
標籤:其他
上一篇:關于RS232通信電路設計講解
