KOMMUNIKATION MELLEM ARDUINO OG RASPBERRY PI VED HJÆLP AF NRF24L01

1. Oversigt:

  • denne blog leder dig gennem processen med at kommunikere en Arduino og en Raspberry Pi med NRF24L01 modul. Til at begynde med lærer vi nogle grundlæggende elementer i Raspberry Pi, så ser vi på Headless Raspberry Pi setup. Til implementeringen for det første vil vi forstå den enkle kommunikation af Arduino til Arduino, så lærer vi Arduino til raspberry pi.
  • jeg fandt mange guider til at opnå dette på internettet, men ingen af dem var komplette eller fuldt arbejdede for mig. Her vil vi forstå trin for trin guide af denne proces. Og i slutningen vil vise et fungerende eksempel for det samme

2. Nødvendige komponenter:

  • ultralydssensor
  • 2 Arduino Uno
  • Raspberry Pi 3
  • 2 NRF24L01 sender og modtager
  • Springledninger
  • Arduino-kabel
  • MINI USB 2.0 til Pi
  • Breadboard

3. Påkrævet Program:

  • Raspbian til pi
  • Arduino IDE eller Visual Studio
  • Putty på en fjerncomputer til SSH
  • VNC-fremviser på en fjerncomputer

4. Introduktion til Raspberry Pi 3:

4.1. Komponenter SPECIFIKATIONER:

  • 1.4 64-bit ARM-A53, 1 GB RAM
  • 2.4/5 GB dual-band 802.11 ac trådløst LAN, 10/100/1000Mbps Ethernet Bluetooth 4.2
  • 4 USB-porte, fuld HDMI-port, kombineret 3.5mm audio jack og composite video port, 40 GPIO pins
  • Micro SD-kort slot, Video Core IV 3D grafik kerne, kamera interface (CSI), Display interface (DSI)

4.2 Raspberry Pi Pinout:

4.3. Hovedløs Raspberry Pi opsætning:

  • sig, Jeg har lige købt en raspberry pi og ønsker at tjekke, hvordan det virker. Men alt, hvad jeg har, er min bærbare computer, Pi, et micro SD-kort og mit trådløse netværk. Hvordan tilslutter og styrer jeg Pi?

1) Hent Raspbian:

  • din Pi har brug for et operativsystem. Hent Raspbian fra Raspberrypi.org Hent sektion:
  • https://www.raspberrypi.org/downloads/raspbian/

2) Hent SD hukommelseskort formaterer:

  • det bruges til at formatere SD-kortet, da det er nødvendigt, at SD-kortet skal være tomt før det blinkende billede, du hentede. Du kan hente det fra https://www.sdcard.org/downloads/formatter/eula_windows/

3) Flash det på et SD-kort:

  • du skal blinke dette hentede billede til micro SD-kortet. Forudsat at din bærbare computer har en SD – kortslot eller en micro Sd-kortlæser, har du brug for et blinkende program som etcher. Gå videre og hent fra https://etcher.io/

4) Indstil trådløst internet:

  • det er lettere at få to enheder til at tale med hinanden, hvis de er i det samme netværk. Et ethernet-kabel kan nemt gøre din bærbare computers netværk tilgængeligt for Pi. Men vi har ikke en. Så vi vil tilføje en fil til SD-kortet, så Pi starter med en forudkonfigureret trådløs forbindelse.
  • SD-kortet monteres som to volumener boot og rootfs . Åbn opstartsvolumenet, og opret en fil med navnet apa_supplicant.conf på opstart af RPi, vil denne fil blive kopieret til/etc /apv_supplicant mappe i / rootfs partition. Den kopierede fil fortæller Pi OPSÆTNINGSOPLYSNINGERNE for trådløst internet. Dette ville overskrive enhver eksisterende konfiguration af trådløst internet, så hvis du allerede havde konfigureret trådløst internet på pi, overskrives det.
  • en typisk APV-supplicant.conf fil er som følger:

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

Bemærk: dit SSID er dit trådløse netværks navn. Og psk er adgangskoden til det trådløse internet.

5) Aktiver SSH

  • vi får senere adgang til Pi ved hjælp af en sikret skal (SSH), SSH er som standard deaktiveret i Raspbian. For at aktivere SSH skal du oprette en fil med navnet ssh i bootpartitionen. Hvis du er på , skal du bruge touch-kommandoen til at gøre det.

