乐易派 | 基于Luat+OneNet,快速实现物联网产品60天量产

大量量产的物联网产品,不仅要关注功能,可靠性、可生产性、可维护性,以及投放后的低成本运维,都是考虑要点。


EasyDevice与Luat及OneNet的合作历史

深圳乐易派(EasyDevice)自2015年进入物联网产品开发代工领域以来,一直秉承“快速开发、快速量产”的准则,助力多个著名品牌,快速量产热门产品,抢占先机市场,取得成功。


同时,乐易派不断改进开发流程、采购流程、试产流程、量产流程,逐步实现了“物联网产品,60天从需求到量产”的服务目标。


上海合宙一直是乐易派物联网产品的2G/4G模块供应商。乐易派一路见证了合宙Luat将近三十多个版本的演进,目前已经将合宙Luat作为乐易派物联网产品的嵌入式软件技术框架来使用,积累了大量经验。


OneNet物联网开放平台和乐易派的合作也已经超过三年,乐易派开发的物联网产品使用过OneNet平台的MQTT、EDP、HTTP、MBUS等几乎所有的接入协议。


本文主要分享如何使用Luat和OneNet,快速构建物联网产品嵌入式端的软件,以及在量产过程中的下载管理,产品外投部署后的升级管理等方面的经验。



标准化0.0.0版本简化采购和烧写流程

乐易派按照量产定型的产品型号向合宙采购2G/4G模块,同时提供给合宙一个该产品的0.0.0版本的嵌入式软件(固件FW),合宙在模块产线上即将0.0.0版本烧写进2G/4G模块,然后交付给乐易派。


所有产品的0.0.0版本固件,99%的代码相同,均由三个文件构成:main.lua,devreg.lua,cfg.lua。


main.lua的代码结构采用了合宙Luat的标准模板,仅修改“PROJECT”产品名称。cfg.lua保存了产品所需的配置参数,其中包括产品向OneNet平台进行“设备注册”所必须的2个参数:“register_code”和“product_id”。


devreg.lua的功能有两个:


其一,通过http协议,使用“register_code”和“product_id”参数向OneNet平台注册产品。产品的“name”统一使用模块的IMEI号,便于在OneNet后台进行查询和维护。OneNet平台返回2个参数:“device_id”和“api_key”,会被保存到cfg.lua中保存,用于产品每次接入OneNet平台时验证身份。


其二,注册完后,运行update.request(),从合宙iot.openluat.com下载该产品的最新Luat应用版本。


大量量产产品的生产批次多,每批生产之间有时间间隔,嵌入式固件又经常进行版本迭代,每次生产同步最新版本进行烧写容易出错。


含有0.0.0版本固件的模块在PCB装焊完成后,首次加电即自动完成OneNet平台的设备注册,然后自动从合宙的固件远程升级服务器下载最新版本的固件覆盖0.0.0版本,自动完成烧写,不用任何人工参与,提高了效率,避免了差错。


由于0.0.0版本的代码结构基本固定,每个产品其实只需要修改与合宙固件远程升级服务器有个的“PROJECT”参数,以及和OneNet平台“设备注册”流程有关的“register_code”和“product_id”参数,即可交付给合宙生产,永不修改,非常合适乐易派的多种产品、多批次生产、并行向合宙下单采购的特点,避免了烧写版本的差错。



通过rssi状态辅助运维

从0.0.1版本开始的Luat嵌入式固件,由main.lua,cfg.lua,app.lua等文件组成,其中main.lua和cfg.lua和0.0.0版本一样。而乐易派所有物联网产品的应用程序app.lua和衍生文件的代码,50%固化相同。


物联网设备的上行信息称为“数据”,设备通过指定协议(例如MQTT)发送给OneNet平台,OneNet平台再自动推送给产品的应用服务器进行使用。


物联网设备的下行信息称为“命令”,应用服务器通过API接口发送给OneNet平台,OneNet平台通过指定协议发送给物联网设备进行执行。


乐易派在做系统设计时,将“数据”分成两类:“status”和“evnet”。“status”指随时都存在的信息(例如rssi,电压等),需要周期性上报。“event”指随机产生的信息(如人机交互等),产生后需要即时上报。


rssi是“status”类必选数据之一,一般5分钟间隔周期上报,作为发送给应用服务器的“心跳”,用来指示物联网设备是否在线。


同时,通过rssi可以了解设备的接入链路质量。如果链路质量一直很低,说明设备布放位置的网络覆盖不良,应该调整设备位置。


在生产过程中,在统一的网络环境中观察rssi,可以筛选出天线不达标的产品,保证产品的天线出厂品质的一致性。


通过BASIC通道广播运维命令

