Я планирую систему Arduino, которая состоит из нескольких плат Arduino. Максимальное расстояние между досками составляет около 50 метров. Я хочу отправить основные данные между ними, как короткие строки или целые числа. Я знаю, что могу отправлять данные через кабели Ethernet, но для этого требуется сетевой экран или плата Arduino Ethernet, что удваивает затраты. Есть ли бюджетный способ, которым я мог бы соединить платы, используя только самые основные платы (такие как Uno) и некоторые другие компоненты, но не полный экран?
arduino-uno
networking
system-design
totymedli
источник
источник
Ответы:
Для проводной связи на большие расстояния смотрите RS-485 .
Вы можете использовать чип MAX485. С ним довольно легко работать, но есть и хорошая библиотека:
https://github.com/Protoneer/RS485-Arduino-Library
источник
Есть две категории, которые я могу придумать для классификации функций коммутации плат Arduino:
Между 2 устройствами:
Между более чем 2 устройствами
Существуют и другие доступные методы, но для перечисленных здесь требуется только минимум внешнего оборудования.
Оценки расстояний см. В http://forum.arduino.cc/index.php?topic=82937.0 и http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-distance.html.
Эти скорости передачи данных напрямую контролируются в последовательном и могут быть изменены во многих других.
источник
Freakduino делает несколько плат Arduino со встроенным беспроводным интерфейсом. Их дальний беспроводной диапазон составляет 900 МГц, а более короткий диапазон - 2,4 ГГц. Я думаю, что они на самом деле являются радиоприемниками XBee, и для программирования вы бы использовали библиотеку chibiArduino, которая доступна (и задокументирована) на веб-сайте Freakduino. При беспроводной связи с другим радио вы можете использовать Broadcast или указать радио по его идентификатору, который является значением, которое вы должны установить в EEPROM Freakduino.
Взято прямо с сайта Freakduino:
источник
Как вы сказали, экраны Ethernet дороги, но вам не нужно использовать экран. Проверьте enc28j60 для проводной сети или ESP8266, если вы предпочитаете беспроводную связь. Оба стоят около 4 долларов США. Я использую ESP8266 сейчас, и около 8 устройств разговаривают друг с другом и Raspberry Pi. Это действительно отличный маленький чип! Я не могу говорить лично с ENC28j60, поскольку они все еще сидят в пакете на моем столе.
источник
Вы можете использовать коммутационную плату Ethernet (2 доллара в Sparkfun). Это позволяет вам использовать кабели Ethernet, но вам не нужно использовать полный протокол TCP / IP, вместо этого вы можете просто подключить выводы данных к коммутационной панели, использовать Ethernet для их соединения, а затем заставить их общаться по последовательному порту. Я использую это совсем немного, чтобы разместить один проводной датчик дальше от Arduino для прочного, но дешевого соединения.
источник