Требуется написание кода эмулятора 1-wire

olegww
Offline
Зарегистрирован: 12.10.2015

Доброго дня!

Задача:

Написать код программы для эмуляции датчика влажности и температуры DS1923 по интерфейсу 1-wire, передаваемые данные должны браться с датчика dht22 и передаваться в 1-wire виде DS1932.

Почему DS1923?

Принимающее устройство адаптированно для интерпретации данных именно с этой модели.

Код из примера библиотеки onewire в чистом виде при тестировании передает данные и читается устройством как 2 температурных датчика, хотя DS18B20 в адаптации не заявлена, возможно он может послужить основой, нужно пробовать. Основной упор на влажность. Как вариант можно сменить адресность битов температуры на влажность из DS18B20, или Ваш вариант.

fridgetester
fridgetester аватар
Offline
Зарегистрирован: 09.02.2019
olegww
Offline
Зарегистрирован: 12.10.2015

Спасибо за выполненную работу, исполнено быстро и в лучшем виде!

-NMi-
Offline
Зарегистрирован: 20.08.2018

Пасаны, объясните мне тупому, где тут логика? Датчик ОРИГИНАЛЬНЫЙ стоит от 2500 и в гору. Средняя цена в розницу в России ~5000р. При этом он компактен и с батарейкой и на 8 лет гарантии. Зачем такой "колхоз" из дурдуины???

olegww
Offline
Зарегистрирован: 12.10.2015

-NMi- пишет:

Пасаны, объясните мне тупому, где тут логика?

Простая математика, датчиков нужно 300 шт. И как выяснилось в процессе, 1923 не совместим.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

olegww пишет:

-NMi- пишет:

Пасаны, объясните мне тупому, где тут логика?

Простая математика, датчиков нужно 300 шт. И как выяснилось в процессе, 1923 не совместим.

итого по самым скромным подсчётам экономия в 10тыг

olegww
Offline
Зарегистрирован: 12.10.2015

ua6em пишет:

olegww пишет:

-NMi- пишет:

Пасаны, объясните мне тупому, где тут логика?

Простая математика, датчиков нужно 300 шт. И как выяснилось в процессе, 1923 не совместим.

итого по самым скромным подсчётам экономия в 10тыг

Для ваших расчетов подойдет вторая часть предложения

olegww пишет:

И как выяснилось в процессе, 1923 не совместим.

-NMi-
Offline
Зарегистрирован: 20.08.2018

olegww пишет:

И как выяснилось в процессе, 1923 не совместим.

Опять не понял? Зачем писать эмулятор если  эмулируемый  не совместим?

olegww
Offline
Зарегистрирован: 12.10.2015

-NMi- пишет:

olegww пишет:

И как выяснилось в процессе, 1923 не совместим.

Опять не понял? Зачем писать эмулятор если  эмулируемый  не совместим?

Это выяснилось уже в процессе работы над задачей, 1923 исключили из совместимых. И получилось так что никакой датчик влажности не был совместим. Без эмуляции никак не обойтись в этом случае. В итоге задача решена так что, датчик влажности притворился температурным со своим адресом, показания которого интерпретируются программными средствами в влажность.

-NMi-
Offline
Зарегистрирован: 20.08.2018

olegww пишет:

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

Мне вот интересно, мошт вы курите чо или закидываете чото, мошт экология у вас там ниаллё...

Это повод для блога. Я жду для почитать и поскорее. Мой плоский мозг не понимает, зачем эмулировать датчик температуры и влажности да ещё несовместимый с системой, чтобы тот "прикинулся" другим датчиком с другими единицами измерения да и ещё с другим идентификатором на шине???

Фраза из к/ф MIB: - интересная у вас тут работа.

olegww
Offline
Зарегистрирован: 12.10.2015

-NMi- пишет:

Мне вот интересно, мошт вы курите чо или закидываете чото, мошт экология у вас там ниаллё...

