來源 | HaaS技術社區
1、前言
關於輕應用的文檔請參考輕應用總覽
HaaS600 Kit 是一款基於 HaaS600系列模組評估的高性價比開發板。可應用於共享控制、金融支付、智能語音、泛工業等場景的智能硬件產品開發。
HaaS600套件包含以下物料:
- 開發板 x 1
- micro-USB線纜 x 1
- 5V/2A電源適配器 x 1
- 4G天線 x 1
- GPS天線 x 1
HaaS600 Kit在出廠時已經燒錄了輕應用固件,開發者不需要編譯燒錄。
2、系統環境
2.1、設備連接
按照下圖所示將開發電腦跟設備的調試/用戶串口通過MicroUSB連接,連接後,將在PC設備管理器中出現兩個串口,分別用於調試和用戶串口輸入輸出。
安裝USB轉串口驅動
2.2、系統環境
Windows
安裝USB轉串口驅動,在設備管理器中可以看到以下虛擬串口:
macOS
安裝驅動後,在dev目錄下可以看到以下虛擬串口:
Note:
1. 不同的電腦生成的串口號和名稱不一樣,以實際生成的為準。
2. 生成的兩個串口,一個是debug串口(查看運行日誌,只讀),另一個是用戶串口(JavaScript交互式解釋器或其他用途)
2.3、開發工具
下載並瞭解輕應用開發工具
3、打開示例應用
3.1、下載示例應用代碼包
這裡通過一個簡單的LED閃燈的用例來介紹。
通過附件鏈接下載應用代碼包,代碼路徑 amp-examples/board/HaaS600Kit/basic/gpio
LED閃燈用例的代碼目錄如下所示:
-
app
-
├── app.json # 應用與板級配置
-
└── app.js # 用戶代碼
- 查看設備連接狀態
在命令行工具下使用該命令查看設備連接狀態
-
./amp.exe seriallist
-
COM194
-
COM195
Note:如果返回值跟設備管理器中生成的一致,說明設備連接和命令行工具運行正常
命令行工具默認示例代碼運行hello world程序,此處使用LED Blink來作為第一個輕應用示例來介紹。
使用下面的
和
文件替換命令行工具示例代碼目錄下的同名文件,如下:
LED Blink
參考硬件資源介紹,已經在app.json中配置好User LED燈對應的port口為33。
-
{
-
"version": "1.0.0",
-
"io": {
-
"D13": {
-
"type": "GPIO",
-
"port": 33,
-
"dir": "output",
-
"pull": "pulldown"
-
}
-
},
-
"debugLevel": "DEBUG"
-
}
-
var gpio = require('gpio');
-
-
var led = gpio.open({
-
id: 'D13'
-
});
-
-
var vol = 0;
-
-
setInterval(function() {
-
vol = 1 - vol;
-
-
led.writeValue(vol);
-
console.log('gpio: led set value ' + vol);
-
-
vol = led.readValue();
-
console.log('gpio: led get value ' + vol);
-
}, 1000);
4、應用代碼熱更新到目標硬件
將應用代碼拷貝到amp工具的目錄下,然後用戶可以選擇任意一種熱更新方式(本地或在線)下載應用代碼到開發板。
4.1、本地熱更新
- 切換到下載模式
將下載/運行模式切換開關(MODE)撥到DL側,並通過電源選擇開關(POWER SWITCH)斷電重啟,稍等片刻待AMP_STU指示燈間歇性雙閃,如下圖,說明設備已經進入本地下載模式。
- 通過amp工具推送應用代碼到設備
-
./amp.exe seriallist
-
COM194
-
COM195
-
./amp.exe serialput ./app COM194
Note:Windows環境下,熱更新命令的串口號需要大寫。
- 切換到運行模式(RUN)並復位
- 運行效果如圖:
測試使用的LED燈對應的絲印為"USER",然後進入綠色閃爍狀態(如下圖所示)。
4.2、在線熱更新
在已插SIM卡有網絡連接的情況下,也可參考在線應用熱更新推送輕應用代碼到目標設備。
5、硬件資源
5.1、硬件資源介紹
5.2、硬件資源映射表
功能/接口 | PIN/IO/資源映射 | 輕應用 port 配置 |
I2C0 | SDA(IO50) SCL(IO49) | 0 |
ADC0 | A0 |
0 |
ADC1 | A1 |
1 |
UART0 | 默認板級log打印 | 0 |
UART1 |
TXD(IO54) RXD(IO53) |
1 |
UART2 |
TXD(IO52) RXD(IO51) |
2 |
GPIO |
IO51 IO52 IO17 IO16 IO59 IO121 IO54 IO53 IO124 IO122 IO34 IO36 IO35 IO33 IO57 IO0 IO1 |
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 |
SPI0 |
MISO(IO35) MOSI(IO36) SCK(IO33) |
0 |
6、功能
6.1、功能列表(部分)
- 文件系統 FS
- 系統信息 SYSTEM
- 鍵值對存儲 KV
- 電源管理 PM
- 硬件I/O
-
- UART
- GPIO
- I2C
- SPI
- ADC
- DAC
- PWM
- TIMER
- RTC
- WDG
- 網絡協議
-
- UDP
- TCP
- MQTT
- HTTP
- 高階功能
-
- IoT 阿里雲IoT平臺連接組件
- audioplayer 音頻播放組件
6.2、app.json 參考示例
-
{
-
"version": "1.0.0",
-
"io": {
-
"I2C0": {
-
"type": "I2C",
-
"port": 0,
-
"addrWidth": 7,
-
"freq": 400000,
-
"mode": "master",
-
"devAddr": 72
-
},
-
"ADC0": {
-
"type": "ADC",
-
"port": 0,
-
"sampling": 12000000
-
},
-
"ADC1": {
-
"type": "ADC",
-
"port": 1,
-
"sampling": 12000000
-
},
-
"UART1": {
-
"type": "UART",
-
"port": 1,
-
"dataWidth": 8,
-
"baudRate": 9600,
-
"stopBits": 1,
-
"flowControl": "cts",
-
"parity": "none"
-
},
-
"UART2": {
-
"type": "UART",
-
"port": 2,
-
"dataWidth": 8,
-
"baudRate": 115200,
-
"stopBits": 1,
-
"flowControl": "disable",
-
"parity": "none"
-
},
-
"SPI1": {
-
"type": "SPI",
-
"port": 1,
-
"mode": "master",
-
"freq": 3250000
-
},
-
"PWM0": {
-
"type": "PWM",
-
"port": 31,
-
"mode": "master",
-
"freq": 3250000
-
},
-
"PWM1": {
-
"type": "PWM",
-
"port": 32,
-
"mode": "master",
-
"freq": 3250000
-
},
-
"D0": {
-
"type": "GPIO",
-
"port": 51,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D1": {
-
"type": "GPIO",
-
"port": 52,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D2": {
-
"type": "GPIO",
-
"port": 17,
-
"dir": "irq",
-
"pull": "pulldown",
-
"intMode": "both"
-
},
-
"D3": {
-
"type": "GPIO",
-
"port": 16,
-
"dir": "irq",
-
"pull": "pullup",
-
"intMode": "both"
-
},
-
"D4": {
-
"type": "GPIO",
-
"port": 59,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D5": {
-
"type": "GPIO",
-
"port": 121,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D6": {
-
"type": "GPIO",
-
"port": 54,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D7": {
-
"type": "GPIO",
-
"port": 53,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D8": {
-
"type": "GPIO",
-
"port": 124,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D9": {
-
"type": "GPIO",
-
"port": 122,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D10": {
-
"type": "GPIO",
-
"port": 34,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D11": {
-
"type": "GPIO",
-
"port": 36,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D12": {
-
"type": "GPIO",
-
"port": 35,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D13": {
-
"type": "GPIO",
-
"port": 33,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D14": {
-
"type": "GPIO",
-
"port": 57,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D15": {
-
"type": "GPIO",
-
"port": 32,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D16": {
-
"type": "GPIO",
-
"port": 31,
-
"dir": "output",
-
"pull": "pulldown"
-
},
-
"D17": {
-
"type": "GPIO",
-
"port": 76,
-
"dir": "output",
-
"pull": "pulldown"
-
}
-
},
-
"debugLevel": "DEBUG",
-
"repl": "disable"
-
}
6.3、更多示例代碼
- Git 倉庫:
https://gitee.com/alios-things/amp-examples/tree/master/board/HaaS600Kit - 打包下載(需註冊gitee賬號):
https://gitee.com/alios-things/amp-examples/repository/archive/master.zip
如需更多技術支持,可加入釘釘開發者群,或者關注微信公眾號
更多技術與解決方案介紹,請訪問阿里雲AIoT首頁https://iot.aliyun.com/