Skocz do zawartości

Bezprzewodowe połączenie RPi z Arduino: Jak, czym ?


startrek1p2p

Pomocna odpowiedź

Hej, mam pewien problem ze zrobieniem łączności miedzy RPi a Arduino. Wymaganie są 3 rzeczy: komunikacja musi być dwukierunkowa oraz musi się odbywać bezprzewodowo oraz jeżeli Wi-Fi to w sieci lokalnej
Cała komunikacja jest bardzo prosta: Rpi wysyła sygnał do Arduino, on rozpoznaje i wykonuje pewną sekwencje, gdy ją zakończy, ma wysłać sygnał o tym do Rpi.

niestety połączenie fizyczne nie wchodzi w grę całość jest od siebie oddalone co prawda o 4 metry, ale nie ma jak poprowadzić przewodów.
Może ktoś już robił coś takiego i może podzielić się swoim doświadczeniem. Jak na razie wyklarowały mi się następujące pomysły:

1) Użycie dwóch esp8266-01 i połączenie przez TX RX, komunikacja miedzy nimi przez np ESP-NOW
2) Użycie dwóch nrf24l01
3) Podłączenie do Arduino Esp8266 i komunikowanie sie przez stronę www(Esp hostuje stronę)
4) Użycie podczerwieni (nie wiem czy to zdało by egzamin)

Nie chcę specjalnie skomplikować całego procesu, a mam wrażenie, że te moje pomysły do tego doprowadzą.

 

Link do komentarza
Share on other sites

27 minut temu, startrek1p2p napisał:

mam pewien problem ze zrobieniem łączności miedzy RPi a Arduino

Dlaczego Arduino a nie coś, co jest OOTB przystosowane do łączności?

Jeśli to musi być Arduino to stawiałbym na nrf-y. Tyle, że nie "wysyła sygnał do RPi" a zapytany odpowiada czy skończył (no, ale to zależy od tego czym się to Arduino zajmuje bo nie wiemy).

Tak w ogóle to zrobiłbym to na ESP32 zamiast Arduiho i połączeniu BT albo WiFi (niestety, esp-now wymaga ustawienia karty wifi w tryb, którego RPi nie obsługuje).

  • Lubię! 1
Link do komentarza
Share on other sites

36 minut temu, ethanak napisał:

Dlaczego Arduino a nie coś, co jest OOTB

Może być i ESP32. Jeszcze na nim nic nie robiłem, tylko na ESP8266 a ono ma za mało dostępnych wejść do tego projektu 

37 minut temu, ethanak napisał:

połączeniu BT albo WiFi

No właśnie jakie wybrać i jakimi bibliotekami, protokołami itp. w tym temacie nie mam żadnego doświadczenia .

@ethanak Masz jakieś konkretne rozwiązanie na myśli 

Link do komentarza
Share on other sites

3 minuty temu, startrek1p2p napisał:

Może być i ESP32. Jeszcze na nim nic nie robiłem

Spróbuj - jeśli bawiłeś się ESP8266 to ESP32 na 100% polubisz.

3 minuty temu, startrek1p2p napisał:

No właśnie jakie wybrać i jakimi bibliotekami, protokołami itp. w tym temacie nie mam żadnego doświadczenia .

Przykładowo dla WiFi: zwykłe połączenie TCP na socket, serwery na obu końcach (ESP i RPi). RPi nadaje jakiś prosty  string z poleceniem, Arduino w tym samym połączeniu odpowiada jakimś "OK" i kończą rozmowę. W drugą stronę identycznie. Może być?

Na RPi jest to najzwyklejszy w świecie socket server (jest tego mnóstwo w googlach w dowolnym języku programowania, dla Pythona chyba najlepiej poczytać ten tutorial). Na ESP zwykły WiFi server i WiFi client - wrzuć w google hasło "ESP32 socket server" to dotaniesz parę przykładów.

 

 

 

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

2 minuty temu, _LM_ napisał:

Jeśli zdecydujesz się na esp. To polecam ESPnow świetnie nadaje się do takich lekkich zadań.

Jak uruchomić esp-now na rpi? Podłączając następnego esp?

Link do komentarza
Share on other sites

1 godzinę temu, ethanak napisał:

niestety, esp-now wymaga ustawienia karty wifi w tryb, którego RPi nie obsługuje

Ok tego nie wiedziałem.

Link do komentarza
Share on other sites

47 minut temu, _LM_ napisał:

Ok tego nie wiedziałem.

Ja też dowiedziałem się wtedy kiedy chciałem to zrobić 😞

Muszę coś więcej na ten temat poczytać - być może jakaś karta na USB na to pozwala, wtedy to mogłoby być jakieś rozwiązanie... tylko kiedy?

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.