Арена

Модератор: Alex

serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Арена

Сообщение serghei » Вт ноя 14, 2017 1:17 pm

По поводу дискуссии - баловство с запуском дистрибутива АМС на всех платформах для нас закончилось с результатом " ЭТО РАБОТАЕТ" . Теперь на первое место встает вопрос - " АМС-ом надо управлять реальными объектами". И тут тема датчиков выползает на первый план. Из всего арсенала есть Далласы ( проблемные) , серия DHT ( вообще игрушки , но работают ) , аналоговые LM35 и подобные , ну и серия BME 180-280 с шиной I2C.
Что выбрать ? Если нужна сеть на 20 температур , 9 датчиков влажности и всё это разбросано по всему дому ( до последней точки 20 метров) ?
Аналоговых входов у 32-ой 16 штук , но тогда влажность не измерить . I2C шина работает на короткие расстояния.
Отсюда вырисовывается и план действий - надо ставить шинные формирователи и преобразователи интерфейсов.
Хотя это всё к Мега Серверу отношения не имеет - это общая проблема Ардуино.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Арена

Сообщение Alex » Вт ноя 14, 2017 2:33 pm

Во первых, хочу заметить, что пока на «Арене» вы, serghei, сражаетесь в одиночестве, больше желающих нет. :) Мне тоже не импонирует идея с кем-то «сражаться», я бы предпочёл сотрудничество.
баловство с запуском дистрибутива АМС на всех платформах для нас закончилось с результатом " ЭТО РАБОТАЕТ"
Слава богу.
Из всего арсенала есть Далласы ( проблемные)
С каких пор и с какого перепугу они стали проблемными?
Что выбрать ? Если нужна сеть на 20 температур , 9 датчиков влажности и всё это разбросано по всему дому ( до последней точки 20 метров) ?
Вот здесь

https://hi-lab.ru/arduino-mega-server/a ... mart-dacha

есть реальный пример решения всех этих проблем — температура собирается сетью проводных датчиков DS18B20, а там, где проблемно провести провода — данные собираются сетью беспроводных nRF24 AMS датчиков, работающих на АМС беспроводном протоколе с гарантией доставки пакетов.

И эта система прекрасно работает уже много месяцев без каких-либо проблем. В общем, я думаю, что проблема, как всегда, не в плохом оборудовании, а в плохих «танцорах».
eGorka
Сообщения: 182
Зарегистрирован: Чт ноя 24, 2016 10:47 am
Благодарил (а): 5 раз
Поблагодарили: 25 раз

Re: Арена

Сообщение eGorka » Вт ноя 14, 2017 10:01 pm

Alex писал(а):
Из всего арсенала есть Далласы ( проблемные)
С каких пор и с какого перепугу они стали проблемными?
serghei пишет о проблемах у esp32 с Далласами.
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: Арена

Сообщение serghei » Вт ноя 14, 2017 10:50 pm

Я пришел на этот форум выяснять отношения с кодом АМС и безумным роботом форума. " Проблемный" датчик отвалился за четыре месяца только ДВА РАЗА ! И это не мои слова. Доказательства возможны благодаря Ledmax и Alexsis_76 и его гениальной странице - без преувеличений. Прямые линии графиков - это глюк библиотеки , когда не работал сервер.
СпойлерПоказать
Log_DUE.jpg
ЧЕТЫРЕ месяца записи на SD карту
Log_DUE.jpg (121.79 КБ) 3381 просмотр
С точки зрения дилетанта , проблемы возникают когда бездумно пытаюсь перенести код с библиотекой с одной платформы на другую без учета специфики. Так было с ESP32 и NRF24. И только благодаря помощи eGorka всё заработало.
Сеть на всех серверах и радио сенсорах то же работает. Не так как у Вас , но в меру моих "знаний".
И я за сотрудничество. Но большинство моих вопросов уходят в спам , благодаря роботу. Снимите последний бан - очень хочется узнать - как же все таки отправить картинку в браузер ( это я о погоде ).
To eGorka
Библиотека далласов для ESP32 вроде обычная , не помню откуда взял.
DallasTemperature.rar
У ESP32
(21.25 КБ) 173 скачивания
В подтверждение слов код DHT от Дуи не работает на ЕСП32 и наоборот
СпойлерПоказать

Код: Выделить всё

/*
  Module DHT DUE
  part of Arduino Mega Server project
*/

#ifdef DHT_FEATURE

#include "DHT.h"

#include <Adafruit_Sensor.h>

//#define MAX_TEMP_SENSORS  1
#define DHTTYPE DHT11   // DHT 11


