Страница 262 из 326

Re: Arduino Mega Server

Добавлено: Вт июн 12, 2018 9:27 am
Alex
Меня устраивают вполне отдельные странички в 1 стиле :-)
Да, в большинстве случаев этого достаточно, но я вижу большой потенциал в этой технологии и я не стал бы выкорчёвывать управление темами из системы.

Re: Arduino Mega Server

Добавлено: Вт июн 12, 2018 11:22 am
nick7zmail
В базовой сборке этот функционал обязательно должен присутствовать, очень наглядно и интерактивно, с этим не спорю)) Реально классный ход.

А для себя - 1 контроллер 1 цель/задача. Оформления ему ни к чему. Вряд ли эта система когда-либо будет расширяться, а если и будет - прошивку, скорее всего, с нуля писать придётся, на основе очередного актуального на тот момент Амс)...и по оформлению надо снова будет решать выковыривать его или нет))) лично я за простоту, а оформление за собой тянет очень много файлов на флехе (сейчас их у меня около 20 вроде осталось, а изначально - больше 50), и несколько десятков строк в самом коде...

Отправлено с моего Xperia XZ1 Compact через Tapatalk


Re: Arduino Mega Server

Добавлено: Вт июн 12, 2018 4:49 pm
eGorka
Alex писал(а): Вс июн 10, 2018 8:39 pmeGorka, ну какие 750 мс? И что это вообще за детский сад — штаны на лямках? Во всех моих проектах далласы работают на «второй скорости», сейчас не помню, но это кажется то ли 200, то ли 150 мс.
Про "детский сад" и "штаны на лямках"
SPOILERSPOILER_SHOW
ESP8266

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

#include "OneWire.h"
#include "DallasTemperature.h"
OneWire oneWire(2);
DallasTemperature sensors(&oneWire);
DeviceAddress ds[3] = { 
  {40,255,56,171,181,22,3,226},
  {40,255,61,69,192,22,4,53},
  {40,255,135,23,179,22,3,144}
};
float temp[3];
unsigned long time0,time1;
void setup(void) {
  Serial.begin(115200);
  sensors.begin();
  Serial.println();
  Serial.println(" *** \"DallasTemperature.h\" ***");
  Resolution();
}
void loop() {
  workTemp();
  delay(60000);
}
void workTemp() {
  Serial.println();
  time0 = millis();
  sensors.requestTemperatures();
  for(int i=0; i<3; i++) {
    temp[i] = sensors.getTempC(ds[i]);
  }
  time1 = millis();
  Serial.print(" Время выполнения: "); Serial.print(time1 - time0); Serial.println(" мс");
  Serial.print(" Температура:  ");
  for(int i=0; i<3; i++) {
    Serial.print(temp[i]);
    Serial.print(" ");
  }
  Serial.println();
}
void Resolution() {
  Serial.println();
  Serial.println(" \"Скорость\" датчиков");
  for(int i=0; i<3; i++) {
    uint8_t res = (sensors.getResolution(ds[i]),DEC);
    if(res == 9) { Serial.print(i + 1); Serial.println(" датчик(Первая скорость 94 мс 9бит)"); }
    if(res == 10) { Serial.print(i + 1); Serial.println(" датчик(Вторая скорость 188 мс 10бит)"); }
    if(res == 11) { Serial.print(i + 1); Serial.println(" датчик(Третья скорость 375 мс 11бит)"); }
    if(res == 12) { Serial.print(i + 1); Serial.println(" датчик(Четвёртая скорость 750 мс 12бит)"); }
  }
}
Dallas8266.PNG
Dallas8266.PNG (32.26 КБ) 6002 просмотра
с учётом(в коде AMS) timeStamp() и вывода в Serial будет ещё больше.
Даже знаю кто может проверить на AMS :D.

Re: Arduino Mega Server

Добавлено: Вт июн 12, 2018 5:47 pm
eGorka
OneWire
SPOILERSPOILER_SHOW

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