6) Find Pi ‘ s Ip-adresse:

  • før vi tænder for din raspberry pi, skal vi finde ud af de eksisterende enheder, der er tilsluttet netværket. Sørg for, at din bærbare computer er tilsluttet det samme trådløse netværk som det, du konfigurerede på pi ovenfor.
  • Hent den avancerede IP-Scanner til at scanne IP af vores raspberry pi. Du kan hente det herfra https://www.advanced-ip-scanner.com/

7) SSH ind i din Pi:

  • for at oprette en sikret shell-forbindelse kan vi bruge SSH-kommandoen. Hvis du er på vinduer, kan du prøve at hente Putty fra https://www.putty.org/

standard legitimationsoplysninger er:

username: pipassword: raspberry

8) fjernadgang til Pi:

  • nogle gange føles det ikke rigtigt, hvis vi ikke kan bruge musen. Til det er vi nødt til at undersøge Raspbian-skrivebordet.
  • vi skal opsætte VNC (virtuel netværksforbindelse) for at se og styre Pi Grafisk. Lad os gøre det.
  • for at få adgang til fjernskrivebordet skal du bruge VNC-fremviser (klient) til din bærbare computer. Heldigvis er RealVNC tilgængelig for mange operativsystemer, vælg en til dit operativsystem fra https://www.realvnc.com/en/connect/download/viewer/

9) kommandoer til vncserver:

10) åbn nu VNC-fremviser på din fjerncomputer:

5. Gennemførelse og arbejde:

5.1. Trådløs kommunikation af Arduino til Arduino med nRF24L01:

  • i dette lærer vi, hvordan man laver trådløs kommunikation mellem to Arduino-kort ved hjælp af NRF24L01. Og måle afstanden med ultralydssensor og sende den til en anden Arduino med transceiver modul.

Ledningsinstruktioner:

for at tilslutte din NRF24L01 + trådløse afsender til din Arduino skal du tilslutte følgende stifter:

  • Tilslut VCC-stiften til 3.3 volt
  • Tilslut GND-stiften til jord (GND)
  • Tilslut CE-stiften til Arduino 9
  • Tilslut CSN-stiften til Arduino 10
  • Tilslut SCK-stiften til Arduino 13
  • Tilslut MOSI-stiften til Arduino 11
  • Tilslut Miso pin til Arduino 12

for at tilslutte din ultralydssensor til din Arduino skal du tilslutte følgende stifter:

  • Tilslut VCC-stiften til Arduino 5Volts
  • Tilslut GND-stiften til jord (GND)
  • Tilslut Trig-stiften til Arduino 4
  • Tilslut Echo-stiften til Arduino 3

skematisk Diagram til ledningsføring af Arduino Uno med ultralydssensor og NRF24L01

for at tilslutte din NRF24L01+ trådløse afsender til din Arduino skal du tilslutte følgende stifter:

  • Tilslut VCC-stiften til 3.3 volt
  • Tilslut GND-stiften til jord (GND)
  • Tilslut CE-stiften til Arduino 9
  • Tilslut CSN-stiften til Arduino 10
  • Tilslut SCK-stiften til Arduino 13
  • Tilslut MOSI-stiften til Arduino 11
  • Tilslut Miso pin til Arduino 12

skematisk Diagram til ledningsføring af Arduino Uno NRF24L01

Bemærk: Rf24 modul er obligatorisk for koden til at køre, så du kan tilføje biblioteket i overensstemmelse hermed

  • Start Arduino IDE tilføj derefter det hentede Bibliotek herfra :

5.2. Kode:

afsender side kode:

modtager side kode:

afsendelse af Data

modtagelse af data:

6. Trådløs kommunikation af Arduino til Raspberry Pi med nRF24L01:

6.1: Installation af Rf24-modul på Raspberry Pi:

  • det er det vigtigste og vigtigste skridt for enhver kommunikation at arbejde mellem Arduino og Raspberry Pi, da vi har brugt RF24 bibliotek i Arduino til kommunikation, så det samme bibliotek er nødvendigt på Pi.
  • yderligere er de trin, som involverer installationen af biblioteket. Det tog mig næsten en uge at installere det, da der ikke er nogen klar ide om det.

