云服务在养殖行业中的应用研究
2021-09-08青岛兴仪电子设备有限责任公司
青岛兴仪电子设备有限责任公司
□ 郑培宁
随着养殖设备规模化发展,完全依靠管理者频繁奔波于栋舍之间设置参数和查看信息,严重限制了工作服务效率,通过人工进行大数据分析对比也不现实。如何对生产数据进行二次分析利用,达到各设备间参数最佳状态,实现理想的饲养效果,成为养殖行业的迫切需求。
现有环境控制系统除了环境控制器,还需要实时感知的环境数据、驱动终端执行机构、远程控制等各个子功能模块配合在一起使用。整个环境控制系统组成框图如图1所示。
图1 禽舍环境控制系统构成框图
一、养殖云服务的实现方法
养殖云既是产品,更是服务。主要涵盖传感技术、数据采集技术、网络通信技术、数据库技术、自动控制理论、软件工程技术等多学科相互交叉。
对于市场现有环境控制器而言,绝大多数是没有物联网技术背景下的产物,其在物联网世界中没有“身份”(识别号),这些设备想进入物联网和养殖云世界,需要新增一些接入设备。在物联网和云之后的环境控制器,若加入了该技术支持,则其本身即可接入物联网和云。下面对这两种类型的环境控制器的接入方式分别论述技术解决方案。
(一)没有物联识别号的环境控制器接入云的解决方案
大型养殖场中有数量较多的环境控制器,这些控制器要么运行于单机模式,要么通过串口通信与生产管理的PC机联网,组成养殖场一级的专用监控网络。基于单机运行或场级联网需要的环境控制器,其身份识别码只是一个简单的数字编号,一般情况下这个数字编号是8bit无符号整数,除去设备开发商保留的扩展用地址号,其有效范围一般在1—250,在这种情况下,当环境控制器的数量超出250台时,通常采用多台PC机分片区管理。然而实际上由于串口通信的速率受可靠通信距离限制,当养殖场的规模较大,养殖舍数量多时,存在部分养殖舍离办公监控室太远,此时串口通信的速率就要降低,通常情况下,2400波特率可以保证在1200 m距离内通信是稳定可靠的。因此当环境控制器数量众多时,通信的实时性就会明显下降。一般的规模化养殖场都以20栋以下的数量为一个管理单元,这样批量操作的时延可降到用合理的程度。由于全场的养殖舍控制器都已经连接到监控PC上,因此只要把该集中监控的PC机连接到云上就做到环境控制器的云接入。
(二)具有物联识别号的环境控制器接入云的解决方案
这是一个体系化解决方案。从技术解决方案角度来说,涉及到ID的编码、生产过程中的编码管理、接入网络后ID的识别与鉴权等一系列问题与解决。
1.ID的编码
ID码=产品码+顺序号,产品码部分主要用于保证用尽量少的数据包含尽量多有关本机的信息;顺序号主要作用是确定唯一性;二者结合后保证编码数量能达到一定量级,既能满足当下产品要求,又给未来使用留有一定余量。
2.ID的识别与鉴权
ID识别与鉴权是有两个层面的含义。第一层含义是指环控器本身可以对自身进行识别自己是否是“正品原装”产品,如果不是,则可以选择强制停机、拒绝服务等活动;第二层含义是指云对接入自己的环控器进行识别是否登记造册的“原装”产品,若是则为其建立运行期数据档案,否则拒绝其接入请求。
(1)正品自鉴别技术。环控器在生产时,分为两个阶段,第一阶段首先为其烧写BootLoader引导加载程序。每生产一台环控器,烧写引导程序过程中,都自动在引导区中的特定位置写入了符合前述规范的ID码,ID码可唯一标识该环境控制器,同时该ID码被量产工具自动记录,并可通过导入记录的方式将生产过的ID码录入云服务平台的ID数据库;第二阶段,将已经烧写好BootLoader程序的主板上电,BootLoader程序得以执行,读取应用程序区和引导区的特定位置,将读到的数据进行比对,如果相同,则说明是原装正品,则Loader应用程序并执行,如果不相同则说明应用程序是非法的,反复Boot等待更新应用程序,直到更新完毕并验证为原装正品后Loader用户程序并执行。
(2)正品云鉴别技术。在云上,专用服务软件持续运行,在接收到环境控制器发来的数据报文后,从报文中解析出环境控制器的ID码,在ID数据库中检索该ID是否存在,若是则说明是正品发来的数据,为其建立运行时数据档案,并持续记录该环境控制器后续发来的运行时数据;否则可能是非正品环控制器发来的数据,直接丢弃,拒绝为其建立数据档案。
二、数据关联与饲养环境复制技术
环境控制器的应用软件中留出用户名称填写位置,终端用户需要接入养殖云服务时,在其中填写用户名称,服务器收到后,即更新该ID号的环境控制器所属用户,用户即可为该环境控制器对应的养殖舍填写生产性能日志。至此已经将该ID号下的生产性能日志与运行数据建立关联。通过这两个方面的内容,云即可根据运行状态数据与生产性能数据做出合理的关系判定,通过保证在鸡舍中复制相同的环境以达到类同的生产性能。
在此基础之上,还可以衍生出更为超前的环境控制器虚拟化的做法。在传统数据采集探头上加装CPU与数据卡,在CPU的存储器上采取前述ID编码管理方案,将其改造成具备物联网接入能力的智能探头;继电器板加装CPU,在CPU的存储器上采取前述ID编码管理,将其改造成具备物联网接入能力的智能执行器;在云上建立智能探头和智能执行器的ID编码档案与在养殖舍中的分配对应关系数据库;智能探头只完成数据的采集与上传工作,执行器只完成云规定动作的执行。至于探头采集的数据的分析与如何输入执行动作的决策工作则完全在云上完成,也正是基于此,才能将环境控制器虚拟化,多个智能探头与智能执行器共享云上的计算和决策资源,提高了云资源的利用率,降低了用户采购和维护实体环境控制器的成本。在这种模式下,IoT网络链接的可靠性与数据双向通道的稳定性也是系统运行和安全生产成了方案成败的关键所在。
三、环境控制器的OTA软件升级
1.环境控制器的软件生产
把目标代码文件下载到嵌入式设备中通常有两种编程方式,一种是在系统编程ISP(In System Programming),一种是在应用编程IAP(In Application Programming)。ISP和IAP都可以使用串行通信口(通常称作COM口)完成目标代码的下载,二者的本质都是将目标代码下载并存储到程序存储器中以供复位后执行,但是二者有着些许的不同。
一般来说,具有IAP能力的嵌入式设备,其程序存储器内都含有引导和加载用户程序的bootloader软件。嵌入式设备需要至少要执行一次ISP过程才能将bootloader软件下载到程序存储器中,然后才具有IAP的能力。有些单片机(如STC51系列)出厂时就有bootloader,而有些单片机(如AVR Mega系列)具有boot和loader的功能,但要使用者自行开发bootloader软件并通过ISP下载到芯片中才能使用这一功能。IAP是实现环境控制器OTA升级软件的基础。
图2展示了使用bootloader技术前提下,如何首次制造产品,加载初始固件,销售以及稍后使用新版本的固件更新产品的示例。
图2 bootloader应用示意图
2.通过OTA升级软件
环境控制器在正常工作时,运行的是用户程序区的Application,是无法运行boot区的bootloader软件的,此时云下发到环境控制器串口上的新Application,是无法被环境控制器所接受的。因此在Application中要留出接口,以便云下发新的Application时,环境控制器能知道云的意图,转而执行bootloader程序,一旦bootloader程序得以执行,其过程便和从本地计算机的COM口进行IAP过程完全一样,可以方便接收和更新Application。Application和云的通信活动触发环境控制器执行bootloader程序,完成Application的更新过程,由于没有本地计算机参与的过程(即便有作为网关角色的本地计算机,它本质是作为数据的通道而存在的,完全可以忽视其计算机的属性),因此可以看作是以OTA方式升级软件。
四、总结与展望
养殖云服务以用户需求为导向,是集信息提供和交互的大数据平台,其建设过程从集中监控开始,向大数据收集、分析、建模形成专家库,反向指导用户设置养殖工艺参数。养殖云服务通过对环境控制器运行过程监控,远程设置运行参数,可以实现养殖生产全程监控,其更重要的应用意义在于,将生产过程中数据与生产过程前后端连通,完成与食品安全追溯、客户关系管理系统有机结合,实现全产业过程数字化服务平台。
在这个应用场景中,禽舍中仅存在传感设备与执行设备,环境参数的调节决策将在云上完成,云就是环境控制的核心,所有传感设备、执行设备与养殖云将组成一个巨大的 “环境控制系统”,养殖环境控制就此步入云时代。