Нужна помощь на Arduino mini Pro (удаленно)
- Войдите на сайт для отправки комментариев
Ср, 20/05/2015 - 13:48
Нужен человек который поможет на Arduino mini Pro сделать и запустить проект по сбору данных с приборов учета воды.
Оплата обсуждаема.
Нужен аналог:
http://www.hobby-boards.com/store/products.php?product=Dual-Counter
суть - счет количества замыканий контактов и передача этих данных по протоколу 1-wire.
Если сработаемся есть возможность сотрудничества по другим коммерческим продуктам.
Вы пониамете, что услуги по написанию кода будут стоить в 3 - 5 раз больше, чем готоый аналог?
И вы уверены, что вам будет достаточно аналогичного устройства, которое подсчитывает импульсы и отдает их количество по 1-вайр? Куда вы потом хотите подключать эти устройства и как читать с них данные? Ведь, это уже другая задача и соответственно и ценник другой.
Ну честно говоря да понятно что готовое будет чуть дешевле. Но всего скорее не в 5 раз.
Идея ПО описана тут уже с сурцами: http://habrahabr.ru/post/232903/
По большей части нужен советчик который поможет запустить тот проект с Хабра. Грубо говоря. Ну и при необходимости модифицировать его.
По сути, там ни слова про 1-wire. Да и вообще зачем вам нужен 1-wire? Не проще ли сделать так как в той статье? Зачем эти извращения?
1-wire на Атмеге запускается на раз-два.
Почему 1-wire нужен?
1. Это умный дом - и есть много датчиков температуры далласовских они на 1wire цепляются.
2. Решение на полноценном эйзернете дороже существенно
3. с эйзернетом будет есть электричество и нет шансов запустить только счетчик только на батарейке
4. сложнее администрировать с эфзернетом
5. пассивный 1-wire работает по 1 витой паре, а не по 3 (2-м эйзернет + 1 питание)
ВОобще это особенность проекта и не хотелось бы распространяться в эту сторону. Требование и требование :)
А с чего вы взяли что ваша Arduino mini Pro будет работать в пассивном режиме или от батарейки?
А ну тогда не распространяйтесь. Только вот тогда вам никто ничего не сделает. Мне кажется вы не понимаете чего хотите. Хотите что бы сделали без обьяснения куда это и для чего, пишите подробное ТЗ. Тогда вам и ценник более конкретный назовут.
http://owfs.org/index.php?page=ds2423
подробное описание что и как передавать по 1wire. Еще более подробно: http://www.maximintegrated.com/en/products/comms/one-wire/DS2423.html
Я не хочу распространяться в таком ключе:
Зачем эти извращения? (с)
это не извращения - это требования ТЗ и аргументацию всю выкладывать и расписывать возможно и нет желания. Да и я считаю она не нужна. Требование 1-wire не обсуждается, к сожалению или счастью.
Вообще говоря мне нужен исполнитель целиком, который сможет помочь запустить созданный проект на Pro mini.
Есть такая компания - тиграэлектроникс, я давно и успешно использую их 30 канальный прибор , именно с водосчетчиками. Информацию забираю по http. Есть вэб интерфейс. Прибор стоит 11000 руб. Сильно доволен.
Мне кажется, что 350 руб за канал это просто даром.
http://tigra-electronic.com/peredacha_schetchikov.html
Спасибо за наводку, но это совершенно не годится ни по цене, ни по назначению. Нужна разработка на Arduino Pro mini.
У меня дома 2 стояка по 2 прибора - 4 канала и больше не надо. Для домашнего использования это мягко говоря перебор 11 тыс руб.
Ну тогда жалаю вам найти исполнителя, который вам за 3000 р. разработает устройство с пассивным питанием (или на батарейке и что бы работало предпологаю не меньше года), с 1-wire интерфейсом, поможет интегрировать его вам там куда-то о чем вы не хотите говорить. Да еще и доработает ваш проект.
Вы перечитайте сначала ТЗ.
1. Требования явного нет и не было про пассивное питание. Оно может появится в дальнейшем, если сработаемся. И в рамках другого взаимодействия.
2.Интегрировать я никого не просил.
У вас нет ТЗ, поэтому не могу его прочитать, то что выше называется абстрактной хотелкой.
Если нужен не аналог того что вы предвставили выше и не нужно никуда интегрировать, а нужен код, то это будет выглядеть следующим образом.
1. Код для Arduino mini Pro, который на двух выводах считает импульсы и при запросе отдает текущее количество импульсов.
2. Код для второй ардуины, как пример использования, чтение счетчиков импульсов и вывод в сериал монитор.
Если вас такаое решение устроит, то это может стоить 3000р.
Гыыы очередной развод. Конкурс не получился. Так решил наладить выпуск счетчиков на 1wire? Щас выясниться что он расситывает на 200 рублей...
Максим, ну это совсем другое дело. Что ж Вы сразу с конструктива то не начали. А что будет с ценой если добавить 1-wire?
Второй пункт Вашего ТЗ можно выкинуть и заменить на 1wire или сделать для отладки только. 1wire нужен 100% это ключ к интеграции, под него есть уже серверная часть которая строит графики, таблички и тп.
Я на предложенном варианте уже сделал у себя дома, хочу родителям сделать второй раз, но ребята из ХоббиБордс то ли совсем перестали продавать всё толи это временные сложности с оплатой. В итоге их купить нельзя! :( я бы наверное купил да и все. Для разовой инсталляции Вы правы проще купить было бы.
Речь шла про 1вайр, второй пункт вы не выкинете, так как без него вы не будете знать как опрашивать устройство.
Я ж написал, если это необходимо можно и оставить. Чего такго то в 1wire? сложности с ним какие то? документирован не плохо. Библиотеки по крайней мере в AVR Studio есть под него.
... я так понял, что у Вас есть сервер с какими то линуксами и на нем поднят LAMP и OWFS . Вы получаете в папки-файлы регистры от DS18B20, читаете их перловым или пЭхЭрЭшным скриптом и используете далее мисклом или апачем, или и тем и другим. И у Вас СЧАСТИЕ. Потому в те же файлы и папки Вы хотите получать счет от счетчиков. Потому Вам надо полностью эмулировать на ПроМини слэйв ванваре, чтобы OWFS правильно с ним взаимодействовала. Вот Ваша основная задача и она отнюдь не бытовая. И больше не рассказывайте сколько у Вас стояков.
А ловить и считать имульсы это не задача а так, разминка для хвоста.
Кстати, получилось ли у Вас в OWFS запускать отсчет для всех DS18b20, ждать ОДИН РАЗ 750мс и потом опрашивать подряд, или Вы на каждое значение тратите по 750мс. Решили ли Вы пролему длинной линии ванваре и ошибки 85 на длинной линии ?
Я сначала хотел замутиться тем же, что пытаетесь получить ВЫ, но потом решил задачу ПульсХабом. И опрос таким же скриптом, только с другого интерфейса.
Я не понимаю чего Вы так цепляетесь за 1wire slave так? лично Вы этого не делали? или делали но есть существенные сложности?
Просто есть же уже реализации, например:
http://pjrc.com/teensy/td_libs_OneWire.html
У меня 5 датчиков всего и 1 счетчик от HobbieBoards. Даже если 750мс надо ждать это - 4.5 секунды. Меня это никак не трогает. Я взял OWFS, смонтировал его в /mnt/1wire и все что там происходит мне непременно нравится и устраивает. Глубоко я не копал.
Уже есть готовое приложение для Android, есть веб мордочка вот такая:
http://joxi.ru/823nlpYubE0amO
Все это трогать не хочется совсем.
1. Код для Arduino mini Pro, который на двух выводах считает импульсы и при запросе отдает текущее количество импульсов.
2. Код для второй ардуины, как пример использования, чтение счетчиков импульсов и вывод в сериал монитор.
Второй пункт Вашего ТЗ можно выкинуть и заменить на 1wire или сделать для отладки только. 1wire нужен 100% это ключ к интеграции, под него есть уже серверная часть которая строит графики, таблички и тп.
К чему был этот вопрос:wreckerov пишет:
???
Чего такго то в 1wire? сложности с ним какие то?
Вам не ясен смысл диалога выше? Вот тут:
1. Код для Arduino mini Pro, который на двух выводах считает импульсы и при запросе отдает текущее количество импульсов.
2. Код для второй ардуины, как пример использования, чтение счетчиков импульсов и вывод в сериал монитор.
речь шла про 1вайр.
А второй пункт нельзя уберать, не потому что так хочется, а потому что у разных устройств, которые общаются по 1-wire разные алгоритмы опроса. То есть второй пункт - это пример алгоритма опроса устройства по 1-wire.
То есть:
1. Код для Arduino mini Pro, который на двух выводах считает импульсы и при запросе отдает текущее количество импульсов по 1-wire.
2. Код для второй ардуины, как пример использования, чтение счетчиков импульсов по 1-wire и вывод в сериал монитор.
Все равно не понимаю... полагаю мы по разному воспринимаем слова: и вывод в сериал монитор.
Предыдущий оратор очень верно описал - мне нужен 1wire slave который уже через OWFS увидится стандартной для OWFS структурой. Это важно для интеграции.
ну и накал. прям диалог слепого с глухим (:
Пока драка не началась, позвольте слово сказать.
1wire протокол создан для общения ведущего и ведомого устройства. Ведущее устройство это контроллер а ведомое это спец. чип( микросхема). Для дуины есть библиотеки позволяющие симулировать работу этого чипа( в общем случаее), но в основном ПО ведущего устройства разрабатывается под какой нить индивидуальный (либо линейку) чип(ов) ( со своими особянностями ) и (что не мало важно) с защитой от устройств их симулирующих (для фискальности).
Если у вашеговедущего устройства в голове нет таких прибабахов то это один вопрос, а если есть то невыйдет ничего.
http://robocraft.ru/blog/arduino/302.html пример симуляции ведомого устройства. Я несколько раз делал, но в основном это танцы в бубном точно не за 3рубля.
Все равно не понимаю... полагаю мы по разному воспринимаем слова: и вывод в сериал монитор.
Я не знаю как вы понимаете эти слова, но у ардуины (платформа + IDE) без использования внешних дисплеев есть только один способ визуализировать данные - вывести их в сериал монитор. И это абсолютно не важно куда выводить данные и как их визуализировать, смысл второго пункта, показать как получить данные с устройства по 1-wire.
Предыдущий оратор очень верно описал - мне нужен 1wire slave который уже через OWFS увидится стандартной для OWFS структурой. Это важно для интеграции.
А по вашему когда речь идет о том что "и при запросе отдает текущее количество импульсов по 1-wire." то о чем идет речь? Как по вашему еще можно отдать данные по 1-wire? Естественно, что Arduino mini Pro будет работать как 1-wire slave устройство.
насколько я понял Автор имел ввиду следующее:
2 соедененных дуины.
1 дуина 1wire (slave)
2 дуина 1wire (master) c serial (для примера работы)
изв. мож что упустил, (столько воды налили) все читать лень было
У вас получился тот же самый разговор, вопрос кто глухой, а кто слепой. Разжевать что есть что не получилось. Именно так же это понял и я, но вот почему то этого не понимает Автор.
Такое впечатление, что ТС, читая предложение выдергивает знакомые слова, составляет из них свои предложения и дискутирует на эту тему, при этом игнорируя суть исходного предложения.
Как еще обьяснить человеку, что 2 пункт это пример опроса датчика???
Я так понял что вторая дуина ему нужна - только для примера (подтверждения) того что данные (пролетают) меж дуин по 1wire, и код качестве учебного пособия использования 1 дуины
Вы все верно поняли. Только вторую дуину он может и не использовать, а по примеру кода перенести алгоритм опроса туда куда ему там надо.
Ну ясн.
Мой первый пост об этом и был.
Протокол 1wire хорошо задокументирован, со стороны мастера, а со стороны slave (по типу дерзайте и вас получится).
Со стороны мастера легко определить с кем он общается с 1Wire чипом или с контроллерным устройством симулирующим работу чипа.
Если мастер позволяет себя обманывать (то есть он не фискальный или самодельный- что лучший вариант), то зная логику работы слейва можно либо симулировать его работу либо самому оную логику придумать. Но если мастер умный то извините.
2.Интегрировать я никого не просил.
Вы сможете в своем OWFS сделать примерно следующее?
насколько я понял Автор имел ввиду следующее:
2 соедененных дуины.
1 дуина 1wire (slave)
2 дуина 1wire (master) c serial (для примера работы)
изв. мож что упустил, (столько воды налили) все читать лень было
Нет, нет никаких 2-х arduino. Есть Linux машина, в ней контроллер 1wire, который собирает с 6 ведомых устройств данные. Нужна одна arduino которая будет выступать ведомым устройством 1wire.
В идеале создающая структуру подобную описанной в http://owfs.org/index.php?page=ds2423 для предоставления по факту доступа к counters.ALL и больше ни к чему. Если этот идеал сложно достигается то на что еще можно рассчитывать? Просто дорабатывать еще и OWFS не хотелось бы, хотя не исключаю такой необходимости.
Все страху нагоняют "не за 200 рублей" или "не за 3000 рублей". Вы скажите во сколько Вы эти трудозатраты оцениваете хотябы?
Ну и конкретно кто то из вышевысказавшихся готов ли взяться. Можно позвонить по телефону и обсужить уже давно все. А то мы занимаемся тут не понятно чем - клавиатуру мучаем.
На самом деле весь сыр бор из-за того что DS2423 снят с производства и сколь угодно близкой альтернативы нет.
Никто вам рабочего клиента 1wire не напишет :) Это вовсе не так просто как вам кажется. Вы, конечно можете притаскивать всякие библиотеки из хабров, но они не живые. Максимум получится эмулятор далласа, который будет работать через раз. Мастер на ардуино - без пролем, слейв - сильно дорого. Я сделал полный эмулятор DS18B20, проект стоил заказчику 150 тысяч рублей :) Ощущаете разницу с вашим карманом ?
Напишу эмулятор DS2423 за 150 000 рублей. Срок 1.5 месяца. Обсуждать будем ?
Колек о каком "умном" мастере Вы разговариваете ? Если досконально изучить алгоритмы и параметры аппаратного ванваре мастера, то эмулятор написать можно. Не просто, но данных в даташитах - достаточно. Можно сварганить такой эмулятор, что ни один мастер , будь он волшебный, не заметит подвоха. Это будет например Атмел, но точно без ардуино загрузчика и библиотек.
Я про тоже говорю, если мастер 5шт в день(по 200руб), а слейв это те еще пляски
проект стоил заказчику 150 тысяч рублей :) Ощущаете разницу с вашим карманом ?
Напишу эмулятор DS2423 за 150 000 рублей. Срок 1.5 месяца. Обсуждать будем ?
Странные Вы люди :) Я кому то что то конкретное тут предлагал? Тогда откуда выводы про "карман"?
Ваше предложение первое конкретное пока. Во-вторых цифра 150 выглядит, как попытка напугать, а не конструктивно обсудить ТЗ и решить задачу. Возможно и 150 адекватная цифра. Но она пока не аргументирована на понятном мне языке. Как мне кажется не обязательно писать именно эмулятор DS24323 - достаточно в OWFS в ЛЮБОМ формате показать данные со счетчиков.
Задача на практике простая - сделать счетчик дикретных сигналов и по 1wire собрать количество этих сигналов. пока на 2 канала. Цена счетчика в аппратной части не должна превышать 200 руб.
Если озвученные цифры выше будут аргументированны и в процессе обсуждения мы сойдемся что иначе никак, то придется думать о жизнеспособности этого проекта как коммерческого. Пока таких мыслей не было - просто домашнее баловство.
То что вы пишите, означает, что вы ни разу не видели ни один даташит, ни одного ванваре слейва. А если и видели, то только поверхностно.
Я никого не пугаю, даже не собирался. Я озвучил вам сроки, это не просто так. У меня есть готовый счетчик ванваре который выдает данные в формате термометра и я четко осознаю как не просто скрестить прерывания от источника импульсов и ванваре слейв. И это не единственная проблема. Нужны определенные приемы для обеспечения стабильности шины. То что я озвучил - реальное предложение с реальными сроками. Вы не понимаете чего хотите, а самое главное не понимаете как это сделать.
В общем, никого вы не найдете.
А знаете почему оно первое конкретное? Потому что вытащить из вас где это будет использоваться получилось только за 34 поста.
Вам нужен не аналог, а эмуляция устройства, потому что аналог вы не сможете интегрировать.
Человек сам не понимает чего ему нужно. Он, скорее всего, считает, что все ванваре слейвы имеют одинаковое поведение и самое главное регистры одинакового назначения, а это СОВСЕМ не так.
То куда ТС дал ссылку - описание различных слейвов для какого то проекта. Возможно к некоей оболочке подключаются конфиг файлы из этого ресурса, а оболочка работая с адаптером ванваре может опрашивать шину. И у ТС есть некий сильно поверхностный взгля на ванваре, а понимание ниже этой поверхности полностью отсутствует, естественно человеческий мозг достроил некую основу, КОТОРАЯ С РЕАЛЬНОСТЮ НИЧЕГО ОБЩЕГО НЕ ИМЕЕТ. Отсюда такой простецкий подход и непонимание объема работы.
ЗЫ Я кстати тут специально не буду разъяснять что либо про эту шину, посколько имею подозрения, что ТС лень читать и он таким образом пытается получить стартовые знания по этому протоколу :)
да не нужен Вам OWFS . запускайте кроном скрипт на перле или пхп, который по http будет получать с арды все, что Вам надо и складывать рядом с папочкой 1-wire в папочку 2-http, в файлик, периодически его переписывая новым значением, а Вы теи же инструментом , которым читаете фалы в папке 1-wire будете читать из папки рядом. на арде поднимается сервер, который по запросу выстреливает данные с разделителем, на бунте скрипт его парсит и складывает по файлам.
Возможно автор связки на бунте не Вы и потому поменять ничего не можете, потому и пляски с бубуенцами, только вот проблему надо в комплексе рассматривать.
предыдущему автору плюсанул
Колек о каком "умном" мастере Вы разговариваете ? Если досконально изучить алгоритмы и параметры аппаратного ванваре мастера, то эмулятор написать можно. Не просто, но данных в даташитах - достаточно. Можно сварганить такой эмулятор, что ни один мастер , будь он волшебный, не заметит подвоха. Это будет например Атмел, но точно без ардуино загрузчика и библиотек.
Эт точно, но лет 10 назад. А сейчас обычный домофон дуиной уже не обманешь, и не только дуиной, но и ключем с хоть и копированным, но чипом. А вы Атмел.
потому что аналог вы не сможете интегрировать.
Из чего это следует?
да не нужен Вам OWFS . запускайте кроном скрипт на перле или пхп, который по http будет получать с арды все, что Вам надо и складывать рядом с папочкой 1-wire в папочку 2-http
Я на это уже отвечал, эйзернет нет намерения тянуть и администрировать. Это в разы сложнее в конечном использовании.
потому что аналог вы не сможете интегрировать.
Из чего это следует?
Но если есть вэб-мордочка, то есть и эзернет, или нет ?
Но если есть вэб-мордочка, то есть и эзернет, или нет ?
Датчики общаются по 1wire (по одной паре) эйзернет есть только у того хоста где стоит 1wire master.
Вопрос пожалуй даже не в парах меди, а в наличии или отсутствии необходимости настройки слэйва или подстройки под адресацию и пр. 1wire прелесен длинной линий и отсутствием необходимости что либо настраивать. Сколько хочешь датчиков столько и цепляй.
Может есть альтернативный проводной протокол?
... я так понял, что у Вас есть сервер с какими то линуксами и на нем поднят LAMP и OWFS . Вы получаете в папки-файлы регистры от DS18B20, читаете их перловым или пЭхЭрЭшным скриптом и используете далее мисклом или апачем, или и тем и другим.
Зачем так сложно? Есть же https://github.com/bcl/digitemp, переходник 1-wire на компорт даже мне удалось спаять. :) Дальше - шелловый скрипт, munin и nginx для отдачи статики.
DIGITEMP всего лишь еще один способ организации 1wire master. Мы же тут все дискутируем про 1wire slave!