KOMMUNIKASJON MELLOM ARDUINO OG RASPBERRY PI VED HJELP AV NRF24L01

1. Sammendrag:

  • denne bloggen leder deg gjennom prosessen med å kommunisere En Arduino Og En Raspberry Pi med nRF24L01-modul. For Å Starte vil vi lære noen grunnleggende Om Raspberry Pi, så vil vi se På Headless Raspberry Pi setup. For Implementeringen først vil vi forstå den enkle kommunikasjonen Av Arduino Til Arduino, så vil Vi lære Arduino til raspberry pi.
  • jeg fant mange guider for å oppnå dette rundt På Internett, men ingen av dem var komplett eller fullt jobbet for meg. Her vil vi forstå trinnvis veiledning av denne prosessen. Og på slutten vil vise et fungerende eksempel for det samme

2. Nødvendige Komponenter:

  • Ultralyd Sensor
  • 2 Arduino Uno
  • Bringebær Pi 3
  • 2 nRF24l01 sender og mottaker
  • Hoppe ledninger
  • Arduino kabel
  • MINI USB 2.0 For Pi
  • Brødfjel

3. Nødvendig Programvare:

  • Raspbian for pi
  • Arduino IDE eller Visual Studio
  • Putty på en ekstern datamaskin FOR SSH
  • VNC viewer på en ekstern datamaskin

4. Introduksjon Til Raspberry Pi 3:

4.1. Komponenter Spesifikasjoner:

  • 1.4 GHz 64-biters FIREKJERNERS ARM Cortex-A53, 1 GB RAM
  • 2.4 / 5 ghz dual-band 802.11 Ac Trådløst LAN, 10/100 / 1000 mbps Ethernet Bluetooth 4.2
  • 4 USB-porter, Full HDMI-port, Kombinert 3.5mm lydkontakt og kompositt videoport, 40 gpio-pinner
  • Micro SD-kortspor, Videokjerne IV 3D-grafikkjern, Kameragrensesnitt( CSI), Displaygrensesnitt (DSI)

4.2 Raspberry Pi Pinout:

4.3. Headless Raspberry Pi Oppsett:

  • Si, jeg har nettopp kjøpt en raspberry pi og ønsker å sjekke ut hvordan det fungerer. Men alt jeg har er Min Laptop, Pi, et micro SD-kort og Mitt Wi-Fi-nettverk. Hvordan kobler jeg Til Og kontrollerer Pi?

1) Last Ned Raspbian:

  • Din Pi trenger ET OS. Last Ned Raspbian fra Raspberrypi.org nedlastingsseksjonen:
  • https://www.raspberrypi.org/downloads/raspbian/

2) LAST NED SD Minnekort Formatter:

  • DET brukes til å formatere SD-kortet som det er nødvendig AT SD-kortet skal være tomt før det blinkende bildet du lastet ned. Du kan laste den ned fra https://www.sdcard.org/downloads/formatter/eula_windows/

3) Flash det på ET SD-kort:

  • du må blinke dette nedlastede bildet til micro SD-kortet. Forutsatt at den bærbare datamaskinen har ET SD-kortspor eller en micro Sd-kortleser, trenger du en blinkende programvare som etcher. Gå videre og last ned fra https://etcher.io/

4) Konfigurer Wi-Fi:

  • det er lettere å få to enheter til å snakke med hverandre hvis de er i samme nettverk. En ethernet-kabel kan enkelt gjøre din bærbare nettverk tilgjengelig For Pi. Men vi har ingen. Så, vi skal legge til en fil PÅ SD-kortet slik At Pi støtter med en wifi forhåndskonfigurert.
  • SD-kortet monteres som to volumer boot og rootfs . Åpne oppstartsvolumet og opprett en fil som heter wpa_supplicant.conf ved oppstart Av RPi, vil denne filen bli kopiert til/etc / wpa_supplicant katalog i / rootfs partisjon. Den kopierte filen forteller Pi WIFI-oppsettinformasjonen. Dette vil overskrive eksisterende WIFI-konfigurasjon, så hvis DU allerede hadde konfigurert WIFI på pi, vil det bli overskrevet.
  • en typisk wpa_supplicant.conf filen 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}

MERK: SSID-EN er WI-fi-NAVNET ditt. Og psk er passordet TIL WI-FI.

