이것은 상승 HF Lorawan Radio-Modem을 사용하고 센서를 TTN과 같은 Lorawan 네트워크에 연결하기위한 기본 Arduino 프레임 워크입니다.
비 휘발성 메모리를 위해 주소 0x50에서 I2C FRAM 장치를 사용합니다. 이 장치는 생략하거나 약간 변경된 EEPROM으로 대체 할 수 있습니다.
Deveui는 Radio-Modem에서 또는 주소 0x52에서 i2c 24aa025e64 칩을 통해 또는 config.h 파일에서 설정할 수 있습니다. 각 모뎀에는 QR 코드가 상단에 있으며 Deveui가 있습니다.
이 코드 기반은 USA TTN 주파수 대역에 대해 개발 및 테스트되었지만 다른 대역으로 변경할 수 있습니다.
테스트 : RHF0M062-HF22 및 RHF0M0E5-HF22, 그러나 RHF78-052LA-HF22 및 HF 상승으로부터 기타 유도체 모듈과도 작동해야합니다.
http://www.risinghf.com/home
이 테스트 코드에는 3 개의 전송 루틴이 있습니다.
짧은 상태는 오류 메시지에 사용되며 9 바이트로 제한되며 시작과 오류가있을 때만 전송됩니다 ... (DR0-> 11 바이트 -2 가능한 Mac 바이트)
상태 정보가 드물게 전송됩니다 ... 버전, 컴파일 타임 등 ...
매시간 기본 경우 센서 데이터가 전송됩니다 ...
또한 정기적 인 재 조정에 대한 지원도 있습니다. TTN에서 V2에서 V3으로 이동 한 후, 장치가 네트워크 또는 TTN의 향후 움직임 또는 변경을 지원하기 위해 때때로 장치가 다시 합류해야한다는 것이 분명해졌습니다.
이 코드 기반을 사용하면 몇 가지 다운로드 메시지를 처리 할 수 있습니다.
시동시 코드는 FRAM에 저장된 데이터 블록 (사용 가능한 경우)을 읽고 컴파일 날짜 시간 필드 및 CRC를 FRAM에 저장된 내용과 비교하여 첫 번째 부팅이 있는지 확인합니다. 그렇다면 향후 사용하기 위해 FRAM의 데이터 블록 사본을 저장합니다. 그렇지 않으면 부팅 수를 조정하고 부팅 원인을 저장합니다.
전원을 절약하기 위해 Boot에서 USB 포트가 꺼져 있으므로 Boot-Loader로 돌아갈 수 있도록 재설정 스위치의 더블 탭이 필요합니다.
Lorawan 키, 주파수 테이블, Send Function 타이밍 등을 포함하여 Config.h 파일에서 설정할 수있는 많은 구성 옵션이 있습니다.
무선 모뎀에는 설정 후 대부분의 매개 변수를 저장하는 EEPROM이 있습니다. config.h는 다시 재설정 할 필요가없는 경우 모뎀에서 다시 설정 매개 변수를 비활성화하는 정의가 있습니다.
Debug1 및 Debug2 매크로를 비활성화하여 모든 디버그 출력을 직렬 포트로 제거 할 수 있으므로 Arduino Serial.print (...) 함수 대신 코드에서 더 일반적인 "C"Printf (...) 함수를 사용할 수 있습니다.
이 코드는 독점 하드웨어와 로켓 스트림 미니-우트라 프로 로라 보드로 테스트되었습니다.
TBD:
Adding some logging to flash
look at over-the-air code upgrade...
Add support for EEProm option to replace FRAM
An option to get DEVEUI from the modem and or UUID from the CPU
Add more commands to support Class B in the modem library
Documentation of modem library
Add AT command to set various parameters from the serial port
Libraries used by this project:
LoRaWan-RFH0M062-mod
This radio-modem library was developed by SEEED studios for the RHF78-052 device, I have
made many changes to support the newer radios, added an error function, and speed up timing
on messages to/from the radio.
Stopwatch
RTCZero-MOD
FRAM_MB85RC_I2C
Arduino_CRC32