HaaS 506¶
2 功能介绍¶
HaaS506 提供锂电池供电,多功能按键、音频采集与播放,RS-232和RS-485接口,以及I2C和SPI等多个外设,具有高速率、低延时等特点。
HaaS506 广泛应用于共享、工业控制、工业传感器、水文水利的检测、港口物流跟踪、车联网、智能电网、4G执法仪、视频安防等对于宽带速率要求高, 同时对稳定性要求更高的物联网场景。
更多关于HaaS506的硬件介绍,请参考文章:HaaS506硬件规格
3 环境搭建¶
I. 固件下载和烧录¶
硬件连接
环境搭建
第一步:下载对应HaaS硬件设备的官方固件包并解压(HaaS506只支持windows烧录)。
¶ 文件名
下载链接
Windows 固件
USB烧录驱动
USB转串口驱动
烧录工具
固件包中包含:固件版本信息,二进制bin文件和烧录脚本,具体文件信息如下:
.HaaS 固件 ├── 20210719 └── M601.pac .USB烧录驱动 ├── 20210708 ├── DriversForWin10 # Windows10 驱动包 ├── DriversForWin78 # Windows7/8 驱动包 ├── DriverUninstall32.exe └── DriverUninstall64.exe # 64位系统安装文件 .USB转串口驱动 ├── 安装失败解决办法 ├── readme ├── SETUP # 驱动安装文件 .烧录工具 ├── Bin └── UpgradeDownload.exe ├── Doc ├── Readme.txt ├── Release notes.xls第二步:连接开发板,安装驱动和固件烧录工具
1、使用USB线,将开发板和pc进行连接
2、安装USB烧录驱动:解压USB烧录驱动文件,选择对应操作系统的.exe文件进行安装。
3、固件烧录工具无需安装,解压直接使用.exe文件即可
第三步:烧录
第四步:连接USB 串口,查看系统Log
使用USB TO TTL 和原装杜邦线,将设备uart口和 pc 进行连接
USB串口连接注意事项
设备端RX接 USB TO TTL 模块的TX
设备端TX接 USB TO TTL 模块的RX
设备端GND接 USB TO TTL 模块的GND
3.3v 不要连接
USB 串口除了用来查看log,repl交互之外,HaaS Studio 推送文件也是使用的这个接口
按下RST复位键后系统启动,重启以后,设备管理器显示设备列表如下:
如果找不到USB转串口设备,需要安装USB转串口的驱动: 解压 CH340.rar文件,双击SETUP.exe文件进行安装
其中USB to Uart 对应的串口设备就是HaaS506 本地轻应用更新和查看log的端口。使用串口工具连接串口,波特率是115200,看到下面的信息则表明启动正常。
>>> >>> MicroPython 1a02b3b-dirty on 2021-07-29, 11:24:14; M601 with 8910 Type "help()" for more information.具体按键的位置,参考下面 HaaS506 系统框图:
4 快速验证¶
开机默认会启动之前烧录进去的程序,打开串口工具,选择 USB TO TTL 串口设备,设置波特率为 115200 并连接。
Python轻应用默认支持两种运行模式:交互式 和 文件执行。系统开机默认执行/data/pyamp/main.py 文件, 如果文件不存在或者文件执行退出,都会进入repl 模式。
2) 在交互模式下输入 execfile(‘filepath’) 可以执行Python文件。 假设我们想执行 /data/pyamp/ 路径下的 main.py文件,输入下面的命令即可:
execfile('/data/pyamp/main.py')REPL环境下查看文件信息
不同于CLI模式下的文件查看命令,REPL模式下需要使用uos下的listdir函数查看:
>>> import uos >>> uos.listdir('/data') ['pyamp'] >>> uos.listdir('/data/pyamp') ['main.py'] >>>
以下是跑马灯的代码示例,更多示例请参考 参考案例 界面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # -*- coding: UTF-8 -*- # This is a sample Python script. import utime from driver import GPIO print("start led test") gpio = GPIO() leds=("led1", "led2", "led3", "led4", "led5") for i in range(5): for led in leds: gpio.open(led) gpio.write(1) utime.sleep_ms(200) gpio.write(0) utime.sleep_ms(200) gpio.write(1) utime.sleep_ms(200) gpio.close() print("end led test")
5 编程接口能力¶
HaaS506除了支持全量的原生接口外,还提供了丰富的外设及物联网接口。各个接口的详细使用请参考 编程接口。
具体支持能力如下:
¶ 基础库
支持能力
cmath
支持
math
支持
uarray
支持
ubinascii
支持
ucollections
支持
uerrno
支持
uhashlib
支持
uheapq
支持
uio
支持
ujson
支持
uos
支持
ure
支持
uselect
支持
usocket
支持
ussl
支持
ustruct
支持
usys
支持
utime
支持
uzlib
支持
_thread
支持
¶ 轻应用特定库
支持能力
btree
支持
framebuf
暂不支持
machine
暂不支持
micropython
支持
ucryptolib
支持
urandom
支持
¶ Driver库
支持能力
BoardConfig
支持
UART
支持
GPIO
支持
ADC
支持
DAC
支持
PWM
支持
I2C
支持
SPI
支持
TIMER
支持
KV
支持
¶ 高级组件库
支持能力
iot
支持
minicv
暂不支持
OSS
暂不支持
audio
暂不支持
blt_netconfig
支持
http
支持
mqtt
支持
network
支持
modbus
支持
ulog
支持
ota
支持
6 参考案例¶
以下HaaS506的参考案例,都可以通过 IDE 下载到设备中运行。为了节约流量,目前HaaS506只支持本地更新。