Как передать данные с Arduino на Raspberry Pi?
Я планирую построить сеть из пяти устройств Arduino Mega, каждое из которых будет собирать данные с помощью нескольких датчиков. Каждый Arduino будет периодически передавать данные датчика на шлюз Raspberry Pi с помощью XBees. Поскольку я впервые работаю с Arduino и Raspberry Pi, мне нужна помощь в следующем:
Какой протокол использовать для передачи данных с Arduino на Raspberry Pi? Должен ли я писать код как для Arduino, так и для Raspberry Pi, или существуют решения, которые я могу использовать для этой цели?
Какую роль в этом играют MQTT, Node-RED или Node.js?
Спасибо за совет!
А.
@Adnan Ali, 👍0
Обсуждение1 ответ
Какой протокол использовать для передачи данных с Arduino на Raspberry Pi? Должен ли я писать код как для Arduino, так и для Raspberry Pi, или существуют решения, которые я могу использовать для этой цели?
Какую роль в этом играют 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
- MQTT через serial
- Считывание трех сигналов, последовательно отправляемых по Simulink с Arduino
- Использование Arduino wireless SD Shield для сохранения данных на SD-карту и отправки на ПК по беспроводной сети
- Как передавать символы или просто использовать xbee, как последовательный монитор
- Отправка структуры данных с 2 полями int из Arduino в Raspberry через NRF24L01
- Преобразование float в байт, от Arduino до Raspberry Pi i2c
- Arduino не подключается к локальному брокеру MQTT
- Питание Arduino Mega 2560 от Raspberry Pi Usb
это похоже на повторение вашего предыдущего вопроса., @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