COMUNICAZIONE TRA ARDUINO E RASPBERRY PI UTILIZZANDO NRF24L01

1. Sommario:

  • Questo blog ti guida attraverso il processo di come comunicare un Arduino e un Raspberry Pi con il modulo nRF24L01. Per iniziare ci sarà imparare alcune nozioni di base di Raspberry Pi poi avremo uno sguardo a senza testa Raspberry Pi setup. Per l’implementazione in primo luogo, capiremo la semplice comunicazione di Arduino ad Arduino, quindi impareremo Arduino al raspberry pi.
  • Ho trovato molte guide per realizzare questo su Internet, ma nessuna di esse era completa o completamente funzionante per me. Qui capiremo guida passo passo di questo processo. E alla fine mostrerà un esempio di lavoro per lo stesso

2. Componenti richiesti:

  • Sensore a Ultrasuoni
  • 2 Arduino Uno
  • Raspberry Pi 3
  • 2 nRF24l01 trasmettitore e ricevitore
  • Salto fili
  • Arduino cavo
  • MINI USB 2.0 per Pi
  • Breadboard

3. Software richiesto:

  • Raspbian per pi
  • Arduino IDE o Visual Studio
  • Putty su un computer remoto per SSH
  • VNC viewer su un computer remoto

4. Introduzione a Raspberry Pi 3:

4.1. Specifiche dei componenti:

  • 1.4 GHz 64-bit quad-core ARM Cortex-A53, 1 GB di RAM
  • 2.4/5 GHz dual-band 802.11 ac LAN senza fili, 10/100/1000 Mbps Ethernet Bluetooth 4.2
  • 4 porte USB, pieno porta HDMI, combinato 3.5mm jack audio e video composito porta, 40 pin GPIO
  • Micro SD card slot, Video Core IV 3D graphics core, Fotocamera interfaccia (CSI), interfaccia di Visualizzazione (DSI)

4.2 Raspberry Pi Pinout:

4.3. Senza testa Raspberry Pi Configurazione:

  • Dì, ho appena comprato un raspberry pi e desidero verificare come funziona. Ma tutto quello che ho è il mio computer portatile, il Pi, una scheda micro SD, e la mia rete Wi-Fi. Come posso collegare e controllare il Pi?

1) Scarica Raspbian:

  • Il tuo Pi ha bisogno di un sistema operativo. Scarica Raspbian da Raspberrypi.org ‘s sezione download:
  • https://www.raspberrypi.org/downloads/raspbian/

2) Scarica Scheda di Memoria SD Formatter:

  • Esso è utilizzato per formattare la scheda SD in quanto è necessario che la scheda SD deve essere vuoto prima che il lampeggiante immagine che hai scaricato. È possibile scaricarlo da https://www.sdcard.org/downloads/formatter/eula_windows/

3) Flash su una scheda SD:

  • È necessario lampeggiare questa immagine scaricata sulla scheda micro SD. Supponendo che il tuo laptop abbia uno slot per schede SD o un lettore di schede micro Sd, hai bisogno di un software lampeggiante come etcher. Vai avanti e scarica da https://etcher.io/

4) Configurazione Wi-Fi:

  • È più facile far parlare due dispositivi tra loro se si trovano nella stessa rete. Un cavo ethernet può facilmente rendere la rete del tuo laptop disponibile per il Pi. Ma non ne abbiamo uno. Quindi, aggiungeremo un file alla scheda SD in modo che il Pi si avvii con un wifi pre-configurato.
  • La scheda SD monta come due volumi boot e rootfs . Aprire il volume di avvio e creare un file denominato wpa_supplicant.conf all’avvio dell’RPi, questo file verrà copiato nella directory / etc / wpa_supplicant nella partizione / rootfs. Il file copiato indica al Pi le informazioni di configurazione WIFI. Ciò sovrascriverebbe qualsiasi configurazione WIFI esistente, quindi se si fosse già configurato WIFI sul pi, allora verrà sovrascritto.
  • Un tipico wpa_supplicant.il file conf è il seguente:

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

NOTA: Il tuo SSID è il nome del tuo WIFI. E psk è la password del WI-FI.

5) Abilita SSH

  • In seguito accederemo al Pi utilizzando una shell protetta (SSH), SSH è disabilitato per impostazione predefinita in Raspbian. Per abilitare SSH, creare un file denominato ssh nella partizione di avvio. Se siete su Linux, utilizzare il comando touch per farlo.

