Ad Widget

Collapse

Zabbix+Arduino=...

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SolarW
    Member
    • Feb 2011
    • 41

    #16
    Выражаю восхищение!

    Афигенная тема для тех, кто как я абсолютно не сечет в программировании но паяльник и прочие штуки может в руках более-менее прямо держать
    С месячишко назад открыл для себя
    Code:
    wifi-iot.com
    и смакетировал вот такую мерялку температуры, сливающую информацию Zabbix'у



    Но поскольку там микроконтроллер ESP8266 работающий по WiFi то это немного ограничивало сферу применения.
    А с вашим вариантом можно практически аналогичные штуки и на проводной сети вытворять

    По пожеланиям что можно было бы добавить.

    Вроде есть такой неплохой универсальный датчик BME280
    Code:
    www.avislab.com/blog/bme280_ru/
    - практически аналог BMP180 но еще и влажность умеет мерять.

    А вот еще железка, информацию от которой весьма интересно было бы в Zabbix'е получить - PZEM-004(t)
    Code:
    mysku.ru/blog/china-stores/38717.html
    Тут
    Code:
    wiki.cuvoodoo.info/doku.php?id=spark_counter
    ее уже к Arduino привязали, чтобы дальше по беспроводке отправлять данные.

    P.S. Очень не хватает (а может я просто не нашел?) сервиса аналогичного wifi-iot.com но только для Arduino.
    Code:
    hi-lab.ru/arduino-mega-server
    - тут вот вроде по описанию все красиво а по факту просто красивая картинка в браузере, с поддержкой железа на данном этапе практически никак...

    P.P.S. Если есть необходимость в легком донате на покупку датчиков - велкам ту ЛС.

    P.P.P.S. Сорри за формат ссылок, что-то у меня движок форума не пропускал по другому...

    Comment

    • SolarW
      Member
      • Feb 2011
      • 41

      #17
      Originally posted by solarw;187991Вроде есть такой неплохой универсальный датчик bme280
      [code
      www.avislab.com/blog/bme280_ru/[/code]- практически аналог bmp180 но еще и влажность умеет мерять.
      Почитал документацию просьбу снимаю

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #18
        Originally posted by solarw
        Code:
        wifi-iot.com
        и смакетировал вот такую мерялку температуры, сливающую информацию zabbix'у
        Но поскольку там микроконтроллер esp8266 работающий по wifi то это немного ограничивало сферу применения.
        Сам по себе беспроводной канал неплох. Но во всех этих проектах меня не устраивало отсутствие как централизованного управления, так и гибкости. Например - нужно перекинуть датчик на другой gpio или поменять его параметры - давай, вытаскивай девайс из подвала и перешивай контроллер. Опять же - временем опросов не поиграешься, а это крайне полезная штука. Да и взаимодействия с исполнительными механизмами недоставало.

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

        Вроде есть такой неплохой универсальный датчик bme280
        Code:
        www.avislab.com/blog/bme280_ru/
        - практически аналог bmp180 но еще и влажность умеет мерять.
        Не такой уж он и аналог. Крови мне попил достаточно со своими новыми режимами работы и возвращением позавчерашних данных при запросе.
        Хотя, он конечно неплох для бытовых нужд. Не такой капризный, как DHT и не дает +10% к влажности, как SHT из китая.


        А вот еще железка, информацию т которой весьма интересно было бы в zabbix'е получить - pzem-004(t)
        С этим согласен - вещь полезная, наверное. Во всяком случае китайцы пишут "Точность измерения: 1.0 класс". Хотя, измерение неинвазивное. Вроде бы при таком первого класса точности не достичь. Словом - нужен эксперимент. Я от asc712 толкового ничего не добился. Потому что он в аналоге гонит, а у ардуин питание аналоговой части соединено с питанием цифровой. Помехи так валяют по полу значения с АЦП, что никакого смысла в них нет. Даже в холостом режиме получаются разные значения калибровки. Нужно обвешивать ардуину всякими прецензионными ИОН-ами и всё такое. Или самому разводить правильную плату под МК. А это уже на конструктор не похоже ))

        Code:
        hi-lab.ru/arduino-mega-server
        - тут вот вроде по описанию все красиво а по факту просто красивая картинка в браузере, с поддержкой железа на данном этапе практически никак...
        Да? А вроде на хабре публиковались даже. Впрочем, я тоже сильно не копался в них.
        Last edited by sadman; 19-08-2016, 20:41.

        Comment

        • SolarW
          Member
          • Feb 2011
          • 41

          #19
          Originally posted by sadman
          Сам по себе беспроводной канал неплох. Но во всех этих проектах меня не устраивало отсутствие как централизованного управления, так и гибкости. Например - нужно перекинуть датчик на другой gpio или поменять его параметры - давай, вытаскивай девайс из подвала и перешивай контроллер. Опять же - временем опросов не поиграешься, а это крайне полезная штука. Да и взаимодействия с исполнительными механизмами недоставало.
          В данном конкретном случае компенсируется низким порогом вхождения для нубов типа меня
          А насчет обновлений - есть OTA (и Auto OTA).
          Т.е. в личном кабинете на сайте список применяемых модулей или настройки поменял, на вебморду контроллера вошел, ткнул кнопочку апгрейд, модуль пошел на сайт и обновился - минуту времени потратил.
          Какие GPIO под что применять - так же из веб-морды настраивается.
          Originally posted by sadman
          С другой стороны - у меня нет красивых экранчиков с инфой, потому что устройство при включении не знает, где у него что подключено и узнает об этом только при запросе от Zabbix.
          Ну дык в самом начале реализации - может со временем и получится добавить
          Я дисплейчик для наглядности прикрутил, потенциальному клиенту показать прототип.
          Originally posted by sadman
          Не такой уж он и аналог. Крови мне попил достаточно со своими новыми режимами работы и возвращением позавчерашних данных при запросе.
          Хотя, он конечно неплох для бытовых нужд. Не такой капризный, как DHT и не дает +10% к влажности, как SHT из китая.
          Угу, с интересом посматриваю - в плане чешутся руки дома метеостанцию поднять (на крышу девятиэтажки поднять).
          Originally posted by sadman
          С этим согласен - вещь полезная, наверное. Во всяком случае китайцы пишут "Точность измерения: 1.0 класс". Хотя, измерение неинвазивное. Вроде бы при таком первого класса точности не достичь. Словом - нужен эксперимент. Я от asc712 толкового ничего не добился. Потому что он в аналоге гонит, а у ардуин питание аналоговой части соединено с питанием цифровой. Помехи так валяют по полу значения с АЦП, что никакого смысла в них нет. Даже в холостом режиме получаются разные значения калибровки. Нужно обвешивать ардуину всякими прецензионными ИОН-ами и всё такое. Или самому разводить правильную плату под МК. А это уже на конструктор не похоже ))
          Точность изменения рассматривается очень подробно в обзоре на MySKU.
          Там же или еще где-то прочитал что разница в показаниях с тем, что намеривает обычный домашний счетчик составляет пол-процента.
          Для домашне-информационного использования - вполне.
          Как приедет заказанная железка, поставлю дома, сравню с тем, что недавно установленный двухзонный счетчик насчитывает.
          Originally posted by sadman
          Да? А вроде на хабре публиковались даже. Впрочем, я тоже сильно не копался в них.
          На хабре автора стабильно заплевывают в коментах как я помню...
          Я ориентируюсь на топики в форумах где автор с энтузиастами общается...

          Comment

          • SolarW
            Member
            • Feb 2011
            • 41

            #20
            Вопрос

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

            Comment

            • sadman
              Senior Member
              • Dec 2010
              • 1611

              #21
              Originally posted by SolarW
              А насчет обновлений - есть OTA (и Auto OTA).
              Т.е. в личном кабинете на сайте список применяемых модулей или настройки поменял, на вебморду контроллера вошел, ткнул кнопочку апгрейд, модуль пошел на сайт и обновился - минуту времени потратил.
              Какие GPIO под что применять - так же из веб-морды настраивается.
              OTA - это хорошо. Жаль, что в AVR для этого нужно ставить рядом второй AVR для управления процессом прошивки. Да и для запихивания всего в 32кб необходимо проявить недюжинные способности в совокупности с переходом на AVR Assembler и получением заточенного под конкретный МК девайса.
              Не знал о таких особенностях процесса конфигурирования, из интерфейса на их сайте этого не понять. Я думал, что на сайте прошивка генерируется, потом сам ее впихиваешь. Нужно, вообщем, взять на заметку.

              Ну дык в самом начале реализации - может со временем и получится добавить
              Я дисплейчик для наглядности прикрутил, потенциальному клиенту показать прототип.
              На данный момент идеология такова, что основная панель управления - это таки Zabbix. А Zabbuino для него является дверью в мир физических процессов.

              Угу, с интересом посматриваю - в плане чешутся руки дома метеостанцию поднять (на крышу девятиэтажки поднять).
              Так вроде бы высота не основополагающее требование для метеоизмерений. К тому же я не знаю, как такой сенсор будет себя на улице чувствовать. Насколько я понимаю, выкидные хвосты примерно такие - AM2315 (китайцы наверняка уже аналогом барыжат).

              Да, вполне. RobotDyn, судя по отзывам, собирает хорошо. У меня ещё более китайская Nano - на ней даже как-то pin-header окислился, пока она лежала не воткнутая в стенд )) Протер спиртом и ничего, работает. И Mini Pro работает (если еще миниатюрнее необходимо собрать и USB не нужен постоянно). Словом, где ATmega328P есть - можно брать. Скоро ко мне клон Leonardo от RobotDyn доковыляет, проверю еще и на ATmega32u4.

              W5100 - отличный классический чипсет. Если не смущает отсутствие крепежных отверстий на модуле, то пойдет. На том, что по ссылке, даже есть POE выходы, что вам пригодится. Скорее всего туда выведены жилы для Passive POE, которые нужно будет в какой-нить LM2596S DC-DC step-down module завести и снять с него питание для ардуины и датчиков. Засунуть же в провод напругу можно микротиковским POE-инжектором или наколхозить в обычной RJ-45 розетке.
              Last edited by sadman; 22-08-2016, 08:22.

              Comment

              • SolarW
                Member
                • Feb 2011
                • 41

                #22
                Originally posted by sadman
                Не знал о таких особенностях процесса конфигурирования, из интерфейса на их сайте этого не понять. Я думал, что на сайте прошивка генерируется, потом сам ее впихиваешь. Нужно, вообщем, взять на заметку.
                Угу, оч удобно в результате.
                Там можно зайти в режиме demo/demo и все крутилки подергать, почитать справку и ссылки на WiKi которое Макс активно допиливает.
                Под каждый модуль на который покупается лицензия (привязываемая к уникальному серийнику модуля) можно создать свой профиль настроек в котором уже указать нужные компоненты и их настройки.
                После этого выполняется компиляция, в первый раз прошивку скачиваешь и заливаешь вручную с помощью NodeMCU Flasher (подробная инструкция в WiKi) а потом уже через OTA можно дергать после компиляции на сайте...
                Originally posted by sadman
                На данный момент идеология такова, что основная панель управления - это таки Zabbix. А Zabbuino для него является дверью в мир физических процессов.
                Ну дык тем и ценен данный проект Учитывая скромность ресурсов.
                У WiFi-IoT немного другой принцип работы - в настройках модуля указывается адрес Zabbox-сервера и периодичность отправки данных на него, после чего он сам с этим интервалом дергает сервер сливая на него данные.
                Идентификация идет по уникальному hostname, плюсом является то, что модуль нормально отдает данные из-за NAT'а и т.д.
                Originally posted by sadman
                Так вроде бы высота не основополагающее требование для метеоизмерений. К тому же я не знаю, как такой сенсор будет себя на улице чувствовать. Насколько я понимаю, выкидные хвосты примерно такие - AM2315 (китайцы наверняка уже аналогом барыжат).
                Руки чешутся что-то основательное прилепить, с флюгером, анемометром, измерителем уровня осадков и будкой Стивенсона для датчика температуры/влажности/давления...
                Типа вот такого уличного блока от вот такой станции.
                А тут уже надо чтобы это все над крышей стояло, иначе не покажет ничего хорошего.
                Останавливает только отсутствие знаний как это все подключить.
                С одной стороны уличный блок сливает всю имеющуюся инфу на внутренний блок по радио на 433МГц и в инете полно маньяков реверсящих протокол обмена.
                С другой стороны к уличному блоку можно ту же Атмегу приспособить.
                На анемометре - датчик Хола, только откалибровать надо.
                Измеритель осадков - два корыта на коромысле и геркон, тоже счетчик.
                Анемометр - набор из 16 герконов, через которые разные резисторный сборки подключаются, можно на АЦП подавать...
                Но знаний повторюсь нет а инструкция как эту работу уже кто-то знающий проделал - пока не попадалась чтобы можно было повторить.

                Originally posted by sadman
                Да, вполне. RobotDyn, судя по отзывам, собирает хорошо. У меня ещё более китайская Nano - на ней даже как-то pin-header окислился, пока она лежала не воткнутая в стенд )) Протер спиртом и ничего, работает. И Mini Pro работает (если еще миниатюрнее необходимо собрать и USB не нужен постоянно). Словом, где ATmega328P есть - можно брать. Скоро ко мне клон Leonardo от RobotDyn доковыляет, проверю еще и на ATmega32u4.
                Ок, понятно что такой модуль подходит.
                Посмотрел - вроде попались такие же модули у другого продавца с большим количеством продаж, у которого все на эту тему есть.
                Ардуины, сетевые модули, блоки питания, светодиоды, датчики и все остальное барахло. Сейчас постараюсь мысли оформить чего на текущем этапе кроме ардуины не хватает для продолжения осваивания темы и закажусь...
                Originally posted by sadman
                W5100 - отличный классический чипсет. Если не смущает отсутствие крепежных отверстий на модуле, то пойдет. На том, что по ссылке, даже есть POE выходы, что вам пригодится. Скорее всего туда выведены жилы для Passive POE, которые нужно будет в какой-нить LM2596S DC-DC step-down module завести и снять с него питание для ардуины и датчиков. Засунуть же в провод напругу можно микротиковским POE-инжектором или наколхозить в обычной RJ-45 розетке.
                Ага, у данного продавца такой есть занедорого, тоже включим в заказ.
                Диапазон входного напряжения - до 40 вольт, Passive POE перекрывает во всем диапазоне, любые инжекторы от Mikrotik/Ubiquti использовать можно будет.

                Comment

                • sadman
                  Senior Member
                  • Dec 2010
                  • 1611

                  #23
                  Originally posted by SolarW
                  Руки чешутся что-то основательное прилепить, с флюгером, анемометром, измерителем уровня осадков и будкой Стивенсона для датчика температуры/влажности/давления...
                  Типа вот такого уличного блока от вот такой станции.
                  Придется не будку Стивенсона, а собачью ставить к такому комплекту. Шобы не сперли.

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

                  На анемометре - датчик Хола, только откалибровать надо.
                  Измеритель осадков - два корыта на коромысле и геркон, тоже счетчик.
                  Это можно подвесить на extint.count[] - он как раз задумывался для подобных задач. У 328-й две ноги привязаны к внешним прерываниям, как раз должно хватить.

                  Анемометр - набор из 16 герконов, через которые разные резисторный сборки подключаются, можно на АЦП подавать...
                  Да, я видел эту незамысловатую схему ветроуказателя. Считать через АЦП - не вопрос, вопрос в том, как трактовать эти цифры. Можно, конечно, изобразить новую команду, которая будет возвращать уже стороны света, но для этого нужно знать, что с АЦП будет прилетать (каковы интервалы в условных единицах analogRead-а). Гораздо проще было бы на мой взгляд на тех же холлах построить и завести в Zabbuino через I2C-экспандер. Тогда читаемое с него число будет явно указывать направление ветра и не будет зависеть от помех на AVCC.

                  Но знаний повторюсь нет а инструкция как эту работу уже кто-то знающий проделал - пока не попадалась чтобы можно было повторить.
                  Нет ничего невозможного для человека с руками и головой)

                  Comment

                  • sadman
                    Senior Member
                    • Dec 2010
                    • 1611

                    #24
                    Ищу людей, получающих данные по RS232 с не-APC (PowerCom, IPPON, etc) бесперебойников (мониторинг APC Smart через Zabbuino уже в процессе тестирования) и имеющих комплект Arduino(AVR) + RS232-TTL конвертор + (желательно) ethernet на Arduino для одного полезного дела.

                    Прошу написать в ЛС.

                    Comment

                    • Agent77
                      Junior Member
                      • Sep 2016
                      • 1

                      #25
                      У меня почему то не отсылает температуру в zabbix.

                      Проверил командой appliance@zabbix:~$ zabbix_get -s 192.168.0.177 -k "DS18x20.Temperature[3,9,0x28FFE622721605A0]"
                      22.5
                      Вроде все правильно подключил.
                      В Мониторе так вот пишет
                      Execute command #28 =>ds18x20.temperature
                      arg[0] => "2" => 2, offset =20
                      arg[1] => "9" => 9, offset =22
                      arg[2] => "0x28d1a0d40100007a" => 4294967295, offset =24
                      arg[3] => "<null>" => 0, offset =42
                      arg[4] => "<null>" => 0, offset =42
                      arg[5] => "<null>" => 0, offset =42
                      Result: 0

                      Execute command #28 =>ds18x20.temperature
                      arg[0] => "2" => 2, offset =20
                      arg[1] => "9" => 9, offset =22
                      arg[2] => "0x2888d8d401000091" => 4294967295, offset =24
                      arg[3] => "<null>" => 0, offset =42
                      arg[4] => "<null>" => 0, offset =42
                      arg[5] => "<null>" => 0, offset =42
                      Result: 0

                      Execute command #28 =>ds18x20.temperature
                      arg[0] => "2" => 2, offset =20
                      arg[1] => "9" => 9, offset =22
                      arg[2] => "0x284ae0d4010000da" => 4294967295, offset =24
                      arg[3] => "<null>" => 0, offset =42
                      arg[4] => "<null>" => 0, offset =42
                      arg[5] => "<null>" => 0, offset =42
                      Result: 0

                      various statistic отсылает и график рисует.
                      Подскажите куда копать ?
                      Attached Files

                      Comment

                      • sadman
                        Senior Member
                        • Dec 2010
                        • 1611

                        #26
                        Originally posted by Agent77
                        Проверил командой appliance@zabbix:~$ zabbix_get -s 192.168.0.177 -k "DS18x20.Temperature[3,9,0x28FFE622721605A0]"
                        OneWire на 3-й ноге висит.

                        Execute command #28 =>ds18x20.temperature
                        arg[0] => "2" => 2, offset =20
                        arg[1] => "9" => 9, offset =22
                        arg[2] => "0x28d1a0d40100007a" => 4294967295, offset =24
                        А Zabbix'ом говорите, чтобы на 2-й искал.

                        Comment

                        • sadman
                          Senior Member
                          • Dec 2010
                          • 1611

                          #27
                          Originally posted by Agent77
                          arg[2] => "0x28d1a0d40100007a" => 4294967295, offset =24
                          ...
                          arg[2] => "0x2888d8d401000091" => 4294967295, offset =24
                          ...
                          arg[2] => "0x284ae0d4010000da" => 4294967295, offset =24
                          Сразу внимание не обратил, а сейчас понял, что вы просто заимпортили .xml от хоста, который я для примера создавал - все запросы с идентификаторами от моих термометров.

                          Вобщем, правьте там элементы данных. Указывайте правильно ноги ардуины, на которых висят далласы, используйте корректные (свои) идентификаторы.

                          Comment

                          • Today
                            Junior Member
                            • Sep 2016
                            • 4

                            #28
                            Спасибо.Разобрался.
                            Очень удобная штука получается.
                            У меня Arduino pro mini +ecn28j60.Я сперва попробывал скетч Arduino-Zabbix-Agent.Все залилось нормально.Но датчики считать не смог.Тоже 0 показывало в графике.Тут вроде просто ключ указывать нужно было.

                            q - soil humidity
                            w - air temperature on DHT11
                            e - air humidity on DHT11
                            r - air temperature on DS18b20 with serial number ending with 17
                            f - air temperature on DS18b20 with serial number ending with B6
                            v - air temperature on DS18b20 with serial number ending with D3
                            t - motion detector

                            И в коде поставить в конце цифры своего датчика.

                            serialNum = String(addr[7], HEX);
                            if (serialNum == "17") oneWire17 = celsius;
                            else if (serialNum == "b6") oneWireB6 = celsius;
                            else if (serialNum == "d3") oneWireD3 = celsius;
                            // If Fahrenheit needed, (Fahrenheit = Celsius * 1.8) + 32

                            Comment

                            • sadman
                              Senior Member
                              • Dec 2010
                              • 1611

                              #29
                              Originally posted by Today
                              У меня Arduino pro mini +ecn28j60.Я сперва попробывал скетч Arduino-Zabbix-Agent.Все залилось нормально.Но датчики считать не смог.Тоже 0 показывало в графике.Тут вроде просто ключ указывать нужно было.
                              ...
                              serialNum = String(addr[7], HEX);
                              if (serialNum == "17") oneWire17 = celsius;
                              Странная логика у этого Габриеля, конечно. Зачем в три переменные писать один и тот же результат - непонятно. Он так три датчика разделял что ли?

                              Имейте в виду, что ENC28J60 - такой модуль, с которым необходимо быть крайне внимательным.

                              Во-первых - использовать библиотеку arduino_uip - fix_errata12, а не ту, что обычно ставят. С fix_errata12 модуль будет на порядки реже "зависать" в сети с активным UDP-трафиком (на самом деле дело в другом, но выглядит как зависание).

                              Во-вторых неплохо будет прилепить на чип мини-радиатор и в тесные корпуса не упаковывать. Я засунул свой комплект ENC+Mini Pro в коробку 75x75mm и два DS-а привесил - один над чипом через термопасту, второй подвысунул на длину корпуса наружу. ENC так второй термометр грел через донышко, что я долго не мог понять - почему в кабинете 20 градусов цельсия, а DS 27,5 выдает. Потом уже, подключив датчик на на выкидном хвосте получил правильные значения. То есть в одном корпусе с этим сетевым модулем датчики температуры и влажности располагать не стоит.

                              Comment

                              • Today
                                Junior Member
                                • Sep 2016
                                • 4

                                #30
                                Вот двое суток у меня проработало нормально.Вчера подцепил второй датчик ds18b20 и подвисло все через час.Думаю все в коробку rg45 засунуть.А датчики сразу подальше вынести.
                                Библиотеку arduino_uip - fix_errata12 и модуль ENC28J60.
                                Вот интересует вопрос.Можно ли напряжение так считывать аккумуляторов ?

                                Comment

                                Working...