如何成功的开发一款物联网应用

如何成功的开发一款物联网应用,第1张

开发之间的重要问题

这些问题对物联网应用开发人员很重要。哪一种才是最好的方法,来构建一个“物联网应用”,它可以做很多事情,从远程控制家庭应用到对引擎改动机制造商发送通知,而这一需要维护服务的引擎有个能在世界任何一个地方?开发人员要具备怎样的技能?要从哪里先开始?

物联网应用开发的始占在于它本身。这些边缘设备通常没有屏幕(尽管并非总是如此)、处理器功耗低,搭载的是某种嵌入式 *** 作系统,使用一个或多个通信协议进行交流(通常是无线)。这些东西可能直接与网络、相邻事物和网络网关相连,一般外形就是一个盒子带一些闪闪发光的灯。

系统的下一层即集成层是软件和基础设施,运行在企业数据中心或云中,来从各种事物中接收和管理数据流。运行在集成层的软件通常也负责管理这些事物,必要时更新固件。

接下来就分析层,用于管理并处理数据。最后,还有一个终端用户层,这一层上应用程序用于用户之间交流。这些可能是企业应用、可能是网络应用,也可能是移动应用。

如果你正在想办法构建物联网应用,最后两层将会是你接触最多的。作为开发人员,你可能没有工具处理这些边缘设备或网关,或者没有适应集成层的能力。

这也就是为什么说构建应用程序要从已经就绪的“物联网平台”开始是有道理的了。这些平台通常包含集成层,这一层承载着以时间为序列输入的数据,以及分析层、自动精简配置,激活和管理功能,实时消息总线和建立其上的平台和应用之间的通信API。

现在市场上有许多公司都在提供这类平台。这有Xively、Mnubo、BugLabs和ThingWorx,他们都有能力与不同的制造商产生的大量“事物”进行沟通。

还有些比较有名的公司,如微软的智能系统服务,和企业软件厂商如SAP的物联网解决方案,这些厂商都在他们的产品中增加了物联网功能。


2020年国家会议召开,加快推动新基建建设,各产业进行数字化的转型,进行智能产业化的升级,以5G为核心的物联网蓬勃发展。互联网时代已经进入到了“物联网”时代。




01

嵌入式应用的发展前景


“物联网”让所有的物品都具有计算机的智能但不以计算机的形式出现,并把这些物品与网络连接在一起,这就需要嵌入式技术的支持。
嵌入式是一个低调的领域,但是又无处不在。它功能很强大,领域很广阔。所有带有数字接口的设备,如手表、 汽车 等,都会使用到嵌入式系统



嵌入式系统在IoT的应用随着市场的发展,可以说是是越来越广。编程不单单是在IT行业广泛应用,在当代 社会 中,各个行业间相互影响,相互渗透早已不是什么稀奇事了,而嵌入式系统也应时代的需求在各个行业中充当着重要的角色。



嵌入式技术近年来得到了飞速的发展,就业前景广阔很多行业都可以用到它。随着行业的发展,市场对嵌入式方向的人员需求逐渐增多,薪资也是水涨船高,尤其是尤其是中高端开发岗位数量明显增多。



据统计:目前全国嵌入式工程师平均薪资可达近10K,其中薪资在15k-20k之间的占比有246%。而一线城市,如北京、上海、深圳等地,嵌入式工程师平均薪资更是高达20000元/月以上。由此可见,不管是现在还是未来,嵌入式工程师或将成为企业发展不可或缺的一部分。




02

嵌入式开发在哪里可以运用?


工业物联网

机器、设备和人的连接需要在工业互联网内完成,工业物联网不断发展需要嵌入式系统的更新。AI+IoT将成为未来产业成长的动能,因此嵌入式硬件系统平台作为发展工业物联网第二、三阶段的基石,必须能以融合人工智能及物联网的解决方案来应对市场需求。




农业物联网

