谈谈我错过的《Huawei LiteOS设备开发实战大赛》中的试题(1)

举报
张辉 发表于 2020/06/20 11:35:58 2020/06/20
【摘要】 作者报名的《Huawei LiteOS设备开发实战大赛》,由于初赛提交试卷慢了1秒钟,被系统默认为不是有效提交,故无法参加决赛。明明截图的时间是16:00,说明提交的时间是16:00之前,但是官方说不以微信的时间为准,而是以华为系统的时间为准。争了半天没有用,只有作罢。但是之前已经开始做决赛题了,所以没办法,只好把这块内容在决赛截止后,在这里发布下,略表慰藉。 Ø 题目一:在智慧农业代码...

作者报名的《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 端看到的数据如下:



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。