Planuję system Arduino, który składa się z kilku płyt Arduino. Maksymalna odległość między deskami wynosi około 50 metrów. Chcę przesyłać między nimi podstawowe dane, takie jak krótkie ciągi lub liczby całkowite. Wiem, że mogłem przesyłać dane za pomocą kabli Ethernet, ale to wymaga osłony Ethernet lub karty Arduino Ethernet, która podwaja koszty. Czy istnieje sposób na niskobudżetowy sposób łączenia płyt przy użyciu tylko najbardziej podstawowych płyt (takich jak Uno) i niektórych innych elementów, ale nie pełnej osłony?
arduino-uno
networking
system-design
totymedli
źródło
źródło
Odpowiedzi:
Aby uzyskać przewodową komunikację na duże odległości, patrz RS-485 .
Możesz użyć układu MAX485. Jest dość łatwa w obsłudze, ale jest też dobra biblioteka:
https://github.com/Protoneer/RS485-Arduino-Library
źródło
Są dwie kategorie, które mogę wymyślić, aby sklasyfikować cechy komunalne tablic Arduino:
Między 2 urządzeniami:
Między więcej niż 2 urządzeniami
Dostępne są inne metody, ale wymienione na nich wymagają jedynie minimum zewnętrznego sprzętu.
Aby uzyskać oceny odległości, zobacz http://forum.arduino.cc/index.php?topic=82937.0 i http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-distance.html
Te szybkości transmisji danych są kontrolowane bezpośrednio w Serial i mogą być modyfikowane w wielu innych.
źródło
Freakduino tworzy niektóre tablice Arduino z wbudowanym bezprzewodowym. Ich bezprzewodowy zasięg dalekiego zasięgu wynosi 900 MHz, a ich krótszy zasięg to 2,4 GHz. Myślę, że tak naprawdę są radiami XBee i do programowania użyłbyś biblioteki o nazwie chibiArduino, która jest dostępna (i udokumentowana) na stronie Freakduino. Kiedy komunikujesz się bezprzewodowo z innym radiem, możesz użyć Broadcastu lub określić radio według jego ID, które jest wartością, którą musisz ustawić w EEPROM Freakduino.
Pobrane bezpośrednio ze strony Freakduino:
źródło
Jak powiedziałeś, osłony Ethernet są drogie, ale nie musisz ich używać. Sprawdź enc28j60 dla sieci przewodowej lub ESP8266, jeśli wolisz sieć bezprzewodową. Oba kosztują około 4 USD. Używam teraz ESP8266 i mam około 8 urządzeń rozmawiających ze sobą oraz Raspberry Pi. To naprawdę świetny mały chip! Nie mogę rozmawiać osobiście z ENC28j60, ponieważ nadal siedzą w paczce na moim biurku.
źródło
Możesz użyć karty Breakout Ethernet (2 USD w Sparkfun). Pozwala to na użycie kabli Ethernet, ale nie trzeba używać pełnego protokołu TCP / IP, zamiast tego można po prostu podłączyć piny danych do płyty rozdzielającej, użyć Ethernetu, aby je podłączyć, a następnie pozwolić im rozmawiać za pomocą łącza szeregowego. Używam tego dość często, aby umieścić czujniki drutowe dalej od Arduino, aby uzyskać mocne, ale tanie połączenie.
źródło