嵌入式系统现在广泛运用于农业当中,通过分析设备的工作情况,通过传感器和仪器的使用,实现高效运作。

我国是农业大国,物联网技术的成熟带动农业物联网终端产品发展,养殖物联网系统、智能大棚、自动水肥一体化等日益成熟,大大促进了农业生产智能化。现在各种以嵌入式为特征智能终端产品屡见不鲜。嵌入式系统不断被应用于生活之中,改变着人们的生活,推动着工农业的发展。



世界上许多发达国家拥有着高度发达的养殖业。这些发达国家的养殖业,均有着高技术、低人工,高产能,低消耗等特点。这其中,高技术的 科技 力量已经成为现代化养殖场一个关键性的指标。我国的养殖业以前只是“后院养殖”的副业,经过40年的发展,从后院养殖的副业到独立的产业,从传统养殖到机械化设备养殖、加工、包装的现代化养殖,形成规模化养殖,成为我国农业的主要组成,带动农业经济快速发展。



所谓智能化养殖,利用物联网技术,围绕设施化畜禽养殖场生产和管理环节,通过智能传感器在线采集养殖场环境信息(二氧化碳、氨气、硫化氢、空气温湿度等),同时集成改造现有的养殖场环境控制设备,实现畜禽养殖的智能生产与科学管理。



医疗物联网

现在先进的医疗技术都逐步实现AI技术化,而在医疗技术进步中,嵌入式系统扮演者不可替代的角色。嵌入系统为医疗信息化提供便捷的 *** 作系统,提高医护人员的技术水平,减轻医疗工作者的负担。 



在医院临床上,物联网应用在移动护理条码扫描系统、移动门诊输液管理系统、婴儿防盗系统、患者生命体征动态监测系统等;在医院运营管理体系上,物联网应用于消毒供应中心质量追溯系统、科室物资管理系统、医疗废物管理系统、手术器械清点系统等。




03

嵌入式系统的安全性


自嵌入式系统诞生以来,关于什么是嵌入式系统一直存在争议。早期的定义是:“嵌入式系统是一个您甚至都不知道的系统,直到它停止工作为止。”



在物联网,工业物联网和人工智能的当今时代,其中所有事物都直接或通过云连接到其他事物,术语“嵌入式系统”是与大部分等同于“物联网设备,”没有什么可以被认为是安全的,而且一切都必须保证安全。



每年连接到Internet的设备数量呈指数增长。预计到2035年将有超过1万亿个连接的设备,而这些设备中每一个都需要的一件事就是安全性。幸运的是,可以使用解决方案,使开发人员可以使用商业和开源工具保护其嵌入式和物联网设备从端点到云的安全。

如今,随着行业的发展,人才资源的稀缺是必然的结果,有越来越多的学生选择嵌入式开发等专业。而这些高素质人才也将出现在各行各业中,让IT不再是一个独立的行业,而是作为各行各业沟通以及联系的桥梁,让各个行业工作效率更高效,联系更紧密。

一、学习路径

万丈高楼平地起,不管多优秀的工程师都是从小白开始的。一条清晰合理的学习路线能帮助小白们高效率的完成基础知识的储备工作,注意这里是知识的储备过程,而经验是从实践中得到的。学习路径是多种多样的,不同能力和不同基础的人有不太相同的路径,这里分享我自己的学习路径,供大家参考。

1了解计算机原理, *** 作系统基础知识。了解硬盘,内存和CPU的关系,程序是如何加载到内存运行的,了解 *** 作系统进程切换和时间片的概念。

2学习C语言,掌握编译器基本知识,能编写简单的程序。学习硬件相关知识。

3购买洞洞板或者面包板,配合stm32等单片机核心板及相应教材,实践IO *** 作,中断,定时器,ADC,UART通信,IIC通信,SPI通信,CAN通信等基本功能。在此过程中不断巩固提升C语言编程水平。

4掌握了某一种单片机的基本编程和控制后,可以进军嵌入式 *** 作系统的学习。在此期间可以继续使用STM32核心板,加购LCD串口液晶显示屏,不需要买带字库的显示屏,简单实用的串口显示屏就可以。然后可以从FreeRTOS开始学习,这个 *** 作系统代码少,概念清晰,易于学习 *** 作系统的原理,也易于移植,基本上可以参考官网以及网络上的资料顺利的将 *** 作系统移植到STM32核心板。通过FreeRTOS,可以学习嵌入式 *** 作系统的基本原理,并可以编写LCD驱动程序来感受硬件驱动程序的概念。

5学习嵌入式Linux *** 作系统,购买ARM9或以上版本的主控的开发板,要求开发板上至少有串口和网口。学习板级支持包的开发,交叉编译,GDB调试,UBOOT移植,内核移植,根文件系统制作,设备树,驱动程序编写,网络编程相关知识。

6学习物联网相关模块的使用,可以购买ESP32核心板进行wifi,蓝牙的模块控制学习,购买其他模块实现其他小项目的练习。

通过上面的一番闭关修炼,你已经学习了嵌入式开发的主要知识架构,接下来就要多做小项目,多练习排错,才能不断积累经验。

二、学习方法

1先整再零:

对于一个实例项目,先从整体出发,保证调通,能正常运行,出现预期结果。遇到模糊的问题先跳过,整体有了一定认识后再对个别细节进行深入了解,但不能跳过深入了解细节的环节。

2边学边练:

开发是一类实践性很强的技能,嵌入式开发要与硬件打交道,就需要更多的动手 *** 作和观察。

学习某一方向的嵌入式开发知识时,需要给自己的学习进行必要的“投资”,购买面包板、洞洞板、万用表、调温烙铁套装、各种器件、芯片,以至开发板。以上材料不需要一次性都买齐,可以按照当前学习的内容分阶段购买,经济条件有限的同学也不用担心,以上材料的开销除开发板之外都不贵,可网络购买。对于开发板,可以买学长学姐的二手板卡,能过测试就证明板卡是OK的。

有了学习材料,就要学以致用,例如今天学习了三极管做开关,就可以自己动手画画电路图,然后在洞洞板上实践一下,通过实际 *** 作,加深印象的同时,也能验证自己的设计方案。

3勤于思考和提问,网络如此发达,提问的能力和技巧我就不再赘述了。

三、技能提升建议

如果你进入的是一家规模较小的公司,那么你可能有机会接触各类技术。这是绝佳的锻炼机会,要注意不要特别深入某一方向而不关注其他技术,要知道大牛需要的是多方位的技能。

大公司的话,往往分工比较细致而明确,那就需要在完成自己工作的同时多关注项目组中其他同事遇到的问题,能协助解决最好,不能解决的要关注解决的情况和方法,多蹭经验。帮助别人的同时就是在帮助自己提高,多花时间处理实际问题是难得的经验。

不管在哪种场合工作,一定注意经验的积累,好记不如带墨,要用文字将经验记录下来,将遇到的问题详细描述清楚,没事的时候翻看一下,工作时间长了,你会发现这是一笔难得的财富。

限于篇幅,这里就不再多讲技术的细节了,希望各位读者在技术成长的过程当中都能有自己清晰的学习路径,安排好自己的学习计划,稳扎稳打!

物联网把计算技术带入了与国家基础设施、人们日常生活密切相关的领域,小如心脏起搏器,大如国家电网

CPS大部分应用领域是与食品卫生一样的安全敏感的领域,CPS的技术和产品需要经过政府严格的安全监督和认证

CPS技术和产品必须成为高可靠的、行为确定的产品,由此需要可靠和确定的嵌入式系统

嵌入系统在提供便利和带来增值效益的同时,也向外界敞开了系统,从而增加了来自外部攻击的风险

