Всем привет! Раньше не приходилось заниматься взаимодействиями между arduino или между arduino и PC. Но сейчас хочу сделать новый проект, и понял, что не могу понять, как реализовать взаимодействие. Итак, дано: 1) "client unit" - в нем ардуинка, 1 кнопка и несколько светодиодов. "client unit" может быть несколько, в моем случае их 3. Они между собой никак не взаимодействуют. 2) "admin unit". Он 1. 3) PC, или ноутбук. Задача. 1) "client unit" ждут команды от "admin unit". 2) "admin unit" посылает команду определенному (не всем сразу, а определенному) "client unit". 3) "client unit" получает команду и выполняет действие (переключает светодиоды в нашем случае). 4) При нажатии кнопки "client unit" передает об этом информацию в "admin unit" 5) При этом "admin unit" - лишь посредник между "client unit" и админкой на PC. То есть он передает поступающую информацию на PC, и при поступлении информации с PC отправляет ее определенному "client unit". Дополнительно: - если проще, то можно отправлять не конкретному "client unit", а всем сразу. И уже в самом сообщении хранить получателя. - все устройства находятся рядом в радиусе 5м максимум (грубо говоря, в одной комнате в квартире). Помогите, пожалуйста, разрулить это безобразие. Сам пока смотрю в сторону NRF24L01+ между клиентом и админом, подойдет ли? И как лучше связать админ и PC? Заранее благодарю!
Все устройства находятся в одной комнате, расстояние - максимум 5 метров. Все сообщения будут типа "1-123-456".
Спасибо! А с nrf не будет проблем в том плане, что их же постоянно надо переключать из режима получателя в режим отправителя и обратно, насколько я понял из обзоров?
Там есть все средства для решения вашей задачи. Режимы переключать так часто не надо, и есть подтверждение доставки на случай конфликта по времени. Ваша задача 100% решаема, но в целом это все-таки требует достаточно большого опыта программирования.
Я - программист с 12-летним стажем, с этим разберусь. У меня больше вопрос по аппаратной части, т.к. электроника и все эти ардуинки - это у меня хобби, которым я занимаюсь мало и редко) Спасибо за Ваши ответы!
Насчет применения NRF24 - рекомендую заменить на HC-12 - проще работать - RX/TX и экономия пинов ардуинки. Кстати, по общению нескольких ардуин в сети тоже вопрос интересует. Можем списаться...
для расстояний в 5м HC-12 явно избыточен, NRF подходит лучше. А что касается сети - идея ТС правильная. У меня примерно так же сделано - одна админская ардуина на сервере и несколько клиентских на исполнительных устройствах и датчиках. Админская снимает показания с клиентов, шлет им команды и выкладывает данные в интернет через программу на ПК. Связь на HC-12
Не думаю, что он избыточен - кроме указнанных мной причин есть еще одна серьезная - для него не нужно подключать какие либо библиотеки. Можно работать даже через Serial.print/write и т.п. Так что избыточность тут даже в экономию памяти для других задач.
Реализация необходимого для стабильной работы в такой конфигурации функционала займет гораздо больше кода и времени. А в NRF такой функционал просто есть.
Всем спасибо за сообщения! Вроде, победил все это безобразие на NRF24, после проб и ошибок все вроде заработало стабильно, хоть и с несколькими костылями. Пока нет времени их выпиливать. Админ и ноутбук связал по serial, для управления написал софтинку на c#. Извиняюсь, был по уши в работе. По поводу NRF - просто они уже были заказаны, а времени у меня впритык, я бы не успел заказать другие модули.