浅析基于物联网的远程抄表系统的设计及应用

安科瑞 华楠

摘 要:本文基于物联网的概念,使用 ZigBee、通用分组无线服务技术两种无线通信技术相结合的方式实现远程抄表并对数据进行存储和管理。此系统设计主要分为硬件方面的设计和软件方面的设计,硬件方面的设计需要完成三个部分的硬件制作,包含了采集器、协调器、和 GPRS 模块,需要完成数据的传输等功能;软件设计主要包括 ZigBee模块的硬件接口编写、上位机的数据监测管理软件的编写等。

关键词:物联网;ZigBee;GPRS;数据库

 

0.引言

为了有效率且较准确的采集居民电力的使用情况,需要对以往的电能抄表技术进行提高和革新。采用远程抄表这种方式不需要专业人员以及物力成本去布置专门的线路,具有抄表准确高、高工作效率等优点 [1] 。在远程抄表系统的理论研究上,国外的研究时间比国内早,技术也更成熟,美国、等欧洲国家都已经得到了广泛的运用。远程抄表系统建设的关键是要使数据在通信时保持稳定且准确 [2] 。

 

1.远程抄表系统硬件总体设计

远程抄表系统的硬件总体设计如图 1 所示,包含电表、RS485 接口、采集器模块、协调器模块、GPRS 模块五大部分。

 

图 1 远程抄表系统硬件总体设计框图

电表也叫电度表,采用 RS485 通信,为了实现电度表与采集器 D 相互通信 [3] ,需要在两个模块之间添加一个电平转换模块,本系统采用 MAX485 芯片,5V 电源供电,数据

双向传输,传输速率 10Mbps。

ZigBee 模块采用 CC2530 芯片,采用 3.3V 对其供电,芯片具有与 RF 收发器功能,可实现短距离内数据更可靠安全地无线传输、支持 IEEE 802.15.4 标准。GPRS 模块主芯片采用 Goouuu-GA6,其工作电压为5V,可支持 AT 命令口,支持标准 AT 和 TCP/IP 命令接口,GA6 具有“永远在线”、按量计费、高速传输等特性。

1.1局域网内数据无线收发天线设计

本系统中,主要采用 CC2530 芯片内置的数据收发器进行数据在采集器与集中器之间的数据通信,即局域网内的数据无线通信。CC2530 芯片内部集成了数据无线发送时TX/RX 的开关,25、26PIN 引脚为 RF 接收发器输入输出引脚。芯片到天线之间需要一个电路,即平衡-不平衡阻抗变换电路,目的是将前端的射频信号(差模信号输出)转为天线的单端输出,单极子的天线传输数据时较不稳定,需要一个阻抗为 50 欧姆的巴伦匹配电路来使数据传输更稳定。

CC2530 芯片可以通过 RF_N 和 RF_P 端口与天线进行相连接。天线部分可以使用 PCB 类型天线,本系统采用的是具有 SMA 接口的杆状天线。天线及巴伦匹配电路设计如图 2

所示。

 

图 2 天线及巴伦匹配电路设计

1.2采集器模块总体电路设计

电表中的数据经RS485串口传送到CC2530芯片CPU中,ZigBee 模块中的 RF 收发器将数据无线发送,采集器模块总体电路原理图如图 3

 

图 3 采集器模块总体电路原理图

1.3协调器模块总体电路设计

协调器端ZigBee模块的RF收发器将采集器端发送的无线数据进行接收,通过发送、接收引脚与 Goouuu-GA6 芯片进行通信,利用 GPRS 模块将数据远程发送到上位机监控中心,协调器模块总体电路原理图如图 4 所示。

 

 

图 4 协调器模块总体电路原理图

1.4 GPRS模块电路设计

GPRS模块采用Goouuu-GA6芯片,其主要由电源、天线接口、SIM卡连接电路组成,天线采用弹簧天线,采用3V SIM卡,Goouuu-GA6模块电路原理图如图5所示。

 

图 5 Goouuu-GA6 模块电路原理图

 

2.远程抄表系统的软件部分设计

