COMMUNICATIE TUSSEN ARDUINO EN RASPBERRY PI MET NRF24L01

1. Samenvatting:

  • deze blog begeleidt u door het proces van het communiceren van een Arduino en een Raspberry Pi met nRF24L01 module. Om te beginnen zullen we leren een aantal basisprincipes van Raspberry Pi dan zullen we een kijkje op Headless Raspberry Pi setup hebben. Voor de uitvoering ten eerste, zullen wij de eenvoudige mededeling van Arduino aan Arduino begrijpen dan zullen wij Arduino aan Framboos pi leren.
  • ik vond veel gidsen om dit te bereiken op het Internet, maar geen van hen was compleet of werkte volledig voor mij. Hier zullen we stap voor stap handleiding van dit proces te begrijpen. En aan het einde zal een werkend voorbeeld voor hetzelfde

2. Vereiste onderdelen:

  • Ultrasone Sensor
  • 2 Arduino Uno
  • Raspberry Pi 3
  • 2 nRF24l01 zender en ontvanger
  • Jump draden
  • Arduino kabel
  • MINI USB 2.0 Voor Pi
  • Broodplank

3. Vereiste Software:

  • Raspbian voor pi
  • Arduino IDE of Visual Studio
  • stopverf op een externe computer voor SSH
  • VNC-viewer op een externe computer

4. Inleiding tot Raspberry Pi 3:

4.1. Specificaties voor onderdelen:

  • 1.4 GHz 64-bit quad-core ARM Cortex-A53, 1 GB RAM
  • 2.4 / 5Ghz dual-band 802.11 ac draadloos LAN, 10/100 / 1000Mbps Ethernet Bluetooth 4.2
  • 4 USB-poorten, volledige HDMI-poort, gecombineerd 3.5 mm audio-aansluiting en composiet videopoort, 40 GPIO-pinnen
  • Micro SD-kaartsleuf, Video Core IV 3D graphics core, Camera-interface (CSI), Display-interface (DSI))

4.2 Raspberry Pi Pinout:

4.3. Headless Raspberry Pi Setup:

  • zeg, Ik heb net een raspberry pi gekocht en wil kijken hoe het werkt. Maar alles wat ik heb is mijn Laptop, de Pi, Een micro SD-kaart, en mijn Wi-Fi-netwerk. Hoe verbind en bestuur ik de Pi?

1) Download Raspbian:

  • uw Pi heeft een besturingssysteem nodig. Raspbian downloaden van Raspberrypi.org ‘ s download sectie:
  • https://www.raspberrypi.org/downloads/raspbian/

2) downloaden SD geheugenkaart Formatter:

  • het wordt gebruikt om de SD-kaart te formatteren als het nodig is dat de SD-kaart leeg moet zijn voordat het knipperende beeld dat u hebt gedownload. U kunt het downloaden van https://www.sdcard.org/downloads/formatter/eula_windows/

3) Flash het op een SD-kaart:

  • u moet deze gedownloade afbeelding naar de micro SD-kaart flashen. Ervan uitgaande dat uw laptop een SD-kaartsleuf of een Micro Sd-kaartlezer heeft, hebt u een knipperende software zoals etser nodig. Ga je gang en download van https://etcher.io/

4) Wi-Fi configureren:

  • het is makkelijker om twee apparaten met elkaar te laten praten als ze in hetzelfde netwerk zitten. Een ethernet-kabel kan het netwerk van uw laptop eenvoudig beschikbaar maken voor de Pi. Maar die hebben we niet. Dus, we gaan een bestand toe te voegen aan de SD-kaart, zodat de Pi laarzen met een wifi vooraf geconfigureerd.
  • de SD-kaart wordt gekoppeld als twee delen boot en rootfs . Open het opstartvolume en maak een bestand aan met de naam wpa_supplicant.conf bij het opstarten van de RPi, zal dit bestand worden gekopieerd naar /etc/wpa_supplicant map in /rootfs partitie. Het gekopieerde bestand vertelt de Pi de wifi setup informatie. Dit zou een bestaande WiFi-configuratie overschrijven, dus als je al wifi op de pi had geconfigureerd, dan zal dat worden overschreven.
  • een typische wpa_supplicant.conf bestand is als volgt:

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

opmerking: Uw SSID is de naam van uw WIFI. En psk is het wachtwoord van de WI-FI.