=> vej at gå:

1. Log ind på Raspberry Pi ved hjælp af Putty.

2. Gå til VNC-serveren for GUI.

3. I terminaltypen:

sudo raspi-config

Tænd SPI fra grænsefladeindstillinger i config

4. Genstart Pi. Skriv i terminalen:

sudo reboot

5. I terminaltypen:

sudo apt-get update

6. Hent install.sh fil fra http://tmrh20.github.io/RF24Installer/RPi/install.sh eller Kør dette på terminal:

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

7. Gør det eksekverbart:

chmod +x install.sh

8. Kør det og vælg dine muligheder:

9. Kør et eksempel fra et af bibliotekerne:

cd rf24libs/RF24/examples_linux make sudo ./gettingstarted

Kør følgende kommandoer for at køre programmet.

10. Yderligere, hvis vi vil køre Python-programmer til samme formål, kan vi gøre dette:

kører eksemplet Rediger pingpair_dyn.py eksempel for at konfigurere de relevante stifter i henhold til ovenstående dokumentation:

nano pingpair_dyn.py
  • Konfigurer en anden enhed, Arduino eller RPi med pingpair_dyn-eksemplet
  • Kør eksemplet
sudo python pingpair_dyn.py

6.2. Trådløs kommunikation af Arduino til Arduino med nRF24L01:

  • i dette lærer vi, hvordan man laver trådløs kommunikation mellem Arduino og Raspberry Pi ved hjælp af NRF24L01. Og mål afstanden med en ultralydssensor ved hjælp af Arduino Uno og send den til Raspberry Pi, og Data modtages.

Ledningsvejledning:

for at forbinde din NRF24L01+ trådløse afsender til din Arduino skal du forbinde følgende stifter:

  • Tilslut VCC-stiften til 3,3 volt
  • Tilslut GND-stiften til jord (GND)
  • Tilslut CSN-stiften til Arduino 10
  • Tilslut CE-stiften til Arduino 9
  • Tilslut SCK-stiften til Arduino 13
  • Tilslut MISO-stiften til Arduino 12
  • Tilslut Mosi pin til Arduino 11

for at tilslutte din ultralydssensor til din Arduino skal du tilslutte følgende stifter:

  • Tilslut VCC-stiften til Arduino 5Volts
  • Tilslut GND-stiften til jord (GND)
  • Tilslut Trig-stiften til Arduino 4
  • Tilslut Echo-stiften til Arduino 3

skematisk Diagram:

skematisk Diagram til ledningsføring af Arduino Uno med ultralydssensor og NRF24L01

for at tilslutte din NRF24L01+ trådløse modtager til din Raspberry Pi skal du tilslutte følgende stifter:

  • Tilslut VCC-stiften til 3.3 volt (Pin 1)
  • Tilslut GND-stiften til jord (GND) (Pin 6)
  • Tilslut CE-stiften til Raspberry GPIO 22
  • Tilslut CSN-stiften til Raspberry GPIO 8
  • Tilslut SCK-stiften til Raspberry GPIO 11
  • Tilslut MOSI-stiften til Raspberry GPIO 10
  • Tilslut Miso pin til Raspberry GPIO 09

skematisk Diagram:

skematisk Diagram for ledninger af Raspberry Pi og NRF24L01

6.3. Kode:

Afsender Side Kode:

modtager side kode:

  • det er ikke obligatorisk at bruge denne kode, da den er finjusteret af mig i henhold til mit krav.

for at kontrollere, at din forbindelse og kode fungerer korrekt, kan du køre eksemplerne i biblioteket som pingpair_dyn.ino på din Arduino og pingpair_dyn.py på Raspberry Pi

  • uddraget af min løbende kommunikation:

konklusion: Det vil altid være sjovt at eksperimentere og lege med IoT-enhederne, såsom at lære om Headless Raspberry Pi set-up, Arduino og Raspberry pi ved at få dem til at kommunikere med hinanden og sende data og overvinde de fejl og udfordringer, som jeg stod overfor, mens jeg installerede rf24-modul. Formålet med denne tutorial er at tjene dig med en trinvis proces og håber, at det også var let at følge og lære. Tak fordi du læste! Forslag og rettelser er altid velkomne.



+