Estação meteorológica inteligente para ESP8266 com APRS-IS, dashboard web moderno, alertas INMET, OTA, mDNS, watchdog WiFi, LCD 16x2 e suporte a múltiplos beacons APRS.
- APRS-IS: Envio automático de pacotes meteorológicos (WX) para a rede APRS-IS, com suporte a múltiplos beacons configuráveis.
- Dashboard Web Responsivo: Visualização em tempo real de todos os dados, status do sistema, logs de APRS, alertas meteorológicos e configuração completa via navegador.
- Alertas INMET: Integração com a API pública RSS do INMET para monitoramento de alertas meteorológicos regionais.
- OpenWeatherMap: Consulta de dados externos (vento, pressão, nuvens, chuva) via API gratuita (opcional).
- LCD 16x2 I2C: 14 telas rotativas com dados ambientais, QRA Locator, comparação DHT/OWM, tendência barométrica, etc.
- OTA: Atualização de firmware via WiFi (ArduinoOTA).
- mDNS: Acesso facilitado via
http://simpleaprs.local/na rede local. - WiFi Watchdog: Reinicialização automática após 5 minutos sem WiFi.
- Menu Serial: Configuração inicial de WiFi e APRS via console serial, caso não haja configuração salva.
- Persistência: Todas as configurações salvas em LittleFS (flash).
- Beacons Extras: Até 3 beacons APRS de posição adicionais, totalmente configuráveis via web.
- Sanitização de Dados: Comentários APRS e campos sensíveis validados e protegidos para publicação pública.
- ESP8266 (testado no NodeMCU ESP-12E)
- Sensor DHT21 (AM2301) — GPIO14 (D5)
- LCD 16x2 I2C — SDA: GPIO0 (D3), SCL: GPIO2 (D4)
- Buzzer — GPIO16 (D0)
- Botão — GPIO5 (D1)
- PlatformIO instalado (VSCode recomendado)
- Placa ESP8266 (NodeMCU, Wemos, etc)
- Sensor DHT21, LCD I2C, buzzer, botão (opcional)
git clone https://github.com/vimace2003/SimpleAPRS.git
cd SimpleAPRS- Abra o projeto no VSCode + PlatformIO
- Conecte o ESP8266 via USB
- Compile e faça upload normalmente:
pio run --target upload
- Ao ligar, se não houver WiFi configurado, será exibido um menu no Serial (115200 baud) para inserir SSID/senha e indicativo APRS.
- Após conectar, acesse o dashboard via IP mostrado no Serial ou via
http://simpleaprs.local/. - Complete as configurações pelo menu web (APRS, OWM, beacons, etc).
SimpleAPRS/
├── include/ # Headers (config, display, sensors, etc)
├── lib/ # (Reservado para bibliotecas externas)
├── src/ # Código fonte principal
│ ├── main.cpp
│ ├── display.cpp
│ ├── sensors.cpp
│ ├── storage.cpp
│ ├── aprs.cpp
│ ├── weather.cpp
│ ├── webserver.cpp
├── test/ # (Reservado para testes)
├── platformio.ini # Configuração PlatformIO
└── README.md # Este arquivo
- Acesse via IP local ou
http://simpleaprs.local/ - Configure WiFi, APRS, OWM, alertas, LCD, beacons extras, etc.
- Todos os campos sensíveis são protegidos e não ficam hardcoded no firmware.
- Se não houver WiFi configurado, pressione qualquer tecla nos primeiros 10s do boot para abrir o menu Serial.
- Permite configurar SSID/senha primário e secundário, indicativo e passcode APRS.
- Até 3 beacons de posição APRS adicionais, cada um com callsign, SSID, lat/lon, altitude, símbolo e comentário.
- Totalmente configuráveis via dashboard web.
- O filtro de mesorregião pode ser ajustado no campo "Mesorregião" (ex: "Grande Florian").
- Deixe vazio para receber todos os alertas do Brasil.
- Insira sua API Key gratuita para habilitar dados externos (opcional).
- Nenhum dado sensível (senhas, API keys, callsigns, coordenadas) fica hardcoded no código.
- Todos os dados são configurados via dashboard ou menu Serial e salvos em LittleFS.
- Pronto para publicação pública no GitHub.
Este projeto é open-source sob a licença MIT. Veja o arquivo LICENSE para detalhes.
- Projeto desenvolvido por radioamadores para a comunidade.
- Baseado em ESP8266, Arduino, PlatformIO, LittleFS, ArduinoJson, WiFiManager, LiquidCrystal_I2C, DHT sensor, e APIs públicas (INMET, OWM).
Adicione aqui prints do dashboard, LCD, etc, se desejar.
Pull requests, issues e sugestões são bem-vindos!
Abra uma issue ou contribua diretamente pelo GitHub.