//DHT dht(DHT22); // Указать датчик DHT11, DHT21 или DHT22. (несколько датчиков вписывать не нужно)
// Подключать можно только одинаковые датчики, то есть нельзя использовать одновременно DHT11 и DHT22


#define DHTPIN 34  //pin 34 connect to DHT11
DHT dht(DHTPIN, DHTTYPE, 30);  //30 for Arduino Due

// Temporary variables
static char celsiusTemp[7];
static char fahrenheitTemp[7];
static char humidityTemp[7];

float dht11_h;
float dht11_t;
float dht11_f;

  void dhtInit() {
 
  modulDHT = MODUL_ENABLE;
  
  started("DHT", true);
  
}


void dhtWorks() {
  
       if (cycle5m) {

            
            // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
            dht11_h = dht.readHumidity();
            // Read temperature as Celsius (the default)
            dht11_t = dht.readTemperature();
            // Read temperature as Fahrenheit (isFahrenheit = true)
            dht11_f = dht.readTemperature(true);
            // Check if any reads failed and exit early (to try again).
            if (isnan(dht11_h) || isnan(dht11_t) || isnan(dht11_f)) {
              Serial.println("Failed to read from DHT sensor!");
              strcpy(celsiusTemp,"Failed");
              strcpy(fahrenheitTemp, "Failed");
              strcpy(humidityTemp, "Failed");         
            }
            else{

              Serial.print("Humidity: ");
              Serial.print(dht11_h);
              Serial.print(" %\t Temperature: ");
              Serial.print(dht11_t);
              Serial.println(" *C ");
          }// else
      }//if(cycle5m)
  
 }//dhtWorks()
#endif   
СпойлерПоказать

Код: Выделить всё

/*
  Module DHT ESP32
  part of Arduino Mega Server project
*/

#ifdef FEATURE_DHT
#include "DHT.h"

#define MAX_TEMP_SENSORS  1

// Uncomment one of the lines below for whatever DHT sensor type you're using!
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
//#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321

// DHT Sensor
const int DHTPin = 15;
// Initialize DHT sensor.
DHT dht(DHTPin, DHTTYPE);

//char objSens[MAX_TEMP_SENSORS] = {"tempSTR"};

// Temporary variables
static char celsiusTemp[7];
static char fahrenheitTemp[7];
static char humidityTemp[7];


void initDHT() {
  moduleDHT = ENABLE;
  started(F("DHT"), true);
}
void workDHT() {
  if (cycle1m) {


           // if (c == '\n' && currentLineIsBlank) {
            // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
            float h = dht.readHumidity();
            // Read temperature as Celsius (the default)
            float t = dht.readTemperature();
            // Read temperature as Fahrenheit (isFahrenheit = true)
            float f = dht.readTemperature(true);
            // Check if any reads failed and exit early (to try again).
            if (isnan(h) || isnan(t) || isnan(f)) {
              Serial.println("Failed to read from DHT sensor!");
              strcpy(celsiusTemp,"Failed");
              strcpy(fahrenheitTemp, "Failed");
              strcpy(humidityTemp, "Failed");         
            }
            else{
              // Computes temperature values in Celsius + Fahrenheit and Humidity
              float hic = dht.computeHeatIndex(t, h, false);       
              dtostrf(hic, 6, 2, celsiusTemp);             
              float hif = dht.computeHeatIndex(f, h);
              dtostrf(hif, 6, 2, fahrenheitTemp);         
              dtostrf(h, 6, 2, humidityTemp);
              // You can delete the following Serial.print's, it's just for debugging purposes


              
              Serial.print("Humidity: ");
              Serial.print(h);
              Serial.print(" %\t Temperature: ");
              Serial.print(t);
              Serial.println(" *C ");

              /*
              Serial.print(f);
              Serial.print(" *F\t Heat index: ");
              Serial.print(hic);
              Serial.print(" *C ");
              Serial.print(hif);
              Serial.print(" *F");
              Serial.print("Humidity: ");
              Serial.print(h);
              Serial.print(" %\t Temperature: ");
              Serial.print(t);
              Serial.print(" *C ");
              Serial.print(f);
              Serial.print(" *F\t Heat index: ");
              Serial.print(hic);
              Serial.print(" *C ");
              Serial.print(hif);
              Serial.println(" *F");

             */

          }
      }
   }

#endif  
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Арена

Сообщение Alex » Ср ноя 15, 2017 8:22 am

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

По поводу ESP32 и 1-Wire сети. Я это не проверял, но думаю, что если всё грамотно сделать, то проблем не будет — по идее им там просто неоткуда взяться.
Ответить