Sistema de retransmissão de dados agrícolas
Em memória amorosa de Gay Holman, uma mulher extraordinária.
O sistema de retransmissão de dados agrícolas é uma maneira fácil de se comunicar com dispositivos IoT remotos sem confiar na infraestrutura Wi -Fi ou Lorawan. Ele estabelece uma série de pontos de acesso e repetidores baratos e de baixa potência para fornecer cobertura ESP-Now e Lora para dispositivos remotos. Os FDRs podem ser usados para transportar leituras de sensores e controlar mensagens em situações em que seria muito pesado fornecer cobertura completa de WiFi/Lorawan. Enquanto o sistema foi projetado com a agricultura em mente, os FDRs também podem ser benéficos em uma sala de aula, casa ou ambiente de pesquisa.
Os dispositivos são classificados em dois tipos: gateways e nós . Os gateways compreendem a infraestrutura da rede, movendo dados ao longo de rotas pré-dirigidas e fornecendo cobertura a todos os dispositivos. Os nós permitem ao usuário trocar dados com um gateway. Cada gateway é identificado com um endereço hexadecimal físico de 8 bits (MAC), enquanto os nós usam números inteiros de 16 bits para identificar os pontos de dados à medida que se movem pelo sistema.
Bibliotecas necessárias:
Incluído:
Para instalar FDRs:
Faça o download ou clone este repositório e copie -o na pasta 'Bibliotecas' Arduino.
Após a instalação, edite o arquivo 'src/fdrs_globals.h' com suas credenciais wifi e outros parâmetros globais.
O primeiro esboço que você deseja experimentar é o exemplo 1_uart_gateway.ino . Este dispositivo ouvirá pacotes de entrada-notos e encaminhá-los para a porta serial (e vice-versa). Em seguida, Flash o exemplo ESPNOW_SENSOR.ino para ver como enviar dados para o gateway.
Para usar o MQTT: conecte a segunda gateway ao primeiro através dos pinos RX e TX (cruzados) e pisque -o com o exemplo 0_MQTT_Gateway.ino . Se suas configurações WiFi e MQTT estiverem corretas, os dados serão publicados no tópico 'FDRS/Data'.
Para estender seu alcance, experimente o 2_espnow_repeater.ino ou 3_lora_repeater.ino . Basta alterar o GTWY_MAC do seu sensor para o endereço do seu novo repetidor.
Documentação do nó
Os nós podem ser descritos como sensores, controladores ou ambos :
Documentação do Gateway
Os gateways são dispositivos de microcontrolador modulares e configuráveis que podem executar uma variedade de funções úteis, incluindo coleta, distribuição e retransmissão de dados sem fio. Eles fornecem uma interface flexível e coesa entre vários protocolos com fio e sem fio e geralmente são organizados em uma topologia de linha ou estrela. Como regra geral, o gateway que usa o MQTT sempre possui o endereço 0x00 e os gateways ESP-Now e Lora começam em 0x01.
Em seu uso mais comum, um gateway FDRS é implantado como um ponto de acesso para nós de usuário Remote ESP-Now e Lora. Se ele receber um pacote de um endereço ESP-NOW ou LORA desconhecido, o gateway pressupõe que essas sejam leituras de sensores e as passe a jusante em direção ao front-end. O gateway também transmitirá pacotes provenientes do front-end para qualquer nós controladores que sejam registrados/auditivos.
Gateways também podem ser configurados como repetidores simples; passando dados de um vizinho diretamente para outro vizinho ou vice -versa. Isso pode criar um buraco de minhoca de dados que carregue pacotes a montante ou a jusante ad infinitum. Você pode configurar seus gateways para compartilhar os dados chefiados a montante com os pares conectados, fornecendo a eles qualquer dados sendo enviados do front-end.
Se você está procurando uma solução simples, atraente e fechada para o seu gateway MQTT/UART, eu recomendo pessoalmente o ThingPulse Espgateway e o ThingPulse Espgateway Ethernet :
O ESPGATEWAY contém dois módulos de Wrover-IB ESP32 em uma placa com antenas externas. Eles estão ligados pelos pinos 14 e 15 para permitir a comunicação em série entre eles. Esta é a configuração perfeita para um link entre ESP-now e Wi-Fi.
O Ethernet EspGateway contém um módulo Wrover-IB ESP32 com antena, juntamente com um conector Ethernet RJ45. Este é o hardware usado no exemplo Ethernet Gateway.
O front-end é onde todos os dados são inseridos ou consumidos por outro aplicativo. Isso pode ser qualquer coisa, desde um microcontrolador que se comunica através do UART e exibindo dados em uma tela para uma plataforma de servidor/banco de dados registrando os dados via MQTT.
Meu método recomendado para acessar seus dados é usar um computador, servidor ou Raspberry Pi vinculado a um dispositivo de gateway FDRS via MQTT ou UART. O Node-Red é minha plataforma favorita para acessar/manipular dados no front-end, e o InfluxDB+Grafana é a equipe dos sonhos para armazenamento e visualização.
Os próximos objetivos para FDRs incluem:
... Muito por conferir meu projeto! Eu realmente aprecio todos que alcançaram contribuições e assistência, especialmente aqueles apresentados na seção "Colaboradores". Se você tiver alguma dúvida, comentário, problemas ou sugestões, não hesite em entrar em contato comigo em [email protected] ou abra uma discussão aqui no Github.
Muito obrigado ao sempre instrucional Andreas Spiess . Sua visão e idéias levaram esse projeto de uma pedra aproximada para o "diamante" que você vê hoje.
Obrigado a Lilygo por me enviar novos módulos Lora32 quando os meus foram danificados. Grande parte deste projeto foi criada usando dispositivos TTGO, e eu recomendo seus produtos!
É uma grande honra ter sido apresentado no Hackaday e Hackster.io!
Comecei este projeto com instruções de tutoriais de nerd aleatório . Se você é iniciante e tentando aprender mais sobre microcontroladores, eu recomendo começar por aí.

