COMUNICAÇÃO ENTRE ARDUINO E RASPBERRY PI USANDO NRF24L01

1. Resumo:

  • este blog o acompanha através do processo de como comunicar um Arduino e um Raspberry Pi com módulo nRF24L01. Para começar, vamos estar aprendendo algumas noções básicas de Raspberry Pi, em seguida, vamos ter um olhar para a configuração Raspberry Pi sem cabeça. Para a implementação em primeiro lugar, vamos entender a simples comunicação de Arduino para Arduino, em seguida, vamos aprender Arduino para o raspberry pi.Encontrei muitos guias para conseguir isso na Internet, mas nenhum deles estava completo ou totalmente trabalhado para mim. Aqui vamos entender passo a passo guia deste processo. E no final estará mostrando um exemplo de trabalho para o mesmo

2. Componentes necessários:

  • Sensor Ultra-sônico
  • 2 Arduino Uno
  • Raspberry Pi 3
  • 2 nRF24l01 o transmissor e o receptor
  • Salto fios
  • Arduino cabo
  • MINI USB 2.0 para Pi
  • Protoboard

3. Software Necessário:

  • Raspbian for pi
  • Arduino IDE or Visual Studio
  • Putty on a remote computer for SSH
  • VNC viewer on a remote computer

4. Introdução ao Raspberry Pi 3:

4.1. Especificações dos componentes:

  • 1.4 ARM Cortex-A53, 1GB RAM
  • 2.4/5Ghz dual-band 802.11 ac Wireless LAN, 10/100/1000Mbps Ethernet Bluetooth 4.2
  • 4 portas USB, Full HDMI port, Combined 3.5mm jack de áudio e de vídeo composto porta, 40 pinos GPIO
  • slot para cartão Micro SD, Vídeo de Núcleo IV 3D graphics core, Câmera de interface (CSI), interface de Visualização (DSI)

4.2 Raspberry Pi Pinagem:

4.3. Instalação da Raspberry Pi sem cabeça:

  • acabei de comprar um Raspberry pi e quero ver como funciona. Mas tudo o que tenho é o meu portátil, o Pi, um cartão Micro SD, e a minha rede Wi-Fi. Como posso conectar-me e controlar o Pi?

1) Transferir O Raspbian:

  • o seu Pi precisa de um SO. Download do Raspbian Raspberrypi.org ‘s seção de download:
  • https://www.raspberrypi.org/downloads/raspbian/

2) Download Cartão de Memória SD Formatter:

  • Ele é usado para formatar o cartão SD, pois é necessário que o cartão SD deve estar vazia antes de o piscar da imagem que você baixou. Você pode baixá-lo a partir de https://www.sdcard.org/downloads/formatter/eula_windows/

3) Flash-lo para um cartão SD:

  • tem de mostrar esta imagem descarregada para o cartão Micro SD. Assumindo que o seu portátil tem um slot de cartão SD ou um leitor de cartão Sd micro, você precisa de um software intermitente como o etcher. Vá em frente e baixe a partir de https://etcher.io/

4) Configurar o Wi-Fi:

  • É mais fácil fazer dois dispositivos de falar uns com os outros se eles estão na mesma rede. Um cabo ethernet pode facilmente tornar a rede do seu laptop disponível para o Pi. Mas não temos. Então, vamos adicionar um arquivo ao cartão SD para que as botas Pi com um Wi-Fi pré-configurado.
  • o cartão SD monta em dois volumes boot e rootfs . Abra o volume de arranque e crie um ficheiro chamado wpa_supplicant.conf ao iniciar o RPi, este ficheiro será copiado para a pasta /etc/wpa_ Supplicant na partição /rootfs. O ficheiro copiado diz ao Pi a informação de configuração do Wi-Fi. Isto iria substituir qualquer configuração de Wi-Fi existente, por isso se já tivesse configurado o Wi-Fi no pi, então isso será substituído.
  • a typical wpa_supplicant.o ficheiro conf é o seguinte::

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=US network={ ssid=""your_SSID"" psk=""your_PSK"" key_mgmt=WPA-PSK}

Nota: O Seu SSID é o nome do seu Wi-Fi. E psk é a senha do WI-FI.

