Перейти к публикации
iT4iT.CLUB

post125

Пользователи
  • Публикации

    99
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    9

Сообщения, опубликованные пользователем post125


  1. 14 часов назад, den48rus сказал:

    датчик углекислого газа

    это я невнимательно посмотрел, на алиэкспрессе увидел неправильный перевод описания датчика CCS8111. Там было указано угарный газ (CO). я себе для мониторинга CO2 поставил MH-Z19, поэтому с CCS8111 не знакомился.


  2. 04.07.2019 в 13:57, Kitsum сказал:

    Думаю, что просто данных слишком много и все не поместилось

    Добрый день! Отключил логи датчиков в "sensors.add" и ESPшка вздохнула полной грудью (тем более когда много датчиков треки всё равно не строятся). Теперь при трёх параметрах от BME280 , трёх программных датчиках и 64 параметров от 4-х slave ардуин занято памяти 55952, свободно 25964. Теперь возможности прошивки соответствуют железу, которое собрал. Конечно, 70 диаграмм на одной странице - это каша. Можно ли как-то сделать не 2 закладки как сейчас "out" и "in" , а хотя бы 4-5. Заранее благодарен за ответ.

    • Like 1

  3. 1 час назад, den48rus сказал:

    нормально ли будет подключить все датчики витой парой

    Подключить можно, но нет смысла, т.к. датчики по i2c не рекомендуется подключать проводом длиннее 1,5 метров- могут глючить. А вот DS18B20 аполне можно подключать длинными проводами. Народ в сети заявлял об удачном подключении витой парой до 100 метров. Не проверял, но надежнее использовать экранированный кабель.  УФ датчик еще не добавил себе, но буду делать вместе с датчиком освещенности температуры воздуха и грунта, влажности, пыли. У меня только все внешние данные передаются через NRF24 и орегоновские датчики ветра и осадков и температуры по своему протоколы на 433МГц.


  4. 6 часов назад, Kitsum сказал:

    В консоль выводится какая-либо информация по ОЗУ

    Благодарю за ответ.

    Включение консоли отгрызает еще порядка 2,5к ОЗУ. Загрузил, пишет:

    free ram: 11496


    при попытке открыть веб странцу пишет:

    free ram: 10672
    http: 10.185.19.74 /index.htm, 304
    http: 10.185.19.74 /jquery.min.js.gz, 304
    http: 10.185.19.74 /jquery.knob.min.js.gz, 304
    http: 10.185.19.74 /md5.js.gz, 304
    http: 10.185.19.74 /highcharts.js.gz, 304
    http: 10.185.19.74 /favicon.ico, 304
    free ram: 11496

    веб страница, естественно не открывается, на синем фоне крутится стандартное колесо из белых точек.

    34.jpg.1664cde88f50ca92f30cad0311597fc4.jpg

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

    Все датчики со slave ардуин добавляются идентично:

    sensors.add(S3_0, device::out, 0x01, "out_3_0", out_3_0, true);
    sensors.add(S3_1, device::out, 0x01, "out_3_1", out_3_1, true);
    sensors.add(S3_2, device::out, 0x01, "out_3_2", out_3_2, true);
    sensors.add(S3_3, device::out, 0x01, "out_3_3", out_3_3, true);
    sensors.add(S3_4, device::out, 0x01, "out_3_4", out_3_4, true);
    sensors.add(S3_5, device::out, 0x01, "out_3_5", out_3_5, true);
    sensors.add(S3_6, device::out, 0x01, "out_3_6", out_3_6, true);
    и так далее

    наверное, в моей ситуации 29 параметров со slave ардуин + 3 програмных + 3 с BME280 и без консоли - это предел для ESP8266.


  5. Добрый день! Дерзну ответить. У меня сделано так:

    1. В файле с датчиками (по умолчанию "users_bme280_x2.h")

    после строки "knob_t *H = new knob_t(   0,   100, ".01", "Влажность",   "%");"  вставляете:

    knob_t *DP = new knob_t(-50, 100, ".01", "точка_росы", "°C");

    (это будет круговая диаграмма с точкой росы)

    2. перед строкой "void sensors_config() {" вставляете:

    float dewPointFast(float celsius, float humidity)   
    {
            float a = 17.271;
            float b = 237.7;
            float temp = (a * celsius) / (b + celsius) + log(humidity*0.01);
            float Td = (b * temp) / (a - temp);
            return Td;
    }

    (это функция расчета точки росы)

    3. после строки " sensors.add(T, device::out, 0x76, "out_temperature", out_init, out_temp, true);" вставляете :

    sensors.add(DP, device::out, "dewpoint",  [&](){ return dewPointFast(out_temp(), out_hum()); }, true);

    (это добавление програмного датчика точки росы для уличного датчика)

    4. заливаете прошивку и точка росы должна появиться в веб-интерфейсе

    • Like 1
    • Thanks 1

  6. 17.04.2019 в 16:38, Kitsum сказал:

    Также можете отключать разные части кода

    Добрый день! Совсем упёрся в нехватку оперативной памяти ESP8266 - вместе с температурой, влажностью и давлением от BME280 , напряжением ESP, размером занятой памяти и уровнем WiFi могу добавить только 29 параметров передаваемых от slave ардуин. С добавление 30-го параметра полностью отрубается web-интерфейс. Можно ли для экономии памяти в круговых диаграммах выводить только часть данных, а полностью все данные отправлять по MQTT? Может, еще что-то можно частично отключить, чтобы высвободить оперативную память? Заранее благодарен за ответ.


  7. 11.06.2019 в 14:37, Kitsum сказал:

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

    Добрый день! А как в старом интерфейсе остановить летящие тучи или заменить на просто синий фон?


  8. 30.05.2019 в 12:39, Kitsum сказал:

    попробуйте запустить скрипт в консольном режиме

    Добрый день!

    Увы, не смог подружить zabbix с mqtt. К счастью заработал мажордом  на 16-й убунте. Остановлюсь на этом варианте. Спасибо, за помощь, уже что-то вырисовывается.

    • Thanks 1

  9. 1 час назад, Maerhekil сказал:

    Смею предположить что команда stop не гасит процесс. Попробуйте использовать команду kill и pid указаный в файле zabbixMqttClient.pid

    И если потом команда start отработает коректно, то значит "копать" в сторону неотработки команды stop

    Благодарю за ответ. Команда stop останавливает процесс, start - запускает, всё корректно. Просто если повторно дать star, пишет ,что процесс уже запущен. Это просто косвенное подтверждение, что процесс запущен. Проблема в том, что всё , вроде, запущено, а заббикс не принимает данные.


  10. 20.05.2019 в 16:23, Kitsum сказал:

    Прочитайте внимательно выделенный пост выше. Если будут сложности, то пишите.

    Прочитал неоднократно, постарался всё исполнить в точности. Сам заббикс работает(без mqtt), москитто на том же компе работает. 

    в zabbixMqttClient.py:

    Скрытый текст

    """ Настройки MQTT """
    mqtt_server = "127.0.0.1"
    mqtt_port = 1883
    mqtt_login = ""
    mqtt_password = ""
    mqtt_client_id = "zabbixServer"
    mqtt_short_names = True

    """ Настройки Zabbix """
    zabbix_server = "127.0.0.1"
    zabbix_port = 10051
    zabbix_sender = "/usr/bin/zabbix_sender"

    #zabbix_sender = "C:\\Zabbix Agent Installer\\bin\\win64\\zabbix_sender.exe"

    """ Настройки общие """
    pid_file = "/tmp/zabbixMqttClient.pid"

    Демон вроде работает - команды start/stop при его запуске выполняются без ошибок, если повтроно запустить start, пишет:

    root@zabbix:~# /media/zabbixMqttClient.py start
    pidfile /tmp/zabbixMqttClient.pid already exist. Daemon already running?root@zabbix:~# 

    в самом заббиксе импортировал шаблон, всё прописал, но данные до него не доходят:

    Скрытый текст

    494960287_5.thumb.jpg.daaa94492b78f5bf19532715512a68a6.jpg

     

    Подскажите, пожалуйста, что не так делаю?


  11. 10.11.2017 в 12:20, Kitsum сказал:

    pip3 install paho-mqtt

    в Убунте 18.04 (с Питоном 3,6) так не сработало

    Скрытый текст
    
    # pip3 install paho-mqtt
    Invalid requirement: 'paho-'
    Traceback (most recent call last):
      File "/usr/share/python-wheels/packaging-17.1-py2.py3-none-any.whl/packaging/requirements.py", line 93, in __init__
        req = REQUIREMENT.parseString(requirement_string)
      File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1632, in parseString
        raise exc
      File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1622, in parseString
        loc, tokens = self._parse( instring, 0 )
      File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1379, in _parseNoCache
        loc,tokens = self.parseImpl( instring, preloc, doActions )
      File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 3395, in parseImpl
        loc, exprtokens = e._parse( instring, loc, doActions )
      File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 1383, in _parseNoCache
        loc,tokens = self.parseImpl( instring, preloc, doActions )
      File "/usr/share/python-wheels/pyparsing-2.2.0-py2.py3-none-any.whl/pyparsing.py", line 3183, in parseImpl
        raise ParseException(instring, loc, self.errmsg, self)
    pyparsing.ParseException: Expected stringEnd (at char 4), (line:1, col:5)
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 82, in __init__
        req = Requirement(req)
      File "/usr/share/python-wheels/packaging-17.1-py2.py3-none-any.whl/packaging/requirements.py", line 97, in __init__
        requirement_string[e.loc:e.loc + 8]))
    pip._vendor.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "'-'"

     

    работает без тройки:

    Скрытый текст
    
    # pip install paho-mqtt
    Collecting paho-mqtt
      Downloading https://files.pythonhosted.org/packages/25/63/db25e62979c2a716a74950c9ed658dce431b5cb01fde29eb6cba9489a904/paho-mqtt-1.4.0.tar.gz (88kB)
        100% |████████████████████████████████| 92kB 1.3MB/s 
    Building wheels for collected packages: paho-mqtt
      Running setup.py bdist_wheel for paho-mqtt ... done
      Stored in directory: /root/.cache/pip/wheels/82/e5/de/d90d0f397648a1b58ffeea1b5742ac8c77f71fd43b550fa5a5
    Successfully built paho-mqtt
    Installing collected packages: paho-mqtt
    Successfully installed paho-mqtt-1.4.0

     

    на дальнейшей работоспособности может сказаться?

    На Убунте 18.04 этап с "crontab -u zabbix -e" прошел нормально, добавил @reboot /media/zabbixMqttClient.py start, запустил службу

    Завтра продолжу, спасибо!

    PS: если я заменю в файле zabbixMqttClient.py MQTT mqtt_server =  c  mqtt.it4it.club на  127.0.0.1, еще где-то надо будет сделать аналогичнные замены?


  12. 10.11.2017 в 12:20, Kitsum сказал:

    sudo crontab -u zabbix -e

    Добрый день!

    на centose 7 аббикc запустился, москитто то же. Пытаюсь подружить заббикс с mqtt. застрял на crontabе.

    [root@localhost media]# crontab -u zabbix -e
    no crontab for zabbix - using an empty one

    подскажите, пожалуйста, куда копать


  13. 20.05.2019 в 16:23, Kitsum сказал:

    Возможны оба варианта, но если уже есть функционирующий MQTT брокер и его работа Вас устраивает, то и смысла переносить его нет. Вы всегда успеете это сделать позже.

    Спасибо!

    Брокер на роутере работает (правда пока с заббиксом не пробовал его подружить), а вон на целероне почему-то только принимает и передаёт внутри самого себя, другие устройства локальной сети его не видят.

    вопрос решен, заработало из под centos7


  14. 03.03.2017 в 15:32, Kitsum сказал:

    Переходим в панель управления Zabbix.

    Теперь нам доступна возможность создавать элементы данных содержащих ключи следующего вида.

    Добрый день! Получилось поставить только Zabbix 4.2 из установленного на Ubuntu 16.04 образа (ISO) c оф.сайта. Москито запустился, в конф.файл добавил MQTT. А в Zabbixe не вижу MQTT. Может не там смотрю?

    Скрытый текст

    zabbix.thumb.jpg.cd69b2ac23faad10826e8b55ae566194.jpg

     


  15. 20.10.2017 в 15:35, Kitsum сказал:

    ЕЩЕ РАЗ НАПОМИНАЮ: Клиенты рассылающие сообщения должны использовать параметр "-r, --retain" для сохранения сообщения у брокера.

    а как esp будет отсылать сообщения с параметром -r?


  16. Добрый день! Мажордомо (и Win и Lin) у меня упорно не хочет получать данные MQTT. MQTT-Explorer, mqtt-spy, MQTTBox и mqttfx корректно работают и видят все сообщения от ESP. В своих поисках начинаю пробовать запустить Zabbix.

    Вопросы:

    1. на какую убунту ставить Zabbix (железо целерон, win7 работает нормально).

    2. mosquitto есть на китайском роутере openwrt , оставить брокер внешним или установить на убунту с заббиксом?

    Заранее благодарен за ответ.


  17. 15.10.2018 в 15:01, Kitsum сказал:

    В первую очередь необходимо понять, что из себя представляет MQTT протокол.

    Добрый день!

    пытаюсь ввести пользователя и пароль (test/test) в настройкай MQTT в ESP - не даёт . Пишет "1: Некорректный пароль пользователя MQTT". Как можно упростить требования к паролю?

    Скрытый текст

    1506522433_-2.jpg.7c828262b05f36eff48ceea52ef84223.jpg

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


  18. Спасибо! Привез безвентиляторный целерон с HDD от старой метеостанции орегон. Остановлюсь на этом варианте . Осваиваю протокол mqtt. совсем темный лес в сравнении с ардуино...Пока еще не понял, что в данном случае лучше windows7 или ununtu.


  19. Спасибо! Попробую на малину поставить убунту. их на сайте малины аж 3 штуки: mate, core и  server. на чем остановится? Вам не попадался ли какой-либо толковый ресурс на тему убунты с mqtt , sql и веб серверами; хочется локально много графиков строить и не зависить от народного монитора с их ограничениями. Топчусь на одном месте. Информации значительно меньше, чем по ардуино и esp, да и та разрозненная.


  20. Добрый день!

    ESP заработало без сбоев, спасибо! Дома стоит роутер Mikrotic 2011UiAS-2HnD RouterOS v6.43.8. В раздумье: перепрошить его на OpenWRT и добавить брокер MQTT, либо взять какой-нибудь роутер OpenWRT подешевле и добавить брокер MQTT, либо сделать брокер на малине, либо еще как-то? Подскажите, пожалуйста, менее "каменистый" путь. Хочу сохранять данные локально на диск, чтобы не зависить от внешнего интернета. Заранее благодарен за ответ!


  21. 24.04.2019 в 20:57, Kitsum сказал:

    Всю инициализацию датчиков проведите самостоятельно без использования соответствующих функций при описании датчиков. Или замените указанную выше строку на разовый вызов метода checkLine

    
    sensors.checkLine();

    Добрый день! Сутки прошли, полёт нормальный, ни одного пропуска данных на обоих контроллерах. Спасибо!

    • Like 1
×
×
  • Создать...