远程抄表系统的软件程序编写主要包括各模块的初始化、建立、连接网络、RF天线收发数据、GPRS模块发送数据、上位机接收数据等部分,系统主程序设计流程图如图6

所示。

 

2.1数据传输程序设计

采集器/协调器程序设计主要采用IAR开发平台,使用Z-stack协议,其包括MAC层、MWK层、HAL驱动层、APP应用层等。

采集器程序主要包括设备节点的初始化、协调器建立网络连接、RF接收器实现数据无线传输等;协调器程序主要包括设备节点的初始化、建立局域网网络、启动GPRS模块、

接收数据并远程发送数据等。

局域网中采用的无线收发数据程序设计要保证两个设备有着相同的通信频率、通道号、网络ID、才可以实现局域网内的无线通信。

GPRS模块程序主要包括硬件初始化、附着激活网络、连接服务器、远程发送数据等。通过编写AT命令的相关程序来控制GPRS模块进行远程数据的传输。

上位机管理软件程序设计是采用.Net平台的Winform开发,以及ADO.Net平台进行数据库的访问、数据库数据存储、查询等与数据库相关的应用程序编程。

Net拥有C/S模式、B/S两种交互模式,此系统设计采用的是C/S模式,实现服务器端对客户端的连接监测和数据接收[4]。TCP/IP网络的应用程序使用Socket网络编程[5];ADO.Net包含用于连接到数据库、执行命令和检索数据结果的一组类库,可以通过程序的方式访问主机中的数据库。

2.2数据管理程序设计

数据管理程序即上位机管理软件程序主要包括用户登录界面程序设计、服务器端的IP端口连接监测程序设计以及SQL语句数据库的建立程序设计。

用户登录界面程序主要包括将输入到文本框中的数据与数据库中的信息进行比较,若相同则可以进入数据库查询系统,否则无法进入数据库。

服务器端的IP端口连接监测程序主要包括读取本机IP和端口号、设定监听队列、等待客户端的连接并读取客户端所发的数据并存入到数据库中。

SQL语句数据库的建立程序设计包括用户登录信息数据库的建立程序设计以及对客户端向服务器发送的数据进行存储的数据库的建立程序设计。

 

3.系统实现

采集器端采集的数据通过RF天线无线传输到协调器,协调器通过GPRS自带的Internet技术将字符串远程的传输到上位机服务器端,系统硬件实现部分如图7。

 

图7 系统硬件实现部分

用户登录界面设计实现如图8,数据库数据查询设计实现如图9。

 

图 8 用户登录界面设计实现

 

图 9 数据库数据查询设计实现

 

4.安科瑞远程预付费抄表系统的介绍及其应用

4.1系统简介

系统为B/S架构,主要包括前端管理网站和后台集抄服务,配合公司的预付费电表DDSY1352和DTSY1352系列以及多用户计量箱ADF300L系列,实现电能计量和电费管理等功能。

另外可以选配远传阀控水表组成水电一体预付费系统,达到先交费后用水的目的,剩余水量用完自动关阀。

 

 

 

4.2系统功能

AcrelCloud-3200预付费水电云平台由云平台-网关-预付费电能表组成,通过通信网络完成系统到表的充值、查询、监控、控制及短信报警等功能。
  本系统适用于一些大集团和大物业,往往需要将多个物业环境、分散于各地的物业集中式收费和管理,面临着数据公网传输,财务操作分散,在线支付,总部财务扎口等复杂的需求。

 

 

远程集中抄表:抄表信息通过网关实时上传到云平台,快速便捷,免去人工抄表。

 

 

 

水表预付费:可是查看某区域水表的实时状态信息,并可以进行单表或批量设置水价控阀等操作。

 

 

 

远程售电:财务集中管理,电量实时下发,并比对充值次数防止作弊,方便快捷。

 

 

 

 

 

 

能耗分析:用户和管理员都可查询预付费表或管控表每天的用能状况;可提供能耗分析+财务轨迹一体式综合管理报表,包含用户表的能耗、财务数据、能耗和财务的期初期末值等数据。

 

 

 

