《物联网硬件开发基础及HaaS EDU轻应用初体验》| 学习笔记

简介: 快速学习《物联网硬件开发基础及HaaS EDU轻应用初体验》

开发者学堂课程【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 -内外兼修的物联网学习利器

image.png 

源代码链接:

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

硬件:

image.png

 

HaaS Python 开发环境搭建

image.png

参考链接:

快速搭建 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

固件下载-安装插件-烧录固件-测试命令-测试脚本

image.png

相关命令:

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 

实战案例:开发温湿度上云

image.png

 

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

物联网平台操作

创建产品-定义物模型-创建设备-记录设备信息

image.png

物联网平台操作-创建产品

1.登录阿里云官网

2.进入物联网平台:产品-物联网 loT -企业物联网

3.进入公共示例:进入控制台-公共示例

4.创建产品和设备

Python应用 – eduk1_temp_humi 案例

填入设备信息:

productKey

productSecret

deviceName

deviceSecret

Python 案例:开发板温湿度上云

image.png

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
25天前
|
存储 传感器 物联网
新技术驱动未来:区块链、物联网、虚拟现实的蓬勃发展与创新应用
随着科技的迅猛发展,新兴技术如区块链、物联网、虚拟现实等正成为当今社会关注的焦点。本文将探讨这些新技术的发展趋势和广泛应用场景,展示它们在不同领域中的潜力与创新价值。
|
4月前
|
物联网 BI
PCB设计及制作-数字钟-物联网应用系统设计项目开发
PCB设计及制作-数字钟-物联网应用系统设计项目开发
40 0
|
4月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
51 0
|
4月前
|
物联网
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
STC51单片机-控制LED闪亮的仿真-物联网应用系统设计
39 0
|
4月前
|
物联网 人机交互 开发工具
STC51单片机-阵列LED显示-物联网应用系统设计项目开发
STC51单片机-阵列LED显示-物联网应用系统设计项目开发
77 0
|
20天前
|
供应链 监控 物联网
新技术浪潮:区块链、物联网与虚拟现实的发展趋势与应用探讨
在当今数字化时代,新兴技术如区块链、物联网和虚拟现实正以惊人的速度改变着我们的生活和工作方式。本文将探讨这些新技术的发展趋势和应用场景,分析它们在不同领域中的潜力和影响。
16 4
|
22天前
|
供应链 物联网 5G
新兴科技探索:区块链、物联网、虚拟现实的未来应用前景
在当今数字化快速发展的时代,新兴技术如区块链、物联网、虚拟现实等正逐渐改变我们的生活方式和商业模式。本文将深入探讨这些新技术的发展趋势和多样化应用场景,展望其在未来的巨大潜力。
|
24天前
|
物联网 区块链 vr&ar
新兴科技驱动未来发展:区块链、物联网和虚拟现实的趋势与应用探讨
随着科技的不断进步,新兴技术如区块链、物联网和虚拟现实正日益成为各行业关注的焦点。本文将就这些新兴技术的发展趋势和应用场景展开探讨,从而揭示它们在未来社会发展中的重要作用。
14 3
|
25天前
|
安全 物联网 区块链
新兴科技引领未来发展:探索区块链、物联网、虚拟现实的趋势与应用
在当今数字化飞速发展的时代,新兴技术如区块链、物联网、虚拟现实正逐渐成为引领未来发展的关键驱动力。本文将深入探讨这些技术的发展趋势和多样化应用场景,揭示它们对各行业的革新与影响。
|
27天前
|
安全 物联网 区块链
新技术引领未来:区块链、物联网、虚拟现实的发展与应用探究
在当今数字化时代,新兴技术如区块链、物联网和虚拟现实正日益成为引领未来发展的关键。本文将深入探讨这些技术的发展趋势以及广泛应用的场景,揭示它们对各行业的革新和影响。

相关产品

  • 物联网平台