Índice:

IoT Data Science PiNet para dados em tela inteligente em tempo real Viz: 4 etapas
IoT Data Science PiNet para dados em tela inteligente em tempo real Viz: 4 etapas

Vídeo: IoT Data Science PiNet para dados em tela inteligente em tempo real Viz: 4 etapas

Vídeo: IoT Data Science PiNet para dados em tela inteligente em tempo real Viz: 4 etapas
Vídeo: Talk Coders - Análise de dados em tempo real 2024, Novembro
Anonim
IoT Data Science PiNet para Smart Screen Data Viz em tempo real
IoT Data Science PiNet para Smart Screen Data Viz em tempo real
IoT Data Science PiNet para Smart Screen Data Viz em tempo real
IoT Data Science PiNet para Smart Screen Data Viz em tempo real
IoT Data Science PiNet para Smart Screen Data Viz em tempo real
IoT Data Science PiNet para Smart Screen Data Viz em tempo real

Você pode facilmente montar uma rede IoT de monitores inteligentes para visualização de dados para turbinar seus esforços de pesquisa em Ciência de Dados ou em qualquer campo quantitativo.

Você pode chamar o "push" de seus gráficos para os clientes diretamente de seu código estatístico (Python, R, Matlab / Octave, SAS, etc) e atualiza as exibições em tempo real.

A ideia é que monitores de desktop antigos e baratos que você possa ter por aí podem ser reaproveitados para dispositivos IoT, onde placas de desenvolvimento Raspberry Pi baratas recebem e exibem suas visualizações de dados sem fio em tempo real de seu dispositivo principal (por exemplo, laptop). Se você não tem telas planas, não se preocupe, elas são grátis - quase grátis.

O custo e os requisitos de hardware são mínimos.

