APP下载

基于NB-IOT的“易生”精灵监测系统

2020-07-04刘仕鹏刘鑫居东方阳文杰詹少杰潘俊虹

电脑知识与技术 2020年15期
关键词:微信小程序

刘仕鹏 刘鑫 居东方 阳文杰 詹少杰 潘俊虹

摘要:基于微信小程序设计了一套以KL36开发板为终端的“易生”精灵监测系统。该系统通过在KL36开发板上接人相应传感器,实现对环境物理量的监测;将检测的环境数据通过NB-IOT技术远距离传送至云端,用户可以通过手机端的微信小程序对监测对象进行实时数据查看和历史数据查看;实现了为用户提供轻便、高效的智能监测系统的设计目的。实验结果表明,该系统具有较高的精度和实时性;结合NB-IOT技术低功耗和广连接性的特点,对多用途智能养殖监测具有重要意义。

关键词:NB-IOT;KL36;智能监测;微信小程序

中图分类号:TP3 文献标识码:A

文章编号:1009-3044(2020)15-0121-03

随着社会的进步,人民生活水平的提升;越来越多的人热爱于室内绿植、水生动植物的养殖,并形成了不小的风潮以及庞大的市场规模。但是,由于养殖人员的水平以及环境条件的限制造成低存活度的问题;因而诞生了一大批智能花盆、智能鱼缸等设备,但大多价格高昂、功能单一且复用度不高,市场亟需一种造价低、用途广、易于使用的智能設备。这就是“易生”精灵的研发初衷。本文设计了以KL36开发板为终端,连接传感器采集环境物理量;并选取了网络结构简单,部署维护难度低的NB-IOT用于数据传输;相比较于传统的网络,NB-IOT更适用于小规模的智能监测,而无须搭建私有网络,使用云服务器接受并存储上行的数据和下行的命令;并开发微信小程序平台供用户查看观测对象的实时数据与历史数据。电力上使用了移动电源为终端供电,保证其轻便性与多用性。

1系统分析

1.1系统的主要功能

1)对“易生”精灵监测的各类物理量进行采集:包括有光照强度、土壤(空气)温湿度、土壤(水体)pH值、二氧化碳浓度、氧溶解度等环境信息。

2)采用NB-IOT技术将得到的数据上传至云端:NB-IoT技术有大连接、广覆盖、深穿透、低成本、低功耗等五个基本特点。相对于其他LPWAN技术如GPRS、LoRa和SigFox来说,NB-IoT在LPWAN领域具有更好的表现。例如,相较于与其他三种技术,NB-IoT具有高数据传输率,覆盖面积大,终端连接数多等方面的优势;此外,对于低成本、低功耗方面的要求和信号穿透力上的表现,NB-IOT的性能介于GPRS、LoRa和SigFox之间。另外,NB-IoT是有通信运营商支撑的运营网络,终端UE数据通过运营商的基站直接送达以太网,终端UE用户只需要向通信运营商缴纳较低额流量费。在综合考量之下,NB-10T技术是不二之选。

3)使用微信小程序接收云端数据并与用户交互:通过微信Web开发工具进行开发的微信小程序能同时在各种移动终端上使用,扫描二维码即可快速使用而不需要下载安装其他软件;并且通过公众号关联可实现公众号与小程序之间相互跳转,功能丰富,用户体验出色。

1.2系统的架构

环境信息采集:采用恩智浦KL36芯片作为NB-IOT终端,将在终端上实现对土壤温湿度、二氧化碳浓度、pH值、光照强度、氧溶解度等物理参数的监控。

数据传输:使用NB-IOT模组将数据传输至云端,云端将数据与分析数据之后的结果上报至用户终端,等待并得到命令后回传给监测系统。

云端与用户终端:使用云服务器处理、传输数据;开发微信小程序接受且可视化云端数据并进行人机互动。

具体系统设计如图1。

2系统设计

2.1环境数据监测子系统设计

硬件终端使用恩智浦KL36主控芯片作为NB-IOT终端,插带一系列的传感器,例如有温湿度传感器、光敏电阻、pH值传感器、二氧化碳浓度传感器、氧溶解度传感器等。NB-IOT终端将传感器获得的数据按数据帧格式进行编码,通过MCU串口以AT命令的形式,发送已编码数据到NB-IOT模组;NB-IoT模组创建和基站之间的传输信道后上行发送数据,然后等待并响应云端命令。

2.2 NB-IOT通信架构

以KL36微控制器为核心的NB-IoT终端(uE)收集储存各个传感器采集的数据,借助通信模组将MCU的板内连接转为NB-IoT通信,以便借助NB-IoT基站(eNodeB)与NB-IoT云服务器通信;NB-IoT终端内含“用户识别卡”,即SIM卡;其含有唯一的国际移动用户识别码IMSI,也就是卡号。NB-IoT终端用户可以通过这个号给信息邮局MPO运营商或者NB-IoT服务机构交费。