在线支付:商户可以通过小程序或者微信公众号实现在线自助充值水电费,也可以实时关注商铺用水用况。

 

 

 

短信提醒:金额不足或金额欠费提醒、电表充值到账提醒,都可及时短信通知商户。

 

 

远程控制:可对任意一块电表执行远程拉闸或保电等一系列远程控制操作,方便管理。

 

4.3设备选型


 

  

5.结束语

基于物联网的概念,采用ZigBee、通用分组无线服务技术两种无线通信技术相结合的方式实现远程抄表并对其数据进行存储和管理。充分发挥通信技术和计算机技术的作用,降低了现场布线的复杂难度,获得更加准确的数据。使用ZigBee技术,会使得设备节点更加地不费电,同时功耗很低,这样就增加了使用的时间;采用的GPRS技术,选择的是TCP/IP通信模式,用户可以不必详细了解其数据交换的全过程;上位机控制中心,采用.Net与ADO.Net相结合的方式实现直接对远程接收到的数据进行查询和存储。

 

参考文献

[1] 霍弘宇.基于物联网的远程抄表应用研究[D].吉林:吉林大学,2014.

[2] 何颖秋,郭俞君.基于物联网的远程抄表系统的设计[J].

[3] 安科瑞企业微电网设计与应用手册.2020.06版.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/187695.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python武器库开发-前端篇之CSS基本语法(三十)

前端篇之CSS基本语法(三十) CSS简介 CSS(层叠样式表)是一种用于描述网页外观和布局的样式表语言。它与 HTML 一起,帮助开发者对网页进行美化和布局。CSS通过定义网页元素的颜色、字体、大小、背景、边框等属性,使网页变得更加美…

加速 Selenium 测试执行最佳实践

Selenium测试自动化的主要目的是加快测试过程。在大多数情况下,使用 Selenium 的自动化测试比手动测试执行得特别好。在实际自动化测试实践中,我们有很多方式可以加速Selenium用例的执行。 我们可以选择使用不同类型的等待、不同类型的 Web 定位器、不同…

第97步 深度学习图像目标检测:RetinaNet建模