Это повод для блога. Я жду для почитать и поскорее. Мой плоский мозг не понимает, зачем эмулировать датчик температуры и влажности да ещё несовместимый с системой, чтобы тот "прикинулся" другим датчиком с другими единицами измерения да и ещё с другим идентификатором на шине???

Фраза из к/ф MIB: - интересная у вас тут работа.

Сэмулировали температурный совместимый с подменой показаний на влажность

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

olegww пишет:

Сэмулировали температурный совместимый с подменой показаний на влажность

[/quote]

а почему бы не сэмулировать оригинальный датчик влажности?

olegww
Offline
Зарегистрирован: 12.10.2015

andycat пишет:

olegww пишет:

Сэмулировали температурный совместимый с подменой показаний на влажность

а почему бы не сэмулировать оригинальный датчик влажности?

Девайс не поддерживает ни одного датчика влажности

-NMi-
Offline
Зарегистрирован: 20.08.2018

olegww пишет:

Сэмулировали температурный совместимый с подменой показаний на влажность

Дык там ID у температурного !!!=== ID у влажностного ну априори никак! Да, серийку ты ему "скормишь", контрольку посчитаешь  --- но! неужели "устройство" настолько "тупОе" , что не отличает по ID ху-ис-ху на шине???

Жаль, я не курю, а так охота...

-NMi-
Offline
Зарегистрирован: 20.08.2018

olegww пишет:

Девайс не поддерживает ни одного датчика влажности

А эмулировать нажно именно датчик влажность, ну, так в ТЗ написано, вроде...

olegww
Offline
Зарегистрирован: 12.10.2015

-NMi- пишет:

olegww пишет:

Сэмулировали температурный совместимый с подменой показаний на влажность

Дык там ID у температурного !!!=== ID у влажностного ну априори никак! Да, серийку ты ему "скормишь", контрольку посчитаешь  --- но! неужели "устройство" настолько "тупОе" , что не отличает по ID ху-ис-ху на шине???

Жаль, я не курю, а так охота...

Я не программист, но это работает.

Дак, изыщите покурить же для себя, коль хочется...

olegww
Offline
Зарегистрирован: 12.10.2015

-NMi- пишет:

olegww пишет:

Девайс не поддерживает ни одного датчика влажности

А эмулировать нажно именно датчик влажность, ну, так в ТЗ написано, вроде...

Т.з. получилось в итоге такое:

Ардуино + любой из этих SHT21, HTU21D, Si70xx, эмулирует DS18B20, но вместо показаний температуры передает влажность.

b707
Offline
Зарегистрирован: 26.05.2017

olegww пишет:

Т.з. получилось в итоге такое:

Ардуино + любой из этих SHT21, HTU21D, Si70xx, эмулирует DS18B20, но вместо показаний температуры передает влажность.

"Закат знаешь? Розовый такой? - так вот, прям как закат, только зеленый!"

варианта два - либо заказчик и исполнитель обкурились,  либо на самом деле никто ничего не эмулировал и это заказной отзыв исполнителя

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

b707 пишет:

olegww пишет:

Т.з. получилось в итоге такое:

Ардуино + любой из этих SHT21, HTU21D, Si70xx, эмулирует DS18B20, но вместо показаний температуры передает влажность.

"Закат знаешь? Розовый такой? - так вот, прям как закат, только зеленый!"

варианта два - либо заказчик и исполнитель обкурились,  либо на самом деле никто ничего не эмулировал и это заказной отзыв исполнителя

Как говорил Высоцкий Говорохину про Михалкова, врёт же, но как складно, как складно )))

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

b707 пишет:

"Закат знаешь? Розовый такой? - так вот, прям как закат, только зеленый!"

варианта два - либо заказчик и исполнитель обкурились,  либо на самом деле никто ничего не эмулировал и это заказной отзыв исполнителя

А я вот понял о чем они. Сам такую хрень лепил лет 10 назад. И у исполнителя похоже уже было что то заготовлено, ну или взято откуда то :) 

