KOMMUNIKÁCIÓ AZ ARDUINO ÉS A RASPBERRY PI KÖZÖTT AZ NRF24L01 HASZNÁLATÁVAL

1. Összefoglaló:

  • ez a blog végigvezeti Önt az Arduino és a Raspberry Pi kommunikációjának folyamatán az nRF24L01 modullal. Kezdeni fogunk tanulni néhány alapjait Raspberry Pi akkor lesz egy pillantást Fejetlen Raspberry Pi beállítás. A megvalósításhoz először meg fogjuk érteni az Arduino egyszerű kommunikációját az Arduino-val, majd megtanuljuk az Arduino-t a raspberry pi-hez.
  • sok útmutatót találtam ennek megvalósításához az interneten, de egyikük sem volt teljes vagy teljes mértékben működött számomra. Itt meg fogjuk érteni lépésről lépésre útmutató ennek a folyamatnak. A végén pedig egy működő példát mutatunk be ugyanarra

2. Szükséges alkatrészek:

  • ultrahangos érzékelő
  • 2 Arduino Uno
  • Raspberry Pi 3
  • 2 NRF24L01 adó és vevő
  • Ugrás vezetékek
  • Arduino kábel
  • MINI USB 2.0 A Pi
  • Breadboard

3. Szükséges Szoftver:

  • Raspbian pi-hez
  • Arduino IDE vagy Visual Studio
  • Putty távoli számítógépen SSH-hoz
  • VNC-néző távoli számítógépen

4. Bevezetés a Raspberry Pi-be 3:

4.1. Alkatrészek specifikációi:

  • 1.4 GHz 64 bites négymagos ARM Cortex-A53, 1 GB RAM
  • 2.4/5 GHz kétsávos 802.11 ac vezeték nélküli LAN, 10/100/1000Mbps Ethernet Bluetooth 4.2
  • 4 USB port, teljes HDMI port, kombinált 3.5mm audio jack és kompozit video port, 40 GPIO csapok
  • Micro SD kártya nyílás, Video Core IV 3D grafikus mag, kamera interfész (CSI), kijelző interfész (DSI)

4.2 Raspberry Pi Pinout:

4.3. Fej Nélküli Raspberry Pi Beállítás:

  • mondjuk, most vettem egy raspberry pi-t, és szeretném megnézni, hogyan működik. De csak a laptopom van, a Pi, a micro SD kártya és a Wi-Fi hálózatom. Hogyan csatlakoztathatom és vezérelhetem a Pi-t?

1) Letöltés Raspbian:

  • a Pi-nek operációs rendszerre van szüksége. Töltse le a Raspbian-t Raspberrypi.org download section:
  • https://www.raspberrypi.org/downloads/raspbian/

2) Letöltés SD memóriakártya formázó:

  • az SD-kártya formázására szolgál, mivel szükséges, hogy az SD-kártya üres legyen a letöltött villogó kép előtt. Tudod letölt ez-ból https://www.sdcard.org/downloads/formatter/eula_windows/

3) Flash rá egy SD-kártyára:

  • ezt a letöltött képet a micro SD kártyára kell villognia. Feltételezve, hogy laptopjának van SD-kártyahelye vagy micro Sd-kártyaolvasója, szüksége van egy villogó szoftverre, mint például az etcher. Menj előre, és töltse le a https://etcher.io/

4) Wi-Fi konfigurálása:

  • könnyebb két eszközt beszélni egymással, ha ugyanabban a hálózatban vannak. Az ethernet kábel könnyen elérhetővé teheti laptopjának hálózatát a Pi számára. De nekünk nincs. Tehát hozzáadunk egy fájlt az SD-kártyához, hogy a Pi előre konfigurált wifi-vel induljon.
  • az SD kártya csatlakoztatható két kötet boot és rootfs . Nyissa meg a rendszerindító kötetet, és hozzon létre egy wpa_supplicant nevű fájlt.conf az RPi indításakor ez a fájl a /etc/wpa_supplicant könyvtárba kerül a /rootfs partícióban. A másolt fájl megmondja a Pi-nek a WIFI beállítási információkat. Ez felülírja a meglévő WIFI konfigurációt, tehát ha már konfigurálta a WIFI-t a pi-n, akkor az felülíródik.
  • egy tipikus wpa_supplicant.a conf fájl a következő:

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

megjegyzés: az SSID a WIFI neve. A psk pedig a WI-FI jelszava.

5) engedélyezze az SSH-t

  • később hozzáférünk a Pi-hez egy Biztonságos héj (SSH) használatával, az SSH alapértelmezés szerint le van tiltva a Raspbian-ban. Az SSH engedélyezéséhez hozzon létre egy ssh nevű fájlt a rendszerindító partícióban. Ha Linuxot használ, használja a touch parancsot erre.