5) Aktiver SSH

  • vi vil senere få Tilgang Til Pi ved hjelp av et sikret skall (SSH), SSH er deaktivert som standard I Raspbian. For å aktivere SSH, opprett en fil med navnet ssh i oppstartspartisjonen. Hvis Du er På Linux, bruk berøringskommandoen for å gjøre det.

6) Finn Pi ‘ S Ip-adresse:

  • før du slår på raspberry pi, må vi finne ut de eksisterende enhetene som er koblet til nettverket. Pass på at den bærbare datamaskinen er koblet til SAMME WIFI-nettverk som den du konfigurerte på pi ovenfor.
  • Last Ned Den Avanserte IP-Skanneren for å skanne IP-EN til raspberry pi. Du kan laste den ned fra her https://www.advanced-ip-scanner.com/

7) SSH i Din Pi:

  • for å opprette en sikret skallforbindelse I Linux kan vi bruke ssh-kommandoen. Hvis du er på windows, prøv å laste Ned Putty fra https://www.putty.org/

Standard legitimasjon er:

username: pipassword: raspberry

8) få tilgang Til Pi eksternt:

  • Noen ganger føles det ikke riktig hvis vi ikke kan bruke musen. For det må vi se på Raspbian-skrivebordet.
  • vi må sette OPP VNC (Virtual Network Connection) for å se Og kontrollere Pi grafisk. La oss gjøre det.
  • for å få tilgang til eksternt skrivebord, trenger DU VNC-viewer (klient) for den bærbare datamaskinen. Heldigvis Er RealVNC tilgjengelig for mange Operativsystemer, velg en FOR OPERATIVSYSTEMET ditt fra https://www.realvnc.com/en/connect/download/viewer/

9) Kommandoer for vncserver:

10) nå åpner VNC Viewer på den eksterne datamaskinen:

5. Implementering og Arbeid:

5.1. Trådløs kommunikasjon Av Arduino Til Arduino med nRF24L01:

  • I dette vil vi lære å lage trådløs kommunikasjon mellom To Arduino-kort ved HJELP AV NRF24L01. Og måle avstand med ultralyd sensor og overføre den til en Annen Arduino med transceiver modul.

Ledningsinstruksjoner:

koble TIL FØLGENDE pinner FOR å koble NRF24L01+ trådløs Avsender Til Arduino:

  • Koble VCC-pinnen til 3.3 Volt
  • Koble GND-pinnen til jord (GND)
  • Koble CE-pinnen Til Arduino 9
  • Koble CSN-pinnen Til Arduino 10
  • Koble SCK-pinnen Til Arduino 13
  • Koble MOSI-pinnen Til Arduino 11
  • Koble Miso Pin Til Arduino 12

for å koble ultralydssensoren Til Arduino, koble til følgende pinner:

  • Koble vcc-pinnen Til Arduino 5Volts
  • Koble GND-pinnen til jord (GND)
  • Koble Trig-pinnen Til Arduino 4
  • Koble Echo-pinnen Til Arduino 3

Skjematisk Diagram For kabling Av Arduino Uno med ultralydsensor og NRF24L01

for å koble DIN NRF24L01 + trådløs avsender Til Arduino, koble følgende pinner:

  • Koble VCC-pinnen til 3.3 Volt
  • Koble GND-pinnen til jord (GND)
  • Koble CE-pinnen Til Arduino 9
  • Koble CSN-pinnen Til Arduino 10
  • Koble SCK-pinnen Til Arduino 13
  • Koble MOSI-pinnen Til Arduino 11
  • Koble Miso Pin Til Arduino 12

Skjematisk Diagram For kabling Av Arduino Uno NRF24L01

MERK: RF24-modulen er obligatorisk for at koden skal kjøre, slik at du kan legge til biblioteket tilsvarende

  • Start Arduino IDE og legg Til Det Nedlastede Biblioteket herfra :

5.2. Kode:

Avsendersidekode:

Mottaker Side kode:

Sende Dataene

Motta dataene:

6. Trådløs kommunikasjon Av Arduino Til Raspberry Pi med nRF24L01:

6.1: Installasjon AV RF24-Modul På Raspberry Pi:

  • Det er det viktigste og fremste trinnet for Enhver Kommunikasjon å jobbe Mellom Arduino Og Raspberry Pi, da VI har brukt RF24-biblioteket I Arduino for kommunikasjon, slik at det samme Biblioteket er nødvendig på Pi.
  • Videre er trinnene som involverer installasjonen Av Biblioteket. Det tok meg nesten en uke å installere det som ingen klar ide om det er til stede.

