
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

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

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:

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:

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.