記錄一下玩 LoRa 的東西。技術規範、法規、廠商、軟體、韌體、硬體等等。依據玩耍過程不定時更新。
技術規範#
簡介#
如果只講 LoRa,指的是 OSI model 中的 physical layer/PHY (layer 1) 採用的標準,而 LoRaWAN 則是 data link layer (layer 2) 的 medium access control (MAC) sublayer 採用的標準。
LoRaWAN MAC 的部分要有個 MCU 或是 CPU 來負責處理,要看廠商出的模組有沒有內建 MCU 跟相搭配的韌體,如果沒有就得跑在模組外的平台上。
把 Sensor/Node、Gateway、Network Server 分開來看的話,各角色的 network stack 會長這樣子:
雖然有個 LoRa Alliance,但核心技術跟專利差不多都掌握在 Semtech 手裡。
Regional Parameters#
根據 LoRaWAN™ Regional Parameters v1.1rA,台灣地區用的是 AS923 (923 MHz ISM Band),相對 EU868 跟 US915 算新。EU868 是 EU863-870,而 US915 是 US902-928,至於 AS923 底下就亂了,照這個文件來看台灣是 922-928 MHz,似乎超出了 NCC 法規給的頻率範圍。(見下一章節)
如果照 The Things Network 的標準,台灣用的是 AS923-925,這就符合法規了。
個人傾向採用較為嚴格的 The Things Network 標準。無論如何,支援 US915 的硬體,通常轉來台灣使用,不管用哪個標準都是可以勝任的。(US915 的 SAW filter、RF front end 零件選擇及硬體設計相容 AS923 頻段。)
法規#
根據無線電頻率分配表
- 920-925 MHz 供低功率物聯網設備(低功率射頻電機)在次要條件下使用
- 920-928 MHz 供無線射頻辨識系統(RFID)使用
- 922-926 MHz 供國道高速公路收費系統使用
- 926-928 MHz 供 0.5W 以下低功率海上活動示標器在海上以次要條件使用
還蠻多重疊的,而且聽說 ETC 的發射功率很強,難怪會有這樣的說法。遠通電收也有話說,但是真實性如何大家看看上面列過的文件就可以知道。 😬
產品#
軟(韌)體#
- Lora-net/LoRaMac-node
- LoRaWAN node 的韌體官方實作
- 以 STM32 硬體為主
- Lora-net/lora_gateway
- LoRaWAN macro gateway driver 的官方實作
- 拿來透過 SPI 控 SX1301
- Lora-net/packet_forwarder
- LoRaWAN macro gateway packet forwarder 的官方實作
- 依賴 Lora-net/lora_gateway 的 library
- hLora-net/picoGW_mcu
- Picocell MCU 的韌體官方實作
- Lora-net/picoGW_hal
- LoRaWAN pico gateway driver 的官方實作
- 從 USB 透過 STM32 轉 SPI 控 SX1308
- Lora-net/picoGW_packet_forwarder
- LoRaWAN pico gateway packet forwarder 的官方實作
- 依賴 Lora-net/picoGW_hal 的 library
- Lora-net/sx1302_hal
- LoRaWAN core gateway packet forwarder 的官方實作
- 透過 SPI,或從 USB 透過 STM32 轉 SPI 控 SX1302
- lorabasics/basicstation
- 給 gateway 用的新版程式
- 從 UDP-based Packet Forwarder Protocol 改為 WebSocket-based Station Protocol
- 依賴 macro/pico/core gateway 的 library
- LoRaWAN software expansion for STM32Cube
- STMicroelectronics 出的 LoRaWAN library
- 有 AT commands 的 example
- LoRaWAN MAC 實作是跟 Semtech 的
- IDE 可用 SW4STM32(免費),不一定要用 Keil 或 IAR 的
- The Things Network
- 源自荷蘭的開放 LoRa 基礎建設
- Software - GitHub
- Hardware - GitHub
- 商業部分有 The Things Industries
- Industrial - GitHub
- LoRa Server
- IBM LoRaWAN in C
- 之前叫 LoRaMAC in C,所以簡寫才會是 LMiC
- 從 Wayback Machine 召喚回來的考古材料
- 那個時候 Hardware Abstraction Layer 好像就是用 STM32 的了
- Arduino-LMIC library
- 把 IBM LMiC 移植到 Arduino 上的產物
- 如果用 Arduino 打底,又用了沒有 MCU 的模組,就得靠它
- 因為 LoRaWAN 的標準在移植當時仍在演進,且 LMiC 感覺已經終止開發,未來能否跟上標準是個問號
- 其實目前好像就跟不上 AS923 的標準了 😂
- Arduino-LMIC library - MCCI Corporation
- 這個看起來有公司持續在更新
- 有 AS923
硬體#
廠商 | 型號 | 備註 |
---|---|---|
Semtech | SX1272 SX1276 SX1278 |
|
SX1301 |
| |
SX1308 |
| |
SX1302 |
| |
SX1303 |
| |
HopeRF | RF9x |
|
廠商 | 型號 | 備註 |
---|---|---|
Semtech | NAMote72 |
|
SX1272MB2xAS |
| |
SX1276MB1xAS |
| |
Picocell Gateway |
| |
STMicroelectronics | B-L072Z-LRWAN1 |
|
I-NUCLEO-LRWAN1 |
| |
Arduino | Arduino MKR WAN 1300 |
|
Murata | Type ABZ |
|
Multi-Tech | MultiConnect xDot |
|
L-Tek | L-Tek IoT FF1705 |
|
IMST | iM881A |
|
iC880A |
| |
GlobalSat | LM-130H1 |
|
LM-110H1 |
| |
LM-130H1 AEB |
| |
Microchip | RN2483 |
|
RN2903 |
| |
LoRa® Technology Evaluation Kit - 900 |
| |
RAKWireless | RAK811 |
|
RAK831 |
| |
RAK833 |
| |
WisNode-LoRa |
| |
RAK811 Breakout Board |
| |
HopeRF | RFM95W |
|
NiceRF | LoRa1276-C1-915 |
|
Dragino | LoRa Shield | |
LoRa/GPS HAT |
| |
LG01-P |
| |
LoRaST |
| |
RisingHF | RHF76-052 |
|
RHF0M301 |
| |
RHF3M076 |
| |
USI | WM-SG-SM-42 |
|
Adafruit | RFM95W LoRa Radio Transceiver Breakout |
|
Feather 32u4 RFM95 LoRa Radio |
| |
Feather M0 with RFM95 LoRa Radio |
| |
Rocket Scream | Mini Ultra Pro V3 (With Radio) |
|
n-fuse | LRWCCx-MPCIE |
|
Embit | EMB-LR1301-mPCIe |
|
參考資料#
- 頻率資料庫查詢系統 - 國家通訊傳播委員會
- What is LoRa®? - Semtech
- What is the LoRaWAN™ Specification? - LoRa Alliance
- LoRaWAN™ for Developers - LoRa Alliance
- Resource Hub - LoRa Alliance
- LoRaWAN - The Things Network
- LoRa-What? - NewieVentures
- Firmware Updates over Low-Power Wide Area Networks - The Things Network
- Building a Raspberry Pi Powered LoRaWAN Gateway - DesignSpark
- LoRaWAN: OTAA or ABP? - NewieVentures
- OpenChirp
- RFM69 & HopeRF: are they Semtech clones or not? - LowPowerLab
- Microchip RN2483 teardown
- STM32 - Wikipedia
- PIC microcontroller - Wikipedia