本人专业为物联网工程,目前大四上。
本次进行的实验为最基础的温湿度轻应用开发,下面会简单讲一下实验步骤以供参考。
一。实验环境安装配置
1、熟悉 HaaS EDU 硬件构成及 HaaS 开发板固件烧录
图1 haas固件文件夹截图
(2) 打开解压完成的 haas1000_write_flash_main.exe 应用程序,同时通过USB接口将
HaaS 开发板连接至电脑,并打开 HaaS 开发板的电源开关。连接时首先打开config,使用list导入串口位置,com setting界面如图所示。
图2 com setting界面
之后点击start all,按下haas开发板的reset按件烧录,烧录截图如下。
图3 烧录截图
(4)确认电脑上是否已安装 python 最常用的串口库 pyserial,若没有则需要进行安装。使用win+R输入cmd打开命令行,在电脑上输入指令pip list查看是否有pyserial库,若没有则使用pip install pyserial进行下载。查看截图如下。
图4 使用cmd查看pyserial库
2、搭建 HaaS 轻应用开发环境
(1) 安装 Visual Studio Code 及 Haas Studio 插件(注意:Windows 系统下请以管理员身
份运行 VS Code,避免因为 python 权限问题导致创建失败)。安装时在vs中打开扩展界面,搜索haas studio下载安装,安装成成功截图如下。
图5 安装成功haas studio后vs截图
(2)Terminus 串口工具安装及设备 Wi-Fi 连接配置。下载安装成功后,打开串口界面,选择本机连接接口(本机为com5),选择波特率为15000,选择界面如下。
图6 串口连接界面选择
按下haas开发板的reset按键即可出现log,使用ctrl+d退出microPython,enter可进入(ash:/data)#目录,进入目录截图如图所示。
图7进入目录截图
在(ash:/data)#目录下输入指令python /data/python-apps/wifi/main.py SSID PASSWORD
其中SSID和PASSWORD分别是当前WiFi的名称和密码,当出现connectWiFi finished即表明连接成功,连接成功截图如图所示。
图8 连接wifi成功
二。具体实验步骤
1、在阿里云(https://www.aliyun.com/)上注册账户,进入物联网云平台的公共实例页
面,点击创建产品界面,选择自定义品类,直连设备,连接方式wifi,数据格式ICA标准数据格式,创建产品页面如下。
图9创建产品界面
点击前往定义物模型,点击编辑草稿,点击添加自定义功能,将本次实验需要的温度,湿度指标添加属性功能后点击功能发布,编辑草稿完成界面如图所示。
图10 编辑草稿界面
之后到设备栏处点击添加设备,进行基础设定,选择产品及输入devicename,点击确认之后即可完成设备创建。
2.在 VS Code 环境下创建一个温湿度云端应用项目,打开haas界面下的python轻应用开发,选择解决方案为eduk1_temp_humi,硬件类型为haas Edu K1,即可完成项目创建.修改main的代码中三元组信息,将云端设备的三元组信息填入,同时修改代码中的wifi_connect==true;保存文件之后点击编译烧录,烧录过程中确保Terminus串口工具断开,防止占用串口,修改代码如下。
三元组信息
productKey = "ge3gjx8PCG2"
productSecret = "3O7Woo0lE42Y60c4"
deviceName = "temp_humi_device_001"
deviceSecret = "f496bc3274c9f3fedb2bfa68a799b19c"
烧录成功界面如图所示。
图11 烧录成功
3、重启 HaaS EDU,温湿度云端应用系统则自动将 HaaS EDU 设备中温湿度传感器采集
的温湿度数据上传到阿里物联网云平台中,并以约定的方式进行展示。
图12 上传云端成功,物联网平台设备状态转为在线
图13 温湿度上传云端实时结果
图14 haas设备显示结果
1.3问题与解决方法
1.问题:烧录文件时一直显示status=5,haas设备没办法正常上传云端。
分析:代码文件main.py中需要进行修改wifi_connected==5,该问题导致一致循环在判断。
解决方案:将代码文件中对应部分修改为如下内容。
while True:
if wifi_connected == True:
break
else:
wifi_connected = nm.getStatus()
time.sleep(0.5)
2.问题:在进行烧录时显示com5已被占用,没法完成烧录。
分析:同时打开了terminus串口工具,由于串口工具占用导致烧录时重启无效。
解决方案:烧录时关闭terminus串口工具。
3.问题:编译文件时会提示问题Import "driver" could not be resolved
分析:Pylance未找到自定义模块的地址,对实验无影响
解决方案:使用shift+ctrl+p输入setting找到json文件,通过在settings.json文件中添加extraPaths来解决
总结与收获
本次实验算是一次最基础的实验,算是进一步了解了物联网云服务平台,熟悉了Haas EDU的硬件构成及功能。使用过程中中途又进行了许多别的尝试试错,发现了一些比较有趣的功能,比如千里传音。希望在之后的使用中能够使用的更加熟练,能够熟练的操作上下云。