KOMUNIKACJA MIĘDZY ARDUINO I RASPBERRY PI PRZY UŻYCIU NRF24L01

1. Streszczenie:

  • ten blog poprowadzi Cię przez proces jak komunikować Arduino i Raspberry Pi z modułem NRF24L01. Na początek będziemy uczyć się podstaw Raspberry Pi następnie będziemy mieli spojrzenie na bezgłowy Raspberry Pi konfiguracji. Do realizacji Po pierwsze, zrozumiemy prostą komunikację z Arduino do Arduino, a następnie nauczymy się Arduino do raspberry pi.
  • znalazłem wiele przewodników, aby to osiągnąć w Internecie, ale żaden z nich nie był kompletny lub w pełni pracował dla mnie. Tutaj zrozumiemy krok po kroku przewodnik tego procesu. A na koniec będzie pokazywał działający przykład dla tego samego

2. Wymagane komponenty:

  • Czujnik Ultradźwiękowy
  • 2 Arduino Uno
  • Raspberry Pi 3
  • 2 Nadajnik i odbiornik NRF24L01
  • Przewody skokowe
  • Kabel Arduino
  • MINI USB 2.0 Dla Pi
  • Płyta chlebowa

3. Wymagane Oprogramowanie:

  • Raspbian dla pi
  • Arduino IDE lub Visual Studio
  • Putty na zdalnym komputerze dla SSH
  • VNC viewer na zdalnym komputerze

4. Wprowadzenie do Raspberry Pi 3:

4.1. Specyfikacje komponentów:

  • 1.4 GHz 64-bit quad-core ARM Cortex-A53, 1GB RAM
  • 2.4 / 5GHz dwuzakresowy bezprzewodowy LAN 802.11 ac, 10/100 / 1000Mbps Ethernet Bluetooth 4.2
  • 4 porty USB, Pełny port HDMI, łącznie 3.Gniazdo audio 5 mm i kompozytowy port wideo, 40 pinów GPIO
  • Gniazdo Kart Micro SD, rdzeń graficzny Video core IV 3D, Interfejs Kamery (CSI), interfejs wyświetlacza (DSI)

4.2 Raspberry Pi Pinout:

4.3. Bezgłowy Raspberry Pi Setup:

  • powiedzieć, właśnie kupiłem raspberry pi i chcą sprawdzić, jak to działa. Ale wszystko, co mam, to mój Laptop, Pi, karta micro SD i moja sieć Wi-Fi. Jak podłączyć i kontrolować Pi?

1) Pobierz Raspbian:

  • Twój Pi potrzebuje systemu operacyjnego. Pobierz Raspbian z Raspberrypi.org ’ s download section:
  • https://www.raspberrypi.org/downloads/raspbian/

2) Pobierz formatowanie kart pamięci SD:

  • jest on używany do formatowania karty SD, ponieważ jest to konieczne, aby karta SD była pusta przed pobranym obrazem migającym. Można go pobrać z https://www.sdcard.org/downloads/formatter/eula_windows/

3) Flash go na karcie SD:

  • musisz flashować ten pobrany obraz na kartę micro SD. Zakładając, że twój laptop ma gniazdo karty SD lub czytnik kart micro Sd, potrzebujesz oprogramowania migającego, takiego jak etcher. Śmiało i pobierz z https://etcher.io/

4) Konfiguracja Wi-Fi:

  • łatwiej jest sprawić, aby dwa urządzenia rozmawiały ze sobą, jeśli znajdują się w tej samej sieci. Kabel ethernet może łatwo udostępnić sieć laptopa do Pi. Ale nie mamy. Tak więc dodamy plik do karty SD, aby Buty Pi z wstępnie skonfigurowanym wifi.
  • karta SD montuje się jako dwa tomy boot i rootfs . Otwórz wolumin rozruchowy i utwórz plik o nazwie wpa_supplicant.po uruchomieniu RPi plik ten zostanie skopiowany do katalogu/etc / wpa_supplicant na partycji / rootfs. Skopiowany plik informuje Pi informacje o konfiguracji WIFI. To nadpisze każdą istniejącą konfigurację Wi-Fi, więc jeśli już skonfigurowałeś Wi-Fi na pi, zostanie to nadpisane.
  • typowy wpa_supplicant.plik conf jest następujący:

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

Uwaga: Twój SSID to nazwa Twojego WIFI. A psk to hasło WI-FI.

