Skocz do zawartości

Pomocna odpowiedź

Napisano

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ą.

 

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
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 

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

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

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?

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.

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?

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...