Если используете ENC28J60 нужно скачать либу : https://github.com/ntruchsess/arduino_uip
Либа DS1820 : http://download.milesburton.com/Arduino ... 72Beta.zip .
Подключаем как на рисунке
Подключаем SDы к ноге 2 Ардуины ( не забывая сопротивление 4к7 между ногой 2 и +5V.)
Это скеч : https://drive.google.com/file/d/0B9hvrg ... sp=sharing
Скачать распаковать куда удобнее , в папке "DS1820_Monitor" запустить DS1820_Monitor.ino .
В самом начале есть строки :
//Если у Вас ENC28J60 разкоментируйте #include <UIPEthernet.h>
//#include <UIPEthernet.h>
//Если у Вас W5100 разкоментируйте #include <SPI.h> и #include <Ethernet.h>
#include <SPI.h>
#include <Ethernet.h>
Ну понятно. Да?
После запуска скетча будет что то типа :
575
657
527
668
192.168.1.202
GET /objects/?script=DS1820&T575=28.50&T657=28.50&T527=28.50&T668=28.50 HTTP/1.0
Сколько DSов висит на шине 2 столько и 3х значных цифр до IP Arduins(DSы можно добавлять по мере необходимости - скеч просто добавит 3х значный номер и GET строка увеличится)
После добавления Dsa Reset Ардуины !!!
В объектах создаём сенсоры типа sensorT575 - 575 это адрес из начала скетча т.е. у меня их 4 : sensorT575 ,sensorT657 ,sensorT527 ,sensorT668
В свойствах класса temp и updatedTime хранить XX дней.
В сценариях создаём сценарий DS1820 (в скетче - data = "GET /objects/?script=DS1820"; ) или "своё" имя только в скетче в место DS1820 пропишите.
Сам сценарий :
setGlobal('sensorT575.temp',$params['T575']);
setGlobal('sensorT657.temp',$params['T657']);
setGlobal('sensorT527.temp',$params['T527']);
setGlobal('sensorT668.temp',$params['T668']);
setGlobal('sensorT575.updatedTime',date("H:i",time()));
setGlobal('sensorT657.updatedTime',date("H:i",time()));
setGlobal('sensorT527.updatedTime',date("H:i",time()));
setGlobal('sensorT668.updatedTime',date("H:i",time()));
В скетче в закладке Main : if ((tt0 - tt1) > 10000) { - 10000 это 10 секунд (для теста поставте по вкусу ).
График типа IP/pChart/?p=sensorT575.temp&unit=℃&type=4h&width=250&px=10.
Вроде всё .