5) Enable SSH

  • we will later access the Pi using a secured shell (SSH), SSH is disabled by default in Raspbian. Para activar o SSH, crie um ficheiro chamado ssh na partição de arranque. Se você estiver no Linux, use o comando touch para fazer isso.

6) Localizar Pi endereço Ip:

  • Antes de ligar o seu raspberry pi, precisamos de descobrir os dispositivos existentes ligados à rede. Certifique-se que o seu portátil Está ligado à mesma rede Wi-Fi que configurou no pi acima.
  • baixe o Scanner IP avançado para digitalizar o IP do nosso raspberry pi. Você pode baixá-lo aqui https://www.advanced-ip-scanner.com/

7) o SSH em seu Pi:

  • Para criar uma segura conexão de shell no Linux podemos usar o comando ssh. Se você estiver no windows, tente fazer o download do Putty https://www.putty.org/

as credenciais Padrão são:

username: pipassword: raspberry

8) Acesso Pi remotamente:

  • às Vezes, ele não se sente bem, se não podemos usar o mouse. Para isso, precisamos olhar para o desktop Raspbian.
  • precisamos configurar VNC (conexão de rede Virtual) para ver e controlar Pi graficamente. Vamos fazer isso.
  • para aceder ao ecrã Remoto, necessita de visualizador de VNC (cliente) para o seu portátil. Felizmente, RealVNC está disponível para uma série de sistemas Operacionais, escolha um para o seu sistema operacional a partir do https://www.realvnc.com/en/connect/download/viewer/

9) Comandos para vncserver:

10) Agora abra o VNC Viewer no computador remoto:

5. Execução e funcionamento:

