Подключение цифровых датчиков
Re: Подключение цифровых датчиков
https://photos.app.goo.gl/VLd1SSoL7YwTyGL19
https://photos.app.goo.gl/iae5nhzzmhqyBHKf9
https://photos.app.goo.gl/yQfAx7BcfgeAwCqw8
что делать ума не приложу...а есть вариант как проверить датчик?
https://photos.app.goo.gl/iae5nhzzmhqyBHKf9
https://photos.app.goo.gl/yQfAx7BcfgeAwCqw8
что делать ума не приложу...а есть вариант как проверить датчик?
Re: Подключение цифровых датчиков
У вас к P30 (SCL) ничего не подключено.
Черный провод подключен не к P30, а к GND, судя по обозначениям на модуле.
По поводу расположения джамперов - это к производителю данных модулей. У нас нет информации на этот счет.
Черный провод подключен не к P30, а к GND, судя по обозначениям на модуле.
По поводу расположения джамперов - это к производителю данных модулей. У нас нет информации на этот счет.
Re: Подключение цифровых датчиков
может есть датчики менее геморные в подключении?
Re: Подключение цифровых датчиков
в порте который SCL нет выбора датчика...если выбираешь SCL , то все ничего больше не появляется
https://photos.app.goo.gl/RxTFJKZE7wupTYRt8
насчет допиленой не скажу...Я недавно прошивал, то инструкция и ссылки были с этого сайта. Работает все кроме этого долбаного датчика
Re: Подключение цифровых датчиков
На тех фотографиях, что вы публиковали, ни разу не было видно корректного подключения к портам P30 и P31.
Очень трудно запутаться в 4-х проводах, но, выходит, возможно...
У порта, настроенного как SCL, ничего и не должно "появляться". Это линия тактирования, и она может быть общей для нескольких I2C-устройств.
Никакой допиленной прошивки не существует. Попробуйте обратиться за саппортом к производителю и продавцу этого модуля. Возможно, вопрос решится быстрее.
Очень трудно запутаться в 4-х проводах, но, выходит, возможно...
У порта, настроенного как SCL, ничего и не должно "появляться". Это линия тактирования, и она может быть общей для нескольких I2C-устройств.
Никакой допиленной прошивки не существует. Попробуйте обратиться за саппортом к производителю и продавцу этого модуля. Возможно, вопрос решится быстрее.
Re: Подключение цифровых датчиков
По фото ж видно что p30 не подключен.
Re: Подключение цифровых датчиков
Доброй ночи. Подключил таки Я BME/BMP280 к моноблоку 2561, показывает температуру и влажность...привязал в мажордомо к свойству в комнате...
Вопрос: как часто MegaD опрашивает датчик?(если вообще опрашивает)
P.S.большое спасибо всем кто тыкал меня носом в мои ошибки, при подключении
Вопрос: как часто MegaD опрашивает датчик?(если вообще опрашивает)
P.S.большое спасибо всем кто тыкал меня носом в мои ошибки, при подключении
Re: Подключение цифровых датчиков
а как вы опрашиваете эти датчики? Как я понимаю в мажордомо метод и с цыкла потом опрос...но не грузит ли это малину(на которой сервер) и как часто считается адекватным опрашивать?
Или мега сама опрашивает, но как часто? есть где то описание?
Или мега сама опрашивает, но как часто? есть где то описание?
Re: Подключение цифровых датчиков
Все правильно понимаете. Опрашивать датчики чаще, чем раз в 5 минут вряд ли имеет смысл. Чтобы, к примеру, получить значение влажности с вашего BMP280, в методе должно быть:
Код: Выделить всё
$Hum = file_get_contents("http://192.168.0.14/sec/?pt=31&scl=30&i2c_dev=bmx280&i2c_par=2");
setGlobal('Имя_вашего_объекта.Имя_вашего_свойства_для_влажности', $Hum);
Код: Выделить всё
if ($m%5 == 0) {callMethod("Имя_вашего_объекта.Имя_метода");}
Мега может быть внутри себя что-то и опрашивает (например, чтобы значение выдать сразу по запросу сервера, не дожидаясь ответа датчика), но для нас главное, что без запроса сервера Мега "вовне" эти значения не передает.
Re: Подключение цифровых датчиков
Спасибо за толкование. Вот теперь знаю что делать:) Спасибо!!!Ruslan писал(а): ↑21 окт 2019, 10:12Все правильно понимаете. Опрашивать датчики чаще, чем раз в 5 минут вряд ли имеет смысл. Чтобы, к примеру, получить значение влажности с вашего BMP280, в методе должно быть:Для запуска этого метода раз в 5 минут можете записать в «onNewMinute» (Панель управления --> ОБЪЕКТЫ --> Объекты --> [класс] Timer --> ClockChime --> onNewMinute) такой код (ниже строки «$m=date('i',time());»)Код: Выделить всё
$Hum = file_get_contents("http://192.168.0.14/sec/?pt=31&scl=30&i2c_dev=bmx280&i2c_par=2"); setGlobal('Имя_вашего_объекта.Имя_вашего_свойства_для_влажности', $Hum);
Для сервера все это не является серьезной нагрузкой. Основная нагрузка будет ложиться на файловую систему и работу СУБД, если датчиков много. Но мало мальски производительный сервер должен легко с этим справиться.Код: Выделить всё
if ($m%5 == 0) {callMethod("Имя_вашего_объекта.Имя_метода");}
Мега может быть внутри себя что-то и опрашивает (например, чтобы значение выдать сразу по запросу сервера, не дожидаясь ответа датчика), но для нас главное, что без запроса сервера Мега "вовне" эти значения не передает.
Re: Подключение цифровых датчиков
надо сдесь на сайте, делать базу знаний, как на мажордомо форуме, или телеграм канал (хотя бы) Я так понимаю такие детские вопросы как у меня часто возникают...а вот ответ на них тому кто только начинает найти ой как не легко
Re: Подключение цифровых датчиков
попробывал на основе вашего совета создать общий метод( родительский класс)Ruslan писал(а): ↑21 окт 2019, 10:12Все правильно понимаете. Опрашивать датчики чаще, чем раз в 5 минут вряд ли имеет смысл. Чтобы, к примеру, получить значение влажности с вашего BMP280, в методе должно быть:Для запуска этого метода раз в 5 минут можете записать в «onNewMinute» (Панель управления --> ОБЪЕКТЫ --> Объекты --> [класс] Timer --> ClockChime --> onNewMinute) такой код (ниже строки «$m=date('i',time());»)Код: Выделить всё
$Hum = file_get_contents("http://192.168.0.14/sec/?pt=31&scl=30&i2c_dev=bmx280&i2c_par=2"); setGlobal('Имя_вашего_объекта.Имя_вашего_свойства_для_влажности', $Hum);
Для сервера все это не является серьезной нагрузкой. Основная нагрузка будет ложиться на файловую систему и работу СУБД, если датчиков много. Но мало мальски производительный сервер должен легко с этим справиться.Код: Выделить всё
if ($m%5 == 0) {callMethod("Имя_вашего_объекта.Имя_метода");}
Мега может быть внутри себя что-то и опрашивает (например, чтобы значение выдать сразу по запросу сервера, не дожидаясь ответа датчика), но для нас главное, что без запроса сервера Мега "вовне" эти значения не передает.
Метод родителского класса с кодом:
$Hum = file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('pt')."&scl=".$this->getProperty('scl')."&i2c_dev=bmx280&i2c_par=2");
$Temp = file_get_contents("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('pt')."&scl=".$this->getProperty('scl')."&i2c_dev=bmx280&i2c_par=1");
$linkr=$this->getProperty('linkedRoom');
sg("$linkr.temperature",$Temp);
sg("$linkr.humidity",$Hum);
в свойствах указаны ip, pass, pt, scl
но эта скотина почему то выводит не 2 значения, а весь интерфейс датчика:(
https://photos.app.goo.gl/EUDKec7MxizyKapT7
где ошибка?
Re: Подключение цифровых датчиков
На первый беглый взгляд синтаксис вроде правильный. Но есть ощущение, что присутствует ошибка в части строки после параметра "pt". Поэтому и возникает такой эффект, вместо считывания значения с датчика.
Возможно, в свойство "scl" вписаны некорректные данные.
Попробуйте для выяснения причины посмотреть на формируемый запрос, временно добавив say:
Код: Выделить всё
say("http://".$this->getProperty('ipAddress')."/".$this->getProperty('Password')."/?pt=".$this->getProperty('pt')."&scl=".$this->getProperty('scl')."&i2c_dev=bmx280&i2c_par=2");
Вот эту полную строку запроса нужно выполнить из адресной строки браузера. Сразу будет видно, есть ошибка или нет.
А потом надо сравнить эту строку с эталонной ("http://192.168.0.14/sec/?pt=31&scl=30&i ... &i2c_par=2"), разумеется, с поправкой на значения ваших свойств.
Отладка она такая... Ошибка обязательно куда-нибудь вкрадется....