5) Włącz SSH

  • będziemy później uzyskać dostęp do Pi za pomocą zabezpieczonej powłoki (SSH), SSH jest domyślnie wyłączony w Raspbian. Aby włączyć SSH, Utwórz plik o nazwie SSH na partycji rozruchowej. Jeśli używasz Linuksa, użyj polecenia touch, aby to zrobić.

6) Znajdź adres IP Pi:

  • przed włączeniem raspberry pi, musimy znaleźć istniejące urządzenia podłączone do sieci. Upewnij się, że twój laptop jest podłączony do tej samej sieci Wi-Fi, co ta skonfigurowana na pi powyżej.
  • Pobierz zaawansowany skaner IP, aby zeskanować adres IP naszego raspberry pi. Możesz go pobrać stąd https://www.advanced-ip-scanner.com/

7) SSH do Twojego Pi:

  • aby utworzyć bezpieczne połączenie powłoki w Linuksie możemy użyć polecenia ssh. Jeśli korzystasz z systemu windows, spróbuj pobrać Putty z https://www.putty.org/

domyślne poświadczenia to:

username: pipassword: raspberry

8) zdalny dostęp do Pi:

  • czasami nie jest w porządku, jeśli nie możemy użyć myszy. W tym celu musimy zajrzeć do pulpitu Raspbian.
  • musimy skonfigurować VNC (Virtual Network Connection), aby zobaczyć i kontrolować Pi graficznie. Zróbmy to.
  • aby uzyskać dostęp do pulpitu zdalnego, potrzebujesz VNC-viewer (klienta) dla swojego laptopa. Na szczęście RealVNC jest dostępny dla wielu systemów operacyjnych, wybierz jeden dla swojego systemu operacyjnego z https://www.realvnc.com/en/connect/download/viewer/

9) polecenia dla vncserver:

10) teraz otwórz VNC Viewer na zdalnym komputerze:

5. Realizacja i Praca:

5.1. Bezprzewodowa komunikacja Arduino z Arduino za pomocą nRF24L01:

  • w tym dowiemy się, jak wykonać bezprzewodową komunikację między dwiema płytami Arduino za pomocą NRF24L01. Zmierz odległość za pomocą czujnika ultradźwiękowego i przekaż go do innego Arduino z modułem nadawczo-odbiorczym.

instrukcje okablowania:

aby podłączyć nadawcę bezprzewodowego NRF24L01+ do Arduino, podłącz następujące piny:

  • podłącz pin VCC do 3.3 V
  • podłącz pin GND do masy (GND)
  • podłącz PIN CE do Arduino 9
  • podłącz pin CSN do Arduino 10
  • podłącz pin SCK do Arduino 13
  • podłącz pin MOSI do Arduino 11
  • podłącz Pin Miso do Arduino 12

aby podłączyć czujnik ultradźwiękowy do Arduino, podłącz następujące kołki:

  • podłącz pin VCC do Arduino 5Volts
  • podłącz pin GND do masy (GND)
  • podłącz Pin Trig do Arduino 4
  • podłącz Pin Echo do Arduino 3

schemat okablowania Arduino Uno z czujnikiem ultradźwiękowym i NRF24L01

aby podłączyć nadawcę bezprzewodowego NRF24L01+ do Arduino, podłącz następujące piny:

  • podłącz pin VCC do 3.3 V
  • podłącz pin GND do masy (GND)
  • podłącz PIN CE do Arduino 9
  • podłącz pin CSN do Arduino 10
  • podłącz pin SCK do Arduino 13
  • podłącz pin MOSI do Arduino 11
  • podłącz Pin Miso do Arduino 12

schemat okablowania Arduino UNO NRF24L01

Uwaga: Moduł RF24 jest obowiązkowy do uruchomienia kodu, dzięki czemu można odpowiednio dodać bibliotekę

  • Uruchom Arduino IDE, a następnie dodaj pobraną bibliotekę stąd :

5.2. Kod:

Kod strony nadawcy:

Kod strony odbiornika:

wysyłanie danych

odbieranie danych:

6. Bezprzewodowa komunikacja Arduino z Raspberry Pi z nRF24L01:

6.1: instalacja modułu RF24 na Raspberry Pi:

  • jest to najważniejszy i najważniejszy krok dla każdej komunikacji do pracy między Arduino i Raspberry Pi jak użyliśmy biblioteki RF24 w Arduino do komunikacji, więc ta sama Biblioteka jest potrzebna na Pi.
  • kolejne kroki obejmują instalację Biblioteki. Prawie tydzień Zajęło mi zainstalowanie go, ponieważ nie ma jasnego pojęcia o tym.

