KOMUNIKACE MEZI ARDUINO A RASPBERRY PI POMOCÍ NRF24L01

1. Shrnutí:

  • Tento blog vás provede procesem, jak komunikovat Arduino a Raspberry Pi s nRF24L01 modul. Chcete-li začít, budeme se učit některé základy Raspberry Pi, pak se podíváme na bezhlavé nastavení Raspberry Pi. Pro implementaci nejprve pochopíme jednoduchou komunikaci Arduina s Arduino, pak se naučíme Arduino na raspberry pi.
  • našel jsem mnoho průvodců, jak toho dosáhnout na internetu, ale žádný z nich nebyl pro mě úplný nebo plně nepracoval. Zde budeme rozumět krok za krokem průvodce tohoto procesu. A na konci bude ukazovat pracovní příklad pro stejné

2. Požadované Součásti:

  • Ultrazvukový Senzor
  • 2 Arduino Uno
  • Raspberry Pi 3
  • 2 nRF24l01 vysílač a přijímač
  • Skok dráty
  • Arduino kabel
  • MINI USB 2.0 pro Pi
  • Prkénko na krájení

3. Požadovaný Software:

  • Raspbian na pi
  • Arduino IDE nebo Visual Studio
  • Tmel na vzdáleném počítači SSH
  • VNC viewer na vzdáleném počítači

4. Úvod do Raspberry Pi 3:

4.1. Komponenty Specifikace:

  • 1.4 GHz 64-bit quad-core ARM Cortex-A53, 1GB RAM
  • 2.4/5Ghz dual-band 802.11 ac Bezdrátové sítě LAN, 10/100/1000Mbps Ethernet Bluetooth 4.2
  • 4 porty USB, Plné HDMI port, v Kombinaci 3.5 mm audio jack a kompozitní video port, 40 GPIO pinů
  • slot pro Micro SD kartu, Video Core IV 3D grafické jádro, rozhraní kamer (CSI), Displej interface (DSI)

4.2 Pinout Raspberry Pi:

4.3. Bezhlavý Raspberry Pi nastavení:

  • Řekněme, že jsem si koupil raspberry pi a chci se podívat, jak to funguje. Ale vše, co mám, je můj notebook, Pi, micro SD karta a moje Wi-Fi síť. Jak připojím a ovládám Pi?

1) Stáhnout Raspbian:

  • váš Pi potřebuje operační systém. Ke stažení Raspbian z Raspberrypi.org s sekci download:
  • https://www.raspberrypi.org/downloads/raspbian/

2) ke Stažení Paměťová Karta SD Formatter:

  • To se používá k formátování SD karty, jak je potřeba, že SD karta by měla být prázdná, než blikající obraz, který jste stáhli. Můžete si jej stáhnout z https://www.sdcard.org/downloads/formatter/eula_windows/

3) Flash je na SD kartu:

  • tento stažený obrázek musíte flashovat na kartu micro SD. Za předpokladu, že váš notebook má slot pro SD kartu nebo čtečku karet micro Sd, potřebujete blikající software, jako je etcher. Jděte do toho a stáhnout z https://etcher.io/

4) Konfigurace Wi-Fi:

  • je To jednodušší, aby se dvě zařízení mluvit k sobě navzájem, pokud jsou ve stejné síti. Ethernetový kabel může snadno zpřístupnit síť vašeho notebooku Pi. Ale žádný nemáme. Takže přidáme soubor na SD kartu tak, aby se Pi bootoval s předkonfigurovanou wifi.
  • SD karta se připojuje jako dva svazky boot a rootfs . Otevřete spouštěcí svazek a vytvořte soubor s názvem wpa_supplicant.conf při zavádění RPi bude tento soubor zkopírován do adresáře / etc/wpa_supplicant v oddílu / rootfs. Zkopírovaný soubor sdělí Pi informace o nastavení WIFI. To by přepsalo jakoukoli existující konfiguraci WIFI, takže pokud jste již nakonfigurovali WIFI na pi, bude to přepsáno.
  • typický wpa_supplicant.soubor conf je následující:

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

poznámka: vaše SSID je jméno vaší WIFI. A psk je heslo WI-FI.

