谈谈我错过的《Huawei LiteOS设备开发实战大赛》中的试题(1)
作者报名的《Huawei LiteOS设备开发实战大赛》,由于初赛提交试卷慢了1秒钟,被系统默认为不是有效提交,故无法参加决赛。
明明截图的时间是16:00,说明提交的时间是16:00之前,但是官方说不以微信的时间为准,而是以华为系统的时间为准。争了半天没有用,只有作罢。
但是之前已经开始做决赛题了,所以没办法,只好把这块内容在决赛截止后,在这里发布下,略表慰藉。
Ø 题目一:在智慧农业代码基础上,增加一个字段进行数据上报,100分
要求:
a)修改代码,在智慧农业上报数据消息中,增加一个自定义字段,字段内容可以是任意非温湿度光照数据即可。
b)增加的字段可以使用模拟值,可以不使用真实传感器收集的实时数据。
c)能够在平台中查看到对应字段的数据。
解题思路:
在老师的范例代码hello_world_demo1的智慧农业基础上修改。
设计自定义风力字段和风速字段。传感器测出风速,上报风速对应的风力。
根据百度百科的风力等级定义设计对应的关系。
风级 |
名称 |
风速(m/s) |
(km/h) |
陆地地面物象 |
海面波浪 |
浪高(m) |
最高(m) |
0 |
无风 |
0.0-0.2 |
<1 |
静,烟直上 |
平静 |
0.0 |
0.0 |
1 |
软风 |
0.3-1.5 |
1-5 |
烟示风向 |
微波峰无飞沫 |
0.1 |
0.1 |
2 |
轻风 |
1.6-3.3 |
6-11 |
感觉有风 |
小波峰未破碎 |
0.2 |
0.3 |
3 |
微风 |
3.4-5.4 |
12-19 |
旌旗展开 |
小波峰顶破裂 |
0.6 |
1.0 |
4 |
和风 |
5.5-7.9 |
20-28 |
吹起尘土 |
小浪白沫波峰 |
1.0 |
1.5 |
5 |
清风 |
8.0-10.7 |
29-38 |
小树摇摆 |
中浪折沫峰群 |
2.0 |
2.5 |
6 |
10.8-13.8 |
39-49 |
电线有声 |
大浪白沫离峰 |
3.0 |
4.0 |
|
7 |
13.9-17.1 |
50-61 |
步行困难 |
破峰白沫成条 |
4.0 |
5.5 |
|
8 |
17.2-20.7 |
62-74 |
折毁树枝 |
浪长高有浪花 |
5.5 |
7.5 |
|
9 |
20.8-24.4 |
75-88 |
小损房屋 |
浪峰倒卷 |
7.0 |
10.0 |
|
10 |
狂风 |
24.5-28.4 |
89-102 |
拔起树木 |
海浪翻滚咆哮 |
9.0 |
12.5 |
(1) 设备端使用E53_IA1_Data_TypeDef读取传感器信息,需在此结构增加风力读取字段Windspeed,此字段设计成浮点型,风速为0~28.4米/秒;
(2)开发板使用AG_sensor_report结构进行上报,需修改此结构体并增加自定义字段Windpower,此字段设计成整型,风力为0-10级左右。
(3)修改读取传感器的任务app_senor_connect_entry,使用随机数生成风速数据(每5秒生成一个0~28.4的随机数)。
(4)修改LCD_task_entry,在LCD的显示中增加对风速到风力的转换,以及风力的显示处理。
(5)云端物模型和编解码插件也同时增加对此字段的定义和解析处理。
结果演示:
打开串口看模拟的风速状态:可见Windspeed的值一直在变:
查看小熊派LCD显示:Wind也在变:
在IoTDA 端看到的数据如下:
- 点赞
- 收藏
- 关注作者
评论(0)