haas506 2.0开发教程-board.json
最新案例教程点击下方链接跳转,CSDN已停止更新
点
击
跳
转
点击跳转HaaS506官方最新案例
B站haas开发教程B站教学视频链接
1.硬件图
2.硬件端口配置文件(board.json)详解
board.json文件内容组成部分
配置项目 | 类型 | 是否必填 | 描述 |
---|---|---|---|
version | String | 否 | Iot轻应用版本号 |
io | Object | 是 | 硬件接口配置 |
debugLevel | String | 否 | 设置输出日志等级,默认ERROR |
repl | String | 否 | 开启/关闭repl口,默认使用TTL作为repl口 |
replPort | int | 否 | 配置repl口前需要开启repl口,0代表TTL,1代表RS232,2代表RS485,3代表USB |
(1) version
填入相应的版本号即可
(2)io
io-gpio配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | GPIO | 描述该对象是GPIO类型 |
port | int | - | 配置端口值,端口值与硬件接口一一对应 |
dir | String | output | 配置引脚方向,output为gpio的输出模式 |
- | String | input | 配置引脚方向,input为gpio的输入模式 |
- | String | irq | 配置引脚方向, irq为gpio的中断模式 |
- | String | analog | 配置引脚方向,analog为模拟 IO 模式 |
pull | String | pullup | 配置引脚电阻,设置为上拉模式 |
- | String | pulldown | 配置引脚电阻,设置为下拉模式 |
- | String | opendrain | 配置引脚电阻,设置为开漏模式 |
intMode | String | rising | 配置引脚中断模式,设置为上升沿触发 |
- | String | falling | 配置引脚中断模式,设置为下降沿沿触发 |
- | String | both | 配置引脚中断模式,设置为边沿触发 |
io-uart配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | UART | 描述该对象是UART类型 |
port | int | 0 | 配置串口类型,0是TTL |
- | int | 1 | 配置串口类型,1是RS232 |
- | int | 2 | 配置串口类型,2是RS485 |
dataWidth | int | 5/6/7/8 | 配置串口数据宽度值,默认8bits |
baudRate | int | 9600/115200等 | 配置串口波特率值,默认为115200 |
stopBits | int | 1 | 配置串口停止位,默认为 1 |
flowControl | String | disable | 配置流控,默认 disable |
parity | String | even | 配置奇偶校验, even是偶校验 |
- | String | odd | 配置奇偶校验, odd是奇校验 |
- | String | none | 配置奇偶校验, none是不校验 |
io-adc配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | ADC | 描述该对象是ADC类型 |
port | int | 0 | 配置ADC端口,0是ADC0 |
- | int | 1 | 配置ADC端口,1是ADC1 |
sampling | long | 12000000 | 配置ADC采样率,默认为12000000 |
io-i2c配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | I2C | 描述该对象是I2C类型 |
port | int | 1 | 配置I2C端口,默认为1;1硬件i2c,2软件i2c |
addrWidth | int | 7 | 配置 I2C 总线地址宽度,默认 7 |
freq | long | 100000 | 配置 I2C 总线频率,100000为低速 |
- | long | 400000 | 配置 I2C 总线频率,400000 为中速 |
- | long | 3400000 | 配置 I2C 总线频率,3400000为高速 |
mode | String | master/slave | 配置 I2C 总线主从模式,默认 master |
devAddr | int | self-defined | 配置 I2C 从设备地址,必须为10进制 |
io-spi配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | SPI | 描述该对象是SPI类型 |
port | int | 0 | 配置SPI端口,默认为0 |
mode | String | master | 配置 SPI 总线主从模式,master为主机 |
- | String | slave | 配置 SPI 总线主从模式,slave为从机 |
freq | long | <100000000 | 配置 SPI 总线频率,默认 2000000 |
io-wdt配置
属性字段 | 数据类型 | 属性值 | 必选项 | 字段说明 |
---|---|---|---|---|
type | string | WDT | 描述该对象是WDT类型 | |
timeout | int | 3 | 否 | 配置WDT的超时时间(秒),默认3秒,超时没有喂狗会导致系统重启 |
io-modbus配置
属性字段 | 数据类型 | 属性值 | 必选项? | 字段说明 |
---|---|---|---|---|
type | string | MODBUS | 是 | 节点类型,表明当前节点为Modbus节点,固定设置为MODBUS |
mode | int | 0、1 | 是 | Modbus物理通道类型,0表示串口,1表示TCP以太网。目前仅支持串口通道 |
port | int | 0、1 等 | 否 | Modbus采用串口通信时的串口号 |
baudrate | int | 9600、115200等 | 否 | Modbus采用串口通信时的串口波特率,默认为 9600 |
timeout | int | 200, 1000等 | 否 | Modbus采用串口通信时的超时参数,单位是毫秒(ms),默认为200ms |
parity | int | 0、1、2 | 否 | 奇偶校验设置,默认 0 |
(3)debugLevel
等级 | 描述 |
---|---|
DEBUG | 指出细粒度信息事件对调试应用程序是非常有帮助的 |
INFO | 消息在粗粒度级别上突出强调应用程序的运行过程 |
WARN | 表明会出现潜在错误的情形 |
ERROR | 指出虽然发生错误事件,但仍然不影响系统的继续运行 |
FATAL | 指出每个严重的错误事件,将会导致应用程序的退出 |
(4)repl
{
...
#"repl":"disable" 默认使用ttl作为串口输出信息
"repl":"enable" #表示启用重定向功能,即可以指定使用哪个串口作为repl口。
"replPort":1 #表示使用RS232作为repl口进行交互式输入
}
repl重定向功能的好处:
- 可以指定使用哪个串口
- 所指定的那个串口,不需要 from driver import
UART,然后再使用uart.write(“xxx”)写打印信息,可以直接用print(“xxx”)打印消息。 - 可以直接进行交互式编程
repl重定向功能的坏处:
- 使用重定向功能,会将某个类型的串口变为repl口,进行交互式输入和编程。同时,该类型的串口无法进行设备间的数据的收发。即不能使用uart.write(),uart.read()。
3.board.json模板
{
"name": "haas506",
"version": "2.0.0",
"io": {
"ADC0": {
"type": "ADC",
"port": 0,
"sampling": 12000000
},
"ADC1": {
"type": "ADC",
"port": 1,
"sampling": 12000000
},
"ADS1115": {
"type": "I2C",
"port": 1,
"addrWidth": 7,
"freq": 400000,
"mode": "master",
"devAddr": 72
},
"mpu6050": {
"type": "I2C",
"port": 1,
"addrWidth": 7,
"freq": 400000,
"mode": "master",
"devAddr": 104
},
"KEY1": {
"type": "GPIO",
"port": 44,
"dir": "irq",
"pull": "pullup",
"intMode": "rising"
},
"led1": {
"type": "GPIO",
"port": 0,
"dir": "output",
"pull": "pulldown"
},
"led2": {
"type": "GPIO",
"port": 7,
"dir": "output",
"pull": "pulldown"
},
"led3": {
"type": "GPIO",
"port": 9,
"dir": "output",
"pull": "pulldown"
},
"led4": {
"type": "GPIO",
"port": 6,
"dir": "output",
"pull": "pulldown"
},
"led5": {
"type": "GPIO",
"port": 8,
"dir": "output",
"pull": "pulldown"
},
"gpio31":{
"type":"GPIO",
"port": 31,
"dir": "input",
"pull":"pullup"
},
"SPI0": {
"type": "SPI",
"port": 0,
"mode": "master",
"freq": 2000000
},
"serial1":{
"type":"UART",
"port":0,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
},
"serial2":{
"type":"UART",
"port":1,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
},
"serial3":{
"type":"UART",
"port":2,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
}
},
"debugLevel": "ERROR",
"repl":"enable",
"replPort":0
}