Eu sou bom com comandos e scripts do Unix, mas não tenho quase nenhuma experiência na web. Eu tenho um script que captura métricas de meu interesse, como carga da CPU ou temperatura do sistema, e atualiza um arquivo a cada 10 segundos. Gostaria de apontar meu iPad para um site local hospedado pelo meu Raspberry Pi, que possui uma representação gráfica da atualização em tempo real desses dados.
Eu trabalhei antes de configurar um servidor Web Apache simples e posso escrever HTML e JavaScript. Além disso, estou perdido e preciso de alguém para me apontar na direção certa.
unix
apache-http-server
raspberry-pi
gui
jake9115
fonte
fonte
Respostas:
Eu uso o Grafana com o InfluxDB para isso no meu Raspberry Pi 3. Eles são relativamente fáceis de configurar e se conectar. Eles até funcionam bem em contêineres Docker no Raspberry Pi.
Eu transmito todas as minhas atualizações no InfluxDB à medida que elas são geradas. Então Grafana faz todo o trabalho gráfico de exibi-los em um bom formato visual. Projetei um painel simples apenas para o meu iPad antigo, com sua tela menor.
Parece muita instalação e sobrecarga, mas com certeza parece bonito.
fonte
Por ter um painel de monitoramento da Web leve e muito fácil de configurar (e estender) a página de monitoramento no seu Raspberry, você tem o RPi Monitor .
Ele vem com alguns padrões e a configuração está principalmente editando alguns arquivos de texto simples. Eu o configurei facilmente para adicionar gráficos de umidade de um DTH21.
fonte
Para aplicativos em tempo real na Web, a melhor ferramenta é o WebSocket . Geralmente, eles são implementados no servidor de aplicativos, não no servidor da Web, mas o Apache fornece uma maneira de proxy WebSockets. Isso poderia facilmente fornecer atualizações por segundo ou subsegundo.
Qual biblioteca você usa no servidor de aplicativos depende de qual plataforma da Web você deseja usar, mas, por exemplo, uma biblioteca popular do Node.js é o Socket.IO.
No lado do cliente, você pode configurar uma conexão como esta:
No lado do servidor, com o Node.js, usando a biblioteca básica do WebSocket:
fonte
Você também pode olhar para Node-RED https://nodered.org Ele vem de ações em Raspbian
Aqui está um painel que eu construí
fonte
Eu uso o phpSysInfo para monitorar todos os meus servidores / computadores Linux e gosto muito de como é simples. As configurações também são muito fáceis de entender e você pode definir sua própria taxa de atualização.
fonte
Se você deseja codificar em C ou C ++, pode usar alguma biblioteca de servidores HTTP como libonion ou Wt para codificar seu servidor HTTP especializado (talvez usando sqlite para banco de dados). Você deve entender bem o protocolo HTTP (incluindo cookies e cabeçalhos HTTP ) e o HTML5 .
Você pode querer usar as técnicas Ajax e WebSocket (os WebSockets são suportados pelo libonion & Wt, o Ajax fornece solicitações HTTP comuns iniciadas pelo código JavaScript em execução no navegador do cliente). Você pode usar a tela HTML5 e / ou SVG para gráficos. Você pode achar algumas estruturas da web em HTML5 úteis; a maioria deles usa Javascript, DOM, HTML5, ....
fonte