=>

1. Zaloguj się do Raspberry Pi za pomocą Putty.

2. Przejdź do serwera VNC dla GUI.

3. W typie terminala:

sudo raspi-config

Włącz SPI z opcji interfejsu w konfiguracji

4. Zrestartuj Pi. W terminalu wpisz:

sudo reboot

5. W typie terminala:

sudo apt-get update

6. Pobierz install.sh Plik z http://tmrh20.github.io/RF24Installer/RPi/install.sh lub uruchom go na terminalu:

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

7. Spraw, aby był wykonywalny:

chmod +x install.sh

8. Uruchom go i wybierz opcje:

9. Uruchom przykład z jednej z bibliotek:

cd rf24libs/RF24/examples_linux make sudo ./gettingstarted

uruchom następujące polecenia, aby uruchomić program.

10. Ponadto, jeśli chcemy uruchomić programy Pythona w tym samym celu, możemy to zrobić:

uruchamiając przykład Edytuj pingpair_dyn.py przykład konfiguracji odpowiednich pinów zgodnie z powyższą dokumentacją:

nano pingpair_dyn.py
  • skonfiguruj inne urządzenie, Arduino lub RPi za pomocą przykładu pingpair_dyn
  • Uruchom przykład
sudo python pingpair_dyn.py

6.2. Bezprzewodowa komunikacja Arduino z Arduino za pomocą nRF24L01:

  • w tym dowiemy się, jak zrobić komunikację bezprzewodową między Arduino i Raspberry Pi za pomocą NRF24L01. I zmierzyć odległość za pomocą czujnika ultradźwiękowego za pomocą Arduino Uno i przesłać go do Raspberry Pi i dane są odbierane.

Instrukcja Instalacji:

aby podłączyć nadawcę bezprzewodowego NRF24L01+ do Arduino, podłącz następujące piny:

  • podłącz pin VCC do 3,3 V
  • podłącz pin GND do masy (GND)
  • podłącz pin CSN do Arduino 10
  • podłącz PIN CE do Arduino 9
  • podłącz pin SCK do Arduino 13
  • podłącz PIN MISO do Arduino 12
  • podłącz Pin Mosi do Arduino 11

aby podłączyć czujnik ultradźwiękowy do Arduino, podłącz następujące kołki:

  • podłącz pin VCC do Arduino 5Volts
  • podłącz pin GND do masy (GND)
  • podłącz Pin Trig do Arduino 4
  • podłącz Pin Echo do Arduino 3

schemat:

schemat okablowania Arduino Uno z czujnikiem ultradźwiękowym i NRF24L01

aby podłączyć odbiornik bezprzewodowy NRF24L01+ do Raspberry Pi, podłącz następujące piny:

  • podłącz pin VCC do 3.3 V (Pin 1)
  • podłącz pin GND do masy (GND) (Pin 6)
  • podłącz PIN CE do Raspberry GPIO 22
  • podłącz PIN CSN do Raspberry GPIO 8
  • podłącz pin SCK do Raspberry GPIO 11
  • podłącz pin MOSI do Raspberry GPIO 10
  • podłącz Pin Miso do Raspberry GPIO 09

schemat:

schemat okablowania Raspberry Pi i NRF24L01

6.3. Kod:

Kod Strony Nadawcy:

Kod strony odbiornika:

  • nie jest obowiązkowe używanie tego kodu, ponieważ jest on przeze mnie modyfikowany zgodnie z moimi wymaganiami.

aby sprawdzić poprawność działania połączenia i kodu, możesz uruchomić przykłady obecne w bibliotece, takie jak pingpair_dyn.ino na Arduino i pingpair_dyn.py na Raspberry Pi

  • fragment mojej uruchomionej komunikacji:

wniosek: To będzie zawsze zabawa eksperymentowania i zabawy z urządzeń IoT, takich jak nauka o Bezgłowy Raspberry Pi konfiguracji, Arduino, i Raspberry pi poprzez ich komunikowanie się ze sobą i wysyłanie danych i przezwyciężyć błędy i wyzwania jak jeden napotkałem podczas instalacji modułu RF24. Celem tego poradnika jest służyć Ci krok po kroku procesu i nadzieję, że to było łatwe do naśladowania i uczyć się, jak również. Dziękujemy za przeczytanie! Sugestie i poprawki są zawsze mile widziane.



+