Опрос ds18b20 + Raspberry (GPIO)

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение nick7zmail » Чт апр 20, 2017 11:13 am

neromih писал(а): Что я мог упустить?
say($temp); добавьте пока...проверить...вдруг температура уже потерялась где нить)) потом, как настроете - можно убрать будет.

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

$file = '/sys/bus/w1/devices/28-00000634bdbe/w1_slave';
$lines = file($file);
$temp = explode('=', $lines[1]);
$temp = number_format($temp[1] / 1000, 0, ',', '');
say($temp); 
sg('ds18b20.Temp',$temp); 
Посмотрите в панели управления->объекты->ваш_класс->ваш_объект->Свойства - есть ли свойство Temp и записалась ли в него температура...

В типе выберите не объект, а label (Надпись)
И в название можно что то типа "Температура %ds18b20.Temp% °С"
За это сообщение автора nick7zmail поблагодарил:
neromih (Чт апр 20, 2017 12:04 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение neromih » Чт апр 20, 2017 12:09 pm

Спасибо Вам всем кто участвовал в данной теме!
Постараюсь сделать инструкцию и сюда выложить с картинками :)
Просто я новичок в этом деле, вдруг кому облегчу жизнь.
Спасибо всем еще раз за помощь!!!
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
Аватара пользователя
slgeo
Сообщения: 551
Зарегистрирован: Чт фев 05, 2015 2:35 pm
Откуда: РнД
Благодарил (а): 139 раз
Поблагодарили: 74 раза

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение slgeo » Чт апр 20, 2017 12:43 pm

Самое сложное ты уже написал, недоставало простого )
Raspberry Pi2 Model B + NRF24L01 (MySensors) + 1-Wire + Esp8266 (WiFi-IoT)
CONNECT
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение lanket » Чт апр 20, 2017 1:03 pm

neromih писал(а):Создал Объект - ds18b20:
Название: ds18b20
Класс: STempSensors
Описание: тест датчика
Методы: в STempSensors->Tempchanget:
Выполнить - Код - PHP

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

$file = '/sys/bus/w1/devices/28-00000634bdbe/w1_slave';
$lines = file($file);
$temp = explode('=', $lines[1]);
$temp = number_format($temp[1] / 1000, 0, ',', '');
sg('ds18b20.Temp',$temp); 
В меню управления:
Добавил новый объект:
Название %ds18b20.Temp%
Приоритет 90
Тип Объект
Период обновления 10 сек
Связанный объект ds18b20 - тест датчика.
В результате выводит надпись - Датчик.

Что я мог упустить?
Наоборот.
Метод Tempchanget вызывается сам при изменении значения свойства temp

Приведенных код php вам надо не в этот метод а лучше в сценарий который создадите для этой цели.
На в моделуле Cron пропишите вызывать ваш сценарий каждые 3 минуты как хотели

В том сценарии можно прописать к примеру опрос и других датчиков, если планируется их больше.

И полностью согласен с предостережением предыдущего оратора shemnik69.

Отправлено с моего Redmi Note 3 через Tapatalk
За это сообщение автора lanket поблагодарил:
neromih (Чт апр 20, 2017 2:52 pm)
Рейтинг: 1.16%
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение neromih » Чт апр 20, 2017 5:29 pm

Еще раз спасибо Вам всем, не ожидал такой поддержки (я новичок). Спасибо!

Так вот мой мануал как можно реализовать опрос датчиков ds18b20 подключенных к Raspberry pi 2 через GPIO (4).


1. Создаем - СЦЕНАРИЙ:
Название: Датчик
Категория: Сенсоры
Описание: Тест датчика
Код: выбираем PHP (кружок).
Заполняем следующим текстом:

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

$file = '/sys/bus/w1/devices/28-00000634bdbe/w1_slave';
// 28-00000634bdbe - id датчик (у Вас он будет другой) меняем на свой.
$lines = file($file);

$temp = explode('=', $lines[1]);

