嵌入式系统 阿里 Haas EDU 开发记录

嵌入式系统 阿里 Haas EDU 开发记录
缘起
笔者所学物联网专业,有一门课是嵌入式系统。我们的嵌入式老师以个人名义为我们提供了阿里的Haas EDU教育开发版用于嵌入式系统实验课。并且留了一些任务给我们。本文记录相关流程供学习经验。
这块板子默认烧录的是 HaaS EDU K1教育开发案例合集。开源地址:https://gitee.com/alios-things/eduk1_demo。
系统是AliOS Things 3.3,内核 rhino,硬件名 Haas EDU K1 。
创建好之后就是这样了。


搭建环境
- 需要 Vscode 和 C/C++ Extension Pack 插件。
- 安装 haas-studio v1.0.24,安装之后会跳出 aos-tools 的安装提示。同样也是一键安装。
状态栏可以看到编译,烧录等

创建项目,编译和烧录程序
笔者是在原HaaS EDU K1教育开发案例合集基础之上进行开发的,实际上也只是调用封装好的东西。



第一次创建项目大约需要 5min。然后点击 VSCode 下面状态栏的编译。第一次编译大约需要 5min。编译之后这个文件夹大约 1G 左右。
编译成功后大概这样:
|
|

电脑需要装一个 cp210x.drivers 驱动。连接开发板到电脑,选择对应的串口,baudrate选择1500000,如果选错了可以修改配置文件。这些配置文件位于 .vscode
文件夹。然后点击 Vscode 状态栏的烧录,就可以看到大约 1700kb 的文件烧录进入了单片机。这时候单片机会显示一个出厂测试页面,会提示你按下K1,K2,K3, K4 , K1&K2 进行各种测试。看到这个测试说明我们的程序烧录成功了。
关闭测试模式
首先我们想要看到是HaaS EDU K1教育开发案例合集的图片中的各种功能。这时候我们需要关闭测试模式。
solutions\lab3\maintask.c 增加一行
|
|
然后我们就能看到HaaS EDU K1教育开发案例合集提供的案例了。也就是出厂自带的程序。
添加一个页面程序
我们可以看到,官方样例中每一个页面都是一个程序。这时,我们要添加自己的页面程序。
打开solutions\lab3\k1_apps
文件夹。然后创建solutions\lab3\k1_apps\test3
文件夹。创建两个文件 test3.c 和 test3.h。修改 solutions\lab3\k1_apps\menu.c
。这里的代码我都会贴在最后。

代码变量说明:tem 温度 ,hum 湿度 ,xyz[3] 六轴传感器传出数据。
烧录之后

注意
创建文件之后,一定要修改solutions\lab3\package.yaml的source_file。
增加代码
|
|
实验效果如下。
六轴传感器传的是 float 类型,显示不下于是强转为 short 类型。
目前效果不是很好,六轴传感器显示需要先运行官方陀螺仪示例之后才可以正常显示。待修复此特性。
配网WIFI
点击 VScode 状态栏的串口,选择对应的串口,选择1500000。这时候连接开发板并且开机能够看到一堆文字闪过。等待文字稳定后按下回车,能看到(ash:/data)#
。这时候我们就可以输入CLI命令了。
输入netmgr -t wifi -c ssid password
就可以配网了。ssid替换为WIFI网络名,password替换为WIFI密码。
|
|
配网之后开发板主页面会显示IP右上角会显示WIFI图标。还能看到 IP。

数据上云
基于HaaS EDU K1教育开发案例合集和Wi-Fi设备连接阿里云示例。复制Wi-Fi设备连接阿里云示例下的 data_model_basic_demo.c 到 lab3\solutions\lab3\data_model_basic_demo.c。
修改三元组为自己设备的三元组,具体步骤键Wi-Fi设备连接阿里云示例 4.2 软件实现。
修改data_model_basic_demo.c内的demo_main()为demo_main2()。
为了让这段程序在连接WIFI后运行,修改solutions\lab3\app_start.c,代码后面有。主要修改 wifi_event_cb 。
被修改的代码:
app_start.c
为了上传传感器数据,为data_model_basic_demo.c增加头文件
|
|
修改data_model_basic_demo.c主循环上传温湿度传感器和六轴传感器数据,abc 为计数,temp 温度,hump 湿度,xyz为六轴传感器数据。
|
|
连接WIFI成功后,数据就可以上云了。在日志服务选择刚刚创建的设备就可以看到是否成功了,其次在也可以查看设备是否在线查看是否上云成功。


阿里云在产品栏目,功能定义,编辑草稿,可以定义物模型。阿里云物联网平台会匹配demo_send_property_post里的tem,hum,rax,ray,raz 等信息。编辑物模型之后,方便了后续的开发。

注意
创建文件之后,一定要修改solutions\lab3\package.yaml的source_file。
增加代码
|
|
增加
相关资料
代码
test3.c
|
|
test3.h
|
|
menu.c
|
|
app_start.c
|
|
作者: 恐咖兵糖
版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议。