5) Povolit SSH

  • Budeme později přístup k Pi pomocí secured shell (SSH), SSH je ve výchozím nastavení zakázána v Raspbian. Chcete-li povolit SSH, vytvořte soubor s názvem ssh v zaváděcím oddílu. Pokud používáte Linux, použijte k tomu příkaz touch.

6) Najděte Pi Ip adresu:

  • před zapnutím raspberry pi musíme zjistit stávající zařízení připojená k síti. Ujistěte se, že je váš notebook připojen ke stejné síti WIFI jako ta, kterou jste nakonfigurovali na pi výše.
  • Stáhněte si pokročilý IP skener pro skenování IP našeho raspberry pi. Můžete si ji stáhnout z zde https://www.advanced-ip-scanner.com/

7) SSH do vašeho Pi:

  • vytvořit zabezpečený shell připojení v Linuxu můžeme použít ssh příkaz. Pokud jste v systému windows, zkuste stáhnout Putty z https://www.putty.org/

Výchozí přihlašovací údaje jsou:

username: pipassword: raspberry

8) Přístup Pí dálku:

  • Někdy to není správné pokud se nemůžeme používat myš. K tomu se musíme podívat na plochu Raspbian.
  • musíme nastavit VNC (virtuální síťové připojení), abychom viděli a ovládali Pi graficky. Pojďme na to.
  • pro přístup ke vzdálené ploše potřebujete VNC-viewer (klient) pro váš notebook. Naštěstí, RealVNC je k dispozici pro mnoho operačních systémů, vyberte si jeden pro váš operační systém z https://www.realvnc.com/en/connect/download/viewer/

9) Příkazy pro vncserver:

10) Nyní otevřete VNC Prohlížeč na vašem vzdáleném počítači:

5. Implementace a práce:

5.1. Bezdrátová komunikace Arduina s Arduino s nRF24L01:

  • v tom se naučíme, jak provádět bezdrátovou komunikaci mezi dvěma deskami Arduino pomocí NRF24L01. A změřte vzdálenost ultrazvukovým senzorem a přeneste jej do jiného Arduina s modulem transceiveru.

Instrukce:

drát NRF24L01+ bezdrátový Odesílatele, aby vaše Arduino, připojte následující piny:

  • Připojit na VCC pin 3.3 Volty
  • Připojte GND pin na kostru (GND)
  • Připojte CE na Arduino pin 9
  • Připojte ČSN pin pro Arduino 10
  • Připojte na pin SCK pro Arduino 13
  • Připojte na pin MOSI, aby Arduino 11
  • Připojte MISO pin pro Arduino 12

Na drát váš ultrazvukový senzor pro Arduino, propojit tyto piny:

  • Připojit na VCC pin pro Arduino 5Volts
  • Připojte GND pin na kostru (GND)
  • Připojte pin Trig na Arduino 4
  • Připojte Echo pin pro Arduino 3

Schéma pro zapojení Arduino Uno s ultrazvukový senzor a NRF24L01

drát NRF24L01+ bezdrátový odesílatele, aby vaše Arduino, připojte následující piny:

  • Připojit na VCC pin 3.3 Volty
  • Připojte GND pin na kostru (GND)
  • Připojte CE na Arduino pin 9
  • Připojte ČSN pin pro Arduino 10
  • Připojte na pin SCK pro Arduino 13
  • Připojte na pin MOSI, aby Arduino 11
  • Připojte MISO pin pro Arduino 12

Schéma pro zapojení Arduino Uno NRF24L01

POZNÁMKA: RF24 modul je povinný pro spuštění kódu, takže si můžete přidat do knihovny proto

  • Start Arduino IDE pak přidat Stažené Knihovny Zde :

5.2. Kód:

kód na Straně Odesílatele:

Přijímač kód na Straně:

Odesílání Dat

Příjem dat:

6. Bezdrátová komunikace Arduino, Raspberry Pi s nRF24L01:

6.1: Instalace RF24 Modulu na Raspberry Pi:

  • To je nejdůležitější a nejdůležitější krok pro jakékoliv Sdělení práce mezi Arduino a Raspberry Pi, jako jsme použili RF24 knihovna v Arduino pro komunikaci, takže stejné Knihovny je potřeba na Pi.
  • dále jsou kroky, které zahrnují instalaci knihovny. Trvalo mi téměř týden, než jsem ji nainstaloval, protože o tom není jasná představa.