$temp = number_format($temp[1] / 1000, 0, ',', '');
// форматируем полученное значение с округлением до целого числа (вроде так называются цифры 10, 23, и т.д.)
sg('ds18b20pod.Temp',$temp);
// назначаем место куда будут заноситься показания (спасибо большое slgeo) я это так понял.
можно написать сразу несколько подключенных датчиков, соотвественно будет $file1 (не забываем указать путь), $lines1, $temp1,

Далее: сохраняем.

2. Создаем объект:
Название: ds18b20obr (обратим внимание что в PHP он у нас есть - sg('ds18b20pod.Temp',$temp); , то есть можно еще подключить датчики ds18b20 и прописать их, к примеру: sg('ds18b20XXX.Temp',$temp); - где ХХХ любое имя которое нам нравится)
Класс: STempSensors
Описание: Датчик температуры котла (обратка) это описание моего датчика который прикреплен к обратки котла, у Вас он может быть в другом месте, и соответственно и описание его будет другое
Вкладка - Метод:
STempSensors-> Tempchanged - редактируем данный пункт.
Выбираем - Сценарий (кружоу) - из выпадающего списка - Датчик.
Сохраняем (хотя кнопка - Обновить)

3. Отображаем в меню.
Переходим в вкладку ОБЪЕКТЫ - далее Меню управления
Добавляем новый объект (нажимаем кнопку)
Название (*): Температура в доме %ds18b20obr.Temp% °C
Тип: Подпись
Период авто обновления: 15 сек.

4. Cron по совету lanket (ред. 21.04.2017)
Устанавливаем Cron в вкладке Маркет дополнений.
Переходим в вкладку (закладку) Cron
Добавляем новую запись
Enable - ставим галку
Title * - пишем - Датчик
Description - пишем - Датчик
Crontab *- пишем - */3 * * * * (по крону очень много информации, данный вариант запускает каждые 3 минуты наш "скрипт?, команду?, опрос?"
Код: ставим галку Blockly.
Вставляем блок - запустить сценарий "Датчик"
Сохраняем.

У меня работает корректно и все отображает. Спасибо Всем за помощь. Надеюсь кому-нибудь пригодится.
Последний раз редактировалось neromih Пт апр 21, 2017 4:17 am, всего редактировалось 2 раза.
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)

Сообщение lanket » Чт апр 20, 2017 5:54 pm

neromih писал(а):...
Так вот мой мануал как можно реализовать опрос датчиков ds18b20 подключенных к Raspberry pi 2 через GPIO (4).
.. .
В шапку (первый пост в этой ветке) пожалуйста добавьте ссылку с текстом РЕШЕНО на этот пост, чтобы другим было проще найти решение.

Отправлено с моего Redmi Note 3 через Tapatalk
Последний раз редактировалось lanket Чт апр 20, 2017 5:59 pm, всего редактировалось 1 раз.
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение nick7zmail » Чт апр 20, 2017 5:56 pm

Ссылку однозначно, а ещё модеров в конце/начале темы можно попросить подставить [Решено]
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение neromih » Чт апр 20, 2017 6:02 pm

Уважаемые lanket, nick7zmail нужно хотя бы день протестировать, и обязательно исправлю на - РЕШЕНО. Что то я засомневался в данном решении, в плане обновления... Завтра обязательно отпишусь.
Raspberry Pi2, Pi3, MegaD2561RTC + 14 in + 14R, WemosD1, Mega2560, Arduino nano v.3, Arduino Uno, ESP8266 12f.
neromih
Сообщения: 154
Зарегистрирован: Чт апр 20, 2017 5:32 am
Откуда: Томск
Благодарил (а): 55 раз
Поблагодарили: 22 раза

Re: Опрос ds18b20 + Raspberry (GPIO)

Сообщение neromih » Чт апр 20, 2017 6:19 pm

К сожалению не обновляет показания датчиков, обновляет только при запуске скрипта :( как решить?
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)

Сообщение lanket » Чт апр 20, 2017 6:31 pm

neromih писал(а):К сожалению не обновляет показания датчиков, обновляет только при запуске скрипта :( как решить?
Так в Модуль Cron надо прописать вызов этого скрипта каждые, к примеру, 3 минуты

Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Ответить