HaaS100/HaaS EDU

haas100介绍

1. 环境搭建

环境搭建有两种方法:基于源码编译烧录和基于官方固件直接烧录。如果没有特殊需求,建议开发者基于官方固件快速搭建 Python 开发环境。


I. 固件下载和烧录

  • MacOS 环境搭建

    MacOS 电脑烧录请确保电脑安装pyserial,安装命令如下:

    sudo pip install pyserial
    

    第一步:下载对应HaaS硬件设备的官方固件包并解压。

    MacOS HaaS 固件包

    HaaS型号

    MacOS 固件下载链接

    HaaS 100

    HaaS 100 Mac 固件

    HaaS Edu

    HaaS Edu Mac 固件

    固件包中包含:固件版本信息,二进制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硬件设备的官方固件包并解压。

    Windows HaaS 固件包

    HaaS型号

    Windows 固件下载链接

    HaaS 100

    HaaS 100 Win 固件

    HaaS Edu

    HaaS Edu Win 固件

    刷机包解压后,文件信息如下。其中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,出现如下烧录软件的主界面

    win烧录界面

    第四步:点击Port Config中的list, 选择对应的串口设备后点击开始按钮, 按键复位设备 后即开始烧录。

II. 固件编译

详细的源码编译环境搭建方法,可以参考 HaaS100快速开始

注意选择正确的解决方案和开发板

选择解决方案: micropython示例

选择开发板: haas100haaeduk1

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轻应用交互式运行结果

  • 命令行输入python /data/python-apps/driver/led/main.py,执行LED 跑马灯程序

    python /data/python-apps/driver/led/main.py
    
Python跑马灯运行结果

以下是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