6) keresse meg a Pi Ip-címét:

  • a raspberry pi bekapcsolása előtt meg kell találnunk a hálózathoz csatlakoztatott meglévő eszközöket. Győződjön meg arról, hogy laptopja ugyanahhoz a WIFI hálózathoz csatlakozik, mint amelyet a fenti pi-n konfigurált.
  • töltse le a fejlett IP-szkennert a raspberry pi IP-jének beolvasásához. Letöltheti innen https://www.advanced-ip-scanner.com/

7) SSH a Pi-be:

  • biztonságos shell kapcsolat létrehozásához Linuxban használhatjuk az ssh parancsot. Ha windows rendszeren van, próbálja meg letölteni a Putty-t https://www.putty.org/

Az alapértelmezett hitelesítő adatok:

username: pipassword: raspberry

8) hozzáférés pi távolról:

  • néha nem tűnik helyesnek, ha nem tudjuk használni az egeret. Ehhez meg kell vizsgálnunk a Raspbian asztalt.
  • be kell állítanunk a VNC-t (virtuális hálózati kapcsolat) a Pi grafikus megtekintéséhez és vezérléséhez. Csináljuk.
  • a távoli asztal eléréséhez VNC-viewer (kliens) szükséges a laptophoz. Szerencsére a RealVNC sok operációs rendszerhez elérhető, válasszon egyet az operációs rendszeréhez https://www.realvnc.com/en/connect/download/viewer/

9) parancsok a vncserver számára:

10) most nyissa meg a VNC Viewer alkalmazást a távoli számítógépen:

5. Végrehajtás és munka:

5.1. Az Arduino vezeték nélküli kommunikációja az Arduino-val az nRF24L01 segítségével:

  • ebben megtanuljuk, hogyan lehet vezeték nélküli kommunikációt folytatni két Arduino kártya között az NRF24L01 segítségével. És mérje meg a távolságot ultrahangos érzékelővel, és továbbítsa azt egy másik Arduino Adóvevő modullal.

bekötési utasítások:

az NRF24L01+ vezeték nélküli küldő vezetékének az Arduino-hoz történő bekötéséhez csatlakoztassa a következő csapokat:

  • csatlakoztassa a VCC csapot a 3.3 volt
  • csatlakoztassa a GND csapot a földhöz (GND)
  • csatlakoztassa a CE csapot az Arduino 9-hez
  • csatlakoztassa a CSN csapot az Arduino 10-hez
  • csatlakoztassa az SCK csapot az Arduino 13-hoz
  • csatlakoztassa a MOSI csapot az Arduino 11-hez
  • csatlakoztassa a miso Pin-t az Arduino-hoz 12

az ultrahangos érzékelő bekötéséhez az Arduino-hoz csatlakoztassa a következő csapokat:

  • csatlakoztassa a VCC csapot az Arduino 5volthoz
  • csatlakoztassa a GND csapot a földhöz (GND)
  • csatlakoztassa a Trig csapot az Arduino 4-hez
  • csatlakoztassa az Echo csapot az Arduino-hoz 3

az Arduino Uno ultrahangos érzékelővel és NRF24L01

vezeték nélküli NRF24L01+ vezeték nélküli küldőjének az Arduino-hoz való bekötéséhez sematikus ábra, csatlakoztassa a következő csapokat:

  • csatlakoztassa a VCC csapot a 3.3 volt
  • csatlakoztassa a GND csapot a földhöz (GND)
  • csatlakoztassa a CE csapot az Arduino 9-hez
  • csatlakoztassa a CSN csapot az Arduino 10-hez
  • csatlakoztassa az SCK csapot az Arduino 13-hoz
  • csatlakoztassa a MOSI csapot az Arduino 11-hez
  • csatlakoztassa a miso Pin-t az Arduino-hoz 12

az Arduino Uno NRF24L01

huzalozásának vázlatos rajza megjegyzés: RF24 modul kötelező a kód futtatásához, így a könyvtárat ennek megfelelően hozzáadhatja

  • indítsa el az Arduino IDE-t, majd adja hozzá a letöltött könyvtárat innen :

5.2. Kód:

feladó oldali kód:

Vevő oldali kód:

az adatok küldése

az adatok fogadása:

6. Az Arduino vezeték nélküli kommunikációja a Raspberry Pi-hez az nRF24L01 segítségével:

6.1: RF24 modul telepítése a Raspberry Pi-re:

  • ez a legfontosabb és legfontosabb lépés az Arduino és a Raspberry Pi közötti kommunikációhoz, mivel az RF24 könyvtárat Arduino-ban használtuk a kommunikációhoz, így ugyanaz a könyvtár szükséges a Pi-n.
  • további lépéseket, amelyek magukban foglalják a telepítés a könyvtár. Majdnem egy hétig tartott a telepítés, mivel nincs egyértelmű elképzelés róla.

