Официальный сайт компании Arduino по адресу arduino.cc
Как правильно организовать опрос нескольких ардуин с web сервера.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пнд, 23/11/2015 - 13:45
Добрый день,
В каждой комнате планируеться установить по небольшому блоку на базе ардуино, которые будут измерять температуру в помещении, отображать измерение, управлять сервоприводом отопления, включение - выключение света так же хотелось бы, что бы данные из данного блока записывались в базу на web сервере.
Так вто вопрос.
Как правильно организовать данную схему?
Опрос всех датчиков делат сам web сервер по cron, собирает все данные в некий массив и затем раскладывает в базу или каждый блок сам вызывает файлик с web сервера и записывает только свои значения?
что-то как-то сложно вы все объяснили...
Схема 1 - сервер инициирует сеансы связи с подчинёнными, собирает информацию, отдаёт команды.
Схема 2 - подчиненные инициируют сеансы связи с сервером, отдают информацию, принимают команды.
Мне по душе первая схема, она делает невозможной ситуацию, когда два/несколько подчинённых возжелают одновременно пообщаться с сервером. (имею ту же ситуацию - в комнатах Ардуины, одна из них "центральная")
Подскажите где посмотреть пример реализации первой схемы?
В качестве сервера хочу использовать raspberry pi b2
Боюсь, конкретный пример сходу не смогу подсказать, а гуглить за Вас - не обессудьте.
Есть мнение, что Araris и ТС говорят о разных вещах...
Опрос всех датчиков делает сам web сервер по cron, собирает все данные в некий массив и затем раскладывает в базу или каждый блок сам вызывает файлик с web сервера и записывает только свои значения?
Упс, я что-то не так понял ?
Опрос всех датчиков делает сам web сервер по cron, собирает все данные в некий массив и затем раскладывает в базу или каждый блок сам вызывает файлик с web сервера и записывает только свои значения?
Упс, я что-то не так понял ?
так веб-сервер-же...
Я сознательно не упоминал это слово, поскольку вёл речь о двух способах/схемах организации обмена информацией. Общий случай, так сказать.
Я сознательно не упоминал это слово, поскольку вёл речь о двух способах/схемах организации обмена информацией. Общий случай, так сказать.
Чисто интересуюсь:
Схема 1 - сервер инициирует сеансы связи с подчинёнными, собирает информацию, отдаёт команды.
как к веб-серверу относится?
Вашу мысль понимаю. Топикстартер написал "Опрос всех датчиков делат сам web сервер по cron", если это называть web-сервером, то как-то относится, ну да, согласен, терминологически не очень корректно звучит. Поэтому я и не упоминал термин web-сервер. В моём тексте лучше тогда заменить "сервер" на "мастер" какой-нибудь, или как Вам угодно.
Вашу мысль понимаю. Топикстартер написал "Опрос всех датчиков делат сам web сервер по cron", если это называть web-сервером, то как-то относится, ну да, согласен, терминологически не очень корректно звучит. Поэтому я и не упоминал термин web-сервер. В моём тексте лучше тогда заменить "сервер" на "мастер" какой-нибудь, или как Вам угодно.
Я согласен с вами.
Топикстартер
что-то как-то сложно вы все объяснили...
Поясню почему web сервер
по cron планируется производить опрос устройств и запись их значений в MySQL и передача им значений из MySQL
Так же хотелось наблюдать за работай устройств через браузер
Поясню почему web сервер
по cron планируется производить опрос устройств и запись их значений в MySQL и передача им значений из MySQL
Так же хотелось наблюдать за работай устройств через браузер
В таком случае - я за этот вариант:
или каждый блок сам вызывает файлик с web сервера и записывает только свои значения?
Каждый мк с кучей датчиков слушает порт на своем IP
Мастер (согласен с формулировкой уважаемого Araris) с помощью скрипта ( пхп, питон) по крону обращается к мк и получает от мк сгенерированную им упорядоченную структуру данных (csv, xml, json), парсит ее и рассовывает в мискл ( посгрис) .
на Мастере крутится апач, который отдает страницы с информацией из мискла внешним клиентам.
есть промышленная система, которая долго и счастливо живет в такой архитектуре
а как будет осущевстлятся связь ардуин с сервером?
Хочеться все организовать через http
Осуществляться будет так, как Вы сделаете хоть по upnp сочиняйте
У меня по http, так проще всего.
Я имею виду по части железа.
W5100 адназначна
W5100 адназначна
Тоесть в каждую комнату ставить W5100 и тянуть из каждой комнаты витую пару к роутеру или свичу если ардуин более 4? что то гемор какой то, тем более что придется опрашивать разные IP что вызовет дополнительные глюки и тормоза
W5100 адназначна
Тоесть в каждую комнату ставить W5100 и тянуть из каждой комнаты витую пару к роутеру или свичу если ардуин более 4? что то гемор какой то, тем более что придется опрашивать разные IP что вызовет дополнительные глюки и тормоза
Нет. Гемор - это пытаться понять, чего вы хотите.
Вы пишите о противоречивых вещах, потом возмущаетесь, что совет вам не нравится.
Хотите, чтобы Ардуино из каждой комнаты сама писала на сервер? Ставьте там по wifi или ethernet модулю.
Хотите другой подход? Ставьте в каждую комнату по радио-транссиверу, а на сервер пусть пишет Ардуино-Мастер, собирая данные по радиоканалу.
Хотите, чтобы вам дали совет, какой способ предпочтительнее - давайте больше конкретной информации.
А при чем тут более 4? Почему не 1, или 3?
"Разные IP.... глюки и тормоза" - странное у Вас понимание сложности :)
nrf24l01 на разных каналах в каждой комнате, и сервер котоый будет их опрашивать
Хотелось бы организовать как на рисунке
контроллеров будет от 4-6 шт.
Как сделать корректно опрос этих контроллерови и положить их значения в базу?
Приоритетом в управлении должен являться контроллер, в случае если дома ни кого нет, то управление происходит с веб страницы
Вы ждете готовых примеров?
Нет. Гемор - это пытаться понять, чего вы хотите.
Вы пишите о противоречивых вещах, потом возмущаетесь, что совет вам не нравится.
Хотите, чтобы Ардуино из каждой комнаты сама писала на сервер? Ставьте там по wifi или ethernet модулю.
Хотите другой подход? Ставьте в каждую комнату по радио-транссиверу, а на сервер пусть пишет Ардуино-Мастер, собирая данные по радиоканалу.
Хотите, чтобы вам дали совет, какой способ предпочтительнее - давайте больше конкретной информации.
Если вы не заметили, то я спросил как автор будет реализовывать, я не задавал не каких вопросов как сделать и тд у меня уже сделано и костыли с W5100 прошол, а вы видимо даже не пытались подумать как это будет собрать более 2х штук по всему дому их.
А при чем тут более 4? Почему не 1, или 3?
"Разные IP.... глюки и тормоза" - странное у Вас понимание сложности :)
Читайте что пишет автор в первом посте, ему нужно соединить несколько комнат может тогда поймете что явно более 1. А вы пробовали опрашивать скажем каждые 5сек скажем 4 IP и писать с них данные в SQL в течении суток? нет ну дак и нестоит тогда!
Нет, я прошу помощи подсказать как это более правильно организовать
Нет, я прошу помощи подсказать как это более правильно организовать
чем не устраивает пост №23?
Хотелось бы организовать как на рисунке
контроллеров будет от 4-6 шт.
Как сделать корректно опрос этих контроллерови и положить их значения в базу?
Приоритетом в управлении должен являться контроллер, в случае если дома ни кого нет, то управление происходит с веб страницы
Ну у вас будет несколько контроллеров соотвественно вам нужен будет ещё или свичь или роутер иначе вы несколько 28j60 в малину не воткнете.
Опросить вы можете к примеру через php так
file_get_contents('http://192.168.0.55'); // опрос 28j60 получаем строку данных дальше её раскладываем с помощью explode и substr
и так для каждого контролера
Нет, я прошу помощи подсказать как это более правильно организовать
чем не устраивает пост №23?
А двух сторонную связь можно организовывать на этих модулях или на один контроллер надо ставить и приемник и передатчик?
можно, но не одновременно, как старая рация, запрос - ответ
Нет. Гемор - это пытаться понять, чего вы хотите.
Вы пишите о противоречивых вещах, потом возмущаетесь, что совет вам не нравится.
Хотите, чтобы Ардуино из каждой комнаты сама писала на сервер? Ставьте там по wifi или ethernet модулю.
Хотите другой подход? Ставьте в каждую комнату по радио-транссиверу, а на сервер пусть пишет Ардуино-Мастер, собирая данные по радиоканалу.
Хотите, чтобы вам дали совет, какой способ предпочтительнее - давайте больше конкретной информации.
Если вы не заметили, то я спросил как автор будет реализовывать, я не задавал не каких вопросов как сделать и тд у меня уже сделано и костыли с W5100 прошол, а вы видимо даже не пытались подумать как это будет собрать более 2х штук по всему дому их.
Теперь заметил. Прошу прощения. Обращался к ТС. Суть не меняется.