HaaS100/HaaS EDU¶
1. 环境搭建¶
环境搭建有两种方法:基于源码编译烧录和基于官方固件直接烧录。如果没有特殊需求,建议开发者基于官方固件快速搭建 Python 开发环境。
I. 固件下载和烧录¶
MacOS 环境搭建
MacOS 电脑烧录请确保电脑安装pyserial,安装命令如下:
sudo pip install pyserial第一步:下载对应HaaS硬件设备的官方固件包并解压。
¶ HaaS型号
MacOS 固件下载链接
HaaS 100
HaaS Edu
固件包中包含:固件版本信息,二进制bin文件和烧录脚本。 具体文件信息如下, 其中20210615为版本发布信息,会随发布时间变化:
. ├── 20210615 ├── aos.bin ├── flash_program.py ├── littlefs.bin └── ymodem.py第二步:机器连接电源并通过usb连接到电脑
通常情况下,连接成功以后,设备上会多出来一个/dev/cu.SLAB_USBtoUART(不同的电脑串口设备路径不一样)设备。 执行 pyserial-ports 命令可以查看HaaS设备在当前电脑的串口名称。
第三步:设置串口,执行烧录命令
进入mac_burn目录,执行以下命令烧录:
python flash_program.py --bin=./aos.bin --bin=./littlefs.bin#0xB32000如果是第一次烧录,脚本会查询系统所有的串口节点,并要求用户自己输入当前HaaS设备的节点路径,烧录完成以后,串口路径就被记录到了当前目录的 .config_burn 文件中,内容如下:
{ "chip_haas1000": { "baudrate": "1500000", "binfile": [ "./aos.bin", "./littlefs.bin#0xB32000" ], "serialport": "/dev/cu.SLAB_USBtoUART" }注意
serialport 字段的路径为实际HaaS的串口路径。如果串口路径发生了改变,需要手动修改 serialport 字段的值为实际路径之后再进行烧录。
输入下面的命令查询当前串口路径:
pyserial-ports如果烧录过程中出现如下提示,请按下板子上复位按钮(最外侧远离电源的黑色按钮),继续烧录。
"Please reboot the board manually"
烧录完成以后,可以通过串口工具连接机器进入命令行。推荐使用picocom连接,需要退出串口的时候,请先按Ctrl+a, 再按Ctrl+q。
picocom -b 1500000 /dev/cu.SLAB_USBtoUART
/dev/cu.SLAB_USBtoUART
是 HaaS 设备的串口路径,若提示路径不存在,请修改为自己的真实路径。Windows环境搭建
第一步:下载对应HaaS硬件设备的官方固件包并解压。
¶ HaaS型号
Windows 固件下载链接
HaaS 100
HaaS Edu
刷机包解压后,文件信息如下。其中20210615为版本发布信息,会随发布时间变化:
. ├── 20210615 ├── CheckComfirm.ui ├── Warning.ui ├── Wifi_Download.ui ├── dld_cfg ├── dld_main ├── haas1000_dld_cfg.yaml ├── haas1000_write_flash_main.exe ├── images ├── ota_bin ├── productline_cfg.xml ├── productline_config.ui ├── productline_config_en.ui ├── programmer2001.bin ├── qt.conf ├── qt4_plugins ├── setportdlg.ui ├── setportdlg_en.ui └── setupdlg.ui第二步:机器连接电源,并通过usb连接到电脑
第三步:进入write_flash_gui目录,双击运行haas1000_write_flash_main,出现如下烧录软件的主界面
第四步:点击Port Config中的list, 选择对应的串口设备后点击开始按钮, 按键复位设备 后即开始烧录。
II. 固件编译¶
详细的源码编译环境搭建方法,可以参考 HaaS100快速开始 。
注意选择正确的解决方案和开发板
选择解决方案: micropython示例
选择开发板: haas100 或 haaeduk1
alios-studio插件烧录注意事项
默认情况下,点击插件的烧录按钮只会烧录您当前编译的aos.bin。对于Python轻应用而言,需要手动修改一下代码才能同时烧录littlefs.bin。
取消
hardware/chip/haas1000/package.yaml
文件中以下代码段的注释:program_data_files: - filename: release/write_flash_tool/ota_bin/littlefs.bin address: 0xB32000
2. 快速验证¶
开机默认会启动之前烧录进去的程序,打开串口工具,选择对应的串口设备,设置波特率为1500000 并连接。
Python轻应用默认支持两种运行模式:交互式 和 文件执行,在串口下输入不同的命令进入不同的模式
命令行输入
python
进入交互模式,在交互模式输入代码就能看到执行结果。键盘按下ctrl+d 退出交互模式:python
命令行输入python /data/python-apps/driver/led/main.py,执行LED 跑马灯程序
python /data/python-apps/driver/led/main.py以下是HaaS100上跑马灯的代码示例,如果要运行HaaSEDU, 请注意用如下代码 替换 第7行。更多示例请参考 参考案例 界面。
leds=("led_r", "led_g", "led_b")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # -*- coding: UTF-8 -*- import utime from driver import GPIO # 初始化GPIO 类 gpio = GPIO() leds=("led1", "led2", "led3", "led4", "led5") for i in range(5): for led in leds: #open 函数支持的参数列表: led1, led2, led3, led4, led5 gpio.open(led) #点亮led gpio.write(0) utime.sleep_ms(200) #熄灭led gpio.write(1) utime.sleep_ms(200) gpio.close()data目录的文件默认内容在:hardware/chip/haas1000/prebuild/data, 这里的文件和目录默认会编译打包到
hardware/chip/haas1000/release/release_bin/littlefs.bin
。若需更新需要重新烧录littlefs.bin文件。除了/data目录之外,也可以执行/sdcard 目录下的python程序。
python /sdcard/led_test.py