=> způsob, jak jít:

1. Přihlaste se do Raspberry Pi pomocí tmelu.

2. Přejděte na server VNC pro GUI.

3. V terminálu zadejte:

sudo raspi-config

Zapněte SPI z Rozhraní možnosti v config

4. Restartujte Pi. V terminálu zadejte:

sudo reboot

5. V typu terminálu:

sudo apt-get update

6. Stáhnout install.sh soubor z http://tmrh20.github.io/RF24Installer/RPi/install.sh nebo spustit na terminálu:

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

7. Ať je spustitelný:

chmod +x install.sh

8. Spusťte jej a vyberte možnosti:

9. Spusťte příklad z jedné z knihoven:

cd rf24libs/RF24/examples_linux make sudo ./gettingstarted

Spusťte následující příkazy pro spuštění programu.

10. Dále, pokud chceme spustit Python Programy pro stejný účel, můžeme udělat toto:

Běžecké Příklad Upravit pingpair_dyn.py příklad konfigurace odpovídající kolíky na výše uvedené dokumentace:

nano pingpair_dyn.py
  • Konfigurovat další zařízení, Arduina nebo RPi s pingpair_dyn příklad
  • Spustit příklad
sudo python pingpair_dyn.py

6.2. Bezdrátová komunikace Arduina s Arduino s nRF24L01:

  • v tomto se naučíme, jak provádět bezdrátovou komunikaci mezi Arduino a Raspberry Pi pomocí NRF24L01. A změřte vzdálenost ultrazvukovým senzorem pomocí Arduino Uno a předejte jej do Raspberry Pi a přijímají se Data.

Návod K Zapojení:

drát NRF24L01+ bezdrátový Odesílatele, aby vaše Arduino, připojte následující piny:

  • Připojit na VCC pin 3.3 Voltů
  • Připojte GND pin k zemi (GND)
  • Připojte ČSN pin pro Arduino 10
  • Připojte CE na Arduino pin 9
  • Připojte na pin SCK pro Arduino 13
  • Připojte MISO pin pro Arduino 12
  • Připojte na pin MOSI pro Arduino 11

Na drát váš ultrazvukový senzor pro Arduino, připojte následující piny:

  • Připojit na VCC pin pro Arduino 5Volts
  • Připojte GND pin na kostru (GND)
  • Připojte pin Trig na Arduino 4
  • Připojte Echo pin pro Arduino 3

Schéma:

Schéma pro zapojení Arduino Uno s ultrazvukový senzor a NRF24L01

drát NRF24L01+ Bezdrátový Přijímač do vašeho Raspberry Pi, připojit následující piny:

  • Připojit na VCC pin 3.3 Volty (Pin 1)
  • Připojte GND pin na zem (GND) Pin (6)
  • Připojte CE pinu na Raspberry GPIO 22
  • Připojte ČSN pin Raspberry GPIO 8
  • Připojte SCK pinu na Raspberry GPIO 11
  • Připojte MOSI pinu na Raspberry GPIO 10
  • Připojte MISO pin na GPIO Raspberry 09

Schéma:

Schéma pro zapojení Raspberry Pi a NRF24L01

6.3. Kód:

Boční Kód Odesílatele:

boční kód přijímače:

  • není povinné používat tento kód, protože je vylepšen podle mého požadavku.

Chcete-li zkontrolovat správné fungování připojení a kódu, můžete spustit příklady přítomné v knihovně, jako je pingpair_dyn.ino na vaše Arduino a pingpair_dyn.py na Raspberry Pi

  • úryvek z mých běží komunikace:

Závěr: To bude vždy zábava, experimentovat a hrát si s IoT Zařízení, jako jsou učení o Bezhlavý Raspberry Pi, Arduino a Raspberry pi tím, že je navzájem komunikují a odesílání dat a překonat chyby a problémy, jako jsem čelil při instalaci RF24 modul. Účelem tohoto tutoriálu je sloužit vám krok za krokem a doufat, že to bylo snadné sledovat a učit se stejně. Děkuji za přečtení! Návrhy a opravy jsou vždy vítány.



+