一、物联网与LoRa技术概述
各位同学好,我是老张。做嵌入式开发十几年了,从最早的8051单片机一路做到现在的物联网项目。今天咱们聊的这门课,核心就是工地扬尘噪声监测——说白了,就是怎么用LoRa技术把工地上的灰尘和噪音数据实时传回来。
嗯,先别急着看代码。咱们得先把地基打牢。这一章,我带你捋清楚物联网的基本概念、LoRa的技术原理,再对比一下LoRa和NB-IoT到底谁更合适。最后,简单过一遍LoRaWAN协议栈的结构。
1.1 物联网基本概念
物联网,英文叫IoT。你想想看,就是把物理世界里的东西——传感器、设备、机器——都连到网上。让它们能说话、能听话、能干活。
我在2015年做过一个智慧农业项目,给大棚装温湿度传感器。那时候用的还是GPRS模块,功耗大、信号差。后来换成LoRa,一块电池撑了两年。这就是物联网的魅力——用最合适的技术解决实际问题。
物联网系统通常分四层:
- 感知层:传感器、执行器。比如扬尘传感器、噪声传感器。
- 网络层:负责数据传输。LoRa、NB-IoT、Wi-Fi都算。
- 平台层:数据存储、处理、分析。云端服务器。
- 应用层:用户看到的界面。比如手机App、大屏监控。
咱们这门课,重点就在网络层和感知层。说白了,就是怎么把传感器数据从工地现场传到服务器。
核心要点:物联网的本质是「万物互联」。但互联不是目的,目的是让数据流动起来,产生价值。
1.2 LoRa技术原理
LoRa,全称Long Range,长距离无线通信。它是Semtech公司搞出来的技术。我最早接触LoRa是在2016年,当时被它的灵敏度惊到了——-148dBm,比传统FSK调制强了将近30dB。
为什么会这么强?因为LoRa用了扩频技术。简单说,就是把一个窄带信号扩展到很宽的频带上去发送。接收端再用同样的扩频码解调回来。这样做的代价是速率低,但换来的是超强的抗干扰能力和超远的传输距离。
LoRa的几个关键参数:
| 参数 | 说明 | 典型值 |
|---|---|---|
| 扩频因子(SF) | 决定扩频倍数,SF越大,距离越远,速率越慢 | SF7~SF12 |
| 带宽(BW) | 信号占用的频率宽度 | 125kHz / 250kHz / 500kHz |
| 编码率(CR) | 前向纠错编码比例 | 4/5 ~ 4/8 |
我在项目中常用的配置是:SF9、BW125kHz、CR4/5。这个组合在市区能跑2~3公里,郊区能到5公里以上。当然,如果你用SF12,距离还能翻倍,但速率就降到几百bps了。
个人经验:别一味追求最远距离。我见过有人把SF设成12,结果数据包半天发不完,电池反而耗得更快。要根据实际场景选参数。
1.3 LoRa与NB-IoT对比
很多同学会问:LoRa和NB-IoT到底选哪个?
嗯,这个问题我当年也纠结过。2017年做智慧停车项目,两种方案都试过。最后选了LoRa,原因很简单——我们不需要运营商网络,自己搭基站就行。
咱们直接看对比表:
| 对比项 | LoRa | NB-IoT |
|---|---|---|
| 频段 | 非授权频段(如470~510MHz) | 授权频段(运营商频段) |
| 网络部署 | 自建网关,私有网络 | 依赖运营商基站 |
| 功耗 | 极低(电池可用3~5年) | 较低(电池可用1~2年) |
| 速率 | 0.3~50kbps | 20~250kbps |
| 时延 | 较高(秒级) | 较低(毫秒级) |
| 成本 | 模块便宜,网关贵 | 模块稍贵,无网关成本 |
| 适用场景 | 数据量小、距离远、电池供电 | 数据量中等、需要运营商保障 |
说白了,LoRa适合你自己能掌控网络的情况。NB-IoT适合不想管网络、直接接入运营商的情况。
避坑指南:我曾经在一个项目中选了NB-IoT,结果工地在地下室,信号极差。后来换成LoRa,自己架了个网关,问题就解决了。所以,信号覆盖是选型时一定要考虑的因素。
1.4 LoRaWAN协议栈
LoRaWAN是建立在LoRa物理层之上的MAC层协议。它定义了设备怎么入网、怎么发数据、怎么处理冲突。
协议栈结构从下到上:
- 物理层(PHY):LoRa射频调制解调,负责收发原始数据。
- MAC层:LoRaWAN协议,处理信道访问、设备入网、数据确认等。
- 应用层:用户自定义的数据格式,比如JSON、二进制编码。
LoRaWAN定义了三种设备类型:
- Class A:最省电。设备发完数据后,短暂打开接收窗口。平时都在睡觉。
- Class B:定时接收。设备会同步网关的时钟,在固定时间打开接收窗口。
- Class C:持续接收。设备一直开着接收,功耗最大,但延迟最低。
咱们的工地扬尘监测,用Class A就够了。传感器每隔15分钟上报一次数据,平时深度睡眠。一块18650电池,理论上能撑两年。
关键点:LoRaWAN的MAC层解决了「多设备同时发送」的问题。它用了ALOHA协议——设备随机选时间发,如果冲突就重传。简单但有效。
好了,这一章的内容就到这里。下一章,咱们开始动手——搭建LoRa网关和节点,把数据真正跑起来。
记住一句话:技术是工具,解决问题才是目的。别被参数迷了眼,多想想你的场景需要什么。