Хрена себе, он за 4 рубля 20 дней трудился :) Убицца :)

sadman41
Offline
Зарегистрирован: 19.10.2016

Психометр эмулировали что ли?

fridgetester
fridgetester аватар
Offline
Зарегистрирован: 09.02.2019

Да, тут сразу видно кто лох, а у кого ещё что-то в башке осталось. Тупым ничо не понятно и поэтому для них либо все врут либо либо обкурились.

Объясню в первый и в последний раз для любопытствующих:

В документации к ПО(точнее к системе, ибо это девайс плюс софт для пека) для которого делался эмулятор была заявлена поддержка одного и только одного типа датчика влажности  - DS1923. Когда я сделал его эмулятор, то при тестировании заказчик выяснил что нихрена не работает, хотя у меня при проверке в совсем другом опенсоурс ПО датчик прекрасно определялся и выдавал нужные данные.

Когда заказчик обратился к изготовителям используемого им ПО(а это российское ПО, ха-ха) выяснилось, что поддержка DS1923 в новых версиях была давно выпилена и хз знает почему, но в документации вычистить инфу касающуюся этого датчика почему-то забыли(ха-ха) и на их сайте до сих пор можно прочитать о поддержке данного датчика их системой. Помочь с этой проблемой они ему не смогли и тогда он попросил меня сделать эмулятор DS18B20(датчик температуры, который это ПО поддерживает и в новых своих версиях) в котором под видом значений температуры хосту передается влажность, считанная ардуинкой с датчика влажности HTU21D.

Для совсем тупых: теперь купленное заказчиком ПО в поле температура на самом деле показывает влажность. Так захотел заказчик.

И да, задача решена давно, просто заказчик почему-то решил отписаться только сейчас.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

fridgetester пишет:

Да, тут сразу видно кто лох, а у кого ещё что-то в башке осталось. Тупым ничо не понятно и поэтому для них либо все врут либо либо обкурились.

Объясню в первый и в последний раз для любопытствующих:

В документации к ПО(точнее к системе, ибо это девайс плюс софт для пека) для которого делался эмулятор была заявлена поддержка одного и только одного типа датчика влажности  - DS1923. Когда я сделал его эмулятор, то при тестировании заказчик выяснил что нихрена не работает, хотя у меня при проверке в совсем другом опенсоурс ПО датчик прекрасно определялся и выдавал нужные данные.

Когда заказчик обратился к изготовителям используемого им ПО(а это российское ПО, ха-ха) выяснилось, что поддержка DS1923 в новых версиях была давно выпилена и хз знает почему, но в документации вычистить инфу касающуюся этого датчика почему-то забыли(ха-ха) и на их сайте до сих пор можно прочитать о поддержке данного датчика их системой. Помочь с этой проблемой они ему не смогли и тогда он попросил меня сделать эмулятор DS18B20(датчик температуры, который это ПО поддерживает и в новых своих версиях) в котором под видом значений температуры хосту передается влажность, считанная ардуинкой с датчика влажности HTU21D.

Для совсем тупых: теперь купленное заказчиком ПО в поле температура на самом деле показывает влажность. Так захотел заказчик.

И да, задача решена давно, просто заказчик почему-то решил отписаться только сейчас.

некая российская фирма некое российское ПО, ты прямо напиши какое ПО и кто эти говнюки, рубящие бабло на заказчиках, я бы лично затребовал назад свои денежки, а по ПО обратился бы к Деду...

...и нелогично, обычно расширяют перечень устройств, а не выпиливают, но в этом эксперт Садман41, он много с чем сталкивается по работе...

fridgetester
fridgetester аватар
Offline
Зарегистрирован: 09.02.2019

Чё за контора и чё за ПО я писать не буду - эта информация ничего не изменит.

