基于GPRS 的远程二十四节气灯光控制系统实现
2022-07-11王维
王维
(江苏省科学技术馆 江苏省南京市 210013)
1 系统开发背景及硬件架构
近年来,随着室外科普展陈需求的发展,原本静态的雕塑、造型以及单向传播的多媒体屏幕已经不能适合业主的要求,业主方会提出自己的一些智能化设想,而这些设想很多需要网络的支撑,这一点却因为市政等原因不具备实施的可能,而GSM/GPRS 网络的广泛覆盖给了我们一条便捷的解决路径。
本案例中,项目策划方要在室外绿地区域(没有局域网和无线Wi-Fi 信号覆盖,只保障电力供应)设置一座24 节气灯光演示灯塔,每个节气用一组灯箱标识,(如图1 所示)要求能够用手机终端远程对灯塔上的每一个节气灯组进行控制,完成流水显示,独立起闭,当日对应节气灯自动亮起等功能,并具有手动遥控亮灯功能。因现场没有可用的局域网(无线网)覆盖,因此只能采用GPRS 通讯方式实现指令的传输,GPRS 通讯方式有着很广泛的应用范围,几乎可以覆盖所有中低速率的数据传输业务,特别适合条件差的野外使用环境下的中小数据量的传输和手持设备的应用,因此如何利用GPRS 实现整个系统的控制是这个系统的关键。
图1:外观效果图
GPRS 是通用分组无线业务(General Packet Radio service)的英文简称,是GSM 系统上发展出来的一种新的承载业务,目的是为GSM 用户提供分组形式的数据业务。它特别适用于间断的、突发性的、频繁的、少量的数据传输,也适用于偶尔的大数据量传输。GPRS 理论带宽可达171.2kb/s,实际应用带宽大约在40~100kb/s。在此信道上提供TCP/IP 连接,可以用于Internet 连接、数据传输等应用。GSM-GPRS 通过在原GSM 网络基础上增加一系列的功能实体来完成分组数据功能,新增功能实体组成GSM-GPRS网络,作为独立的网络实体对CSM 数据进行旁路,完成GPRS 业务,而原GSM 网络则完成话音功能,尽量减少了对CSM 网络的改动。GPRS 网络与GSM 原网络通过一系列的接口协议共同完成对移动台的移动管理功能。GPRS 新增了一些功能实体:服务GPRS 支持节点SCSN,网关GPRS支持节点GCSN,点对多点数据服务中心等,及一系列原有功能实体的软件功能的增强。GPRS 大规模地借鉴及使用了数据通信技术及产品,包括帧中继、路由器、接入网服务器、防火墙等。
本系统由五个部分组成:终端执行单元(PLC),数据终端单元(DTU),GPRS 网络,数据中心(服务器),操控单元(手机APP)。数据中心接收手机终端APP的操控指令,在处理之后将指令序列通过GPRS 网络发送给DTU,DTU负责向数据中心发送数据,建立网络通讯链路,并将接受到的执行指令转换成串行指令发送给PLC,PLC 接受DTU 发送来的指令,执行相应的灯光控制操作。系统构成如图2 所示。
图2:系统结构图
其中PLC 选用三菱FX5U-32MT,DTU 选用支持塔石LTE-364,服务器租用阿里云服务器,采用动态域名技术和端口映射技术将服务器上服务映射到公网上,这样DTU 每次启动之后,通过GPRS 网络主动访问数据中心(服务器),数据中心与之通讯,形成完整的通讯链路,同样,手机APP也通过GPRS 网络访问数据中心(服务器),发出控制指令。
2 手机APP端控制程序的设计与实现
根据需求,该系统要能在手机端进行操控,考虑到操控的便捷性,以及跨安卓、苹果手机平台的应用,拟采用微信小程序的形式开发,主要用于GPRS 数据终端(DTU)的管理、测试,便于用户在调试过程中灵活的改变相关参数并进行测试,并在服务器端及时得到执行的结果。同时采用微信授权的形式,控制使用小程序的人员,实现控制终端的管控,APP 界面如图3 所示。
图3:APP UI
这里主要采用了WebSocket 通讯协议,WebSocket 是独立的、创建在TCP 上的协议,该协议能更好的节省服务器资源和带宽,更实时地进行通讯,较少的控制开销,始终保持连接状态以及更好的二进制支持,对于该项目的应用适应性高。WebSockets 可以在用户的浏览器和服务器之间打开交互式通信会话。WebSocket 对象提供了用于创建和管理WebSocket 连接,以及可以通过该连接发送和接收数据的API。
2.1 建立通讯链路
2.2 发送控制指令
2.3 关闭链接
3 数据中心服务功能的设计与实现
数据中心(服务器)服务是本系统的关键,数据中心接收手机终端APP 的操控指令,在处理之后将指令序列通过GPRS 网络发送给DTU,最后执行灯光操作。为了便于手机端APP 操控,服务器端设置多个演示触发序列,在APP 上的一键操作可以实现一系列预设灯光操控序列。
3.1 启动websocket服务
3.2 接收小程序端控制命令
3.3 启动Tcp Server
4 PLC端的实现
PLC 被设计成为独立控制每一个灯组的起闭,当DTU将串行指令发送给执行终端PLC后,PLC根据指令执行即可。串口初始化及跑马灯代码如下:
5 结语
该系统在软硬件平台搭建之后,进行了多轮测试,在后场测试时,系统可以稳定的运行,在实际应用场景下,偶尔出现指令时延和指令丢失现象,通过对服务器端的反馈信息分析,指令发出是稳定的,故障原因与通讯基站信号传输相关,随着后期基站信号优化后,该故障基本消失。该系统即将投入实际应用,运行状况和使用效果预期良好,可以达到设计要求。
GPRS 的传输有多种组网结构,该系统组网结构为PPP方式,后期根据系统需求,也可以设计多点对多点的数据传输,只要给DTU 端通讯增加设备索引,即可完成类似的多设备多点控制功能。