A STM32F103C8T6 (Blue Pill) Lora Gateway. A STM32F103C8T6 (Blue Pill) Lora Gateway. Шлюз от Лоры до серийного интерфейса USB. Не шлюз Lorawan для сети вещей!
Этот шлюз получает и отправляет сообщения LORA с использованием чипа HOPREF RFM95W.
Серийный канал на разъеме UUSB используется для отправки и получения сообщений. Используемый протокол на последовательном канале похож на RF12_Demo Jeelabs.
Этот шлюз Lora использует Arduino Lora Lib для взаимодействия RFM95W. Invertiq используется для отправки сообщений в узлы, узлы действительно необходимо получать сообщения с включенным Invertiq. Узлы отправляют сообщения от инвертика отключены, а шлюз также получает от отключения Invertiq. Используя технику, шлюз никогда не получает сообщения от другого шлюза, а узел никогда не получает сообщение от других узлов, только шлюз к узлу и наоборот.
| RFM95W | STM32F103 |
|---|---|
| Венчурной | 3V3 |
| Гнездо | Гнездо |
| Мисо | PA6 |
| Моси | ПА7 |
| SCK | ПА5 |
| NSS | PA4 |
| ПЕРЕЗАГРУЗИТЬ | PC14 |
| Dio0 | ПА1 |
Я использую Arduino IDE с STM32Duino в менеджере совета директоров. Не нужно мигать загрузчика, прошивая плату STLINK V2, с STLINK V2 нет необходимости использовать переключатель для багажника. Вы можете найти здесь дополнительную информацию о настройке здесь: https://alselectro.wordpress.com/2018/11/18/stm32f103-bluepill-getting-started-with-arduino-core/
Когда плата запрограммирована, подключите кабель Micro-USB к машине и запустите программу последовательной терминала. Нажмите «H», чтобы увидеть доступные команды:
Available commands:
<nn>n - set Gateway node ID (standard node ids are 1..7)
...,<nn>s - send data packet to node <nn>
<n>x - set reporting format (0: decimal, 1: hex, 2: hex+ascii)
<n>r - set reporting of RSSI signal strength (0:off, 1:on)
v - display board name and board id
h - this help
По умолчанию идентификатор шлюза установлен на «1», но это можно изменить.
Измените узлу шлюза на '2':
2n
CRC по умолчанию включен, первый байт - это узлоида.
OK <nodeId> <dataByte0> .. <dataByteX>
Например, из узла 3, с 2 байтами данных:
OK 3 1 2
<dataByte0>,<dataByteX>,<nodeId>s
Например, отправить 2 байта данных в узлу 3:
1,2,3s
Включите режим отчетности RSSI:
1r
Это получит, например, ответ на получение сообщения
OK 3 1 2 RSSI -62
Выключите режим отчетности RSSI:
0r
У библиотеки Arduino Lora нет никаких низкоуровневых сообщений. Я проверяю сообщение на уровне приложения.