Опрос ds18b20 + Raspberry (GPIO)
Модератор: immortal
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Опрос ds18b20 + Raspberry (GPIO)
Ой, вы уже сделали. Видимо Cron неправильно настроили.
Отправлено с моего Redmi Note 3 через Tapatalk
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
-
- Сообщения: 154
- Зарегистрирован: Чт апр 20, 2017 5:32 am
- Откуда: Томск
- Благодарил (а): 55 раз
- Поблагодарили: 22 раза
Re: Опрос ds18b20 + Raspberry (GPIO)
Все последняя корректировка внесена. Все работает как сделать что это "решено"?
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Опрос ds18b20 + Raspberry (GPIO)
Отредактировать первый пост со ссылкой на пост с решением.neromih писал(а):Все последняя корректировка внесена. Все работает как сделать что это "решено"?
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Опрос ds18b20 + Raspberry (GPIO)
Чтобы прямо в теме прописать - модераторов попросить надо.
Отправлено с моего Xperia Z через Tapatalk
Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 154
- Зарегистрирован: Чт апр 20, 2017 5:32 am
- Откуда: Томск
- Благодарил (а): 55 раз
- Поблагодарили: 22 раза
Re: Опрос ds18b20 + Raspberry (GPIO)
Тестил, тестил и дотестил.
В общем все работает, но в бд записи дублируются, выглядит это так.
Создал сценарий - Датчик.
Категория - Сенсоры.
Описание - Датчики температуры.
Код PHP:
Создал объекты (описываю один остальные аналогично сделаны) в:
SDevices General Devices Class
SSensors
STempSensors
Сам объект ds18b20dom в нем:
Название:* ds18b20dom
Класс:* STempSensors
Описание: Датчик температуры в доме
В методах:
SSensors-> valueUpdated *
выполнить сценарий Датчик.
В cron добавил выполнение каждые 10 минут.
Title *: Датчик
Description: Датчик
Crontab *:*/10 * * * *
Код: Blockly
запустить сценарий "Датчик"
Все работает, но! В свойствах объекта ds18b20dom.value видно что записи как бы дублируются, то есть должно быть раз в 10 минут, а получается:
2017-04-25 08:10:17: 19,4 X
2017-04-25 08:00:48: 19,4 X
2017-04-25 08:00:45: 19,3 X
2017-04-25 08:00:45: 19,4 X
2017-04-25 08:00:41: 19,3 X
2017-04-25 07:10:07: 19,3 X
2017-04-25 07:00:17: 19,2 X
2017-04-25 06:10:19: 19,2 X
2017-04-25 06:10:15: 19,1 X
2017-04-25 06:10:12: 19,2 X
2017-04-25 06:10:08: 19,1 X
2017-04-25 06:00:08: 19,1 X
2017-04-25 05:50:17: 18,9 X
2017-04-25 05:50:07: 18,9 X
2017-04-25 05:40:17: 18,8 X
2017-04-25 05:40:14: 18,8 X
2017-04-25 05:40:10: 18,7 X
Даже если запустить в ручную сценарий, все равно не одна запись добавляется а две, три и тд.
В чем может быть беда, проблема?
Разобрался:
Сам объект ds18b20dom в нем:
Название:* ds18b20dom
Класс:* STempSensors
Описание: Датчик температуры в доме
Выделенное делать не надо
В методах:
SSensors-> valueUpdated *
выполнить сценарий Датчик.
В общем все работает, но в бд записи дублируются, выглядит это так.
Создал сценарий - Датчик.
Категория - Сенсоры.
Описание - Датчики температуры.
Код PHP:
Код: Выделить всё
$file = '/sys/bus/w1/devices/28-00000634bdbe/w1_slave';
$file1 = '/sys/bus/w1/devices/28-000006477cb8/w1_slave';
$file2 = '/sys/bus/w1/devices/28-031466a202ff/w1_slave';
$file3 = '/sys/bus/w1/devices/28-0314669f7aff/w1_slave';
$lines = file($file);
$lines1 = file($file1);
$lines2 = file($file2);
$lines3 = file($file3);
$temp = explode('=', $lines[1]);
$temp1 = explode('=', $lines1[1]);
$temp2 = explode('=', $lines2[1]);
$temp3 = explode('=', $lines3[1]);
$temp = number_format($temp[1] / 1000, 1, ',', '');
$temp1 = number_format($temp1[1] / 1000, 1, ',', '');
$temp2 = number_format($temp2[1] / 1000, 1, ',', '');
$temp3 = number_format($temp3[1] / 1000, 1, ',', '');
sg('ds18b20ulc.Value',$temp1);
sg('ds18b20dom.Value',$temp2);
sg('ds18b20pod.Value',$temp);
sg('ds18b20obr.Value',$temp3);
SDevices General Devices Class
SSensors
STempSensors
Сам объект ds18b20dom в нем:
Название:* ds18b20dom
Класс:* STempSensors
Описание: Датчик температуры в доме
В методах:
SSensors-> valueUpdated *
выполнить сценарий Датчик.
В cron добавил выполнение каждые 10 минут.
Title *: Датчик
Description: Датчик
Crontab *:*/10 * * * *
Код: Blockly
запустить сценарий "Датчик"
Все работает, но! В свойствах объекта ds18b20dom.value видно что записи как бы дублируются, то есть должно быть раз в 10 минут, а получается:
2017-04-25 08:10:17: 19,4 X
2017-04-25 08:00:48: 19,4 X
2017-04-25 08:00:45: 19,3 X
2017-04-25 08:00:45: 19,4 X
2017-04-25 08:00:41: 19,3 X
2017-04-25 07:10:07: 19,3 X
2017-04-25 07:00:17: 19,2 X
2017-04-25 06:10:19: 19,2 X
2017-04-25 06:10:15: 19,1 X
2017-04-25 06:10:12: 19,2 X
2017-04-25 06:10:08: 19,1 X
2017-04-25 06:00:08: 19,1 X
2017-04-25 05:50:17: 18,9 X
2017-04-25 05:50:07: 18,9 X
2017-04-25 05:40:17: 18,8 X
2017-04-25 05:40:14: 18,8 X
2017-04-25 05:40:10: 18,7 X
Даже если запустить в ручную сценарий, все равно не одна запись добавляется а две, три и тд.
В чем может быть беда, проблема?
Разобрался:
Сам объект ds18b20dom в нем:
Название:* ds18b20dom
Класс:* STempSensors
Описание: Датчик температуры в доме
Выделенное делать не надо
В методах:
SSensors-> valueUpdated *
выполнить сценарий Датчик.
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Опрос ds18b20 + Raspberry (GPIO)
Так видно же что время разное, поэтому записи разныеneromih писал(а):Тестил, тестил и дотестил.
В общем все работает, но в бд записи дублируются, выглядит это так.
Создал сценарий - Датчик.
Категория - Сенсоры.
Описание - Датчики температуры.
Код PHP:Создал объекты (описываю один остальные аналогично сделаны) в:Код: Выделить всё
$file = '/sys/bus/w1/devices/28-00000634bdbe/w1_slave'; $file1 = '/sys/bus/w1/devices/28-000006477cb8/w1_slave'; $file2 = '/sys/bus/w1/devices/28-031466a202ff/w1_slave'; $file3 = '/sys/bus/w1/devices/28-0314669f7aff/w1_slave'; $lines = file($file); $lines1 = file($file1); $lines2 = file($file2); $lines3 = file($file3); $temp = explode('=', $lines[1]); $temp1 = explode('=', $lines1[1]); $temp2 = explode('=', $lines2[1]); $temp3 = explode('=', $lines3[1]); $temp = number_format($temp[1] / 1000, 1, ',', ''); $temp1 = number_format($temp1[1] / 1000, 1, ',', ''); $temp2 = number_format($temp2[1] / 1000, 1, ',', ''); $temp3 = number_format($temp3[1] / 1000, 1, ',', ''); sg('ds18b20ulc.Value',$temp1); sg('ds18b20dom.Value',$temp2); sg('ds18b20pod.Value',$temp); sg('ds18b20obr.Value',$temp3);
SDevices General Devices Class
SSensors
STempSensors
Сам объект ds18b20dom в нем:
Название:* ds18b20dom
Класс:* STempSensors
Описание: Датчик температуры в доме
В методах:
SSensors-> valueUpdated *
выполнить сценарий Датчик.
В cron добавил выполнение каждые 10 минут.
Title *: Датчик
Description: Датчик
Crontab *:*/10 * * * *
Код: Blockly
запустить сценарий "Датчик"
Все работает, но! В свойствах объекта ds18b20dom.value видно что записи как бы дублируются, то есть должно быть раз в 10 минут, а получается:
2017-04-25 08:10:17: 19,4 X
2017-04-25 08:00:48: 19,4 X
2017-04-25 08:00:45: 19,3 X
2017-04-25 08:00:45: 19,4 X
2017-04-25 08:00:41: 19,3 X
2017-04-25 07:10:07: 19,3 X
2017-04-25 07:00:17: 19,2 X
2017-04-25 06:10:19: 19,2 X
2017-04-25 06:10:15: 19,1 X
2017-04-25 06:10:12: 19,2 X
2017-04-25 06:10:08: 19,1 X
2017-04-25 06:00:08: 19,1 X
2017-04-25 05:50:17: 18,9 X
2017-04-25 05:50:07: 18,9 X
2017-04-25 05:40:17: 18,8 X
2017-04-25 05:40:14: 18,8 X
2017-04-25 05:40:10: 18,7 X
Даже если запустить в ручную сценарий, все равно не одна запись добавляется а две, три и тд.
В чем может быть беда, проблема?
Разобрался:
Сам объект ds18b20dom в нем:
Название:* ds18b20dom
Класс:* STempSensors
Описание: Датчик температуры в доме
Выделенное делать не надо
В методах:
SSensors-> valueUpdated *
выполнить сценарий Датчик.
А значение температуры совпадает 99% потому что просто не изменилось.
Думаю так.
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
-
- Сообщения: 154
- Зарегистрирован: Чт апр 20, 2017 5:32 am
- Откуда: Томск
- Благодарил (а): 55 раз
- Поблагодарили: 22 раза
Re: Опрос ds18b20 + Raspberry (GPIO)
Я как понял это просто из за того чтоlanket писал(а):Так видно же что время разное, поэтому записи разныеneromih писал(а):Тестил, тестил и дотестил.
В общем все работает, но в бд записи дублируются, выглядит это так.
Создал сценарий - Датчик.
Категория - Сенсоры.
Описание - Датчики температуры.
Код PHP:Создал объекты (описываю один остальные аналогично сделаны) в:Код: Выделить всё
$file = '/sys/bus/w1/devices/28-00000634bdbe/w1_slave'; $file1 = '/sys/bus/w1/devices/28-000006477cb8/w1_slave'; $file2 = '/sys/bus/w1/devices/28-031466a202ff/w1_slave'; $file3 = '/sys/bus/w1/devices/28-0314669f7aff/w1_slave'; $lines = file($file); $lines1 = file($file1); $lines2 = file($file2); $lines3 = file($file3); $temp = explode('=', $lines[1]); $temp1 = explode('=', $lines1[1]); $temp2 = explode('=', $lines2[1]); $temp3 = explode('=', $lines3[1]); $temp = number_format($temp[1] / 1000, 1, ',', ''); $temp1 = number_format($temp1[1] / 1000, 1, ',', ''); $temp2 = number_format($temp2[1] / 1000, 1, ',', ''); $temp3 = number_format($temp3[1] / 1000, 1, ',', ''); sg('ds18b20ulc.Value',$temp1); sg('ds18b20dom.Value',$temp2); sg('ds18b20pod.Value',$temp); sg('ds18b20obr.Value',$temp3);
SDevices General Devices Class
SSensors
STempSensors
Сам объект ds18b20dom в нем:
Название:* ds18b20dom
Класс:* STempSensors
Описание: Датчик температуры в доме
В методах:
SSensors-> valueUpdated *
выполнить сценарий Датчик.
В cron добавил выполнение каждые 10 минут.
Title *: Датчик
Description: Датчик
Crontab *:*/10 * * * *
Код: Blockly
запустить сценарий "Датчик"
Все работает, но! В свойствах объекта ds18b20dom.value видно что записи как бы дублируются, то есть должно быть раз в 10 минут, а получается:
2017-04-25 08:10:17: 19,4 X
2017-04-25 08:00:48: 19,4 X
2017-04-25 08:00:45: 19,3 X
2017-04-25 08:00:45: 19,4 X
2017-04-25 08:00:41: 19,3 X
2017-04-25 07:10:07: 19,3 X
2017-04-25 07:00:17: 19,2 X
2017-04-25 06:10:19: 19,2 X
2017-04-25 06:10:15: 19,1 X
2017-04-25 06:10:12: 19,2 X
2017-04-25 06:10:08: 19,1 X
2017-04-25 06:00:08: 19,1 X
2017-04-25 05:50:17: 18,9 X
2017-04-25 05:50:07: 18,9 X
2017-04-25 05:40:17: 18,8 X
2017-04-25 05:40:14: 18,8 X
2017-04-25 05:40:10: 18,7 X
Даже если запустить в ручную сценарий, все равно не одна запись добавляется а две, три и тд.
В чем может быть беда, проблема?
Разобрался:
Сам объект ds18b20dom в нем:
Название:* ds18b20dom
Класс:* STempSensors
Описание: Датчик температуры в доме
Выделенное делать не надо
В методах:
SSensors-> valueUpdated *
выполнить сценарий Датчик.
А значение температуры совпадает 99% потому что просто не изменилось.
Думаю так.
Отправлено с моего Redmi Note 3 через Tapatalk
В методах:
SSensors-> valueUpdated *
повторно выполнялся сценарий датчики.
Этот сценарий снимает показания с датчиков каждые 10 минут, через крон.
А метод просто вызывал его заново. Вот от сюда и дубли.
Сейчас исправил вроде работает
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
-
- Сообщения: 154
- Зарегистрирован: Чт апр 20, 2017 5:32 am
- Откуда: Томск
- Благодарил (а): 55 раз
- Поблагодарили: 22 раза
Re: Опрос ds18b20 + Raspberry (GPIO)
В очередной раз снес сервер
И так в помощь людям, кто захочет реализовать опрос температурных датчиков ds18b20 подключенных к Raspbbery Pi 2 к GPIO.
Реализовал у себя следующим образом:
1. Создаем Объект: DS18B20;
2. В свойствах добавляем:
DS18B20.дом - здесь или сюда будут вноситься показания с наших датчиков, .дом - температура в доме и т.д.
DS18B20.улица
DS18B20.обратка
DS18B20.подача
DS18B20.updatedTime
3. Создаем сценарий 1-wire :
4. Код - Использовать для программирования PHP:
5. Добавляем в Cron.
И так в помощь людям, кто захочет реализовать опрос температурных датчиков ds18b20 подключенных к Raspbbery Pi 2 к GPIO.
Реализовал у себя следующим образом:
1. Создаем Объект: DS18B20;
2. В свойствах добавляем:
DS18B20.дом - здесь или сюда будут вноситься показания с наших датчиков, .дом - температура в доме и т.д.
DS18B20.улица
DS18B20.обратка
DS18B20.подача
DS18B20.updatedTime
3. Создаем сценарий 1-wire :
4. Код - Использовать для программирования PHP:
Код: Выделить всё
$file = '/sys/bus/w1/devices/28-00000634bdbe/w1_slave'; - меняем на свои датчики.
$file1 = '/sys/bus/w1/devices/28-000006477cb8/w1_slave';
$file2 = '/sys/bus/w1/devices/28-031466a202ff/w1_slave';
$file3 = '/sys/bus/w1/devices/28-0314669f7aff/w1_slave';
$lines = file($file);
$lines1 = file($file1);
$lines2 = file($file2);
$lines3 = file($file3);
$temp = explode('=', $lines[1]);
$temp1 = explode('=', $lines1[1]);
$temp2 = explode('=', $lines2[1]);
$temp3 = explode('=', $lines3[1]);
$temp = number_format($temp[1] / 1000, 1, ',', '');
$temp1 = number_format($temp1[1] / 1000, 1, ',', '');
$temp2 = number_format($temp2[1] / 1000, 1, ',', '');
$temp3 = number_format($temp3[1] / 1000, 1, ',', '');
sg('DS18B20.value', "1");
sg('DS18B20.улица',$temp1);
sg('DS18B20.дом',$temp2);
sg('DS18B20.подача',$temp);
sg('DS18B20.обратка',$temp3);
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
-
- Сообщения: 1138
- Зарегистрирован: Вт янв 29, 2013 9:16 am
- Откуда: Белозерск
- Благодарил (а): 16 раз
- Поблагодарили: 400 раз
- Контактная информация:
Re: Опрос ds18b20 + Raspberry (GPIO)
Зачем такие танцы с бубном? чем не устраивает owfs?
просто в owfs.conf добавляем:
server: w1
и подключаем в МД стандартным способом
просто в owfs.conf добавляем:
server: w1
и подключаем в МД стандартным способом
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
-
- Сообщения: 154
- Зарегистрирован: Чт апр 20, 2017 5:32 am
- Откуда: Томск
- Благодарил (а): 55 раз
- Поблагодарили: 22 раза
Re: Опрос ds18b20 + Raspberry (GPIO)
А разве owfs работает с датчиками подключенными через GPIO, без Мастера 1-wire сети? В OpenHab пытался сделать не получилось...immortal писал(а):Зачем такие танцы с бубном? чем не устраивает owfs?
просто в owfs.conf добавляем:
server: w1
и подключаем в МД стандартным способом
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.