Jump to content
iT4iT.CLUB

All Activity

This stream auto-updates     

  1. Last week
  2. Доброе время суток. Заранее спасибо, что помогаете друг другу! Да, все это возможно. Например, для расчета точки росы Вам понадобятся показания температуры и влажности, а также функция которая и будет производить расчет. Вот её упрощенный вариант. /* Функция расчета точки росы */ float dewPoint(float t, float h) { float a = 17.271; float b = 237.7; float temp = (a * t) / (b + t) + log(h * 0.01); return (b * temp) / (a - temp); } Теперь можно объявить новый сенсор, но для начала опишем настройки для визуализации. knob_t *DP = new knob_t(-40, 125, ".1", "Точка росы", "°C"); Ну и сам сенсор, но помните, что он берет данные от других датчиков, которые должны быть объявлены. У меня они имеют идентификаторы out_temperature и out_humidity для температуры и влажности соответственно. sensors.add(DP, device::out, "out_dewPoint", [&](){ return dewPoint( sensors.get("out_temperature"), sensors.get("out_humidity") ); }); Вот в принципе и все не сложные операции. Для индикации изменения давления "к дождю" необходимо придумать какую-нибудь формулу, скорее всего уже есть наработки в интернете. Вопрос в том, какие параметры потребуются для этого. Лично мне в голову приходит мысль смотреть в логи с датчика давления и влажности, а также рассчитывать абсолютную влажность по ним и смотреть на тенденцию изменения абсолютной и относительной влажности. Для индикации можно использовать значение в процентах или придумать свою условную шкалу, но в любом случае придется рассчитать её приделы. В общем, нужна формула. Для LCD дисплея 20х4 Вам понадобится i2c конвертер, возможно он уже распаян на нем, в противном случае у Вас не хватит свободных портов для подключения. Далее все еще проще, скорее всего у Вас уже имеется библиотека для работы с ним, и наверное это она https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library Подключаем библиотеку и объявляем дисплей (например в основном .ino файле), убедитесь, что i2c адрес для дисплея никем не занят. #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 20, 4); Производим инициализацию дисплея, например, в конце функции setup. lcd.begin(); lcd.backlight(); Теперь создадим в планировщике задачу которая будет обновлять данные на дисплее каждые 30 секунд, опишем её сразу после инициализации дисплея. cron.add(cron::time_30s, [&](){ lcd.clear(); lcd.printf("Temperature %.1f C", sensors.get("out_temperature")); }); Первой строкой мы очищаем дисплей, а второй выводим данные. Естественно, что Вы можете изменять позицию курсора. Сразу отмечу, что я не проверял этот код, я просто опираюсь на описания библиотеки (LiquidCrystal_I2C.h) и её "родителя" (print.h) которые посмотрел на GitHub https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library/blob/master/LiquidCrystal_I2C.h https://github.com/esp8266/Arduino/blob/master/cores/esp8266/Print.h Но общий смысл должен быть понятен. Что касаемо Blink, то мне с ним не приходилось сталкиваться, дать какие-то рекомендации со своей стороны затрудняюсь, нужно изучать API сервиса. Но я рад, что есть люди @Вадим Гречухин которые это уже реализовали. Перед установкой датчиков стоит обработать все открытые и подвергающиеся воздействия окружающей среды элементы диэлектрическим лаком. Сами сенсоры на время обработки лаком стоит закрыть чем ни будь чтобы не вывести их из строя. Обязательно убедитесь в их работоспособности после этих операций. Я старался размещать датчики сенсорами вниз, особенно фото датчики чтобы уменьшить количество оседаемой на них пыли, у меня её много т.к. проживаю чуть ли не в интимной близости от дороги. Ну а в будке, как мне кажется, лучше размещать их в средней части, на небольшом удалении друг от друга чтобы они не могли влиять на показания соседей. Все это мое субъективное мнение, основанное только на личном опыте. Далеко не факт, что он верный. Из достоверных источников известно точно, что сама будка должна быть расположена в теневой зоне на высоте пары метров от земли и не иметь вблизи других строений. В моем случае нарушены все эти правила т.к будка закреплена на мачте параболической антенны далеко даже не на первом этаже многоэтажного дома на расстояние 20 сантиметров от стены этого дома да еще и на солнечной стороне. В общем все это влияет на показания, но самое критичное это солнечная сторона, старайтесь найти место в тени на весь световой день. Скорее всего сенсоры вышли из строя. У меня аналогичная ситуация произошла с датчиком влажности и датчиком загрязнения воздуха после того как весной (в очередной раз) будка была повреждена и перестала выполнять свои прямые обязанности по защите датчиков. Судя по повреждениям, во время оттепели что-то прилетает с верхних этажей и уничтожает крайний конусный элемент будки. Следом после этого датчики заливает водой... Имейте это в виду при выборе места установки.
  3. Они там есть, только скрыты. Для того чтобы они были доступны через web-интерфейс необходимо раскомментировать в файле users_auto.h несколько строк. На рисунке показано какие. После это в на странице появится Жмём "полудомик" и получаем По поводу Blynk... Прикручивал сам, автор и так много сделал.. Каждый уже как бы пляшет от того что предоставлено в массы.
  4. Всем добрый вечер. @Kitsum спасибо большое за подробную инструкцию и скетч для метеостанции. Собрал 2. Одна на чипе CH340, другую на CP2102. Все работает прекрасно. Только для второй использовал настройку: "плата - Node MCU 0.9 ESP-12". Датчика BME280 у меня пока еще нет, но есть BMP280. От него работает только температура и давление. Хочу спросить, можно ли добавить расчет точки росы, индикацию изменения давления (типа " к дождю" и т.п.), добавить поддержу сервиса Blynk, добавить дисплей 2004. Вопрос не по программной части: как правильно расположить датчики в корпусе на улице? Сейчас ко мне едет из Китая такой корпус: планирую поставить BME280, BH1750 и CCS811. Как было бы правильно их с вашей точки зрения расположить. У меня сейчас уже год работают 2 метеостанции, одна в России, другая в Болгарии. Обе были куплены через сайт народного мониторинга. Но работают они плохо. Обе с датчиками AM2302, BMP085 (по моему такой...). Одна станция через пару месяцев работы стала показывать 99% влажность. Другая 99% влажность показывает только ночью. Датчики стоят на северных сторонах домов в распредкоробках, с отверстиями для вентиляции. Есть интересный момент, они предают на сайт еще и напряжение на ESP и уровень сигнала Wi-Fi. Можно ли и в вашу метеостанцию добавить отображение этих данных. Спасибо.
  5. Earlier
  6. @Nickson2006 доброе время суток. Скорее всего Вы не залили файлы из каталога data во flash память. Просмотрите еще раз инструкцию, после прошивки скетча необходимо залить файлы с помощью дополнительного плагина для Arduino IDE.
  7. Добрый вечер. Прошил свою NodeMCU в точности как указанно в инструкции. Arduino IDE ошибок при прошивке не выдавал. Точка поднялась, но при попытке зайти в web интерфейс ошибка 404. Но если в строке написать "http://192.168.4.1/api/sensors" то вижу следующие {"out_temperature":0.00,"out_humidity":0.00,"out_pressure":0.00,"out_light":0.00,"out_absoluteHumidity":0.00} Куда копать? Пробовал с 4 разных устройств. PS Arduino IDE v1.8.5 ESP8266, версия 2.4.2
  8. Спасибо, работает. А то не понимашь, то ли на облака смотреть, то ли на показания (облака , кстати, весьма симпатичные)
  9. @post125 доброе время суток. Все очень просто, по умолчанию никаких облаков нет, они подгружаются скриптом через 2 секунды после полной загрузки страницы. Ищите строку setTimeout(loadSky, 2000); Эта строка находится внутри функции sensorsStructure, которая в свою очередь отвечает за первоначальную отрисовку всех сенсоров. Просто замените эту строку на это $(".loading").fadeOut(2000); Это уберет анимацию загрузки страницы. После этих не хитрых операций Вы можете удалить фай cloud.css.gz и его распакованный вариант cloud.css (если он имеется) из флеш памяти микроконтроллера.
  10. Добрый день! А как в старом интерфейсе остановить летящие тучи или заменить на просто синий фон?
  11. Добрый день! Увы, не смог подружить zabbix с mqtt. К счастью заработал мажордом на 16-й убунте. Остановлюсь на этом варианте. Спасибо, за помощь, уже что-то вырисовывается.
  12. @Astron рад, что у Вас все получилось. Да, раздел управления GPIO делался по просьбе людей где-то в этой теме и работает при условии, что датчики с нужными внутренними идентификаторами будут описаны. Его можно расширять, в этом нет ничего сложного, но проблема в количестве свободных портов микроконтроллера, внешне кажется, что ног много, но по факту, большая часть задействована под внутренние нужды микроконтроллера. Эту проблему можно решить, используя i2c расширители портов, но как мне кажется, лучше перейти на ESP32, это будет дешевле и сам контроллер намного интереснее. В текущем проекте много проблем как в логике и коде, так и в концепции в целом, все это делалось одновременно с изучением основ C++, JS и т.д. На данный момент много кода переписано под ESP32, а точнее написано с нуля, но с оглядкой на опыт использования ESP8266. Я постараюсь учесть пожелания всех, кто отписывался в теме, но точно могу сказать, что реализовываться они будут под ESP32. Под ESP8266 глобальных исправлений, скорее всего не будет, но раз интерес к уже опубликованному коду еще не угас, то я постараюсь снять ряд видеороликов в которых покажу как работают разные программные модули проекта и как вносить свои изменения чтобы людям было проще разбираться в моей писанине видя всю картину в целом и не испытывая при этом нравственных страданий. Ну и естественно, что тема поддержки новичков будет продолжать функционировать. Да, это уже учтено и новый интерфейс содержит статическую картинку в фоне, а на маленьких разрешениях только градиентный фон не напрягающий глаза. Кстати, в этом нет ничего сложного, все необходимое уже реализовано, и добавить данный функционал можно буквально за 15-20 минут. Самое сложное, это как оформить красиво картинку на дисплее. Постараюсь найти какой ни-ть i2c дисплей и показать как это сделать. PS: спасибо за поддержку, это очень важно для меня!
  13. Ура, получилось! Спасибо Вам огромное! Как оказалось, причина была именно в моей невнимательности, в части установки правильной версии библиотеки json. Установил версию 5.13.2, и дело пошло. Ваш архив с готовой сборкой также очень пригодился, я распаковал его на компьютере с той самой заезженной "семёркой", и всё собралось) Может быть, стОит даже разместить ссылочку на него в первом посте темы для повторения проекта такими же "чайниками" как я. Сегодня весь день "игрался" с погодной станцией, на радостях начал даже делать свой вариант будки Стевенсона в солидворксе. Как будет готов проект, выложу в эту тему свои наработки. Насчет предложений по добавлению функционала. В разделе управления GPIO есть некие зачатки автоматизации. Было бы неплохо их расширить. Добавить возможность выбора не только превышения но и снижения температуры относительно заданного порога (включаем не только "холодильник" но и "нагреватель"), сделать возможность выбирать гистерезис самостоятельно. Также было бы здорово добавить функционал для других датчиков: срабатывание по порогу освещенности и порогу уровня СО2. Тогда девайс станет еще и идеальным контроллером для теплицы или, как у меня, для выращивания растений на балконе, автоматически включая фитолампы и открывая заслонки для проветривания. По повышению удобства использования, было бы неплохо сделать в коде или в веб-интерфейсе опцию, отключающую "красивости" на экране показа параметров, оставляя только однородный синенький фон, либо статичное изображение. Да, шикарно выглядит, согласен, но если смотреть на это дольше 10-15 секунд, голова кругом идти начинает . И... спорное предложение, знаю, поскольку сама по себе идеология устройства другая. Но сделать бы возможность вывода данных с датчиков на экранчик. Вроде и смысла нет особо - достал мобильник да смотри в браузере. Но с другой стороны, подойдя к окну бросить мимолётный взгляд на экран, узнав сколько там чего за бортом, вообще не потребует никаких дополнительных действий. Сейчас же есть крошечные I2C OLED 0,96' дисплеи, подключить его в ту же шину и готово. Да, со временем они выгорают, но парень с ютуб-канала "Электроника в объективе" делал стресс-тест десятка таких дисплеев, и заметная деградация появилась только через год непрерывной работы. Учитывая цену таких дисплеев порядка 150-180 руб/шт, их можно просто каждый год выбрасывать и покупать новые) А уж если шевелить цифрами по дисплею а ля "хранитель экрана", ресурс работы возрастёт многократно. ЗЫ. Всё вышеописанное отнюдь не призыв к действию "вынь да положь", и исключительно рассуждения вслух на тему "что бы из этого могло пригодиться некоему пользователю данного девайса". Если что-то из этого при вдумчивом размышлении окажется полезным и будет добавлено в новые версии прошивок, буду очень рад) И еще раз огромное спасибо уважаемый @Kitsum за Вашу дотошность (если тут применимо это слово) в области помощи новичкам, без Ваших подсказок я бы не справился!
  14. Доброе время суток @Astron Тут Вы поспешили, смотрите в чем дело Это сообщение сформировано самой библиотекой и говорит, что вы пытаетесь использовать динамический буфер, который не поддерживается в 6-ой и более старших версиях. Именно по этой причине я указал в инструкции, что необходимо использовать 5-ую версию. Так что вы практически все сделали правильно. На всякий случай, я сформировал архив с Portable Arduino IDE v1.8.9 для Windows с поддержкой ESP8266 и ESP32, а также установленными FS плагинами для загрузки файлов web сервера, базовым набором библиотек (не все нужно обновлять) и скетчем с проектом метеостанции. Я мог что-то упустить, но надеюсь у Вас все получится. Скачать можно тут: https://yadi.sk/d/lXNS4_juPVPYwA
  15. В общем, полное фиаско. Пробовал создать портативную версию среды ардуино по предложенной Вами инструкции - ошибки компиляции сыпались просто дождём, подробности не сохранил, но там речь шла о неправильно подключенных или отсутствующих библиотеках. Подозрение пало на сам компьютер с заезженной "семёркой", которая заросла мусором, не обновляясь с 2013го года. Решил действовать радикально, взял другой комп с чистой "семёркой", на который никогда раньше не устанавливалась среда ардуино. Опять установил всё по инструкции, подключил библиотеки и обновил их до последних версий. Теперь компилятор ругается на любое упоминание jsonBuffer в коде, выдавая что дескать 'jsonBuffer' was not declared in this scope. Также ругается на строку DynamicJsonBuffer jsonBuffer; в файле config.h - DynamicJsonBuffer is a class from ArduinoJson 5. Please see arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6. Но у меня установлена последняя версия библиотеки json 6.10.1, по идее это шестая и есть. То ли я тупой, то ли... Похоже не судьба мне этот проект собрать
  16. @Astron Эти ошибки явно связаны со средой. Эта ошибка может появится только при использовании ESP8266 выше версии 2.5.0 т.к в библиотеки ES8266WebServer данный метод был переименован в responseCodeToString. По этому, Вы скорее всего ошиблись в версиях или используете не оригинальный репозиторий. Исправить это можно уйдя на более низкую версию или заменив строку String codeTranslate(int code) { return ESP8266WebServer::_responseCodeToString(code); } на эту String codeTranslate(int code) { return ESP8266WebServer::responseCodeToString(code); } Вот репозиторий который использую я http://arduino.esp8266.com/stable/package_esp8266com_index.json Esptool, это утилита, идущая в комплекте со всеми исходниками необходимыми для разработки и загрузки скетчей в Arduino IDE. А Вы производили установку дополнения ESP8266FS. Следовательно, ошибка вызвана неработоспособностью самой среды Arduino IDE, возможно часть файлов было потеряно или их не было вовсе. Попробуйте сделать Portable версию Aduino IDE чтобы не быть привязанным к файлам, раскиданным по системе. Для этого: Скачайте последнюю ZIP версию Arduino IDE, на момент публикации данного поста, это 1.8.9 https://www.arduino.cc/download_handler.php?f=/arduino-1.8.9-windows.zip Распакуйте содержимое архива в любое удобное Вам место. Зайдите в корневой каталог всех извлеченных файлов (пусть он называется \arduino-1.8.9) и создайте там каталог с именем portable Файл плагина ESP8266FS разместить по такому адресу \arduino-1.8.9\portable\sketchbook\tools\ESP8266FS\tool\esp8266fs.jar Все необходимые библиотеки размещайте тут \arduino-1.8.9\portable\sketchbook\libraries А исходники проектов тут \arduino-1.8.9\portable\sketchbook Теперь запустите Arduino IDE и в настройках добавьте репозиторий ESP8266 http://arduino.esp8266.com/stable/package_esp8266com_index.json Добавьте в среду разработки поддержку ESP8266, как описывалось в инструкции или внесите изменения, о которых я говорил чуть выше чтобы все собиралось в версиях 2.5.1+
  17. Версия Arduino IDE у меня 1.8.9, библиотеку поддержки ESP8266 обновил до версии 2.5.0 (изначально стояла 2.4.2 как написано в шапке темы - " на версиях выше работоспособность не проверялась"), библиотеку PubSubClient подключил из приложенного Вами архива. В итоге старые ошибки компиляции ушли, за то появились новые) Строка String codeTranslate(int code) { return ESP8266WebServer::_responseCodeToString(code); } в файле webserver.h Ошибка: '_responseCodeToString' is not a member of 'ESP8266WebServer' Если её закомментировать, то следующая ошибка: Строка default: return http.codeTranslate(code); в файле services.h Ошибка: 'class http' has no member named 'codeTranslate' Если и её закомментировать, то скетч таки компилируется и даже заливается. Далее, при попытке выполнить следующий шаг инструкции, залить папку data с помощью пункта меню ESP8266 Sketch Data Upload, выдается ошибка SPIFFS Error: esptool not found! Хотя установку модуля выполнил строго по приложенной в шапке темы инструкции. Что-то не идёт дело
  18. @qastron Только что проверил в Arduino IDE 1.8.9 с установленной поддержкой ESP8266 2.5.0 и последней версией (на 03.06.2019) библиотеки PubSubClient. Все собирается. Ошибки довольно странные т.к. указывают на не существующие или ошибочные методы. При это в оригинале библиотеки все используемые методы присутствуют. На всякий случай скину библиотеку PubSubClient установленную у меня. Убедитесь, что Вы используете именно ее. pubsubclient-master.zip
  19. Доброго времени суток, уважаемый @Kitsum . Буквально пару дней назад нашел Ваш проект метеостанции, который, на мой взгляд, является самым продуманным и эстетически красивым из доступных бесплатно. Возникло желание повторить этот проект, но в процессе возникли некоторые сложности. Я ни в зуб ногой в программировании, просьба понять и простить) Делал вроде всё по инструкции, но компилятор выдаёт ошибку на строку return mqttAPI.publish(topic.c_str(), data.c_str(), true); в файле services.h пишет: invalid conversion from 'const char*' to 'const uint8_t* {aka const unsigned char*}' [-fpermissive] если закомментировать строку, выдает ошибку на строку mqttAPI.setServer(server.c_str(), 1883); в том же файле пишет: 'class PubSubClient' has no member named 'setServer' Библиотеки необходимые скачал и подключил, в файле users_auto.h написал OFF всем датчикам кроме BME280 (пока у меня только он в наличии), больше ничего не трогал. Как исправить ошибку и сделать, чтобы скетч скомпилировался и залился нормально?
  20. Хорошая задачка по поиску подводного камня. Проблема носит синтаксический характер и скрыта в JavaScript. Вот кусочек кода из оригинального файла: $("div.settings div.menuList").click(function() { var id = $(this).attr("id"); $(".settings .menuList[id != " + id + "]").hide(); $(".settings .menuList#" + id).css({"cursor": "default"}); $(".settings #sl-" + id).show(); if(id.match(/(global|mqtt|thingspeak|narodmon|gpio)/i)) { if(id === "gpio") apiGetGPIO(); $(".settings input[type='submit']").show(); } else if(id === "firmware") selfCheckSupportMD5(); else if(id === "spiffs") apiGetSPIFFS(); else if(id === "system") apiGetSystemInfo(); else if(id === "i2c") apiGetI2CInfo(); }); А вот как выглядит регулярное выражение из Вашего файла для этого блока кода id.match(/(global|mqtt|thingspeak|narodmon|gpio|)/i) Проблема в лишнем символе " | " (вертикальная черта) в конце выражения. Этот символ, используемый в рамках круглых скобок обозначает логическое ИЛИ. В итоге Ваш шаблон закончен с логической ошибкой и сводит с ума обработчик. Вернитесь к оригинальному коду или допишите шаблон, полагаю, что Вы хотели сделать это: id.match(/(global|mqtt|thingspeak|narodmon|gpio|scaleW)/i) Последний вариант гарантирует, что в вашей ветке настроек веса появится кнопка сохранить. Если использовать встроенную кнопку сохранения через регулярное выражение, описанное ранее, то по её нажатию данные с формы будут переданы в переменную конфига которую Вы уже инициализировали. Отсюда (index.htm) <input type="text" id="scaleW_checkW" autocomplete="off" placeholder="5"> Сюда (esp8266) conf.add("scaleW_checkW"); Далее в коде микроконтроллера Вы можете работать с этой переменной. Я также заметил, что добавили кнопку "Откалибровать весы". <div class="button" id="calibration">Откалибровать весы</div> Если Вы хотите на неё повесить дополнительное действие, то необходимо организовать обработку события клика по ней $("#sl-scaleW #calibration").click(function() { }); В данном блоке реализуете обработку нажатия. Например, Вы можете выполнить AJAX запрос к WEB серверу ESP8266 и выполнить все необходимые действия на стороне микроконтроллера. В данном случае, возможно, Вам потребуется обновить значение эталонного веса, а только после этого произвести калибровку. Но, тут уже Вы сами решаете, что и как делать.
  21. @post125 попробуйте запустить скрипт в консольном режиме zabbixMqttClient.py window В выводе получите описания этапов подключения, например connecting... connected client id: server.local subscribe on "$SYS/#" subscribe on "kitsum/espWeatherStation/#" subscribe on "kitsum/serverRoom/#" Далее должен начаться вывод сообщений, полученных от брокера 2019-05-30 07:52:46 $SYS/broker/messages/sent 216459 (host: broker, key: topic[messages/sent]) server response: ... 2019-05-30 07:52:46 $SYS/broker/publish/messages/sent 34211 (host: broker, key: topic[publish/messages/sent]) server response: ... 2019-05-30 07:52:46 $SYS/broker/bytes/sent 1809731 (host: broker, key: topic[bytes/sent]) server response: ... 2019-05-30 07:52:46 $SYS/broker/publish/bytes/sent 206329 (host: broker, key: topic[publish/bytes/sent]) server response: ... Больше информации можно получить, включив вывод логов paho, для этого надо найти строку #mqttc.on_log = on_log Приводим её к такому виду mqttc.on_log = on_log Также можно модифицировать скрипт чтобы увидеть не стандартное поведение zabbix_sender Ищем блок if error == None: output = re.search('"processed: (\d+); failed: (\d+); total: (\d+); seconds spent: (\d+\.\d+)"', out$ if output.group(2) != '0': answer = 'failed (time ' + output.group(4) + ')' elif output.group(1) != '0': answer = 'processed (time ' + output.group(4) + ')' else: answer = output.group(0) alert(time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime()) + msg.topic + ' ' + str(msg.payload.decode('utf-8')) + ' (host: ' + host + ', key: ' + key + ') server response: ' + answer) else: alert(error) return 0 Приводим его к такому виду if error == None: output = re.search('"processed: (\d+); failed: (\d+); total: (\d+); seconds spent: (\d+\.\d+)"', out$ if output == None: alert('zabbix_sender error!') return 0 elif output.group(2) != '0': answer = 'failed (time ' + output.group(4) + ')' elif output.group(1) != '0': answer = 'processed (time ' + output.group(4) + ')' else: answer = output.group(0) alert(time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime()) + msg.topic + ' ' + str(msg.payload.decode('utf-8')) + ' (host: ' + host + ', key: ' + key + ') server response: ' + answer) else: alert(error) return 0 Также стоит попробовать отправить данные через zabbix_sender руками. zabbix_sender -vv -z 127.0.0.1 -p 1883 -s broker -k topic[my/test/path] -o 555 Где: 127.0.0.1 - имя или ip mqtt адрес сервера 1883 - порт mqtt сервера broker - имя узла в zabbix на который адресовано сообщение topic[my/test/path] - это ключ элемента данных который присутствует в шаблоне или создан руками 555 - любое значение для теста
  22. Ну если Вы уверены и проверили, что это косвенное подтверждение. Тогда ой...
  23. Благодарю за ответ. Команда stop останавливает процесс, start - запускает, всё корректно. Просто если повторно дать star, пишет ,что процесс уже запущен. Это просто косвенное подтверждение, что процесс запущен. Проблема в том, что всё , вроде, запущено, а заббикс не принимает данные.
  24. Смею предположить что команда stop не гасит процесс. Попробуйте использовать команду kill и pid указаный в файле zabbixMqttClient.pid И если потом команда start отработает коректно, то значит "копать" в сторону неотработки команды stop
  25. Добрый день! помогите пожалуйста !!!! подключил два BME280 и тензодатчик, с помощью отдельного скетча нашел калибровочный коэффициент и tareoffset и забил их в скрипте постоянно. т.к. улей на весах должен стоять все время, то тарирование отключил tareoffset (для этого в библиотеке HX711_ADC выставил параметр doTare = 0) и все вроде как замечательно, но так как может понадобиться откалибровать весы заново и выполнить тарирование, сохранить эти параметры для дальнейшего измерения веса и отключить тарирование, добавил в меню Калибровка весов (правда в остальных меню во многих ячейках пропало отображение значений ), а дальше как говориться завис, я только знакомлюсь с программированием . ESP8266_scale.zip
  26. Прочитал неоднократно, постарался всё исполнить в точности. Сам заббикс работает(без mqtt), москитто на том же компе работает. в zabbixMqttClient.py: Демон вроде работает - команды start/stop при его запуске выполняются без ошибок, если повтроно запустить start, пишет: root@zabbix:~# /media/zabbixMqttClient.py start pidfile /tmp/zabbixMqttClient.pid already exist. Daemon already running?root@zabbix:~# в самом заббиксе импортировал шаблон, всё прописал, но данные до него не доходят: Подскажите, пожалуйста, что не так делаю?
  1. Load more activity
×
×
  • Create New...