5.1. Comunicação sem fios de Arduino a Arduino com nRF24L01:

  • nesse sentido, aprenderemos a fazer a comunicação sem fio entre duas placas Arduino usando o NRF24L01. E medir a distância com sensor ultrassônico e transmiti-lo para outro Arduino com módulo transceptor.Instruções de cablagem:

    para transferir o seu NRF24L01+ remetente sem fios para o seu Arduino, ligue os seguintes pinos:

    • ligue o pin VCC a 3.3 Volts
    • Conecte o pino GND para a terra (GND)
    • Conectar-se a CE pin para Arduino 9
    • Conectar-se a CSN pin para Arduino 10
    • Conecte o SCK pin para Arduino 13
    • Conectar-se a MOSI pin para Arduino 11
    • Conecte o MISO pin para Arduino 12

    Para conectar o sensor ultra-sônico para o Arduino, ligar os seguintes pinos:

    • Ligar o VCC pino do Arduino 5Volts
    • Conecte o pino GND para a terra (GND)
    • Conectar-se a Trigonometria pin para Arduino 4
    • Ligar o Eco pino do Arduino 3

    Diagrama esquemático para a instalação do Arduino Uno com sensor ultra-sônico e NRF24L01

    Ao fio do seu NRF24L01+ wireless remetente para o Arduino, conecte-se os seguintes pinos:

    • Ligar o VCC pino 3.3 Volts
    • Conecte o pino GND para a terra (GND)
    • Conectar-se a CE pin para Arduino 9
    • Conectar-se a CSN pin para Arduino 10
    • Conecte o SCK pin para Arduino 13
    • Conectar-se a MOSI pin para Arduino 11
    • Conecte o MISO pin para Arduino 12

    Diagrama Esquemático para a instalação do Arduino Uno NRF24L01

    NOTA: RF24 módulo é obrigatório para que o código seja executado de modo que você pode adicionar a biblioteca em conformidade

    • Iniciar Arduino IDE, em seguida, adicione o download da Biblioteca a partir Daqui :

    5.2. Código:

    Remetente o código ao Lado:

    do Lado do Receptor de código:

    o Envio de Dados

    Receber os dados:

    6. Comunicação sem fios de Arduino a Raspberry Pi com nRF24L01:

    6.1: instalação do módulo RF24 em Raspberry Pi:

    • é o passo mais importante e mais importante para qualquer comunicação para trabalhar entre Arduino e Raspberry Pi como temos usado RF24 biblioteca em Arduino para a comunicação, de modo que a mesma Biblioteca é necessária em Pi.
    • outros são os passos que envolvem a instalação da Biblioteca. Levei quase uma semana para instalá-lo como nenhuma idéia clara sobre ele está presente.

    => modo de ir:

    1. Liga-te à Raspberry Pi com massa.

    2. Vai ao servidor VNC para a GUI.

    3. No terminal digite:

    sudo raspi-config

    Ligue SPI a partir da Interface opções de configuração

    4. Reinicie o Pi. No terminal, digite:

    sudo reboot

    5. No tipo de terminal:

    sudo apt-get update

    6. Transferir a install.sh ficheiro http://tmrh20.github.io/RF24Installer/RPi/install.sh ou execute isto no terminal:

    wget http://tmrh20.github.io/RF24Installer/RPi/install.sh

    7. Torná-lo executável:

    chmod +x install.sh

    8. Execute-o e escolha suas opções:

    9. Executar um exemplo de uma das bibliotecas:

    cd rf24libs/RF24/examples_linux make sudo ./gettingstarted

    executar os seguintes comandos para executar o programa.

    10. Além disso, se quisermos executar programas Python com a mesma finalidade, podemos fazer isto:

    executando o exemplo edite o pingpair_dyn.py exemplo para configurar os pinos apropriados para a documentação acima:

    nano pingpair_dyn.py
    • Configurar outro dispositivo, Arduino ou RPi com o pingpair_dyn exemplo
    • Executar o exemplo
    sudo python pingpair_dyn.py

    6.2. Comunicação sem fios de Arduino a Arduino com nRF24L01:

    • neste, vamos aprender como fazer a comunicação sem fio entre Arduino e Raspberry Pi usando o NRF24L01. E medir a distância com um sensor ultrassônico com a ajuda de Arduino Uno e transmiti-lo para Raspberry Pi e dados é recebido.Instruções De Cablagem:

      Ao fio do seu NRF24L01+ wireless Remetente para o Arduino, conecte-se os seguintes pinos:

      • Ligar o VCC pino para 3,3 Volts
      • Conecte o pino GND para a terra (GND)
      • Conectar-se a CSN pin para Arduino 10
      • Conectar-se a CE pin para Arduino 9
      • Conecte o SCK pin para Arduino 13
      • Conecte o MISO pin para Arduino 12
      • Conectar-se a MOSI pin para Arduino 11

      Para conectar o sensor ultra-sônico para o Arduino, conecte-se os seguintes pinos:

      • Ligar o VCC pino do Arduino 5Volts
      • Conecte o pino GND para a terra (GND)
      • Conectar-se a Trigonometria pin para Arduino 4
      • Ligar o Eco pino do Arduino 3

      Diagrama Esquemático:

      Diagrama Esquemático para a instalação do Arduino Uno com sensor ultra-sônico e NRF24L01

      Ao fio do seu NRF24L01+ Receptor sem Fio para o seu Raspberry Pi, conecte-se os seguintes pinos:

      • Ligar o VCC pino 3.3 Volts (Pino 1)
      • Conecte o pino GND para a terra (GND) (Pino 6)
      • Conectar-se a CE pin ao Framboesa de GPIO 22
      • Conectar-se a CSN pin ao Framboesa de GPIO 8
      • Conecte o SCK pin ao Framboesa de GPIO 11
      • Conectar-se a MOSI pin ao Framboesa de GPIO 10
      • Conecte o MISO pin ao Framboesa de GPIO 09

      Diagrama Esquemático:

      Diagrama Esquemático para a fiação do Raspberry Pi e NRF24L01

      6.3. Código:

      Código Do Remetente:

      Código Lateral Do receptor:

      • não é obrigatório usar este código, pois é alterado por mim, de acordo com a minha exigência.

      para verificar o bom funcionamento da sua ligação e código, pode executar os exemplos presentes na biblioteca como pingpair_dyn.ino no seu Arduino e pingpair_dyn.py no Raspberry Pi

      • O trecho da minha corrida de comunicação:

      Conclusão: Será sempre divertido experimentar e brincar com os dispositivos IoT, tais como aprender sobre a criação de Raspberry Pi sem cabeça, Arduino, e Raspberry pi, fazendo-os se comunicar uns com os outros e enviar dados e superar os erros e desafios como um que eu enfrentei ao instalar o módulo RF24. O objetivo deste tutorial é servi-lo com um processo passo a passo e esperar que fosse fácil de seguir e aprender também. Obrigado por ler! Sugestões e correções são sempre bem-vindas.



+