物联网开发心得体会——以《智慧农业》为例

乔康乾 发表于 2020/11/08 23:37:52 2020/11/08
【摘要】 小熊派物联网开发心得体会——以《智慧农业》为例

初识物联网

       接触到物联网的概念已记不清是从何时何地,但是物联网对自己来说一直很神秘也很神奇,觉得物联网能做的事情特别多,在学物联网之前,会觉得物联网就是谜一般的存在,于是,在这个夏天,一个明媚的下午,了解到了华为云网站,看到了IOT板块,又恰逢【IoT物联网开发全栈成长计划】活动伊始,于是借由此次机会,准备好好学学物联网相关的知识和原理。买了小熊派开发板,对于工科生而言,开发板型号种类繁多,但对于开发板并不陌生,所以相对而言,对于小熊派开发板的学习充满信心与期待。

物联网是怎么做的?

图1


       以图1华为“IoT全栈”解决方案为例,原来的说法是“1+2+1”一个操作系统+两种网络接入方式+一个物联网平台。现在主推的说法是IoT全栈生态,我觉得IoT全栈生态的说法更易于理解,即我们需要做的是整个系统,更强调整体性与完整性,可能“1+2+1”的说法介绍的更多是结构的划分。浅显理解来说,需要做什么事呢,我们需要用一个操作系统,通过某种网络接入方式,使我们的底层硬件设备在物联网平台上可以实时的监控及处理。使用物联网平台后对设备的操控更加便捷化、自动化和智能化,以此来提高生产效率,提升我们的生活质量。

图2

图3


       物联网是万物互联,Internet of Things,和Internet自然少不了联系,连层次划分也可以找到对比的现实意义。图2是物联网的层次划分,由下到上依次是:端、边、管、云、行业应用,而图3即OSI七层网络模型,即从下到上依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。是不是可以做一个不恰当的对比,但毋庸置疑的是层次的划分使我们对于物联网的概念有了种“对号入座”的感觉。


《智慧农业》实验心得体会

       那么,言归正传,通过这段时间的学习与部分实验的练习,简要的梳理一下自己的心得与体会。此次以《智慧农业》为例。

要做什么

图4


       如图4所示,这是一个十分简单的微型智慧农业,借助小熊派开发板进行相关数据的采集与相关指令的执行,借助华为物联网开发进行数据的管理与指令的下发。

设计流程

图5


       如图5所示,需要共进行5步设计流程,即可完成简单的智慧农业系统的整体设计。

要怎么做

图6

       在物联网开发,即进行端到端进行开发时,如图6所示,由平台侧开发到设备侧开发再到应用侧开发,在平台侧开发时主要借助华为物联网平台进行产品开发,主要包括Profile开发和编解码开发如图7所示,在设备侧进行开发时主要借助华为IoT Studio操作系统进行代码的编译和烧录,在应用侧开发时借助的是华为web在线开发,在物联网应用构建器中创建一个类似网页版的应用控制器。

图7


       而之所以需要进行编解码插件的开发,顾名思义,是进行编码和解码操作,因为设备上传的数据以二进制形式,而平台侧与应用间通讯以json格式数据,那么就需要平台进行“翻译”工作,即对设备上报的数据转换成json报送至应用,对应用下发指令转换成二进制传送至设备,从而保证系统的正常运行。值得注意的是在编辑码开发时对地址域、响应标识字段、命令执行状态字段这三项功能要有清楚的认知,如图8所示,地址域是用来标识对应的数据,地址域的不同代表不同的上报数据种类或下发指令的种类,响应标识字段,即连续下发多种指令,会对命令进行标号,在执行命令可以选择对应编号的命令,执行过后,在所执行的命令前下发的命令通常会命令下发超时,即执行失败。命令执行状态字段,即要反馈给平台和应用,下发的命令是否执行成功。


图8


       而在设备侧开发时,工程名称一定一定不要出现中文字符,当然使用中文或非法字符时,系统会提示并无法正常创建工程,在《智慧农业》实验开发中,对于代码的编译要求并不是很高,或者说并没有深入浅出的由零开始创建一个工程,而是基于智慧农业的模板进行开发,这也使得开发变得简单易行,当然模板是一种简单的通用型模板,如果需要自定义相关内容还是需要对代码进行升级改造,以此来达到预期的功能和目的。应用侧开发时使用物联网应用构建器的可视化、图形化编译模式非常的直观和易于构建,对于物联网开发者来说图形化的开发模式非常友好,不需要自己去敲相应的代码,拖拽相应的功能模块并对模板进行定义和功能选择即可。

       总的来说,诸如《智慧农业》这样的简单的入门实验,对于提升像我这样的物联网初学者还是十分必要的,通过简单的实验,明白了物联网是什么,要做什么和怎么去做,对于提高对物联网的认知作用十分明显,这样物联网将不再只是一种空洞的概念,而是实实在在的感受到了物联网的技术魅力。但是反思自己在学习课程期间和做实验的时候,对于指导书的使用仅仅是完成了相关实验,而没有对知识进行联系,比如某一操作步骤这么做是为了什么,如果不这么做有没有其他的解决办法,这样的思考并不深入,也算暴露出来学习上的一种懈怠,物联网的知识还是非常繁多的,仅仅通过几个实验,是远远不够的,当然除了加强理论学习也要注重实践能力的培养,毕竟物联网开发并不是纸上谈兵,物联网全栈开发对于物联网学习者的要求还是比较高的,不仅仅是前端或后端一个技术领域,而是要融会贯通。

       以上即学习物联网这段时间的一点心得和体会,物联网全栈开发,长路漫漫,而当自己从迈出第一步起,将会距离自己的目标越来越近。

       磨刀不误砍柴工,读完硕士再打工。加油,社会主义打工人!

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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