项目简介
本项目构建了一个把智能电表数据借助LoRa和The Things Network(TTN)传输到私有服务器的系统。该系统以电池供电,具备低功耗优势,硬件成本不高,软件实现相对简单但可验证概念,能从地下室金属容器穿透多层混凝土墙传输智能电表读数。
项目的主要特性和功能
- 数据采集:通过红外接口从智能电表收集数据。
- 数据传输:利用LoRaWan/TTN网络,每分钟将数据传输到私有服务器或其他集成平台(如Cayenne)。
- 低功耗运行:采用电池供电,待机功耗处于50 - 100µA。
- 数据解析:运用
smartmeter.cpp
库解析SML格式的红外数据。 - 数据编码:把智能电表数据编码为特定格式(8字节总能量、4字节实际功率消耗、2字节电池电压)后发送到TTN。
- 数据存储:在TTN使用HTTP集成将数据发送到安装了Volkszaehler的服务器,再通过脚本存储到Volkszaehler中间件。
安装使用步骤
硬件安装
- 准备硬件组件,包含Arduino Pro Mini、RFM95 LoRa传输板、逆变器、Optoschmitt探测器、电压分压器等。
- 依照硬件布局图(
img/layout.png
)进行连接。 - 为降低功耗,在待机时关闭逆变器和Schmitt - Trigger,并拆除LED。
软件配置
- 确保已安装Arduino开发环境。
- 在Arduino中安装LMIC库,用于LoRa数据传输。
- 根据自身电表型号,调整
smartmeter.cpp
库中的相关参数。可先读取一些SML数据包,再依据实际情况调整。 - 在TTN控制台创建应用,并配置设备信息。
- 在TTN中配置HTTP集成,将数据发送到自己的Web服务器。
- 在Web服务器上安装Volkszaehler,并配置发送数据的脚本,保证脚本具备一定安全特性。
运行项目
- 将配置好的Arduino代码上传到Arduino Pro Mini。
- 设备启动后,开始每分钟从智能电表收集数据,并通过LoRa/TTN发送到Web服务器。
- 在Volkszaehler的Web界面查看智能电表数据。
下载地址
点击下载 【提取码: 4003】