O QUE VOCÊ PRECISA

  • 1 ou mais Raspberry Pi's

    • Comecei com 3, dos quais 2 eram 3B + e 1 era um Zero
    • Custo: ~ $ 10 - $ 40
  • Qualquer tela
    • Comecei com algumas telas planas pré-HDMI

      • Grátis - $ 25 / cada no Free Cycle, Craigslist, lojas de segunda mão, sua garagem, eBay, etc. Para conseguir bons negócios em itens mais antigos e mais pesados como esta loja localmente. As pessoas estão jogando fora seus equipamentos de desktop.
      • Opcional: suportes de parede para tela plana (~ $ 9 para telas de tamanho normal, $ 20 - $ 30 para telas grandes, por exemplo, 50 ")
    • Se não tiver HDMI (ou se você estiver usando um Pi Zero), você pode obter um conversor <$ 8 na Amazon, eBay, Micro Center, Walmart, seu amigo, onde quer que
  • Cabos HDMI ou micro-HDMI

    • Grátis se você conseguiu com o seu Pi ou tem toneladas de peças sobressalentes como eu
    • $ 2 com frete grátis de vários varejistas online

Depois de ter o código do GitHub, o hardware e o Raspberry Pi executando o sistema operacional que você quiser, estimo que isso leve de alguns minutos a 1 hora no máximo.

Você pode facilmente adaptar este projeto a outros casos de uso de IoT. Você também pode querer fazer uma versão do Arduino! Fique à vontade para colaborar comigo no GitHub.

Etapa 1: conectar Pi (s) ao (s) monitor (es)

Conecte Pi (s) ao (s) display (s)
Conecte Pi (s) ao (s) display (s)
Conecte Pi (s) ao (s) display (s)
Conecte Pi (s) ao (s) display (s)

Isso é rápido e fácil.

Basta pegar o cabo HDMI (para Pi) ou micro-HDMI (para Pi Zero) mencionado anteriormente e inserir no Pi. Repita para a tela, usando quaisquer adaptadores apropriados (HDMI para micro-HDMI, etc.).

Feito.

Etapa 2: preparar 1 ou mais Raspberry Pi's

Prepare 1 ou mais Raspberry Pi's
Prepare 1 ou mais Raspberry Pi's
Prepare 1 ou mais Raspberry Pi's
Prepare 1 ou mais Raspberry Pi's
Prepare 1 ou mais Raspberry Pi's
Prepare 1 ou mais Raspberry Pi's
Prepare 1 ou mais Raspberry Pi's
Prepare 1 ou mais Raspberry Pi's

Tem seu Pi instalado e funcionando? Você pode pular!

Apenas corra

sudo apt install feh

se você quiser usar o mesmo visualizador de imagens que eu usei.

Caso contrário, esta etapa não é específica para este tut - como para qualquer projeto Pi, só precisamos que você tenha um Pi que esteja executando o Raspbian ou seu sistema operacional favorito. Além disso, vamos querer ir em frente e ter certeza de que está configurado com sua senha WiFi (ou mecanismo de autorização preferencial) e vou lhe dar algumas configurações de "melhores práticas" IMHO que são boas para projetos IoT / Pi amadores (não necessariamente para segurança, desempenho, uso de produção ou qualquer outro contexto como esse).

Minha estratégia de 2 partes aqui é vinculá-lo a instruções detalhadas e bem estabelecidas de terceiros e, em seguida, dar-lhe minha visão geral de alto nível sobre o que fazer.

  1. Instruções detalhadas e bem estabelecidas de configuração do Raspberry Pi da 3ª parte

    1. https://projects.raspberrypi.org/en/projects/noobs…
    2. https://www.howtoforge.com/tutorial/howto-install-…
  2. Minha visão geral de alto nível

    1. Obtenha qualquer Pi habilitado para WiFi

      1. Pi 2 com adaptador de rede sem fio USB
      2. 3, 3B +
      3. Zero W, Zero WH
    2. Use o cabo HDMI ou micro-HDMI apropriado para conectar seus monitores ao Pi

      1. dicas de conversor (cerca de US $ 10 na Amazon, eBay, etc) podem ser usadas para monitores mais antigos, como VGA
      2. As telas planas VGA mais antigas custam cerca de US $ 5 - US $ 25 em lojas de segunda mão! Você também pode trocar os suportes de mesa por um suporte de parede de tela plana de $ 9, se desejar.
    3. Grave NOOBS, Raspbian, Google AIY, Debian, Ubuntu, Slackware ou qualquer um dos muitos divertidos sistemas operacionais Linux que você pode explorar e usar gratuitamente

      1. Qualquer cartão micro SD de 8 GB + é adequado
      2. Qualquer ferramenta de gravação como Etcher.io, Unetbootin, LiLi, etc
    4. Inicie o sistema operacional, conecte-se à sua rede WiFi, salvando sua senha
    5. Inicie o Raspi-config (ou o equivalente em seu sistema operacional) e defina as seguintes opções

      1. Boot to Desktop
      2. Login automático como pi (bom para desenvolvimento de IoT, ruim para segurança na produção)
      3. Desative o sono (há muitas maneiras de fazer isso)

        1. Para mim, apenas desabilitar o protetor de tela foi suficiente (possivelmente devido ao protetor de tela pré-instalado em meu fork do Google AIY do Raspbian)
        2. Em qualquer outro caso, há uma série de maneiras CLI de fazer isso ou você pode instalar o `xscreensaver` e desabilitá-lo na GUI
        3. https://raspberrypi.stackexchange.com/questions/75…
        4. https://raspberrypi.stackexchange.com/questions/75…
    6. Instalar feh

      1. esta é apenas uma ferramenta simples, leve e popular de visualização de imagens para Linux que podemos usar
      2. sudo apt install feh
      3. Qualquer outro visualizador de imagens também serve

Etapa 3: Clonar + Atualizar meu código para criar um pipeline de dados em tempo real automatizado

Se você ainda não fez isso, você deve copiar meu código de exemplo do GitHub neste momento.

Você tem várias opções de como fazer isso:

  • Acesse o GitHub e baixe os arquivos como um.zip
  • Clone com
  • git clone [email protected]: hack-r / IoT_Data_Science_Pi_Net.git
  • Basta dar uma olhada no meu código e escrever sua própria versão do zero

Assim que tiver o código, atualize os caminhos com seus próprios caminhos, senhas e chaves SSH.

Etapa 4: Criar e distribuir automaticamente o Data Viz para IoT Smart Displays em tempo real

Crie e distribua automaticamente o Data Viz para IoT Smart Displays em tempo real
Crie e distribua automaticamente o Data Viz para IoT Smart Displays em tempo real
Crie e distribua automaticamente o Data Viz para IoT Smart Displays em tempo real
Crie e distribua automaticamente o Data Viz para IoT Smart Displays em tempo real
Crie e distribua automaticamente o Data Viz para IoT Smart Displays em tempo real
Crie e distribua automaticamente o Data Viz para IoT Smart Displays em tempo real
Crie e distribua automaticamente o Data Viz para IoT Smart Displays em tempo real
Crie e distribua automaticamente o Data Viz para IoT Smart Displays em tempo real

Nesta última e mais satisfatória etapa, simplesmente testamos nossa rede Pi montada!

Para nosso equivalente estatístico de "Hello World", vamos executar um script em seu laptop ou dispositivo principal para conduzir o aprendizado de máquina em alguns dados, criar visualizações de dados e exibi-los em nossas telas inteligentes baseadas em Pi ("clientes").

DEMO

A demonstração a seguir usa um laptop Windows executando R como exemplo de dispositivo primário ("servidor").

  1. Primeiro o script R foi executado na linha de comando novamente o arquivo example. R do GitHub

    1. Conforme mostrado na primeira captura de tela do prompt do cmd
    2. O arquivo de exemplo imprime as primeiras linhas de 2 conjuntos de dados e cria gráficos de visualização de dados (arquivos-p.webp" />
  2. OPCIONAL O script de autenticação é executado no SCP (WinSCP neste demo)

    1. Executar este script fora do R ou Python não é mais necessário, com meu código GitHub atualizado:)
    2. Você também pode executá-lo na linha de comando cmd diretamente
    3. SSH também está bem
    4. SFTP também é bom
    5. Implementação específica / aplicativo sem importância
    6. Este é o arquivo scp_pi_pushN.txt do GitHub

      Eu configurei isso com 1 por dispositivo cliente

Viola!

Seus smart displays agora exibem as visualizações de dados de seu programa estatístico!

Recomendado: