背景介绍
公司前几年搞了一些基于Linux系统的网关和智能终端的开发工作,产品已经量产,投放市场后发现有几个问题,第一个问题是成本,能跑Linux系统的处理器成本都比较高,当然了它的性能也是比较强。第二个问题是功耗,能跑Linux系统的处理器都带MMU,带DDR,首先是处理器主频高,会增加功耗,再一个DDR的不停刷新也需要电量,导致设备整机的功耗到了瓦级。对于工业设备1瓦,2瓦的功耗算是很低的,但是对于物联网终端来说,功耗还是偏高,面对海量的物联网终端来说功耗也是个很大的数,成本也会增加很多。
基于上面两个问题,我们重新思考了一下,快速开发了这个低成本的物联网智能终端。
需求
- 大部分处于野外,无交流电供电;
- 工作场景有运营商的无线网络信号;
- 支持多种云端通信协议,SZY206,SL651,SL/T 427等,也支持标准MQTT和非标MQTT;
- 支持数据存储,数据可保存十年以上;
- 支持断网时数据缓存,网络恢复时数据补报功能;
- 支持日历时钟,日偏差小0.5秒;
- 支持外接RS485总线的传感器,支持数量大于3个;
- 支持对外供电;
- 对外提供两路继电器常开接点;
- 支持两路数字量输入,电压0~24V;
- 支持一路RS232接口,用于调试,也可以外接北斗二代和北斗三代卫星;
- 支持一路模拟量采集,可采集4~20mA或者0~5V;
- 带一个TF卡插槽,可外挂TF卡,支持Fat32文件系统;
- 带蓝牙,可通过微信小程序配置设备参数;
- 可集成北斗定位;
- 供电电压宽范围,7~36V直流;
- 整机静态功耗小于200uA;
技术难点
拿到需求后,在考虑成本的情况下,初期打算使用EC800M的open方案,使用python编码,实现整个设备的开发,当时要解决公司有没有次档产品的问题,所以工期非常紧急,必须在短时间内搞定产品的开发,如果选用EC800M的Open方案,会有几个问题:
- 编程语言的问题,我们几个都是C语言编程的,换了python需要点时间适应;
- 功耗问题,在各种工况下,Open的方案功耗是否能够自主控制住,这个Open方案不是所有的都Open的;
- 成本问题,Open的方案好像比AT指令的模组成本要高个十元左右;
- 基于python来多这些外设的驱动开发,之前项目上已经积累的C语言的外设驱动,已验证可用,换了python都需要重新编码,测试,达到稳定需要一定的时间。
综合考虑后,还是考虑使用小华的HC32L196芯片+4G Cat1模组的方式来实现产品的开发,HC32L196芯片的价格在芯片供应紧张的几年价格也没超过10块,最主要的是产品整机的功耗是可控的。
这里面还有个问题就是串口屏,比低功耗那个多了个串口屏,这个产品算是我们在这个公司开发的首款此类产品,低功耗那个要比这个晚上七八个月的时间。串口屏降低了MCU对于显示的硬件要求,可以在很小资源消耗的情况下实现很炫的效果,当然了这个并不是不需要硬件资源的消耗了,是因为这些消耗放在串口屏自带的处理器了,我们使用的是迪文的串口屏,这个公司接触时间比较长了,也算是串口屏这个行业里的价格屠夫了,它的开发流程如下:
上图仅是大意描述迪文的开发流程,详细流程还是需要看看厂家提供的技术资料,开发界面图片需要美工的参与,在尽量缩短工期的情况下,只能自己先粗略搞一版,先解决有没有的问题,再解决美不美的问题。开发还算顺利,但这里会有遗留问题,我们的设备支持远程升级,如果需求变更涉及到界面信息的话,这个就无法远程升级了,界面的程序只能通过TF卡烧进去,这个就要考验工程师对于需求变更的预估能力了。后续了解到迪文的串口屏也可以通过串口来更新一些东西,对于这个暂时没过多研究,主要是考虑没必要为发生几率很小的事情花费太大的精力,要把好钢都用到刀刃上。要想做一件事情使所有人都满意,这个恐怕只有靠神来实现了。
器件选型也是个头疼的事,首先要保证性能的情况下成本足够低,国产的DCDC芯片,芯洲科技的电源芯片在不同产品上进行了测试,对于我们产品的开发还是足够靠谱的,再一个功耗消耗的大户就是RS485芯片,对于场景不好把控的情况下,需要RS485在静态模式下不丢数,国产芯片在不保证丢数的情况下功耗都在百微安的级别,这个就只能先选美国货了,国产货肯定有能满足的,但是没时间和精力去找了,如果有能满足在静态模式下功耗10个微安以内仍能够正常接收数据的芯片厂家可以给我发邮件。
最近差不多十年了一直使用的移远的通信模组,这是一家真正为客户考虑的模组厂家,比华为的模组要强多了,之前使用MG301还有一个啥来着,这不是华为的核心业务,升级一代产品我们就要跟着重新做一版升级。移远的模组会考虑不同代产品的兼容性,避免模组升级就换封装,导致我们的产品不停的跟着升级换代,选型一定要考虑的是,选好了型,产品刚开发出来,选好的型的厂家停产了。
近距离通信的无线模组像蓝牙和LoRa的,这几年一直用的安信可的,开发周期短时,一定要选品牌的产品,虽然价格有可能会小高,但是产品质量肯定是有保证的。
不码太多文字了,有啥开发过程中的问题可以单独留言,关于产品使用的问题也可以发邮件给我。
功能说明
参见《低功耗物联网采集终端(HC32L196+EC800G+BLE)》,功能大体类似,只是需要外部供电,对外接口多了一些而已。
应用架构图:
产品正面如下所示:
侧面图如下:
接线端口如下:
天线接口如下: