Ребята, здравствуйте.
Четвертый день голову ломаю, скоро лопнет. Решил попросить помощи на форуме. Для гуру это должно быть очень легко.
Значит, смотрите. Пишу универсальный скетч для ардуино (для 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 секунд будут опрашиваться, система встанет.
Заранее спасибо за советы, подсказки, в общем любую помощь.