6) Trova l’indirizzo Ip di Pi:

  • Prima di accendere il raspberry pi, abbiamo bisogno di scoprire i dispositivi esistenti collegati alla rete. Assicurati che il tuo laptop sia connesso alla stessa rete WIFI di quella configurata su pi sopra.
  • Scaricare il avanzata IP Scanner per la scansione del IP del nostro raspberry pi. È possibile scaricarlo da qui https://www.advanced-ip-scanner.com/

7) SSH nel tuo Pi:

  • Per creare una connessione shell protetta in Linux possiamo usare il comando ssh. Se siete su windows, provare a scaricare Putty da https://www.putty.org/

le credenziali Predefinite sono:

username: pipassword: raspberry

8) Accedere Pi remoto:

  • a Volte non mi sembra giusto se non siamo in grado di utilizzare il mouse. Per questo, abbiamo bisogno di guardare nel desktop Raspbian.
  • Abbiamo bisogno di impostare VNC (Virtual Network Connection) per vedere e controllare Pi graficamente. Facciamolo.
  • Per accedere al desktop remoto, è necessario VNC-viewer (client) per il vostro computer portatile. Fortunatamente, RealVNC è disponibile per molti Sistemi operativi, scegliere uno per il sistema operativo da https://www.realvnc.com/en/connect/download/viewer/

9) Comandi per vncserver:

10) Ora aprire il Visualizzatore VNC sul computer remoto:

5. Implementazione e funzionamento:

5.1. Comunicazione wireless di Arduino ad Arduino con nRF24L01:

  • In questo, impareremo come rendere la comunicazione wireless tra due schede Arduino utilizzando il NRF24L01. E misurare la distanza con sensore ad ultrasuoni e trasmetterlo ad un altro Arduino con modulo ricetrasmettitore.

Istruzioni di cablaggio:

Per collegare il mittente wireless NRF24L01+ al tuo Arduino, collega i seguenti pin:

  • Collegare il pin VCC a 3.3 Volt
  • Collegare il GND pin a massa (GND)
  • Collegare il CE pin di Arduino 9
  • Collegare il CSN pin di Arduino 10
  • Collegare il SCK pin di Arduino 13
  • Collegare il MOSI pin di Arduino 11
  • Collegare il MISO pin di Arduino 12

Per il cablaggio sensore a ultrasuoni per il vostro Arduino, collegare le spine:

  • Collegare il pin VCC per Arduino 5Volts
  • Collegare il GND pin a massa (GND)
  • Collegare il Trig pin di Arduino 4
  • Collegare l’Eco pin di Arduino 3

Schema di cablaggio per il cablaggio d’Arduino Uno con sensore a ultrasuoni e NRF24L01

Per legare il vostro NRF24L01+ wireless mittente per il vostro Arduino, collegare i seguenti pin:

  • Collegare il pin VCC a 3.3 Volt
  • Collegare il GND pin a massa (GND)
  • Collegare il CE pin di Arduino 9
  • Collegare il CSN pin di Arduino 10
  • Collegare il SCK pin di Arduino 13
  • Collegare il MOSI pin di Arduino 11
  • Collegare il MISO pin di Arduino 12

Schema di cablaggio per il cablaggio d’Arduino Uno NRF24L01

NOTA: RF24 modulo è obbligatorio per l’esecuzione di codice in modo da poter aggiungere la libreria di conseguenza

  • Start IDE di Arduino, quindi aggiungere Scaricato la Libreria da Qui :

5.2. Codice:

Codice lato mittente:

Codice lato ricevitore:

Invio dei dati

Ricezione dei dati:

6. La comunicazione Wireless di Arduino Raspberry Pi con nRF24L01:

6.1: Installazione di RF24 Modulo su Raspberry Pi:

  • è il più importante e più importante passo per qualsiasi Comunicazione lavoro tra Arduino e Raspberry Pi come abbiamo usato RF24 biblioteca Arduino per la comunicazione, così la stessa Libreria è bisogno di Pi.
  • Ulteriori sono i passaggi che comportano l’installazione della Libreria. Mi ci è voluta quasi una settimana per installarlo poiché non è presente alcuna idea chiara a riguardo.