=> út:

1. Jelentkezzen be a Raspberry Pi-be a Putty használatával.

2. Menj a VNC szerver GUI.

3. A terminál típusában:

sudo raspi-config

kapcsolja be az SPI-t a config interfész opcióiból

4. Indítsa újra a Pi-t. A terminálon írja be:

sudo reboot

5. A terminál típusában:

sudo apt-get update

6. Töltse le a install.sh fájl http://tmrh20.github.io/RF24Installer/RPi/install.sh vagy futtassa ezt a terminálon:

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

7. Legyen végrehajtható:

chmod +x install.sh

8. Futtassa és válassza ki a lehetőségeket:

9. Futtasson egy példát az egyik könyvtárból:

cd rf24libs/RF24/examples_linux make sudo ./gettingstarted

futtassa a következő parancsokat a program futtatásához.

10. Továbbá, ha Python programokat akarunk futtatni ugyanarra a célra, akkor ezt megtehetjük:

a példa futtatása pingpair_dyn.py példa a megfelelő csapok konfigurálására a fenti dokumentáció szerint:

nano pingpair_dyn.py
  • konfiguráljon egy másik eszközt, Arduino-t vagy RPi-t a pingpair_dyn példával
  • futtassa a példát
sudo python pingpair_dyn.py

6.2. Az Arduino vezeték nélküli kommunikációja az Arduino-val az nRF24L01 segítségével:

  • ebben megtanuljuk, hogyan lehet vezeték nélküli kommunikációt létrehozni az Arduino és a Raspberry Pi között az NRF24L01 segítségével. És mérje meg a távolságot ultrahangos érzékelővel az Arduino Uno segítségével, és továbbítsa azt a Raspberry Pi-nek, és az adatok beérkeznek.

Bekötési Útmutató:

az NRF24L01+ vezeték nélküli küldő vezetékének az Arduino-hoz történő csatlakoztatásához csatlakoztassa a következő csapokat:

  • csatlakoztassa a VCC csapot 3,3 V-hoz
  • csatlakoztassa a GND csapot a földhöz (GND)
  • csatlakoztassa a CSN csapot az Arduino 10-hez
  • csatlakoztassa a CE csapot az Arduino 9-hez
  • csatlakoztassa az SCK csapot az Arduino 13-hoz
  • csatlakoztassa a MISO csapot az Arduino 12-hez
  • csatlakoztassa a Mosi csapot az Arduino-hoz 11

az ultrahangos érzékelő bekötéséhez az Arduino-hoz csatlakoztassa a következő csapokat:

  • csatlakoztassa a VCC csapot az Arduino 5volthoz
  • csatlakoztassa a GND csapot a földhöz (GND)
  • csatlakoztassa a Trig csapot az Arduino 4-hez
  • csatlakoztassa az Echo csapot az Arduino-hoz 3

sematikus ábra:

az Arduino Uno ultrahangos érzékelővel és NRF24L01

vezeték nélküli NRF24L01+ vezeték nélküli vevőkészülékének a Raspberry Pi-hez való csatlakoztatásához a következő csapokat kell csatlakoztatni:

  • csatlakoztassa a VCC csapot a 3.3 volt (Pin 1)
  • csatlakoztassa a GND pin föld (GND) (Pin 6)
  • csatlakoztassa a CE pin Raspberry GPIO 22
  • csatlakoztassa a CSN pin Raspberry GPIO 8
  • csatlakoztassa az SCK pin Raspberry GPIO 11
  • csatlakoztassa a MOSI pin Raspberry GPIO 10
  • csatlakoztassa a miso Pin-t a Raspberry GPIO-hoz 09

sematikus ábra:

Sematikus rajz vezetékek Raspberry Pi és NRF24L01

6.3. Kód:

Feladó Oldali Kód:

Vevő oldali kód:

  • ez nem kötelező használni ezt a kódot, mert csípett általam, mint egy én követelmény.

a kapcsolat és a kód megfelelő működésének ellenőrzéséhez futtathatja a könyvtárban található példákat, mint például a pingpair_dyn.ino az Arduino és pingpair_dyn.py a Raspberry Pi-N

  • a futó kommunikáció részlete:

következtetés: Mindig szórakoztató lesz kísérletezni és játszani az IoT eszközökkel, mint például a fej nélküli Raspberry Pi beállítás, az Arduino és a Raspberry pi megismerése azáltal, hogy kommunikálnak egymással és adatokat küldenek, és leküzdik azokat a hibákat és kihívásokat, amelyekkel az RF24 modul telepítése során szembesültem. Ennek az oktatóanyagnak az a célja, hogy lépésről lépésre szolgáljon, és remélje, hogy könnyű követni és megtanulni is. Köszönjük, hogy elolvasta! Javaslatokat és javításokat mindig szívesen fogadunk.



+