Страница 4 из 4

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Добавлено: Чт мар 19, 2015 9:12 am
electric
tsember писал(а):Спасибо Большое за оперативный ответ. Только в коде не встретил функцию отправки температуры на сервер с МЖД. Эту функцию добавить нужно будет, да?!
Там все есть.
Но скорее всего, надо скетч чуть подправить под актуальную среду разработки и библиотеки.
Функция отправки температур в MDM естьЮ она называется get1wireDevices. Сервер MajorDoMo как сервер запрашивает у ардуины данные через HTTP-запрос вида: http://IP-arduino/getdev, ардуина в ответ шлет показания датчиков (строкой). Эту строчку MDM парсит и выбирает оттуда значения и переменные.

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Добавлено: Чт мар 19, 2015 9:15 am
Anton_kulibin
У меня так. МДМ нет под рукой расскажу как смогу. В этом скетче есть функция

Код: Выделить всё

* /getdev - получить список всех устройст на 1-wire
*         формат вывода: 
*                T<номер устройства на шине>:<HEX адрес устройства>:<текущая температура в градусах цельсия>;[...]
*                (пример T0:1060CF59010800E3:24.06;T1:109ABE59010800FE:24.56;)
Создаем web переменную в поле URL: http://ip_arduino/getdev
задаешь строку поиска например T0:1060CF59010800E3:(.+?);
Внизу указываешь в какоей объект и свойство передавать данные.
T0:1060CF59010800E3 - номер устройства на шине, у каждого датчика ds18B20 свой, сколько датчиков столько web переменных.

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Добавлено: Чт мар 19, 2015 9:22 am
tsember
Спасибо. Теперь ясно. Но мне больше понравился код где ардуино сама обрабатывает температуру и при её изменении шлет запрос с переменными на сервер МЖД. Тем самым мы разгружаем сервак, перекладывая часть работы на ардуино. Да и не забиваем базу одной и той же температурой.
Но зато и плюс в вашем случае есть: временной интервал между изменениями температуры одинаков, графики более красивые получаться будут. Скорее всего так и сделаю. Спасибо. Ответ на свой вопрос получил.

Сергею: Если есть возможность, создайте в Подключаемое оборудование (http://smartliving.ru/Main/ArduinoCode3) в разделе Устройства на основе Arduino третий вариант контроллера, когда ардуинка является и управлением релешек, и контроллером датчиков температур. Ответ на этот вопрос я две недели искал, потом решил тут спросить. Уверен, что не только меня это интересовало. Спасибо

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Добавлено: Вс мар 22, 2015 4:09 am
tsember
Ребята, здравствуйте.
Четвертый день голову ломаю, скоро лопнет. Решил попросить помощи на форуме. Для гуру это должно быть очень легко.
Значит, смотрите. Пишу универсальный скетч для ардуино (для majordomo).
Хочу датчики температуры подключать "на лету" (можно и с перезагрузкой платы, не критично).
Идентификация датчиков температуры в МЖД будет проходить по его адресу вида "1060CF59010800E3", а не по 'sensorTempZal1', или 'ulicaTemperatura'. Ну вы, надеюсь, поняли, о чем я?! Скажете не красиво?! Ну и что? Один раз настроил, и забыл. Нужно датчик 18B20 сменить, смело его меняете, и в МЖД в названии датчика меняете его адрес. Даже плату перешивать не надо.
В принципе, можно все адреса датчиков в платке прописать. А если датчиков 50 штук?! А если их нужно постоянно менять?! А если еще пяток штук подключить?
Я хочу сделать цикл, который найдет все датчики, запишет все идентификаторы в массив, и попорядку будет сливать с них температуру, сравнивать с прошлой отправленной, если дельта больше установленной (допустим 0,3 градуса), отправляем обновленную температуру на сервер МЖД.

На чем я запнулся?
Никак не могу заставить адрес вида 1060CF59010800E3 засунуться в одну переменную, с которой я мог бы дальше оперировать.
Anton_kulibin писал(а): *         формат вывода: 
*                T<номер устройства на шине>:<HEX адрес устройства>:<текущая температура в градусах цельсия>;[...]
*                (пример T0:1060CF59010800E3:24.06;T1:109ABE59010800FE:24.56;)[/code]

Создаем web переменную ....
Пробовал и побайтно в массив загонять, потом склеивать ячейки массива, пробовал другими способами. Ничего не получается. У меня еще трудности с пониманием типов данных.
Помогите пожалуйста. нужна функция, чтоб просто прочитать адрес датчика по его идентификатору (sensors.getAddress(Termometers, i)), перекодировать в нормальный вид типа 1060CF59010800E3 и засунуть его в переменную.
P.S. Строка вида Serial.println(sensors.getAddress(Termometers, 1)); на экран очень хорошо выводит адрес.
Веб-переменные тоже не подходят. Если будет 50 датчиков, которые каждые 10 секунд будут опрашиваться, система встанет.
Заранее спасибо за советы, подсказки, в общем любую помощь.

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Добавлено: Вс мар 22, 2015 9:50 pm
tsember
Сегодня размышлял, и подумал, что ни одного типа данных для переменной, в которую я хочу записать адрес датчика в DEC виде не может вместить в себя такое число (более 25 разрядов)
Затем прикинул, что можно каждый разряд записать в массив, затем этот массив перевести из DEC (десятичный) в HEX (шестнадцатеричный) вид, в потом попросту склеить ячейки массива. И получится красивый адрес устройства в HEX формате, который можно запихать в одну переменную. Если кого то интересует код, напишите в личку, или сюда. Я скину.

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Добавлено: Вт мар 24, 2015 12:06 pm
tsember
Посмотрите, что у меня получилось: http://smartliving.ru/forum/viewtopic.p ... 092#p20092

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Добавлено: Ср сен 21, 2016 10:52 am
ghost13
сделал как по инструкции но температура не выводиться где могут быть грабли

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoM

Добавлено: Пт дек 09, 2016 6:08 pm
janlam
Непонимаю в чём проблема. Делаю всё как описано в первом посте. Дохожу до сценария. Всё ввожу нажимаю сохранить. А он мне в ответ пишет Пожалуйста, заполните необходимые поля! сверху красным. Люди добрые в чём дело?
screen
screen
desktop.jpg (272.4 КБ) 10683 просмотра

Re: Webserver (Arduino+W5100). Примеры интеграции с MajorDoMo.

Добавлено: Ср ноя 28, 2018 6:21 pm
Pavel_
добавить внизу символ }
electric поправте код в шапке