=> Strada da percorrere:

1. Accedi a Raspberry Pi usando Putty.

2. Vai al server VNC per GUI.

3. Digita nel terminale:

sudo raspi-config

Accendere SPI da Interfacciamento opzioni nel file di configurazione

4. Riavviare il Pi. Nel terminale, digitare:

sudo reboot

5. Nel tipo di terminale:

sudo apt-get update

6. Scarica il install.sh file da http://tmrh20.github.io/RF24Installer/RPi/install.sh o Eseguire questo sul terminale:

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

7. Rendilo eseguibile:

chmod +x install.sh

8. Eseguilo e scegli le tue opzioni:

9. Eseguire un esempio da una delle librerie:

cd rf24libs/RF24/examples_linux make sudo ./gettingstarted

Eseguire i seguenti comandi per eseguire il programma.

10. Inoltre, se vogliamo eseguire programmi Python per lo stesso scopo, possiamo farlo:

Eseguendo l’esempio Modifica il pingpair_dyn.py esempio per configurare i pin appropriati per la documentazione di cui sopra:

nano pingpair_dyn.py
  • Configura un altro dispositivo, Arduino o RPi con l’esempio pingpair_dyn
  • Esegui l’esempio
sudo python pingpair_dyn.py

6.2. Comunicazione wireless di Arduino ad Arduino con nRF24L01:

  • In questo, impareremo come rendere la comunicazione wireless tra Arduino e Raspberry Pi utilizzando il NRF24L01. E misurare la distanza con un sensore ad ultrasuoni con l’aiuto di Arduino Uno e trasmetterlo a Raspberry Pi e i dati vengono ricevuti.

Istruzioni di cablaggio:

Per legare il vostro NRF24L01+ wireless Mittente per il vostro Arduino, collegare i seguenti pin:

  • Collegare il pin VCC a 3.3 Volt
  • Collegare il GND pin a massa (GND)
  • Collegare il CSN pin di Arduino 10
  • Collegare il CE pin di Arduino 9
  • Collegare il SCK pin di Arduino 13
  • Collegare il MISO pin di Arduino 12
  • Collegare il MOSI pin di Arduino 11

Per il cablaggio sensore a ultrasuoni per il vostro Arduino, collegare i seguenti pin:

  • Collegare il pin VCC per Arduino 5Volts
  • Collegare il GND pin a massa (GND)
  • Collegare il Trig pin di Arduino 4
  • Collegare l’Eco pin di Arduino 3

Diagramma Schematico:

Schema di cablaggio per il cablaggio d’Arduino Uno con sensore a ultrasuoni e NRF24L01

Per legare il vostro NRF24L01+ Ricevitore Wireless per il vostro Raspberry Pi, collegare i seguenti pin:

  • Collegare il pin VCC a 3.3 v (Pin 1)
  • Collegare il GND pin a massa (GND) Pin (6)
  • Collegare il CE pin di Lampone GPIO 22
  • Collegare il CSN pin di Lampone GPIO 8
  • Collegare il SCK pin di Lampone GPIO 11
  • Collegare il pin MOSI al Lampone GPIO 10
  • Collegare il pin MISO al Lampone GPIO 09

Diagramma Schematico:

Schema di cablaggio per il cablaggio di Raspberry Pi e NRF24L01

6.3. Codice:

Codice lato mittente:

Codice lato ricevitore:

  • Non è obbligatorio utilizzare questo codice in quanto è ottimizzato da me secondo le mie esigenze.

Per verificare il corretto funzionamento della connessione e del codice è possibile eseguire gli esempi presenti nella libreria come pingpair_dyn.ino sul tuo Arduino e pingpair_dyn.py su Raspberry Pi

  • Il frammento della mia comunicazione in esecuzione:

Conclusione: Sarà sempre divertente sperimentare e giocare con i dispositivi IoT come imparare a conoscere senza testa Raspberry Pi set-up, Arduino, e Raspberry pi facendoli comunicare tra loro e l’invio di dati e per superare gli errori e le sfide come quello che ho affrontato durante l’installazione del modulo RF24. Lo scopo di questo tutorial è quello di servire con un processo passo-passo e spero che sia stato facile da seguire e imparare pure. Grazie per la lettura! Suggerimenti e correzioni sono sempre i benvenuti.



+