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轉串口驅動
- Windows XP/Vista
- Windows7/8/8.1
- Windows10
- MacOS
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來作為第一個輕應用示例來介紹,
使用下面的app.js 和 app.json檔案替換命令列工具示例代碼目錄下的同名檔案,如下:
LED Blink app.json
參考硬體資源介紹,已經在app.json中配置好User LED燈對應的port口為33,
{
"version": "1.0.0",
"io": {
"D13": {
"type": "GPIO",
"port": 33,
"dir": "output",
"pull": "pulldown"
}
},
"debugLevel": "DEBUG"
}
在app.js中的用例邏輯如下:首先根據LED燈的配置創建一個GPIO實體,然后啟動定時器,周期性的通過GPIO讀寫介面開關LED燈,并讀取開關狀態,
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/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/246919.html
標籤:其他
上一篇:流水燈控制
