народный монитор
  • Иван добрый день.
    Есть ли у вас вариан скеча с передачей давления?
  • Приветствую!

    В примере к библиотеке narodmon есть 2 скетча, один передает 4 параметра с температурой, а другой (измененный вариант) передает 3 параметра температуры и 1 параметр с влажностью. Можете изменить любой вариант, добавив в него передачу нужного вам параметра - атмосферного давления.
  • Я использую один из них но мне необходимо передавать четыре температуры давление влажность и в перспективе напряжение
  • Ну так добавьте в скетч еще сколько вам нужно параметров.
    Например после влажности, пропишите еще блок.
    if (ReadSensorRH (&SensorData)) {
    Narodmon.SetMACnByIndex(SensorsNum, RHMacn);
    Narodmon.SetDATAByIndex(SensorsNum, SensorData);
    SensorsNum++;
    }
  • Иван, добрый день.
    добавил еще два датчика, но результат отрицательный.
    каким то образом изменились мак адреса первых двух плюс значения стали не соответствовать действительности.
    есть ли ограничения при сборке пакета для отправки на сайт?
  • MDV said:

    добавил еще два датчика, но результат отрицательный.


    Какие датчики вы добавили? Температуры?
    Вы их прописали? И в инициализации...
    DeviceAddress sensor_1, sensor_2, sensor_3, sensor_4; // Используем 4 температурных датчика


    MDV said:

    есть ли ограничения при сборке пакета для отправки на сайт?


    Читайте описание протокола проекта
  • Иван, ограничение по сайту 64кб, что явно позволяет передавать за раз данные с десятков датчиков. У меня вопрос, в скетче или вашей библиотеке есть ограничения? так как при добавлении двух датчиков (стало 6) у меня в пакете искажается информация, как по мак адресам так и по показаниям от самих датчиков.
  • Да, еще нужно править в Narodmon.h и скорее всего в Narodmon.cpp
    define MAX_NUM_SENSORS (4)
  • спасиб, буду пробовать.
  • Иван добрый день. Лекарство помогло, но появился другой вопрос показания от новых датчиков приходят в десять раз меньше, где можно подправить?
  • В скетче гляньте функцию ReadSensor, видите перед отправкой данные умножаем на 10. Это для того, чтобы передавать float-переменные (т.е. значение с запятой).
    signed int tempS10 = (signed int) (tempS * 10.0);

    Уже в TelnetSend значения обратно делим на 10.
    Вы с данными от новых датчиков также поступаете?
  • Иван, добрый день.
    а разве нельзя сразу float-переменные в telnet отправлять?
    так как то двойное преобразование происходить.
  • так проще.
  • Иван, добрый день.
    Вопрос данные температуры передаются с дискретностью 0,5С., есть ли возможность изменить дискретность до 0,1С.
  • MDV said:

    есть ли возможность изменить дискретность до 0,1С.


    У DS18B20 точность измерений 0.5°C.
    Соответственно если хотите точность 0.1°C нужно использовать другие датчики.
  • Иван Добрый день.
    С НГ Вас и всю вашу команду.
    При эксплуатации возникла небольшая проблема, скетч завис при отсутствии средств на сим карте и при проблемах на сервере народного монитора.
    Есть ли возможность оптимизировать код в части WD для перезапуска системы.
  • MDV said:

    Иван Добрый день.
    С НГ Вас и всю вашу команду.


    Спасибо большое! И Вас с наступившим, всех благ!


    MDV said:

    При эксплуатации возникла небольшая проблема, скетч завис при отсутствии средств на сим карте и при проблемах на сервере народного монитора.
    Есть ли возможность оптимизировать код в части WD для перезапуска системы.


    Пока что дополнять функционал библиотеки не планируется, сейчас стоят другие задачи.
  • только сегодня получил ардуино и пытаюсь получать данные с ds18b20.

    пользуясь чужими скетчами возникли трудности. в основном старые библиотеки onewire, скетчи под раннюю версию IDE или нежелание работать с моим ds18b20.
    Пытаюсь вникнуть в скетч приведенный Вами для передачи показаний на народный монитор. в самом начале скетча есть такие строки

    #define ONE_WIRE_BUS 8 // Номер линии, к которой подключены датчики температуры
    #define TEMPERATURE_PRECISION 9

    не могли бы прокомментировать вторую строчку? что и для чего присваивается пину 9?
  • mum said:

    пользуясь чужими скетчами возникли трудности. в основном старые библиотеки onewire, скетчи под раннюю версию IDE или нежелание работать с моим ds18b20


    Скачайте свежие версии библиотек OneWire и DallasTemperature. Установите в Ардуино IDE. Запустите IDE и гляньте примеры к DallasTemperature, начните со скетча Simple. Так вы через терминал сможете посмотреть какие показания идут с датчика. Как разберетесь потом можете усложнять код.

    mum said:

    #define TEMPERATURE_PRECISION 9


    Это мы задаем точность показаний. ds18B20 поддерживает 9-12 bit, в примере конкретно задаем 9.
  • Иван, библиотеки новые установил еще вчера. пример из библиотеки использовал, всё работало, но в примере много лишнего, там ведь под разные типы датчиков и плюс ко всему в монитор шлет много лишнего чего мне не надо. я хотел почистить скетч и оставить лишь только датчик ds18b20 и только вывод температуры в цельсиях

Привет, незнакомец!

Похоже, вы новенький! Чтобы пообщаться с нами, кликните на одну из кнопок ниже :)

Войти с помощью OpenID

В этом теме:

  • Ivan Январь 2014
  • MDV Январь 2014
  • mum Январь 2014