#include "OneWire.h"
OneWire  ow(2);
byte ds[3][8] = { {40,255,56,171,181,22,3,226}, {40,255,61,69,192,22,4,53}, {40,255,135,23,179,22,3,144} };
float temp[3];
unsigned long time0,time1;
void setup(void) {
  Serial.begin(115200);
  Serial.println();
  Serial.println(" *** \"OneWire.h\" ***");
}
void loop() {
  workTemp();
  delay(60000);
}
void workTemp() {
  Serial.println();
  time0 = millis();
  ow.reset(); 
  ow.skip();
  ow.write(0x44);
  delay(200);
  for (int i=0; i<3; i++) {
    byte data[2];
    ow.reset();
    ow.select(ds[i]);
    ow.write(0xBE);
    data[0] = ow.read();
    data[1] = ow.read();
    int16_t raw = (data[1] << 8) | data[0];
    temp[i] = raw / 16.0;
  }
  time1 = millis();
  Serial.print(" Время выполнения: "); Serial.print(time1 - time0); Serial.println(" мс)");
  Serial.print(" Температура:  ");
  for(int i=0; i<3; i++) {
    Serial.print(temp[i]);
    Serial.print(" ");
  }
  Serial.println();
}
OW8266.PNG
OW8266.PNG (27.66 КБ) 5994 просмотра

Re: Arduino Mega Server

Добавлено: Вт июн 12, 2018 6:35 pm
serghei
nick7zmail писал(а): Вт июн 12, 2018 11:22 am1 контроллер 1 цель/задача. Оформления ему ни к чему.
На вкус и цвет все фломастеры разные. И каждый делает сам для себя. Человеку просто надо темную тему по дефолту.
А вот с ESP32 засада - чем больше файлов , тем дольше грузится страница редактирования и загрузки прошивки. Есть очень быстрый вариант , но при количестве файлов более 30 не работает. Хотя это надо в основном для отладки.

Re: Arduino Mega Server

Добавлено: Вт июн 12, 2018 7:10 pm
eGorka
Каюсь, был неправ, DallasTemperature работает корректно и быстрее!!! чистой OneWire, правда ест память.
Dallas2.PNG
Dallas2.PNG (28.89 КБ) 5983 просмотра
время измерения берётся по датчику с самым высоким разрешением.

Re: Arduino Mega Server

Добавлено: Вт июн 12, 2018 9:29 pm
serghei
Уффф. А что тогда говорить про PowerMonitor ? Ну тогда пусть AMS занимается серверной частью , а все измерения водрузить на сторонние Атмеги , а данные получать хоть по сериалу, хоть по NRF24. А до кучи можно еще и по UDP.
К тому же всплывает вопрос о точности показаний разных датчиков при разных напряжениях питания. Разброс температуры далласов и DHT11 минимальный ( 1 С), а вот влажность - около 10 % , по сравнению с BME280.

Re: Arduino Mega Server

Добавлено: Ср июн 13, 2018 1:29 am
alexsis_76
Скажите а зачем вы ждете 200мс,я делаю так,даю команду на измерение ,завожу будильник и делаю другие дела,после того как будильник прозвенел я могу забрать данные с датчика,он может измерять сколько хочет,вообще я склоняюсь к мысли что http со многоими файлами для таких устройств роскошь,хватит им и TCP ,написать программу скажем на дельфи и спокойно обмениваться данными по вышеуказанному протоколу,увеличится скорость (при экспериментах запросы шли с интервалом 30мс что для обычной схемы недостижимо) и добавится интерактивность(больше не надо будет долбить сервер запросами)он сам все скажет),можно будет сделать сигнализацию c оповещением.

Re: Arduino Mega Server

Добавлено: Ср июн 13, 2018 7:42 am
eGorka
alexsis_76 писал(а): Ср июн 13, 2018 1:29 am Скажите а зачем вы ждете 200мс,я делаю так,даю команду на измерение ,завожу будильник и делаю другие дела,после того как будильник прозвенел я могу забрать данные с датчика,он может измерять сколько хочет,вообще я склоняюсь к мысли что http со многоими файлами для таких устройств роскошь,хватит им и TCP ,написать программу скажем на дельфи и спокойно обмениваться данными по вышеуказанному протоколу,увеличится скорость (при экспериментах запросы шли с интервалом 30мс что для обычной схемы недостижимо) и добавится интерактивность(больше не надо будет долбить сервер запросами)он сам все скажет),можно будет сделать сигнализацию c оповещением.
Это не я, это DallasTemperature, тесты для наглядности как быстрее при использовании delay. В реале(у меня) всё сделано как вы и описали, т.е. без DallasTemperature и delay.

Re: Arduino Mega Server

Добавлено: Чт июн 14, 2018 10:40 pm
zDimaBYz
Моя прошивка правда ищо в _DASH не разобрался с pir датчиками