5) SSH

  • we zullen later toegang tot de Pi met behulp van een beveiligde shell (SSH), SSH is standaard uitgeschakeld in Raspbian. Om SSH aan te zetten, maak je een bestand met de naam ssh aan in de opstartpartitie. Als je Linux gebruikt, gebruik dan het touch commando om dat te doen.

6) Zoek Pi ‘ s Ip-adres:

  • voordat u uw raspberry pi inschakelt, moeten we de bestaande apparaten vinden die zijn aangesloten op het netwerk. Zorg ervoor dat uw laptop is aangesloten op hetzelfde WIFI-netwerk als degene die u hebt geconfigureerd op pi hierboven.
  • Download de geavanceerde IP-Scanner om het IP-adres van onze raspberry pi te scannen. U kunt het hier downloaden https://www.advanced-ip-scanner.com/

7) SSH in uw Pi:

  • om een beveiligde shell verbinding te maken in Linux kunnen we het ssh commando gebruiken. Als je op windows, probeer het downloaden van Putty https://www.putty.org/

Standaard referenties:

username: pipassword: raspberry

8) Toegang Pi op afstand:

  • Soms voelt het niet goed als we het niet kunnen gebruiken van de muis. Daarvoor moeten we kijken naar de Raspbian desktop.
  • we moeten VNC (Virtual Network Connection) Instellen om Pi grafisch te kunnen zien en beheren. Laten we dat doen.
  • om toegang te krijgen tot het bureaublad op afstand, heeft u VNC-viewer (client) nodig voor uw laptop. Gelukkig RealVNC is beschikbaar voor een groot aantal Besturingssystemen, te kiezen voor uw BESTURINGSSYSTEEM uit https://www.realvnc.com/en/connect/download/viewer/

9) Opdrachten voor vncserver:

10) Nu open VNC Viewer op uw externe computer:

5. Uitvoering en werking:

5.1. Draadloze mededeling van Arduino aan Arduino met nRF24L01:

  • In dit, zullen wij leren hoe te om draadloze mededeling tussen twee Arduinoraad te maken gebruikend NRF24L01. En meet afstand met ultrasone sensor en zend het naar een andere Arduino met zendontvangermodule.

Bedradingsinstructies:

om uw NRF24L01+ draadloze zender met uw Arduino te verbinden, sluit u de volgende pinnen aan:

  • sluit de VCC-speld aan 3.3 volt
  • Verbind de GND-speld met de grond (GND)
  • Verbind de CE-speld met Arduino 9
  • Verbind de CSN-speld met Arduino 10
  • Verbind de SCK-speld met Arduino 13
  • Verbind de MOSI-speld met Arduino 11
  • Verbind de MISO-speld met Arduino 12

om uw ultrasone sensor met uw Arduino te verbinden, sluit u de volgende pinnen aan:

  • Sluit de VCC pin van de Arduino 5Volts
  • Sluit de GND pin aan massa (GND)
  • Sluit het Trig-pin van de Arduino 4
  • Sluit de Echo pin van de Arduino 3

Schema voor het aansluiten van Arduino Uno met ultrasone sensor en NRF24L01

Om de draad van uw NRF24L01+ draadloze zender naar je Arduino, sluit u de volgende pinnen:

  • Sluit de VCC pin 3.3 volt
  • Verbind de GND-speld met de grond (GND)
  • Verbind de CE-speld met Arduino 9
  • Verbind de CSN-speld met Arduino 10
  • Verbind de SCK-speld met Arduino 13
  • Verbind de MOSI-speld met Arduino 11
  • Verbind de MISO-speld met Arduino 12

schema voor bedrading van Arduino UNO NRF24L01

noot: RF24 module is verplicht voor de code uit te voeren, zodat u kunt de bibliotheek dienovereenkomstig

  • Start Arduino IDE voeg vervolgens het Gedownloade Bibliotheek van Hier :

5.2. Code:

code van de afzender:

code aan de Ontvangerzijde:

verzenden van de gegevens

ontvangst van de gegevens:

6. Draadloze communicatie van Arduino naar Raspberry Pi met nRF24L01:

6.1: installatie van Rf24-Module op Raspberry Pi:

  • het is de belangrijkste en belangrijkste stap voor om het even welke mededeling aan het werk tussen Arduino en Framboos Pi aangezien wij rf24 bibliotheek in Arduino voor mededeling hebben gebruikt zodat is de zelfde bibliotheek nodig op Pi.
  • verder zijn de stappen waarvoor de installatie van de bibliotheek nodig is. Het kostte me bijna een week om het te installeren als geen duidelijk idee over het aanwezig is.