具体应用框架如图2所示。

2.3云端服务器的构建及功能

在NB-IoT终端通信编程中,需要提供一个固定IP地址和端口号,以供终端UE与信息邮局MPO服务器建立连接并进行数据交互。许多大型互联网公司都会提供服务器租赁服务,购买后即可获有固定lP地址的服务器。当NB-IoT终端(uE)成功与信息邮局MPO(NB-IoT信息邮局是一种基于NB-IoT协议的信息传送系统。由NB-IoT基站eNodeB与NB-IoT云服务器组成。在NB-IoT终端(uE)与NB-IoT人机交互系统(HCI)之间起信息传送的桥梁作用。)建立连接时,需要基站向连接的终端(uE)分配一个临时的IP地址以供NB-IoT终端(uE)与信息邮局MPO进行数据交互。

侦听程序(uS-Monitor)。用户侦听程序可运行于任意一台连接了网络的电脑Jk;US-Monitor处理的数据通过云端转发软件CSFS转发,因而监听程序US-Monitor的运行须要云端转发软件CSFS的运行;其工程框架中有四个文件夹,分别为工程说明文件夹、工程类文件夹、工程窗体文件夹、工程资源文件夹。

具体工程框架及说明如表l。

数据库的搭建。NB-IoT终端上行的数据需要存放在数据库中以便观察、使用与保留,在本次项目工作中我们使用了较为普遍的Microsoft SQL Server数据库。该数据库中主要包含三张表,分别是:设备信息表(存储终端设备的配置信息,一个设备对应一条记录,只保存最新信息,不保存更改记录)、上行数据表、下行数据表。

2.4微信小程序设计

1)开发环境搭建:先申请一个属于自己的微信小程序账号,需要进人微信公众平台获得开发许可AppID;配置开发服务器信息可在“测试号管理”页面的“可信域名”栏目中找到并点击“开始配置”按钮,此时可以对四类可信域名进行配置:requset合法域名、downloadFile合法域名、uploadFIle合法域名和socket合法域名。配置完成后可打开网页https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html下载微信开发者工具,运行工具后导人工程即可开始界面设计及功能完善等。

2)功能分析:为了方便用户能随时随地查看接收到的数据,微信小程序主要分为三个界面,即实时数据,实时曲线,历史数据。实时数据界面能够实时显示终端发送上来的数据,实时曲线则是根据数据帧传人的物理量进行曲线的绘制,历史数据界面则展示历史数据内容。这些功能主要是通过与侦听程序进行交互实现的。

3)界面设计:智能监测客户端包括了基础界面、首页、数据查看界面以及工程资源界面,实现了实时数据的可视化显示、绘画实时数据的曲线图、查看历史数据及工程资源版本说明等信息。设计之初本着界面简易、友好的原则,尽量方便用户与系统的人机交互并提升用户的使用体验。

具体微信小程序界面如图3。

4)数据传输流程:WebSocket服务是网页程序、安卓App、微信小程序等获得数据和服务的接口,是基于TCP的一种新的网络协议;它实现了浏覽器与服务器全双工通信。在微信小程序与云服务器建立通信时,先进入实时数据界面,建立web-socket连接,顺利建立连接后请求一帧历史数据用于创建页面文本框。下一步准备接收数据;实时侦听是否有新的数据传送,当终端发送一帧数据时,云侦听程序接收到一帧数据后将数据写入数据库中,并将消息传给微信小程序,确定为指定的imsi号数据后,向云侦听程序请求完整数据。最终将数据回发;将在一定的时间内对数据进行修改,通过回发按钮,将数据组帧后回发给云侦听程序,云侦听程序将数据写入数据库中,并发送给终端,完成数据下行过程。

3结束语

本文研究设计了基于NB-IOT网络传输技术的智能监测系统,旨在为动植物养殖者提供一款轻便多用、实惠耐用的智能监测设施。目前国内外研究和市场上的智能养殖监测只是作为智能养殖系统的组成部分而已,例如智能花盆、智能鱼缸等;“易生”精灵的研究则解决了在不同环境下监测相关物理量并实时反馈给客户端的问题,真正实现了使智能养殖监测独立运行并广泛适用。设计采用了NB-IOT技术传输数据,具有无需布线、高效快速且降低功耗的优势;采用了方便简洁的微信小程序可视化云端数据,随时供用户查看。实验结果表示,“易生”精灵准确高效,具有良好的应用前景;并且可以在原有的基础之上,在终端添加一些机械组件,实现用户的操作命令。

猜你喜欢

微信小程序
微信小程序在高校英语教学中的应用
当图书馆遇上微信小程序