=> Vei å gå:

1. Logg Inn På Raspberry Pi ved Hjelp Av Putty.

2. Gå til vnc-serveren FOR GUI.

3. I terminaltypen:

sudo raspi-config

Slå PÅ SPI Fra Grensesnittalternativer i config

4. Start Pi på Nytt. I terminalen skriver du:

sudo reboot

5. I terminaltypen:

sudo apt-get update

6. Last ned programmet install.sh fil fra http://tmrh20.github.io/RF24Installer/RPi/install.sh Eller Kjør dette på terminal:

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

7. Gjør det kjørbar:

chmod +x install.sh

8. Kjør det og velg alternativene dine:

9. Kjør et eksempel fra et av bibliotekene:

cd rf24libs/RF24/examples_linux make sudo ./gettingstarted

Kjør Følgende Kommandoer for å kjøre programmet.

10. Videre, hvis vi vil kjøre Python-Programmer for samme formål, kan vi gjøre dette:

Kjører Eksemplet Rediger pingpair_dyn.py eksempel for å konfigurere de riktige pinnene i henhold til dokumentasjonen ovenfor:

nano pingpair_dyn.py
  • Konfigurer En annen enhet, Arduino eller RPi med pingpair_dyn-eksemplet
  • Kjør eksemplet
sudo python pingpair_dyn.py

6.2. Trådløs kommunikasjon Av Arduino Til Arduino med nRF24L01:

  • I dette vil vi lære å lage trådløs kommunikasjon Mellom Arduino Og Raspberry Pi ved HJELP AV NRF24L01. Og måle avstanden med en ultralydssensor ved Hjelp Av Arduino Uno og overføre Den Til Raspberry Pi Og Data er mottatt.

Ledningsinstruksjoner:

for å koble DIN NRF24L01+ trådløs Avsender Til Arduino, koble følgende pinner:

  • Koble VCC-pinnen til 3,3 Volt
  • Koble GND-pinnen til jord (GND)
  • Koble CSN-pinnen Til Arduino 10
  • Koble CE-pinnen Til Arduino 9
  • Koble SCK-pinnen Til Arduino 13
  • Koble MISO-pinnen Til Arduino 12
  • Koble Mosi-Pinnen Til Arduino 11

for å koble ultralydssensoren Til Arduino, koble til følgende pinner:

  • Koble vcc-pinnen Til Arduino 5Volts
  • Koble GND-pinnen til jord (GND)
  • Koble Trig-pinnen Til Arduino 4
  • Koble Echo-pinnen Til Arduino 3

Skjematisk Diagram:

Skjematisk Diagram for kabling Av Arduino Uno med ultralydsensor og NRF24L01

for å koble DIN NRF24L01 + Trådløs Mottaker Til Raspberry Pi, koble følgende pinner:

  • Koble VCC-pinnen til 3.3 Volt (Pin 1)
  • Koble GND-pinnen til bakken (GND) (Pin 6)
  • Koble CE-pinnen Til Bringebær GPIO 22
  • Koble CSN-pinnen Til Bringebær gpio 8
  • Koble SCK-pinnen Til Bringebær GPIO 11
  • Koble MOSI-pinnen Til Bringebær GPIO 10
  • Koble Miso-Pinnen Til Raspberry Gpio 09

Skjematisk Diagram:

Skjematisk Diagram for kabling Av Raspberry Pi OG NRF24L01

6.3. Kode:

Avsendersidekode:

Mottaker Side Kode:

  • Det er ikke obligatorisk å bruke denne koden som det er forskjøvet av meg som per mitt krav.

for å sjekke at tilkoblingen og koden fungerer, kan du kjøre eksemplene som finnes i biblioteket som pingpair_dyn.ino på Din Arduino og pingpair_dyn.py På Raspberry Pi

  • kodebiten av min løpende kommunikasjon:

Konklusjon: Det vil alltid være morsomt å eksperimentere og leke med IoT-Enhetene som å lære Om Headless Raspberry Pi-oppsett, Arduino og Raspberry pi ved å få dem til å kommunisere med hverandre og sende data og å overvinne feilene og utfordringene som jeg møtte mens du installerte RF24-modulen. Hensikten med denne opplæringen er å tjene deg med en trinnvis prosess og håper at det var lett å følge og lære også. Takk for at du leser! Forslag og Rettelser er alltid velkomne.



+