=> weg te gaan:

1. Log in op Raspberry Pi met behulp van stopverf.

2. Ga naar de VNC server voor GUI.

3. In het terminaltype:

sudo raspi-config

schakel SPI in van Interfacing-opties in config

4. Herstart de Pi. Typ in de terminal:

sudo reboot

5. In het terminaltype:

sudo apt-get update

6. Download het install.sh bestand van http://tmrh20.github.io/RF24Installer/RPi/install.sh of voer dit uit op terminal:

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

7. Maak het uitvoerbaar:

chmod +x install.sh

8. Voer het uit en kies uw opties:

9. Een voorbeeld uit een van de bibliotheken uitvoeren:

cd rf24libs/RF24/examples_linux make sudo ./gettingstarted

Voer de volgende commando ‘ s uit om het programma uit te voeren.

10. Verder, als we Python programma ‘ s voor hetzelfde doel willen draaien, kunnen we dit doen:

het voorbeeld uitvoeren pingpair_dyn.py voorbeeld om de juiste pins te configureren volgens de bovenstaande documentatie:

nano pingpair_dyn.py
  • Configureer een ander apparaat, Arduino of RPi met het pingpair_dyn voorbeeld
  • voer het voorbeeld uit
sudo python pingpair_dyn.py

6.2. Draadloze mededeling van Arduino aan Arduino met nRF24L01:

  • in dit, zullen wij leren hoe te om draadloze communicatie tussen Arduino en Raspberry Pi te maken gebruikend NRF24L01. En meet afstand met een ultrasone sensor met behulp van Arduino Uno en zend het naar Raspberry Pi en de gegevens worden ontvangen.

Instructies Voor Bedrading:

om uw NRF24L01+ draadloze zender met uw Arduino te verbinden, sluit u de volgende pinnen aan:

  • Verbind de VCC-speld met 3,3 volt
  • Verbind de GND-speld met grond (GND)
  • Verbind de CSN-speld met Arduino 10
  • Verbind de CE-speld met Arduino 9
  • Verbind de SCK-speld met Arduino 13
  • Verbind de MISO-speld met Arduino 12
  • Verbind de MOSI-speld met Arduino 11

om uw ultrasone sensor met uw Arduino te verbinden, sluit u de volgende pinnen aan:

  • Sluit de VCC pin van de Arduino 5Volts
  • Sluit de GND pin aan massa (GND)
  • Sluit het Trig-pin van de Arduino 4
  • Sluit de Echo pin van de Arduino 3

Schematische voorstelling:

Schema voor het aansluiten van Arduino Uno met ultrasone sensor en NRF24L01

Om de draad van uw NRF24L01+ Draadloze Ontvanger aan op uw Raspberry Pi, sluit u de volgende pinnen:

  • Sluit de VCC pin 3.3 Volt (Pin 1)
  • Sluit de GND pin aan massa (GND) (Pin 6)
  • Sluit de CE-pin naar Framboos GPIO 22
  • Sluit de CSN-pin naar Framboos GPIO 8
  • Sluit de SCK-pin naar Framboos GPIO 11
  • Sluit het MOSI-pin naar Framboos GPIO 10
  • Sluit de MISO pin naar Framboos GPIO 09

Schematische voorstelling:

Schema voor de bedrading van de Raspberry Pi en NRF24L01

6.3. Code:

Code Van De Afzender:

code aan de Ontvangerzijde:

  • het is niet verplicht om deze code te gebruiken als het wordt getweaked door mij als per mijn eis.

om de goede werking van uw verbinding en code te controleren kunt u de voorbeelden gebruiken die aanwezig zijn in de bibliotheek zoals pingpair_dyn.ino op uw Arduino en pingpair_dyn.py op Raspberry Pi

  • het fragment van mijn lopende communicatie:

conclusie: Het zal altijd leuk experimenteren en spelen met de IoT-apparaten, zoals leren over Headless Raspberry Pi set-up, Arduino, en Raspberry pi door ze te communiceren met elkaar en het verzenden van gegevens en om de fouten en uitdagingen als een die ik geconfronteerd tijdens het installeren van rf24 module te overwinnen. Het doel van deze tutorial is om u te dienen met een stap-voor-stap proces en hoop dat het was gemakkelijk te volgen en te leren ook. Bedankt voor het lezen! Suggesties en correcties zijn altijd welkom.



+