Úcthesolarnomad/lora-serialization
LoraWAN serialization/deserialization library for The Things Network
📡 Mã hóa dữ liệu LoRaWAN giữa Arduino và TTN một cách chuẩn xác
Thư viện này giúp bạn dễ dàng chuyển đổi dữ liệu giữa thiết bị Arduino và nền tảng TTN bằng cách mã hóa trên thiết bị và giải mã trên đám mây.
Lora-serialization là một thư viện C++ được thiết kế để mã hóa (serialize) và giải mã (deserialize) các kiểu dữ liệu phổ biến trong giao thức LoRaWAN, đặc biệt dành cho việc truyền dữ liệu lên nền tảng The Things Network (TTN). Thư viện cung cấp cả bộ mã hóa bằng C++ để dùng trên Arduino và bộ giải mã bằng JavaScript để dùng trên TTN. Từ phiên bản 2.2.0, nó còn hỗ trợ mã hóa ngay trên nền tảng TTN.
✨ Điểm nổi bật
- Mã hóa trên Arduino: Sử dụng lớp
LoraMessagehoặcLoraEncoderđể dễ dàng thêm các giá trị như Unix time, tọa độ GPS, số nguyên, nhiệt độ, độ ẩm, bitmap, v.v. - Giải mã trên TTN: Cung cấp hàm JavaScript để giải mã dữ liệu nhận được từ thiết bị lên TTN.
- Hỗ trợ mã hóa trên TTN: Từ phiên bản 2.2.0, có thể mã hóa dữ liệu trước khi gửi xuống thiết bị qua nền tảng TTN.
- Đa dạng kiểu dữ liệu: Hỗ trợ mã hóa/giải mã Unix time (4 byte), tọa độ GPS (8 byte), số nguyên 8/16/32 bit, nhiệt độ (-327.68 đến +327.67), độ ẩm (0 đến 100), số thực 4 byte, và bitmap (1 byte).
- Kiểm thử đơn vị hoàn chỉnh: Toàn bộ thư viện đều được kiểm thử đơn vị, đảm bảo độ tin cậy cao.
- Độ chính xác cao: Các giá trị được mã hóa với độ chính xác tùy thuộc vào từng kiểu dữ liệu, ví dụ như 6 chữ số thập phân cho tọa độ GPS.
💡 Vì sao đáng chú ý
Khác với cách tiếp cận thủ công phức tạp, lora-serialization cung cấp một cách tiếp cận chuẩn và đơn giản hóa cho toàn bộ quá trình mã hóa và giải mã dữ liệu trong hệ sinh thái LoRaWAN. Điều này đặc biệt hữu ích cho các dự án IoT sử dụng TTN, nơi bạn cần truyền tải dữ liệu hiệu quả qua kênh có băng rộng hạn chế. Thư viện hỗ trợ cả mã hóa hai chiều (Arduino → TTN và TTN → Arduino), giúp giảm đáng kể thời gian phát triển và tăng độ tin cậy của hệ thống.
#LoraWAN #TTN #Arduino #Serialization #IoT #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
📟 JSON library for Arduino and embedded C++. Simple and efficient.
Infrared remote library for Arduino: send and receive infrared signals with multiple protocols
Bluetooth LE Keyboard library for the ESP32 (Arduino IDE compatible)
TTGO-T-Beam Arduino Car Tracker - ESP32 + LoRa + GPS + GSM (optional)
A high-performance 100% compatible drop-in replacement of "encoding/json"
Extremely Fast MessagePack Serializer for C#(.NET, .NET Core, Unity, Xamarin). / msgpack.org[C#]
Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips