怎么做自己的手机网站,吉林省吉林市区号,长治市建设局网站,Wordpress西联本项目的交流QQ群:701889554
物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html
物联网实战--驱动篇https://blog.csdn.net/ypp240124016/category_12631333.html
一、平台简介 物联网平台这个概念比较宽#xff0c;大致可以分为两大类#x…
本项目的交流QQ群:701889554
物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html
物联网实战--驱动篇https://blog.csdn.net/ypp240124016/category_12631333.html
一、平台简介 物联网平台这个概念比较宽大致可以分为两大类一类是行业物联网平台面对的政企客户定制化程度比较高例如智慧消防平台需要跟现有业务做对接一种是通用物联网平台就像小米智能家居一样用户就是普通个人下载一个APP就能使用设备了。不管是哪种平台它的核心底层功能都是承载设备的连接、管理和数据存储是用户与设备的连接纽带。 所谓平台其实就是一个或多个运行在服务器的软件了这个软件涉及的知识点和技术栈会比较多以下是一个常规的物联网平台的架构图(来自IOT-DC3)仅供参考。 二、平台定位 这里有一些开源的物联网组件和平台盘点 12 个物联网开源项目yyds! - 知乎总的来讲这些平台的技术栈过多、设计思想类似、体系过于臃肿看似什么都能干但在实际项目中却很难达到理想效果因为中间件过多有时候一个数据可以延时好几秒甚至中间件掉链子无法到达终端在定位问题时经常是踢皮球整个开发体系沟通成本过高这是目前很多物联网公司的通病。 总的来讲还是定位和设计思想的问题很多公司在设计物联网平台时候心都很大都是要包罗万象的MQTT、Coap、LORA、OPC、BACNet、modbus什么协议都要支持电力、消防、水务各个行业都要能应用地图、3D、BIM、数字孪生哪个高端整哪个到头来基本上是老板强推、一线骂娘。这一类的物联网平台往往是政策驱动的而不是市场驱动的。 在从事物联网行业期间自己也一直在找有没有简单、实用、高可靠性的物联网平台只需要基础的设备接入和管理功能让我可以把心思放在用户需求分析、产品设备的定义和开发上。其实米家生态是一个比较合适的对象只不过它更倾向于消费级的商业化产品对接一个产品前后可能要花几千甚至几万的成本还有很多协议需要遵守。结合学习的需求最终觉得还是得自己设计一个平台软件对标的就是米家这种类型的针对个人用户用户拿到设备后只需要简单添加就可以使用了。
三、架构设计 上图是平台架构图主要由五部分组成设备端、MQTT服务器、用户端、数据服务器和应用服务器。其中MQTT服务器是中心负责数据的路由转发其它各模块通过话题的定义进行交流。 在设计目标中简单和高可靠性是两个比较重要的指标所以设备端和用户端(主要是手机APP)采用端到端的通讯中间除了MQTT服务器做数据转发外没有其它中间件设备发送的数据到手机端直接解析和显示很大程度上也降低了延时提升了体验感另外即使应用服务器和数据服务器都宕机了短时间内也不会影响用户对设备的使用和操控。而在传统的物联网平台设计中数据需要汇集到统一的中心进行处理然后再转发到用户端这个过程只要数据处理服务停止运行用户就收不到数据了而且在设备数量上升后对服务器的压力也会变大意味着需要升级硬件、增加很多的服务器成本。 应用服务器主要是对账户、应用和设备进行管理属于常规的、各个平台都会有的内容其主要还是跟用户端进行交互数据服务器的作用是存储设备数据同时实时解析设备的数据包内是否包含紧急的报警信息这样才能及时通知用户。 那么使用这么一个端到端平台对于物联网开发会有什么好处呢这个话题得回到 “物联网” 三个字本身首先得要有物其次才是联网物也就是产品跟用户直接接触的东西大家在买智能家居产品的时候应该都有这么一个感觉--设备才是我自己的软件和联网等功能是附加体验决定我买不买的主要因素还是设备本身的价格和功能平台软件很难成为决定因素。但是在现有的开发体系中设备端往往没有很大的话语权一切都是以平台为中心的很多协议、功能都只能适应平台这也导致了很多设备产品的定义和设计只能妥协用户体验自然就下降了。平台用端到端的设计后设备端和用户端的定义可以自行决定平台方无需增加开发降低了沟通成本提升了设备端的自主权。这样说可能比较抽象举个例子比如一个温度传感器要设置报警温度阈值我现在用过的几个产品都是把这个阈值放在平台数据库内平台根据设备上报的温度数据进行对比超过阈值就进行报警推送整体逻辑没什么问题但是体验感和可靠性上是不太行的首先设备多久上报一次数据有的几秒有的几分钟如果上报周期太长导致报警延迟可能会导致严重的后果。比如工厂化鸡舍如果通风系统或者制冷设备故障高密度养殖会导致温度迅速上升如果没有及时预警处理可能会对用户造成极大的损失。如果把这个阈值设置在设备内部那温度检测都是毫秒级别的基本上能在5秒内发出报警信息。这里只是大概举例核心要说明的问题其实还是设备端跟平台端在协议对接上的交流成本是挺高的两边的开发人员都是站在自己的角度考虑问题容易发生矛盾。比如对于平台来讲协议如果用json这样的文本是最好的了简单明了但是对于设备端来说资源受限一般采用二进制形式而且对于采用4G的设备来说流量也是个大问题。所以说这就是采用端到端开发产品的好处了设备端可以自定义协议内容减少沟通成本。后面等这个平台软件开发完成后我们就会不断地用这种模式去开发各式各样的硬件产品效率极高。
四、开发规划 依据上面的架构图我们主要的工作量还是在应用服务器和用户端的对接开发包含了帐号注册、登录密码修改子账户管理应用管理分组管理设备管理手机验证码扫码添加报警消息通知等等。对于APP的设计我们还是参考米家APPUI设计是技术人员的短板还是直接模仿比较快当然了很多冗余的东西也会删除毕竟人家是商业性的APP了我们这个主要还是为了学习用的下面放一张APP截图作为参考。 在开发技术上我们全部使用Qt进行开发包括服务器相关的程序和手机APP当然了只要你理解了技术原理和设计思想那么你用Java和安卓开发都是可以的不限具体的技术形式。 接下来每一篇文章都会对新的功能模块进行开发开发完后上传一步一步完成沉浸式体验整个过程让大家在学习过程中理解物联网整个体系的设计原理和开发思维同时掌握实战性的开发技巧。 最后回答一个经常有人问的问题很多物联网专业的同学看到自己要学的内容那么多、那么杂瞬间失去了兴趣和方向不自觉地灵魂拷问物联网的出路在哪里我个人的观点是三个方向
1、纯粹做技术那你把物联网各个环节中的某一个环节学精来就行了比如嵌入式、硬件设计、后台开发、前端开发等等选一个自己感兴趣的深入学习然后早点去找个公司实习积累经验这样未来找工作的时候简历就很丰富了竞争力也就强了
2、市场销售物联网销售还是需要有点技术底子的至少表面功夫得学一学跟客户交流这是基本功了还要有比较好的新知识的吸收能力比如让你去给客户推销NB烟感客户问你电池多大容量的一天发送几次大概能用几年电信和移动的啥区别用的谁家模组报警声音几分贝这些问题常规的销售应该是搞不定的更何况还有更深入的问题比如电池仓库放太久没安装钝化了怎么办物联网设备的销售主要还是以量取胜谈一单往往出货量是比较可观的够你吃一阵子了。
3、市场发掘这个要求你是复合型人才创业型选手既要懂技术又要懂产业深入了解某个产业中的痛点和刚需并分析出产品如何设计才能更好地适应当前产业让用户乐意买单这里面产业、技术、需求、成本、管理、产品各个环节缺一不可这也是未来物联网发展的一个新契机。就目前来讲物联网有点不温不火风头早已经不能跟人工智能和机器人相提并论了甚至很多物联网企业都快倒闭了不过这在起初就可以预知的2018年后的那几年虽然概念火热但是参与其中会发现物联网技术并未解决太多生活中的刚需问题更多的是为了KPI而推行的项目。所以要想让物联网真正改变生活还是很需要这样的复合型人才来填补产业与技术之间的鸿沟让物联网真正的成为一个市场驱动型的产业这样整个行业才有未来。