blueee 发表于 2024-1-17 15:18:38

如何构建适合家庭场景的LoRaWAN系统

[随着物联网(IoT)](https://www.dfrobot.com.cn/search.php?keywords=%E7%89%A9%E8%81%94%E7%BD%91)技术的发展,智能家居逐渐成为现代家庭的宠儿。同时,LoRa作为一种低功耗、远距离的无线通信技术,为家庭物联网场景提供了可靠、高效的解决方案。

然而,基于LoRa技术为智能家居场景设计完整的LoRaWAN系统并不是一件容易的事。它需要我们综合考虑家庭环境的特点、用户的需求以及各种智能设备的互联互通。只有在系统设计和规划阶段充分考虑这些方面,才能保证系统的稳定性、可扩展性和安全性。

在家庭场景中,构建LoRaWAN系统一般涉及以下步骤:
* **步骤1.**系统需求分析
* **步骤2.**网络拓扑设计
* **步骤3.**设备选择
* **步骤4.**设备安装和配置
* **步骤5.**应用服务设计和部署


## 系统需求分析

在家庭场景搭建LoRaWAN系统时,我们首先需要明确系统需求。在分析系统需求时,可以考虑以下几个方面:

* **功能需求:**确定系统需要实现的基本功能。例如,对于智能浇水系统,要求可能包括测量土壤湿度、自动水控制和定时浇水。对于电力监控系统,需求可能包括家庭用电量的实时监控、用电统计、报警功能。对于智能监控系统,需求可能包括实时监控家庭安全、提供录像回放、远程通知等。

* **可扩展性要求:**考虑系统的可扩展性,以满足未来需求的变化。例如,智能浇水系统是否需要支持多个厂区的监控、电力监控系统是否需要支持多个回路的监控、智能监控系统是否需要支持多个摄像头的部署等。保证系统具有良好的可扩展性,方便日后扩展和升级。

* **可靠性、稳定性要求:**智能家居系统应具有稳定、可靠的特点,保证长期运行和准确监控。考虑传感器精度、系统稳定性、通信可靠性等因素,确保系统能够可靠地执行任务并提供准确的数据。

* **用户界面要求:**设计一个用户友好的界面,使用户能够方便地操作系统并获取相关信息。对于智能浇水系统,请考虑使用移动应用程序或网络界面来提供植物状态显示、浇水设置和其他功能。对于电力监控系统,提供直观的能源使用图表和报告。对于智能监控系统,提供清晰的监控画面和报警通知。

* **安全和隐私要求:**保护用户数据和隐私是智能家居系统设计中的重要考虑因素。确保系统采取适当的安全措施,如数据加密、用户认证等,确保用户信息安全和隐私保护。

以智能浇水系统、电力监控系统、智能监控系统为例,可以进一步明确其要求,例如:
* **智能浇水系统需求:**实时测量土壤湿度,根据预设阈值自动控水,支持定时浇水功能,以及用于远程监控的移动应用程序。


图:智能浇水系统
* **电力监控系统需求:**实时监控家庭用电量,提供能耗统计和报表功能,支持多路监控、报警功能,并与智能电表集成。
* **智能监控系统需求:**实时监控家庭安全,支持多摄像头部署,提供远程实时视频查看,支持视频录制和回放功能,以及移动设备通知和报警功能。


图:智能监控系统


## 网络拓扑设计
明确系统需求后,我们需要设计LoRaWAN网络拓扑。

LoRaWAN网络系统主要由4部分组成:节点、网关、网络服务器、应用服务器。

* ** 节点:**家庭环境中的各种传感器和控制器(如温湿度传感器、照明控制器等)作为LoRaWAN节点,通过LoRaWAN模块与LoRaWAN网关进行通信。每个节点都有一个唯一的id,供网关和网络服务器识别和管理。
* **网关:** LoRaWAN网关充当中继站,负责接收来自各个节点的数据并将数据转发到网络服务器。在家庭环境中,一般只需要一个网关即可覆盖整个小区。考虑到信号覆盖和干扰问题,网关应安装在合适的位置,如屋顶、阳台等高处。
* **网络服务器:**网络服务器负责处理来自网关的数据、数据去重、节点身份验证、数据解密等。网络服务器可以使用开源项目或商业服务来构建。对于家庭环境,可以将Raspberry Pi等低功耗、低成本设备视为网络服务器。
* **应用服务器:**应用服务器是LoRaWAN网络中的最高层,与网络服务器通信并处理从终端节点传输来的数据。应用服务器根据应用需求对数据进行分析、存储、解析,并提供相应的应用逻辑和功能,如数据显示、报警通知、远程控制等。有些网络服务器提供商同时也是应用服务器提供商。因此,在LoRaWAN网络架构图中,最右侧的应用服务器可以与网络服务器分开托管,也可以与网络服务器集成在一起。


图:LoRaWAN网络
在LoRaWAN网络中,常见的网络拓扑包括**点对点**和**星形配置。**

* **点对点拓扑:**
特点:两个节点直接相连,形成一对一的通信链路,无需任何其他中继节点或网关的参与。
适用场景:适用于需要快速、直接、安全的数据传输场景或网络复杂度要求较低的较小规模场景。

* **星型拓扑:**
特点:所有设备节点都直接连接到一个中心节点,即网关。中心节点负责接收和转发来自设备节点的数据,使得通信路径简单清晰。

适用场景:适用于设备分散、节点较少的场景。


图:星型拓扑
设计拓扑时应综合考虑以下因素:

* **节点分布及数量:**根据设备节点的分布范围和数量,选择合适的拓扑结构以满足通信需求。
* **通信要求:**选择能够满足系统实时控制要求、数据传输量、传输时延要求的拓扑结构。
* **网络覆盖和容错:**考虑系统的覆盖和容错要求,选择能够提供良好覆盖和容错的拓扑结构。

在家庭环境中,我们可以根据实际情况设计一个简单且易于管理的拓扑。对于智能浇水系统、电力监控系统、智能监控系统等常见系统,由于节点数量较少且集中在一定范围内,可以选择星型拓扑。例如,在智能浇水系统中,每个浇水设备作为直接连接到网关的节点,简化了通信路径,减少了通信延迟,并允许对每个设备进行实时控制和监控。在电力监控系统中,各种电路监控设备作为连接到网关的节点,通过LoRaWAN网络将数据传输到应用服务器进行监控和统计。在智能监控系统中,每个摄像头设备作为连接到网关的节点,通过LoRaWAN网络将视频流或报警信息传输到应用服务器。



## 设备选择
在家庭环境中设置 LoRaWAN 系统时,选择正确的设备至关重要。合适的设备保证系统稳定运行,满足家庭物联网的需求。在选择设备时,我们通常会考虑三个方面:节点、网关、服务器。

### 1.节点选择
在搭建LoRaWAN系统时,我们需要为系统选择合适的LoRaWAN节点。LoRaWAN节点主要包括传感器、执行器、微控制器等。其中,传感器负责数据采集,执行器负责执行控制命令或操作,微控制器负责执行程序、处理数据、管理节点的各种功能。这样,节点设备就可以与LoRaWAN网关进行通信,并将采集到的数据传输到云平台或后端服务器,实现远程监控、控制和管理。

在选择传感器时,我们可以考虑传感器精度、测量范围、响应时间等性能指标。确保传感器能够准确测量所需参数并满足系统要求。此外,还应考虑传感器的可靠性、耐用性和维护成本。选择执行器时,请考虑功能、效率和响应时间等性能指标。确保执行器能够准确、高效地执行命令。选择微控制器时,应选择具有适当计算和存储能力、能够处理传感器数据并执行相应控制逻辑的微控制器。根据家庭场景的复杂程度和功能需求,可以选择合适的微控制器或嵌入式系统。另外,还要考虑控制器的通信接口,以确保与无线模块和其他设备的兼容性。

同时,在选择传感器和控制器时,要考虑其供电方式。您可以选择电池供电、插入式或混合供电方式,并根据设备的功耗和使用需求决定合适的供电方式。

例如,智能浇水系统、电力监控系统、智能监控系统,可以根据具体情况进行节点选择,例如:


[*]土壤湿度传感器(Arduino兼容)
[*]简易继电器模块
[*]带水管潜水泵(6~18V)
[*]行空板

[*]I2C数字功率计
[*]数字蜂鸣器模块(Arduino兼容)
[*]行空板

[*]800万USB摄像头(带麦克风)
[*]行空板
### 2.网关选择
在LoRaWAN系统中,网关是连接终端节点设备和网络服务器的关键设备。它充当数据采集、转发以及终端设备连接互联网的桥梁。常见的网关有“单通道网关”、“多通道网关”、“室内网关”、“室外网关”等不同类型。选择时还可以考虑以下因素:

* 频段支持:确保所选网关支持您所在地区使用的 LoRaWAN 频段。不同地区和国家规定不同,欧洲频段为868MHz,美国频段为915MHz,中国频段为470MHz。
* 网络兼容性:根据您计划使用的 LoRaWAN 网络提供商选择兼容的网关。不同的提供商可能有不同的网络配置和要求。
* 网络连接方式:根据您的家庭网络架构和需求选择合适的连接方式,例如以太网或Wi-Fi。
* 安全可靠:选择可靠供应商的网关,安全性、稳定性好。

关于LoRaWAN网关设备选型的更多详细信息,可以参考这篇文章:[哪些设备可以用作Lorawan网关?](www.dfrobot.com/blog-1657.html)

对于智能浇水系统、电力监控系统、智能监控系统等家庭场景,单通道网关中的[树莓派是一个不错的选择](https://www.dfrobot.com.cn/goods-1977.html)。该设备不仅价格实惠,而且具有强大的计算能力和丰富的GPIO和通用接口,可以连接各种传感器和执行器。

图:Raspberry Pi 4B 单板计算机
### 3.网络服务器选择

网络服务器是LoRaWAN网络的核心组件,负责管理和控制整个网络。它从网关接收数据并执行数据解析、验证和路由。选择网络服务器时,请考虑以下因素:

* 兼容性:确保网络服务器与所选的LoRaWAN网关和终端设备兼容。不同制造商的设备可能使用不同的协议和通信标准,因此请选择支持匹配设备的网络服务器。
* 功能和可扩展性:评估网络服务器的功能和可扩展性,以确保它满足您的需求。一些网络服务器可能提供更高级的数据处理、设备管理和安全功能,例如数据解析、设备注册和身份验证、数据分析和可视化。
* 用户界面和管理工具:考虑网络服务器的用户界面和管理工具是否易于使用。直观且功能丰富的管理界面可以帮助您轻松配置和监控 LoRaWAN 网络。
* 可靠稳定:确保您选择可靠稳定的网络服务器,保证数据传输的稳定可靠。网络服务器应具有高可用性和冗余特性,以应对故障和异常情况。
* 支持和社区:考虑网络服务器提供商的支持和社区支持。活跃的社区可以提供技术支持、文档、教程和示例代码资源,帮助您解决问题并快速入门。

选择服务器时,通常有三种方法。第一种是使用像 LattePanda 这样的 SBC 作为本地服务器。第二种是使用Raspberry Pi网关本身作为本地服务器,也可以使用nodeRED进行图形化编程。第三种是使用一些常见的LoRaWAN网络服务器提供商提供的服务器。例子包括The Things Network、ChirpStack、Tektelic、Semtech等。对于智能浇水系统、电力监控系统、智能监控系统等家庭场景,我们可以选择ChirpStack服务器设备。

## 设备安装与配置

### 1. 网络服务器设置

选择合适的网络服务器设备后,还需要进行设置。以ChirpStack为例,设置过程如下:

**步骤1、准备软硬件环境:**

* 确保您拥有基于 Linux 的服务器,例如 Ubuntu 18.04 或更高版本。此外,还需要 Linux 命令行操作的基本知识。


**步骤 2. 安装 Docker 和 Docker Compose:**

所有 ChirpStack 组件都可以使用 Docker 容器进行部署。

* 在服务器上安装Docker:[参考Docker官方文档](https://docs.docker.com/engine/install/)
* 安装Docker Compose:[参考Docker Compose官方文档](https://docs.docker.com/compose/install)


**步骤 3. 部署 ChirpStack:**

* 下载 ChirpStack 的 (https://raw.githubusercontent.com/brocaar/chirpstack-docker/master/docker-compose.yml)
* 编辑docker-compose.yml文件,根据自己的实际网络环境配置相关参数
* 运行 docker-compose up -d 启动 ChirpStack 服务


**步骤 4. 配置 ChirpStack:**

* 打开浏览器并访问 ChirpStack Web 界面 (http://:8080)
* 按照提示创建管理员帐户
* 登录后,创建新的组织、服务配置文件和设备配置文件
* 添加LoRaWAN网关设备并配置网关与ChirpStack服务器之间的连接

### 2. 网关软件安装与配置

设置完网络服务器后,我们需要将网关设备Raspberry Pi正确安装在合适的位置,通常选择信号覆盖良好的地点,并将Raspberry Pi连接到家庭网络或互联网。然后,我们可以安装软件并配置Raspberry Pi与网络服务器进行通信。这里,我们选择安装与ChirpStack网络服务器兼容的ChirpStack Gateway OS网关软件。



软件**安装步骤**如下:

**步骤1.在Raspberry Pi上安装ChirpStack Gateway OS:**选择适合Raspberry Pi的ChirpStack Gateway OS版本并将其刻录到SD卡或其他适用的存储介质上。然后将其插入网关并启动。

**步骤 2. 配置 ChirpStack 网关桥:**在 Raspberry Pi 上,配置 ChirpStack 网关桥以连接到 ChirpStack 网络服务器。这通常涉及设置正确的网络地址和端口,以及根据需要配置身份验证信息。

**步骤 3. 启动 ChirpStack Gateway Bridge 服务:**配置完成后,启动 ChirpStack Gateway Bridge 服务。这将允许 Raspberry Pi 与 ChirpStack 网络服务器进行通信。

**网关配置**如下:

在ChirpStack Network Server中添加并配置Raspberry Pi:登录ChirpStack Network Server的Web界面,然后在“网关”部分添加Raspberry Pi并配置参数,包括:

**步骤1、通信频率和数据速率:**设置Raspberry Pi与节点之间的通信参数,以保证有效通信。

**步骤2.网络身份和密钥:**配置Raspberry Pi的唯一标识符(例如EUI)以及与网络服务器通信所需的密钥(例如AppEUI和AppKey)。

**步骤3. 云服务器设置:**指定要连接的云服务器并提供相应的连接信息(例如服务器地址和端口)。

**步骤4.安全设置:**启用适当的安全措施,例如数据加密和身份验证,以确保数据的机密性和完整性。


### 3. 节点配置

设置完网络服务器并安装配置网关后,我们需要安装配置节点的各种设备。

**步骤 1. 添加应用程序:**在 ChirpStack 应用程序服务器中创建一个新应用程序。进入“应用程序”页面,单击“创建”按钮,输入应用程序名称和描述,然后单击“创建应用程序”按钮。

**步骤 2. 添加设备配置文件:**在创建的应用程序中,转到“设备配置文件”选项卡,单击“创建”按钮。在弹出的表单中,输入设备配置文件名称并选择 LoRaWAN MAC 版本和区域参数版本。根据需要配置 ADR(自适应数据速率)、B 类设备和 C 类设备参数。完成后单击“创建设备配置文件”按钮。

**步骤3.注册设备:**在创建的应用程序中,转到“设备”选项卡,单击“创建”按钮。在弹出的表单中,输入设备的EUI(全局唯一标识符,通常标记在设备上)、名称、描述,然后选择新创建的设备配置文件。完成后单击“创建设备”按钮。

**步骤 4. 配置 LoRaWAN 密钥:**在注册的设备详细信息页面中,单击“密钥 (LoRaWAN)”选项卡。根据设备的激活方法(OTAA 或 ABP)配置适当的密钥。OTAA激活,输入AppKey;对于 ABP 激活,请输入 NwkSKey、AppSKey 和 DevAddr。完成后单击“更新设备密钥”按钮。

**步骤5.配置节点设备:**在实际的LoRaWAN节点设备上,根据设备的功能和接口配置激活方法、密钥等参数。确保节点设备的配置与 ChirpStack 中的设置匹配。

**步骤6.测试连接:**将LoRaWAN节点设备连接至电源并启动。设备应尝试与网关建立连接。在ChirpStack应用服务器中,您可以在设备详情页的“设备数据”选项卡中查看设备的数据传输记录,以验证连接是否成功。

## 应用服务设计与部署
设置好服务器并安装配置节点和网关后,我们就可以根据实际需求设计应用逻辑和开发应用功能,包括开发用户界面、配置警报或触发规则、与其他系统集成等。最后,部署应用程序服务到服务器来完成整个系统的设置。这里,我们将应用服务器和网络服务器作为一个设备来使用,以节省资源。

## 结论
使用LoRa技术实现智能家居是一种可靠、高效的解决方案。在家庭环境中,构建LoRaWAN系统时,首先需要明确系统需求,然后设计网络拓扑,然后选择和安装设备,最后设计和部署应用服务。智能浇水系统、电力监控系统、智能监控系统的具体实现参见后续文章。
页: [1]
查看完整版本: 如何构建适合家庭场景的LoRaWAN系统