基于WIN10的64位系统演示 一、写在前面 本期开始,我们继续学习深度学习图像目标检测系列,RetinaNet模型。 二、RetinaNet简介 RetinaNet 是由 Facebook AI Research (FAIR) 的研究人员在 2017 年提出的一种目标检测模型。它是一种单阶段(o…

学习了解抽象思维的应用与实践

目录 一、快速了解抽象思维 (一)抽象思维的本质理解 (二)系统架构中的重要性 (三)软件开发中抽象的基本过程思考 意识和手段 抽象的方式 抽象层次的权衡 二、业务中的应用实践 (一&…

Django 通过 Trunc(kind) 和 Extract(lookup_name) 参数进行潜在 SQL 注入 (CVE-2022-34265)

漏洞描述 Django 于 2022 年6月4 日发布了一个安全更新,修复了 Trunc() 和 Extract() 数据库函数中的 SQL 注入漏洞。 参考链接: Django security releases issued: 4.0.6 and 3.2.14 | Weblog | Djang…

ArkTs变量类型、数据类型

可以参考官网学习路径学习HarmonyOS第一课|应用开发视频教程学习|HarmonyOS应用开发官网 一、变量 1、ArkTS语言 ArkTS是华为自研的开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的…

mac 修改 hosts 文件

打开 hosts 所在文件夹 command shift G 快捷键 输入:“/private/etc/hosts” 后回车 如下所示 进入 hosts 文件所在位置,找到 hosts 文件,双击打开 修改 hosts 文件 将所需要的配置信息追加到hosts 文件中,或者修改需要改…

mysql忘记密码,然后重置

数据库版本8.0.26 只针对以下情况 mysql忘记了密码,但是你navicat之前连接上了 解决方法: 第一步,选中mysql这个数据库,点击新建查询 第二步:重置密码 alter user rootlocalhost IDENTIFIED BY 你的密码; 然后就可…

ffmpeg下载与配置环境变量

FFmpeg 是一个强大的多媒体框架,可以让用户处理和操纵音频和视频文件。具有易于使用的界面,用户可以在 Windows、Mac 或 Linux Ubuntu 系统上下载 FFmpeg 并将其提取到文件夹中。然后,该软件可以加入 PATH 环境变量中就可以快捷的使用软件了.…

Android自动化测试中使用ADB进行网络状态管理

Android自动化测试中的网络状态切换是提高测试覆盖率、捕获潜在问题的关键步骤之一,本文将介绍 如何使用ADB检测和管理Android设备的网络状态。 自动化测试中的网络状态切换变得尤为重要。 同时,在这我准备了一份软件测试视频教程(含接口、自…

maven 将Jar包安装到本地仓库

window系统: 注意事项:在windows中,使用mvn指令将jar安装到本地仓库时,一定要将相关资源使用“"”包裹上,不然会报下面的错: mvn install:install-file "-DfileD:\BaiduNetdiskDownload\qianzixi…

轻松植入分布式跟踪:Odigos 带你主导应用观测 | 开源日报 No.85

babysor/MockingBird Stars: 31.6k License: NOASSERTION 这个项目是一个实时语音克隆的开源项目,主要功能包括支持中文、使用 PyTorch 进行训练和推理、可以在 Windows 和 Linux 系统上运行以及提供 Web 服务器。该项目的核心优势和特点包括: 支持多种…

视频批量剪辑技巧:掌握视频嵌套合并,轻松成为视频剪辑高手

随着社交媒体的兴起,视频已成为人们分享和交流的重要方式。视频剪辑作为视频制作的关键环节,对于提升视频质量和吸引力至关重要。视频嵌套合并是一种高级视频剪辑技巧,它将两个或多个视频片段叠加在一起,创造出一种独特的效果。这…

XShell新建会话指南

XShell新建会话 我们先登录我们的xshell,连接我们的远程服务器 为了方便我们以后的使用,我们可以新建一个会话记住用户 新建好后,我们可以打开这个会话 我们选择记住用户名 然后继续输密码就可以了 之后我们每次打开xshell的时候&#xff0c…

数据丢失抢救神器之TOP10 Android 数据恢复榜单

在快节奏的数字时代,我们的生活越来越与智能手机交织在一起,使它们成为重要数据和珍贵记忆的存储库。由于意外删除、软件故障或硬件故障而丢失数据可能是一种痛苦的经历。值得庆幸的是,技术领域提供了 Android 数据恢复软件形式的解决方案。这…

02 RANSAC算法 及 Python 实现

文章目录 02 RANSAC算法 及 Python 实现2.1 简介2.2 算法流程2.3 RANSAC 算法实现直线拟合2.4 利用 RANSAC 算法减少 ORB 特征点误匹配 02 RANSAC算法 及 Python 实现 2.1 简介 RANSAC (Random Sample Consensus,随机抽样一致)算法的 基本假…

中职组网络安全-linux渗透测试-Server2203(环境+解析)

任务环境说明: 服务器场景:Server2203(关闭链接) 用户名:hacker 密码:123456 1.使用渗透机对服务器信息收集,并将服务器中SSH服务端口号作为flag提交; FLAG:2232 2. 使用渗透机对…

最全的软件测试教程(功能、工具、接口、自动化、性能)

一、软件测试功能测试 测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 在这我也准备了一份…

华为ensp:trunk链路

当我们使用trunk链路后,还要选择要放行的vlan那就是全部vlan(all),但是all并不包括vlan1,所以我们的trunk链路中的all不对all进行放行 实现相同vlan之间的通信 先将他们加入对应的vlan lsw1 进入e0/0/3接口 interfa…

Linux-基本指令(1.0)

Linux是一个非常流行的操作的知识,并提供实例帮助读者更好地理解。让我们一起来学习吧!系统,也是云计算、大数据、人工智能等领域的重要基础。学习Linux命令是Linux系统管理的基础,也是开发过程中必不可少的技能。本博客将介绍Lin…