开发者学堂课程【HaaS 物联网云端一体低代码开发课程:《物联网硬件开发基础及 HaaS EDU 轻应用初体验》 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/810/detail/13909
《物联网硬件开发基础及 HaaS EDU 轻应用初体验》
HaaS EDU 轻应用的操作与应用
HaaS EDU K1 :是集成阿里专用高性能 MCU-HaaS1000 ,支持双频 2.4G/5G WI-FI,BT5.0/BLE5.0 ,丰富的传感器,包含9轴运动传感器,磁力计,温湿度,大气压,光照,声音传感器。双屏配置,适应各种场景,自带1200 mA 可充电锂电池,可脱离外接电源使用,标配 type-c 接口,充电/烧录/串口调试一口搞定
HaaS 轻应用的优点
便捷的开发调试方法(免编译,交互式执行)
硬件驱动开发和外设控制能力
阿里云物联网平台能力
AI 能力(支持达摩院150+视觉AI算法)
运行环境
硬件: HaaS 开发板
软件: AliOSThings 3.3
HaaS EDU K1 -内外兼修的物联网学习利器
源代码链接:
Gitee ->https://gitee.com/alios-things/AliOS-Things/tree/rel 3.3.0/
Github ->https://github.com/alibaba/AliOS-Things/tree/rel 3.3.0
硬件:
HaaS Python 开发环境搭建
参考链接:
快速搭建 Python 开发环境:
https://blog.cs.net/HaaSTech/article/details/118281822
文档库:
http://g.alicdn.com/HaaSAI/PythonDoc/quickstart/quickstar haas100_edu.html#
HaaS 技术社区:https://blog.csdn.net/HaaSTech
固件下载-安装插件-烧录固件-测试命令-测试脚本
相关命令:
1.MAC 烧录命令:python flash_program.py –bin=./aos.bin –bin=./littlefs.bin#0xB32000
2.串口 :picocom -b 1500000 /dev/cu.usbserial-AU03ON5E
3.联网:python /data/python-apps/wifi/main.py haas-open 12345678
编译轻应用运行固件
AliOS Things Mini Program (AMP) 是一套运行在资源受限设备上的轻量级应用软件框架。
位于
C:\Users\Administrator\AliOS-Things\application\example\amp_app 文件夹下
通过 cd 命令到 alios-things 目录下
cd alios-things
运行配置命令
aos make amp-app@haas100 -c config
编译
aos make
实战案例:开发温湿度上云
HaaS 轻应用( Python )开发环境搭建
验证:
开机默认会启动之前烧录进去的程序,打开串口工具,选择对应的串口设备,设置波特率为1500000 并连接。
Python 轻应用默认支持两种运行模式:交互式 和 文件执行,在串口下输入不同的命令进入不同的模式。
命令行输入 python 进入交互模式,在交互模式输入代码就能看到执行结果。键盘按下 ctrl+d 退出交互模式:
Python
命令行输入python /data/python-apps/driver/led/main.py
,执行 LED 跑马灯程序
python /data/python-apps/driver/led/main.py
IDE 安装-插件安装-编写脚本-运行脚本
# -*- 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()
app.js 代码
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);
app.json 代码
{
"version": "1.0.0",
"io": {
"LED3": {
"type": "GPIO",
"port": 36,
"dir": "output",
"pull": "pulldown"
}
},
"debugLevel": "DEBUG"
}
除了 /data 目录之外,也可以执行 /sdcard 目录下的 python 程序
python /sdcard/led_test.py
固件下载和烧录
MacOS 环境搭建
MacOS 电脑烧录确保电脑安装pyserial,安装命令:
sudo pip install pyserial
固件包中包含:
固件版本信息,二进制 bin 文件和烧录脚本。 具体文件信息如下, 其中20210615 为版本发布信息,会随发布时间变化:.
├── 20210615
├── aos.bin
├── flash_program.py
├── littlefs.bin
└── ymodem.py
1. 机器连接电源并通过 usb 连接到电脑
通常情况下,连接成功以后,设备上会多出来一个/ dev/cu.SLAB_USBtoUART (不同的电脑串口设备路径不一样)设备。 执行 pyserial-ports 命令可以查看 HaaS 设备在当前电脑的串口名称。
2. 设置串口,执行烧录命令
进入 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 环境搭建
1. 下载对应 HaaS 硬件设备的官方固件包并解压
刷机包解压后,文件信息如下。其中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
2. 机器连接电源,并通过 usb 连接到电脑
3. 进入 write_flash_gui 目录,双击运行
haas1000_write_flash_main,出现烧录软件的主界面
4. 点击 Port Config 中的 list, 选择对应的串口设备后点击开始按钮, 按键复位设备 后即开始烧录
固件编译
注意选择正确的结局方案和开发板
选择解决方案: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
物联网平台操作
创建产品-定义物模型-创建设备-记录设备信息
物联网平台操作-创建产品
1.登录阿里云官网
2.进入物联网平台:产品-物联网 loT -企业物联网
3.进入公共示例:进入控制台-公共示例
4.创建产品和设备
Python应用 – eduk1_temp_humi 案例
填入设备信息:
productKey
productSecret
deviceName
deviceSecret
Python 案例:开发板温湿度上云