Система реле сельскохозяйственных данных
В любящей памяти гей Холман, необычайной женщины.
Система ретрансляции данных фермы - это простой способ общения с удаленными устройствами IoT, не полагаясь на инфраструктуру Wi -Fi или Lorawan. Он устанавливает ряд недорогих точек доступа с низким энергопотреблением и ретрансляторов, чтобы обеспечить покрытие ESP-Now и Lora для удаленных устройств. FDR можно использовать для транспортировки показаний датчиков и контрольных сообщений в ситуациях, когда это было бы слишком громоздко, чтобы обеспечить полное покрытие Wi -Fi/Lorawan. В то время как система была разработана с учетом сельского хозяйства, FDR также могут быть полезны в классе, домашнем или исследованиях.
Устройства классифицируются на два типа: шлюзы и узлы . Шлюзы включают инфраструктуру сети, перемещая данные вдоль предварительно направленных маршрутов и обеспечивая охват всем устройствам. Узлы позволяют пользователю обмениваться данными с помощью шлюза. Каждый шлюз идентифицируется с 8-разрядным физическим шестнадцатеричным адресом (MAC), в то время как узлы используют 16-битные целые числа для идентификации данных при движении по системе.
Требуются библиотеки:
Включено:
Для установки FDRS:
Загрузите или клонируйте этот репозиторий и скопируйте его в свою папку «библиотеки» Arduino.
После установки отредактируйте файл 'src/fdrs_globals.h' с вашими учетными данными и другими глобальными параметрами.
Первый эскиз, который вы захотите попробовать, - это пример 1_UART_GATEWAY.INO . Это устройство будет прослушать входящие пакеты ESP-Now, а затем направлять их в последовательный порт (и наоборот). Затем проберите пример ESPNow_Sensor.ino , чтобы увидеть, как отправить данные в шлюз.
Чтобы использовать MQTT: подключите второй шлюз к первым через контакты RX и TX (скрещенные) и проверните его с примером 0_MQTT_GATEWAY.INO . Если ваши конфигурации WiFi и MQTT являются правильными, данные будут опубликованы в тему «FDRS/DATA».
Чтобы расширить свой диапазон, попробуйте 2_espnow_repeater.ino или 3_lora_repeater.ino . Просто измените gtwy_mac вашего датчика на адрес вашего нового ретранслятора.
Узел документация
Узлы могут быть описаны как датчики, контроллеры или оба :
Документация шлюза
Шапочки являются модульными и настраиваемыми устройствами микроконтроллера, которые могут выполнять различные полезные функции, включая сбор, распределение и передачу беспроводных данных. Они обеспечивают гибкий и сплоченный интерфейс между различными проводными и беспроводными протоколами и обычно расположены в топологии линии или звезды. Как правило, шлюз, который использует MQTT, всегда имеет адрес 0x00, а шлюзы ESP-Now и Lora начинаются с 0x01.
В своем наиболее распространенном использовании шлюз FDRS развернут в качестве точки доступа для удаленных пользовательских узлов ESP-Now и LORA. Если он получает пакет с неизвестного адреса ESP-Now или Lora, шлюз предполагает, что это показания датчиков, и передает их вниз по течению в сторону передней части. Ворота также будет транслировать пакеты, поступающие с фронт-конца, до любых узлов контроллера, которые зарегистрированы/прослушиваются.
Шлюзы также могут быть настроены в виде простых ретрансляторов; Передача данных от одного соседа непосредственно другому соседу или наоборот. Это может создать червоточину данных, которая будет нести пакеты вверх по течению или вниз по течению AD Infinitum. Вы можете настроить свои шлюзы для обмена данными, направляемыми вверх по течению с подключенными сверстниками, предоставляя им любые данные, отправляемые с фронт-конца.
Если вы ищете простое, привлечение и закрытое решение для вашего шлюза MQTT/UART, я лично рекомендую как ThingPulse Espgateway , так и Thingpulse Ethernet :
ESPGATEWAY содержит два модуля ESP32 WROVE-IB на одной плате с внешними антеннами. Они связаны вместе булавками 14 и 15, чтобы обеспечить серийную связь между ними. Это идеальная настройка для связи между ESP-Now и Wi-Fi.
Ethernet Ethernet содержит один модуль ESP32 Wrover-IB с антенной, а также разъем Ethernet RJ45. Это оборудование, используемое в примере Ethernet Gateway.
Передний конец-это то, где все данные вводятся или используются другим приложением. Это может быть что угодно, от микроконтроллера, передаваемого через UART и отображения данных на экране на сервер/база данных, регистрирующую данные через MQTT.
Моим рекомендуемым методом доступа к вашим данным является использование компьютера, сервера или Raspberry Pi, связанного с устройством шлюза FDRS через MQTT или UART. Node-Red-моя любимая платформа для доступа/манипулирования данными на фронт-конце, а Influxdb+Grafana-это команда мечты для хранения и визуализации.
Предстоящие цели для FDR включают:
... Очень для проверки моего проекта! Я искренне ценю всех, кто обратился к вкладу и помощи, особенно те, которые были представлены в разделе «участники». Если у вас есть какие -либо вопросы, комментарии, проблемы или предложения, пожалуйста, не стесняйтесь обращаться ко мне по адресу [email protected] или откройте обсуждение здесь, на Github.
Большое спасибо, иди в все вновь вводимый Андреас Сесса . Его понимание и идеи перенесли этот проект с грубо затянутого камня до «алмаза», которого вы видите сегодня.
Спасибо Lilygo за то, что он отправил мне новые модули Lora32, когда мои были повреждены. Большая часть этого проекта была создана с использованием устройств TTGO, и я очень рекомендую их продукты!
Для меня большая честь быть представленным на Hackaday и Hackster.io!
Я начал этот проект с инструкций из Random Nerd Tutorials . Если вы новичок и пытаетесь узнать больше о микроконтроллерах, я настоятельно рекомендую начать там.