产品如果使用MQTT协议,除了OneNet定义的“$creq”“命令”通道(Topic)外,每个设备都会订阅(subscribe)一个“BASIC”自定义通道(Topic)。“命令”一般通过用户的应用服务器调用OneNet的API发给设备,如果乐易派希望对所有设备(包括部署后的设备)进行一次全体复位(或者全体设备更新固件),想通过用户的应用服务器发命令就很不方便。


乐易派利用OneNet平台提供的MQTT Simulator,注册一个HOST设备,HOST通过“BASIC”通道广播“全体复位”(或者“全体升级”)的消息,触发全体设备执行,可以方便的实现运维和升级。


通过NTP授时执行定时重启 提高可维护性

产品每次复位启动后,第一个动作并不是连接OneNet平台执行既定应用,而是连接一个NTP授时服务器,获得真实时间。真实时间一方面用做上报"status"和"event"的时间戳,更重要的是作为绝对时间,触发设备定时重启(例如一般无人使用的午夜2点)。这个功能在2G应用中尤其重要,目前2G的网络状况恶化,接入设备种类众多(例如大量的共享单车),会出现各种意外的GPRS信道堵塞(尤其是下载大量数据时),甚至逻辑卡死,并且不能自我恢复,必须从新断网后搜网才能解锁。定时重启机制保证即便设备链路卡死,也能够在固定的周期(例如一天)后复位恢复,大幅度降低人工干预的运维成本。


通过OneNet的loc地图辅助运维

NTP授时后,还要通过合宙的LBS位置服务器,获取设备的大概位置,并作为“status”类必选参数之一上报。OneNet平台的设备管理后台有非常友好的位置(loc)地图匹配功能,可以直观查看每台设备的布放位置,辅助运维人员的工作。


量产产品不能仅关注功能实现

每一种物联网产品各有不同的应用功能来实现其价值。但对于真正大量量产使用的物联网产品,可靠性、可生产性、可维护性、低廉的布放后运维成本,则是产品价值实现的基础保障。乐易派通过软件框架,将保障性措施全部规范化,只需要集中精力完成应用功能开发,即可快速进入量产阶段。目前一个产品的固件开发可以控制在一周内结案。



借物联网生态赋能

乐易派在快速实行物联网产品量产过程中,大量借用了合宙(Luat框架、远程版本升级服务器、LBS定位数据库)和OneNet(MQTT Simulator、地图位置功能)提供的平台功能,整合进开发、量产、运维过程,提高整体效率,降低综合成本。随着近期Luatask的推出,乐易派又将Task的消息传递机制导入到框架中,进一步增强了系统的健壮性。


“60天从需求到量产”,并非乐易派一家之功,而是善用物联网行业生态的能量,站在了巨人的肩膀上!




客户案例:2016年 | 物联网门禁

客户品牌:社区半径

开发时长:45天(含模具开发)

生产总量:20000台

应用成就:部署进入全国1200个小区的单元门控

相关技术:

  • 2G接入远程开门 

  • BLE短距开门 

  • NFC近场开门

    • 小区卡开门

    • 公交卡开门

    • 银行卡开门

    • 二代身份证开门




客户案例:2017年 | 共享充电宝

客户品牌:Hi电 

开发时长:35天 

生产总量:50000台 

应用成就:部署进入北、上、广、深、汉、宁、杭、蓉、渝、湘10大城市热点商圈 

相关技术:

  • 2G接入远程开电 

  • 大容量电池管理




客户案例:2018年 | 桌面广告终端

客户品牌:桌美宝

开发时长:60天(含模具开发) 

生产总量:6000台 

应用成就:部署进入深圳南宁12大热点商圈桌面 

相关技术:

  • 2G接入远程 

  • 图像处理及显示

  • 广告远程发布平台(乐易派开发) 



客户案例:2018年 | 智能直饮水机(幼儿园专用)

客户品牌:聪聪喝水 

开发时长:20天 

生产总量:300台 

应用成就:试点投放某地100所幼儿园 

相关技术:

  • 4G接入远程

  •  RFID智能水杯 

  • 远程水机水杯管理平台(乐易派开发)




接案咨询顾问:CTO/刘

“想做量产的是真客户,接了案子,保证量产”

“聊聊想法的是好朋友,集思广益,来日方长”


TEL&VX : 13066888733




  • 发表于 2019-02-14 18:32
  • 阅读 ( 2886 )
  • 分类:默认分类

0 条评论

请先 登录 后评论
不写代码的码农
刘志才

乐易派科技 CTO

1 篇文章

作家榜 »

  1. 技术销售Delectate 43 文章
  2. 陈夏 26 文章
  3. 国梁 24 文章
  4. miuser 21 文章
  5. 晨旭 20 文章
  6. 朱天华 19 文章
  7. 金艺 19 文章
  8. 杨奉武 18 文章