这些风险真实存在并日益增长,企业急需应对措施,用于防止知识产权的流失,防止恶意代码篡改

什么是嵌入式系统的安全保护从嵌入式系统安全保护的角度来看,可分为完整性保护、机密性保护及可鉴别性保护

什么是完整性保护“完整性保护”包括各种安全保障措施,即保护系统资源、程序代码和数据内容等信息,防止非法篡改及未经授权的身份

保证数据的完整性,即使不能完全实现,也要确保整个系统进入安全模式,并停止执行任何功能

最好的完整性保护解决方案是基于加密技术即诸如数字签名、消息认证等相关安全机制而产生的

什么是机密性保护“机密性保护”是指要构建整体的加密体系来保护嵌入式系统代码安全和数据隐私

防止整个机器或设备被非法伪造,通过防止逆向工程保护企业自主研发的专有算法或方法;通过数据保护确保生产数据不被非法篡改,保证生产安全

什么是身份认证保护“身份认证保护”要构建完整的信任体系来保证所有的行为、来源、数据的完整性等都是真实可信的

用户在与某个安全的嵌入式系统交互之前,必须经过一个认证过程来核实他们的身份

认证方案可能包括秘密口令、生理特征(如指纹)或安全设置(如智能卡或密钥)三者的各种组合

CodeMeter是德国威步公司研发的加密解决方案,采用强大的加密算法及安全的嵌入式硬件元器件(智能卡安全芯片),可用于完整性保护、软件版权、数据保护及身份认证保护

下面我们看看完整性加密流程:通过AxProtector加密工具,未经加密的原程序需要按以下步骤进行设计和加密:1

计算原程序中的Hash值;2

采用开发商的私钥对Hash值签名;3

采用原程序种子码生成的密钥、开发商的私钥及其他一些公开的参数,对原程序进行加密;4

加载用于加密软件签名证书的公钥部分

CodeMeter完整性检验流程:检验包括以下步骤:当程序加载时,按下列步骤执行

同时执行的应用程序被加载

此时需要借助系统集成工具—威步信息系统加解密引擎AxEngine

1

如验证到当前有效许可,则加密的软件进行解密2

公用根密钥检验授权过程中的证书以及证书链3

计算解密后的原始软件的HASH值4

使用公钥验证HASH签名

CodeMeter嵌入式系统软件版权及数据加密方案基于CodeMeter技术的解决方案,完全不用任何代码开发,即可全自动实现以下功能:1

加密程序代码,防止静态代码分析和逆向工程2

签名程序代码,包括应用程序和 *** 作系统图像3

存储私钥用于解密4

存储供应商的签名私钥5

加载和运行系统过程中进行签名和HASH验证,用于防伪6

采用先进的ECC和RSA非对称算法,实现身份认证功能CodeMeter产品,基于大容量的安全智能卡芯片,存储和管理安全密钥

为嵌入式系统提供有效的防护措施,以免遭受恶意攻击,并保护敏感数据和密钥

CodeMeter硬件产品可提供多种工业接口形式,诸如USB、CF卡、SD卡及TF卡等等用于满足不同的工业应用

CodeMeter软授权产品可以采用绑定硬件设备硬件指纹的方式,为嵌入式系统加密及授权提供更多的选择

CodeMeter支持Windows,MacOSX,Linux,Unix等多种 *** 作系统,以及WindowsEmbedded,Linux,VxWorks以及诸如CODESYS的PLC也同样适用

CodeMeter软件保护解决方案采用了先进的对称和非对称加密算法(AES,RSA,ECC),同时使用了哈希函数(SHA-256),椭圆曲线数字签名方案(ECDSA)以及随机数生成器

CodeMeter凭借上述多种加密方法,用于防止盗版、逆向工程以及非法入侵,有效的保护专业知识产权不被侵犯;并且可以有效防止代码篡改及非法身份登陆,确保嵌入式 *** 作系统和应用程序安全地启动和运行


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/12907030.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存