欢迎来到天天文库
浏览记录
ID:27891546
大小:145.50 KB
页数:11页
时间:2018-12-06
《搞物联网开发设计,这些技术得懂!.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、搞物联网开发设计,这些技术得懂! 不管是从商业模式导出的业务模型,还是从技术发展的角度看,文本都倾向于将物联网技术构架看作是互联网技术构架的延展。而与这个观念对立的,是传统嵌入式软件开发的视角。 简单来说,目前的互联网技术构架主流是大前端与后端两个世界:大前端包括Web的JavaScript技术、Android和iOS技术,着眼于解决用户交互;后端包括数据库、服务构架、运维等,着眼于解决存储、业务逻辑、安全与效率等。当然,现在前后端技术争相更新,比如业务逻辑前置化、微服务构架、JavaScript全栈化等新的解决方案也开始模糊前后端的差异。 而物联网设备端的引入,着实让这些技术有点难以归
2、类,从业务性质上物联网是另外一种前端或是前端的延伸,比如共享单车应用中,自行车端的应用显然是跟人交互的另一个业务场景,也在为后端源源不断地提供着数据,但是自行车又不像网页或者App完全是在解决可视化UI的事情。 而且,现在的设备端开发技术跟前端技术太不像了,由于目前设备端的开发技术都还偏底层,一般来说计算资源如处理能力、本地存储都非常有限,反而像后端一样要考虑资源效率。 那么,我们只好为物联网单独命名一个端,不如我们暂时就叫它设备端。 2.新后端2.1MQTT 新后端核心问题在于加入了面向设备的接入服务,实际上在这里,除类似视频对讲或是安防监控的多媒体实时通道外,这个接入服务已经基
3、本事实化为MQTT。 消息队列遥感传输协议是在TCP/IP协议之上使用的,基于发布/订阅的“轻量级”消息协议,目前为ISO标准(ISO/IECPRF20922)。它被设计用于轻量级和低带宽的远程连接,发布/订阅消息传递模式需要消息代理,消息代理负责根据消息的主题向需要的端发布消息。 如果需要连接的设备没有超过10万台,使用8GB内存的云主机跑Mosquitto就可以;如果设备量是几十万台,可以考虑Mosquitto做集群负载均衡;如果设备量是大几十万台乃至百万台以上,那你需要专业的团队或专门的投入来维护这件事情,这个细节就不在本文讨论范围了。2.2OTA 固件组件在线升级是必须要做的事情
4、,MQTT传大文件不靠谱,所以一般传过去一个带Token的URL,设备端去下载就好,HTTP或者HTTPS都可以。业务比较简单,设备端几十万以内没有什么特别的地方。2.3数据存储与服务 Mosquitto作为MQTT的引擎,需要后端按照业务逻辑去调用,这里按照业务需求写好后端逻辑即可。在各种后端语言中调用Mosquitto都非常简单。3.设备端 设备端是物联网领域最五花八门并且正在发展中的地方。其他领域,后端或者前端,经过十几年的发展,已经出现每个细节的主流技术,基本没有碎片化的情况,但是在设备端,开发技术的碎片化是应用发展还不到位的充分表现。 举例讲,选用不同的芯片,就要用不同的操作系
5、统,不同的C库封装,各家IDE也不尽相同,编译工具链更是从芯片原厂给出。开发起来呢,寄存器、内存分配、硬件中断都要深入进去。这就是传统嵌入式开发的现状,也是物联网设备端开发的现状。 到目前为止,真正生产环境中用到的语言就是C/C++,极个别会在设备端用到Python,基本没有其他语言。操作系统超过50种,主流的也有10种以上,其中嵌入式Linux份额并不大,各种实时操作系统各具特色,各有一片天地。 简单总结一下相对于物联网开发,传统嵌入式开发的方式主要有以下几个问题: 需要考虑中断、寄存器、内存分配等过于底层的工作; 编译、烧写、观察、借助调试设备进行调试的开发生命周期; 不同SoC
6、和系统的差异过大; 缺乏代码复用与开源的习惯; 开发者在开发环境和固件编译上花费的时间过多。 所以我们看到设备端的开发是基于芯片选型完成的。当设备端产品面临一个需求时,现有的流程是判断产品的各项技术参数,从而确定一个芯片,进而使用这个芯片的一整套开发技术。这也是早期嵌入式场景使用的芯片自生技术特性所决定:计算资源(CPU主频、存储)、外围接口、使用温度、通讯协议等核心参数的不同导致芯片碎片化,芯片碎片化导致嵌入式开发碎片化。 目前这个领域的大趋势是:物联网芯片有望走向趋同,物联网开发环境与技术有望趋同。3.1物联网芯片 早期由于成本所限,物联网领域使用的芯片总是表现得非常缺资源,很难
7、找到一个各方面(计算资源、外围接口、使用温度、通讯协议等)都比较合适的芯片去适应普遍的场景。随着半导体门槛逐步降低,中国半导体制造业逐步成型,芯片资源开始走向富余,其中的代表芯片是MTK的MT7697、MT7688和乐鑫的ESP32。 MT7697主要参数为:ARMCortexM4CPU,带浮点单元,最大主频192Mhz,内存为256KBSRAM,可配置4MB以上的存储空间,芯片内嵌WiFi和B
此文档下载收益归作者所有