HaaS100快速开始
HaaS100硬件规格
- 电源适配器供电
- 使用MicroUSB数据线连接开发板与PC
Windows
安装USB串口驱动,在设备管理器中可以看到以下串口:
macOS
安装USB串口驱动,在dev目录下可以看到以下串口:
crw-rw-rw- 1 root wheel 18, 4 9 21 16:23 /dev/tty.SLAB_USBtoUART
- 获取代码
git clone https://github.com/alibaba/AliOS-Things.git -b dev_3.1.0_haas
- 固件编译
aos make amp_app@haas100 -c config
aos make
- 固件烧录
HaaS100快速开始
下载命令行工具。
这里通过一个简单的LED闪灯的用例来介绍。
下载应用代码包,LED闪灯用例的代码目录如下所示:
app
├── app.json # 应用与板级配置
└── app.js # 用户代码
参考LED灯链接接口信息,本示例中LED3对应GPIO端口为36,所以在app.json中配置好LED3对应的port口为36。
{
"version": "1.0.0",
"io": {
"LED3": {
"type": "GPIO",
"port": 36,
"dir": "output",
"pull": "pulldown"
}
},
"debugLevel": "DEBUG"
}
在app.js中的用例逻辑如下:首先根据LED灯的配置创建一个GPIO实例,然后启动定时器,周期性的通过GPIO读写接口开关LED灯。
var gpio = require('gpio');
var led3 = gpio.open({
id: 'LED3',
success: function() {
console.log('gpio: open led success')
},
fail: function() {
console.log('gpio: open led failed')
}
});
var vol = 0;
setInterval(function() {
vol = 1 - vol;
led3.writeValue(vol);
console.log('led set value ' + vol);
}, 1000);
将应用代码拷贝到amp工具的目录下,然后用户可以选择任意一种热更新方式(本地或在线)下载应用代码到开发板。
- 设置单板到下载模式
将GPIO47电平拉高(跟3v3短接)并复位,设备进入本地下载模式,此时LED1指示灯间歇性双闪。本地更新通过串口将应用下载到设备中,因此需要一个USB转TTL模块,如图所示跟设备UART2连接。
- 通过amp工具完成本地热更新
./amp.exe seriallist
COM77
./amp.exe serialput ./app COM77
Note:此处的串口号是USB转TTL模块的串口,注意不是debug的串口号。
- 运行应用示例
- 更新完成后自动执行应用
应用示例运行后,可以观察到LED3灯按照每秒钟一次的频率闪烁。
在线热更新不涉及单板模式的切换,可直接参考应用热更新完成,更新完成后自动运行应用示例,可以观察到LED3灯按照每秒钟一次的频率闪烁。
排针接口
板载LED灯序号图
硬件资源映射表
功能/接口 |
PIN/IO/资源映射 |
轻应用 port 配置 |
I2C1 |
SDA2 SCL2 |
0 |
I2C2 |
SDA3 SCL3 |
1 |
ADC0 |
ADC0 |
0 |
ADC1 |
ADC1 |
1 |
ADC2 |
ADC2 |
2 |
PWM0 |
PWM0 |
0 |
PWM1 |
PWM1 |
1 |
PWM2 |
PWM2 |
2 |
PWM3 |
PWM3 |
3 |
UART0 |
默认板级log打印 |
0 |
UART2 |
UART2_TXD UART2_RXD |
2 |
GPIO |
GPIO41 GPIO40 GPIO47 GPIO46 |
33 32 39 38 |
LED |
LED1 LED2 LED3 LED4 LED5 |
40 41 36 35 34 |
SPI |
SPI0_MISO SPI0_MOSI SPI0_CLK SPI0_CS0 |
0 |
功能列表(部分)
文件系统 FS
系统信息 SYSTEM
键值对存储 KV
硬件I/O
UART
GPIO
I2C
SPI
ADC
PWM
网络协议
UDP
TCP
MQTT
HTTP
高阶功能
IoT 阿里云IoT平台连接组件
{
"io":{
"D1":{
"type":"GPIO",
"port":32,
"dir":"output",
"pull":"pulldown"
},
"D2":{
"type":"GPIO",
"port":33,
"dir":"output",
"pull":"pulldown"
},
"D3":{
"type":"GPIO",
"port":38,
"dir":"output",
"pull":"pulldown"
},
"D4":{
"type":"GPIO",
"port":39,
"dir":"output",
"pull":"pulldown"
},
"LED1":{
"type":"GPIO",
"port":40,
"dir":"output",
"pull":"pulldown"
},
"LED2":{
"type":"GPIO",
"port":41,
"dir":"output",
"pull":"pulldown"
},
"LED3":{
"type":"GPIO",
"port":36,
"dir":"output",
"pull":"pulldown"
},
"LED4":{
"type":"GPIO",
"port":35,
"dir":"output",
"pull":"pulldown"
},
"LED5":{
"type":"GPIO",
"port":34,
"dir":"output",
"pull":"pulldown"
},
"I2C1":{
"type":"I2C",
"port":0,
"addrWidth":7,
"freq":100000,
"mode":"master",
"devAddr":118
},
"I2C2":{
"type":"I2C",
"port":0,
"addrWidth":7,
"freq":100000,
"mode":"master",
"devAddr":118
},
"ADC0":{
"type":"ADC",
"port":0,
"sampling":12000000
},
"ADC1":{
"type":"ADC",
"port":1,
"sampling":12000000
},
"ADC2":{
"type":"ADC",
"port":2,
"sampling":12000000
},
"PWM0":{
"type":"PWM",
"port":0
},
"PWM1":{
"type":"PWM",
"port":1
},
"PWM2":{
"type":"PWM",
"port":2
},
"PWM3":{
"type":"PWM",
"port":3
},
"UART2":{
"type":"UART",
"port":2,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
},
"SPI0":{
"type":"SPI",
"port":0,
"mode":"master",
"freq":3250000
}
},
"debugLevel":"DEBUG"
}
如需更多技术支持,可加入钉钉开发者群
更多轻应用的详细使用文档请参考:https://help.aliyun.com/document_detail/174810.html
更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/