Как передать данные с Arduino на Raspberry Pi?

Я планирую построить сеть из пяти устройств Arduino Mega, каждое из которых будет собирать данные с помощью нескольких датчиков. Каждый Arduino будет периодически передавать данные датчика на шлюз Raspberry Pi с помощью XBees. Поскольку я впервые работаю с Arduino и Raspberry Pi, мне нужна помощь в следующем:

  1. Какой протокол использовать для передачи данных с Arduino на Raspberry Pi? Должен ли я писать код как для Arduino, так и для Raspberry Pi, или существуют решения, которые я могу использовать для этой цели?

  2. Какую роль в этом играют MQTT, Node-RED или Node.js?

Спасибо за совет!

А.

, 👍0

Обсуждение

это похоже на повторение вашего предыдущего вопроса., @jsotola

@jsotola Да, но на этот раз я старался быть более сосредоточенным. Надеюсь, я добился успеха., @Adnan Ali

Оборудование еще не купил. Прежде чем сделать это, я хотел бы узнать, какие технологии используются, и уровень глубины, который мне потребуется для этого. Я думаю, что людям, имеющим опыт работы с Arduino и Raspberry Pi, не составит труда дать хороший совет. Спасибо за редактирование., @Adnan Ali

Сообщения MQTT обычно устанавливаются через интернет-соединения. Платы RaspberryPi имеют интерфейс такого типа. Большинству Arduino требуется дополнительное оборудование. Брокер MQTT может получать и отправлять сообщения. Если вы хотите что-то сделать с сообщениями между отправителем и получателем, NodeRED — хороший выбор. Скорее всего, вы захотите запустить брокера MQTT (вероятно, mosquitto) и NodeRED на RaspberryPi. Дайте мне знать, если это то, что вы ищете, и я уточню подробности и опубликую ответ на ваш вопрос., @st2000

Кстати, я не знаю, отличается ли ваш исходный пост, но подумайте о том, чтобы лучше задать вопрос, прежде чем прибегать к созданию другого поста. Смысл большинства, если не всех веб-сайтов stackexchange, состоит в том, чтобы иметь кучу хороших вопросов для поиска., @st2000

@st2000 Arduinos будет использовать XBees для связи. Таким образом, для отправки данных на RaspberryPi не требуется никакого другого оборудования., @Adnan Ali

@AdnanAli, существует так много платформ Arduino, что единственное предположение, которое можно сделать, когда в OP не указана конкретная платформа, состоит в том, чтобы предположить, что это Arduino Uno версии 3 без XBees или без Ethernet. Но я считаю, что вы правы, что любой из них может быть добавлен в Arduino Uno Revision 3 для поддержки отправки и получения сообщений MQTT., @st2000


1 ответ


1
  1. Какой протокол использовать для передачи данных с Arduino на Raspberry Pi? Должен ли я писать код как для Arduino, так и для Raspberry Pi, или существуют решения, которые я могу использовать для этой цели?

  2. Какую роль в этом играют MQTT, Node-RED или Node.js?

Я искал, изучал, читал и обнаружил, что MQTT можно использовать для отправки и получения данных от ардуино к RaspberryPi, как в [1] и [2]. Таким образом, нет необходимости проектировать и разрабатывать новый протокол.

Для Arduino доступны библиотеки MQTT, такие как PubSubClient [3]. Таким образом, код Arduino может использовать эти библиотеки, и нет необходимости писать много кода.

Просто и понятно!

А.

[1] https://funprojects.blog/2018/03 /04/arduino-говорящий-mqtt-to-node-red/

[2] https://iotdesignpro. com/projects/interface-arduino-with-node-red-to-send-sensor-data-on-webpage

[3] https://www.arduinolibraries.info/libraries/pub-sub-client

,