А насчёт перечня устройств - я полагаю что выпилили поддержку этого датчика, так как он очень старый, мало распространённый и я думаю больше не выпускается. По крайней мере сейчас цена на него 150$ и хрен его где купишь даже по такой цене. Как я понял в текущих версиях ПО они перешли на другой датчик влажности(какой-то дешёвый китайский), но он подключается по другому интерфейсу(485), а не 1-wire. Можно конечно и его эмулятор сделать, но это совсем другая история...

b707
Offline
Зарегистрирован: 26.05.2017

fridgetester пишет:

Да, тут сразу видно кто лох, а у кого ещё что-то в башке осталось. Тупым ничо не понятно и поэтому для них либо все врут либо либо обкурились.

Насчет "все врут" я конечно погорячился, ради фейкового отзыва ты конечно придумал бы историю поскладнее :)) Так что извиняюсь.

А то что написал два разных эмулятора за 4 тыщи - это конечно сильно. Мне с год назад за эмуляцию DS18B20 предлагали пятнашку - я не взялся....

fridgetester
fridgetester аватар
Offline
Зарегистрирован: 09.02.2019

И тут не в точку. За 4к я написал эмулятор DS1923(который в итоге не понадобился) на основе уже имеющегося эмулятора DS18B20(читаем внимательно первый пост тс, там есть ссылка).

Я смотрю любит тут народ изобретать велосипеды за 15к, с нуля, без костылей и на честно-чистом, как завещала тётя из белояичинска.

olegww
Offline
Зарегистрирован: 12.10.2015

b707 пишет:

olegww пишет:

Т.з. получилось в итоге такое:

Ардуино + любой из этих SHT21, HTU21D, Si70xx, эмулирует DS18B20, но вместо показаний температуры передает влажность.

"Закат знаешь? Розовый такой? - так вот, прям как закат, только зеленый!"

варианта два - либо заказчик и исполнитель обкурились,  либо на самом деле никто ничего не эмулировал и это заказной отзыв исполнителя

Представляю как Вам тяжело. Не покурив не понять :)

olegww
Offline
Зарегистрирован: 12.10.2015

fridgetester пишет:

И да, задача решена давно, просто заказчик почему-то решил отписаться только сейчас.

Я написал не сразу т.к. ждал замену бракованных датчиков. Прислали на замену SI7021, все три отлично работают. Еще раз спасибо за работу!

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

fridgetester пишет:

И тут не в точку. За 4к я написал эмулятор DS1923(который в итоге не понадобился) на основе уже имеющегося эмулятора DS18B20(читаем внимательно первый пост тс, там есть ссылка).

Я смотрю любит тут народ изобретать велосипеды за 15к, с нуля, без костылей и на честно-чистом, как завещала тётя из белояичинска.

работа оценена, оплачена, может выложите код тогда?
PS мы радиолюбители обычно всё выкладываем...интересно же...

-NMi-
Offline
Зарегистрирован: 20.08.2018

ua6em пишет:

работа оценена, оплачена, может выложите код тогда?

Нинада ничо выкладывать!!!  Ты-ж вот частоту в чём измеряёшь? В Герцах? А будешь в Паскалях!!!

 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Да блин стандартная ситуация. Есть термоконтролер который понимает сеть термодатчиков. И ничего другого. А ведь хочется и кнопку прикрутить и давление и таймеры. Термоконтролер этот только может температуры сравнивать , и по результатам релюхи дергать. Вот к нему такие эмуляторы и приходится делать. 

Есть в тырнете куча всяких ванваре эмуляторов, но глюююючные они все :))) До смеха. А тут надежность важна, а то теплоаккумулятор закипит, или пластиковые трубы потекут :) Вот и пришлось писать эмуляторы всякие. Правда не в ардуино IDE я это делал, тогда ардуино еще не было. Но для авр, это точно помню. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

-NMi- пишет:

ua6em пишет:

работа оценена, оплачена, может выложите код тогда?

Нинада ничо выкладывать!!!  Ты-ж вот частоту в чём измеряёшь? В Герцах? А будешь в Паскалях!!!

мне же не измерять, мне идеологию посмотреть, для расширения кругозора )))