Перейти к содержанию

Рекомендуемые сообщения

Нашел ошибку в скетче. Строка 85 не указана разрешение для каждого датчика. Отсюда такой разброс по температуре. Тест будет повторен.

Поделиться сообщением


Ссылка на сообщение
7 часов назад, Haaans сказал(а):

Решил устроить вот такие варианты измерения:

Некоторые тесты у вас неправильны.

Сначала надо на жидкосном градуснике посмотреть уровень погружения и опускать в воду как написано.

Проверка на воздухе возможна, но просто положил рядом, а под колпаком и долго.

В воде со льдом показания будут разные, нужно перемешивание с удержанием уровня.

Замер лучше делать в большом стакане подальше от стенок все сразу при +5,,+10 и 2-я точка +40,,+50 - лучше поймете погрешность.

Поделиться сообщением


Ссылка на сообщение
2 часов назад, Lx671 сказал(а):

Сначала надо на жидкосном градуснике посмотреть уровень погружения и опускать в воду как написано.

У жидкостного видна зона измерения же. А в гильзе нет.

Логичнее гильзу полностью погружать.

2 часов назад, Lx671 сказал(а):

В воде со льдом показания будут разные, нужно перемешивание с удержанием уровня.

Не понятно. Лед начал таять, нужно мерить же в этот период, а не тогда как много растаяло.

2 часов назад, Lx671 сказал(а):

Замер лучше делать в большом стакане подальше от стенок

Так и задумано. Пробую заморозить воду так чтобы внутри была воронка

2 часов назад, Lx671 сказал(а):

при +5,,+10 и 2-я точка +40,,+50 - лучше поймете погрешность.

Надо посмотреть, что может термометр

Поделиться сообщением


Ссылка на сообщение
1 час назад, Haaans сказал(а):

Не понятно. Лед начал таять, нужно мерить же в этот период, а не тогда как много растаяло.

Капните зеленку)) Увидите движуху таянья и соответственно немного разная темпер...

Поделиться сообщением


Ссылка на сообщение
15 часов назад, Lx671 сказал(а):

Капните зеленку)) Увидите движуху таянья и соответственно немного разная темпер...

Тут точно о разном говорим. Не суть.

Так. Вот тут видео о датчике.

В нем есть ключевая фраза, что датчики калиброваны во время производства. Но Я же знаю, что интернет та еще помойка. Значит делаю следующее.

Беру широкую чашку из стекла. Заливаю в нее половину воды. Ставлю в нее пластиковый стаканчик с гладкими стенками и дном. Заливаю в него воду так чтобы он стоял внутри чашки с водой. Закидываю в морозильник.

Пока ждем затвердевания воды. Все датчики связанные резинкой так чтобы был бортик толстый. К ним так же прикручена шпажка деревянная для шашлыка. Таким образом чтобы один ее край выступал ниже датчиков на 5 мм. Кладем их все вместе в банку стеклянную, так чтобы они не касались стекла. Вот для чего нужен бортик. Записываем данные после ребута платы. Оставляем до момента затвердевания воды в морозилке. Как только обнаружил, что вода затвердела записываю температуру с монитора.
А в морозильнике, кидаю туда же пластиковую бутылку с самой холодной водой из под крана на 30 минут. Через пол часа достаем бутылку с водой и стакан со льдом. Через пару минут вытаскиваем пластиковый стакан из льда. Получаем воронку внутри. Заливаю воду из бутылки. Погружаем датчики в воду и контрольный термометр. Так чтобы он не касался дна. Снимаем показания.

Скетч с исправленной ошибкой про расширение. При ребуте платы видим что плата нашла 4 прибора (отсчет с нуля идет). И что у них у всех одинаковое разрешение измерения.

Спойлер

// Include the libraries we need
#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 0
#define TEMPERATURE_PRECISION 12

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

// массив для хранения адресов устройств
DeviceAddress insideThermometer_index1, outsideThermometer_index2, index3, index4, index5;

// Assign address manually. The addresses below will need to be changed
// to valid device addresses on your bus. Device address can be retrieved
// by using either oneWire.search(deviceAddress) or individually via
// sensors.getAddress(deviceAddress, index)
// DeviceAddress insideThermometer = { 0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0 };
// DeviceAddress outsideThermometer   = { 0x28, 0x3F, 0x1C, 0x31, 0x2, 0x0, 0x0, 0x2 };

//============						// Данные для счетчика времени для опросов
unsigned long previousMillis = 0;   // Нулевое значение для начала отсчета
const long interval = 3000;         // Длительность паузы между опросами
//============

void setup(void)
{
  // start serial port
  Serial.begin(115200);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // Start up the library
  sensors.begin();

  // locate devices on the bus
  Serial.print("Locating devices...");
  Serial.print("Found ");
  Serial.print(sensors.getDeviceCount(), DEC);
  Serial.println(" devices.");

  // report parasite power requirements
  Serial.print("Parasite power is: ");
  if (sensors.isParasitePowerMode()) Serial.println("ON");
  else Serial.println("OFF");

  // Search for devices on the bus and assign based on an index. Ideally,
  // you would do this to initially discover addresses on the bus and then
  // use those addresses and manually assign them (see above) once you know
  // the devices on your bus (and assuming they don't change).
  //
  // method 1: by index
  if (!sensors.getAddress(insideThermometer_index1, 0)) Serial.println("Unable to find address for Device 0");
  if (!sensors.getAddress(outsideThermometer_index2, 1)) Serial.println("Unable to find address for Device 1");
  if (!sensors.getAddress(index3, 2)) Serial.println("Unable to find address for Device 2");
  if (!sensors.getAddress(index4, 3)) Serial.println("Unable to find address for Device 3");
  if (!sensors.getAddress(index5, 4)) Serial.println("Unable to find address for Device 4");

  // method 2: search()
  // search() looks for the next device. Returns 1 if a new address has been
  // returned. A zero might mean that the bus is shorted, there are no devices,
  // or you have already retrieved all of them. It might be a good idea to
  // check the CRC to make sure you didn't get garbage. The order is
  // deterministic. You will always get the same devices in the same order
  //
  // Must be called before search()
  //oneWire.reset_search();
  // assigns the first address found to insideThermometer
  //if (!oneWire.search(insideThermometer)) Serial.println("Unable to find address for insideThermometer");
  // assigns the seconds address found to outsideThermometer
  //if (!oneWire.search(outsideThermometer)) Serial.println("Unable to find address for outsideThermometer");

  // show the addresses we found on the bus
  Serial.print("Device 0 Address: ");
  printAddress(insideThermometer_index1);
  Serial.println();

  Serial.print("Device 1 Address: ");
  printAddress(outsideThermometer_index2);
  Serial.println();

  // set the resolution to 9 bit per device
  sensors.setResolution(insideThermometer_index1, TEMPERATURE_PRECISION);
  sensors.setResolution(outsideThermometer_index2, TEMPERATURE_PRECISION);
  //======== HANS Я ПОХОЖЕ ЗАБЫЛ ВОТ ТУТ ЗАДАТЬ РАЗРЕШЕНИЕ ДЛЯ ВСЕХ ДАТЧИКОВ
  sensors.setResolution(index3, TEMPERATURE_PRECISION);
  sensors.setResolution(index4, TEMPERATURE_PRECISION);
  sensors.setResolution(index5, TEMPERATURE_PRECISION);
  //========

  Serial.print("Device 0 Resolution: ");
  Serial.print(sensors.getResolution(insideThermometer_index1), DEC);
  Serial.println();

  Serial.print("Device 1 Resolution: ");
  Serial.print(sensors.getResolution(outsideThermometer_index2), DEC);
  Serial.println();

  Serial.print("Device 2 Resolution: ");
  Serial.print(sensors.getResolution(index3), DEC);
  Serial.println();

  Serial.print("Device 3 Resolution: ");
  Serial.print(sensors.getResolution(index4), DEC);
  Serial.println();

  Serial.print("Device 4 Resolution: ");
  Serial.print(sensors.getResolution(index5), DEC);
  Serial.println();

  //=============
  void opros();      //Функция перезапуска счетчика врмеени
}

// function to print a device address
void printAddress(DeviceAddress deviceAddress)
{
  for (uint8_t i = 0; i < 8; i++)
  {
    // zero pad the address if necessary
    if (deviceAddress[i] < 16) Serial.print("0");
    Serial.print(deviceAddress[i], HEX);
  }
}

// function to print the temperature for a device
void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  if(tempC == DEVICE_DISCONNECTED_C) 
  {
    Serial.println("Error: Could not read temperature data");
    return;
  }
  Serial.print("Temp C: ");
  Serial.print(tempC);
  //Serial.print(" Temp F: ");
  //Serial.print(DallasTemperature::toFahrenheit(tempC));
}

// function to print a device's resolution
void printResolution(DeviceAddress deviceAddress)
{
  Serial.print("Resolution: ");
  Serial.print(sensors.getResolution(deviceAddress));
  Serial.println();
}

// main function to print information about a device
void printData(DeviceAddress deviceAddress)
{
  Serial.print("Device Address: ");
  printAddress(deviceAddress);
  Serial.print(" ");
  printTemperature(deviceAddress);
  Serial.println();
}

/*
   Main function, calls the temperatures in a loop.
*/
void opros()
{
  // call sensors.requestTemperatures() to issue a global temperature
  // request to all devices on the bus
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures();
  Serial.println("DONE");

  // print the device information
  printData(insideThermometer_index1);
  printData(outsideThermometer_index2);
  printData(index3);
  printData(index4);
  printData(index5);
}

void loop (void) {
  //счетчик на Millis для повторения опроса через заданый промежуток в interval
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;
    opros ();
  }
}

 

Тестим. Сколько душе угодно.

66ef7aa394e7d_31820.jpg.b165425c36cb8c00391b62ecd696bc39.jpg

Вот что получилось у меня на выходе. Считаю проверку достаточной.

Пока жду остальные блоки (подходе PWM модуль и дисплей), займусь

1. Внешним питанием, чтобы можно было скормить от 5 до 40В на плату.

2. Обновлением прошивки по Wi-Fi.

 

Поделиться сообщением


Ссылка на сообщение
4 часов назад, Haaans сказал(а):

Тут точно о разном говорим. Не суть.

Ну вы все правильно поняли. Можно работать в метрологии))

Трубу (YouTube) здесь не ставьте, у нас заблокировали...  RuTube, если рекламой не засирают как раньше.

Прикольно, что вода холодная 19С - в такой купаться в речке за счастье)) Реально ?

Бп вам такой подойдет, добавьте 7805 на маленьком радиаторе, получите 5 и 12 стабилизированные.  (12 от видеокамер стабилизированы).

DSC_0001.JPG

Поделиться сообщением


Ссылка на сообщение
27 минут назад, Lx671 сказал(а):

Трубу (YouTube) здесь не ставьте, у нас заблокировали... 

О_о. Там видос с канала Заметки Ардуинщика. Про подключение датчиков DS18B20 и NTC

27 минут назад, Lx671 сказал(а):

Прикольно, что вода холодная 19С - в такой купаться в речке за счастье)) Реально ?

Не. Холодная в смысле из крана холодного. А так качает температуру на улице, 10 градусов скачок за 12 часов. Так что из крана может и 19 быть

27 минут назад, Lx671 сказал(а):

Бп вам такой подойдет, добавьте 7805 на маленьком радиаторе, получите 5 и 12 стабилизированные.  (12 от видеокамер стабилизированы).

Благодарю. Как раз такую схему и планировал + понижайка до 3,3В. БП только другой.

27 минут назад, Lx671 сказал(а):

Ну вы все правильно поняли. Можно работать в метрологии))

Собеседование на следующей недели

Изменено пользователем Haaans
правки

Поделиться сообщением


Ссылка на сообщение

Получил сегодня дисплей. 0,96" SSD1306 128x32 (как по факту оказалось), а КИтай продавал как 128х64. Но то все такое. Дисплей живой. И нашел у AlexGyver пример с выводом температуры на дисплей :) Есть чем заняться

 

Поделиться сообщением


Ссылка на сообщение
В 23.09.2024 - 20:12, Haaans сказал(а):

Получил сегодня дисплей. 0,96" SSD1306 128x32 (как по факту оказалось), а КИтай продавал как 128х64. Но то все такое. Дисплей живой. И нашел у AlexGyver пример с выводом температуры на дисплей :) Есть чем заняться

Дисплей все таки как обещали. 128х64. Спустя некоторое количество экспериментов, температура выведена на экран в формате Тводы 35C.

Для работы с датчиком температуры и дисплеев использовал библиотеки и примеры AlexGyver. Примеры от Dallas Temperature показались перегружены и несколько непонятно работающие.

Изменено пользователем Haaans
устаревшие данные

Поделиться сообщением


Ссылка на сообщение

Хм. в общем ткнулся в то что использованная мной библиотека устарела. ТАк написано на гит хабе у Алекса. Но из примера новой библиотеки быстро вывести на экран температуру не понял как. Желания ковырять нет.

Поделиться сообщением


Ссылка на сообщение

@VALKNUT, подтвердите пожалуйста размышления. 
1. На сервере для приема температуры от esp нужно: некую БД для хранения и http сервер чтобы принимать пакеты от платы 

2. вы используете ntp для поддержки реального времени на плате. И уже от него можно автоматизировать таймеры света

Поделиться сообщением


Ссылка на сообщение
2 часов назад, Haaans сказал(а):

@VALKNUT, подтвердите пожалуйста размышления. 
1. На сервере для приема температуры от esp нужно: некую БД для хранения и http сервер чтобы принимать пакеты от платы 

2. вы используете ntp для поддержки реального времени на плате. И уже от него можно автоматизировать таймеры света

Я использую локальный сервер Blynk.

Время можно синхронизировать с сервером Blynk, а можно по NTP с любым публичным сервером времени.
В работе и такой и такой вариант, не заметил плюсоы/минусов...
Если свет отключается, все равно всё отключается. Хоть и через некоторое время (ИБП).

ЗЫ. Для попробовать, выделю ресурсы своего сервера. Если вариант устроит, расскажу как запустить собственный.

Поделиться сообщением


Ссылка на сообщение
14 минут назад, VALKNUT сказал(а):

ЗЫ. Для попробовать, выделю ресурсы своего сервера. Если вариант устроит, расскажу как запустить собственный.

Арендное есть, не под это, но ресурсов должно хватить. VPS на минимальных ресурсах. С Debian на борту.

16 минут назад, VALKNUT сказал(а):

Время можно синхронизировать с сервером Blynk, а можно по NTP с любым публичным сервером времени.

Шикарно

Поделиться сообщением


Ссылка на сообщение
4 минут назад, Haaans сказал(а):

Арендное есть, не под это, но ресурсов должно хватить. VPS на минимальных ресурсах. С Debian на борту.

Как правило VPSы сильно ограничены в возможностях установки всякого софта.
Blynk работает на Java.

Debian - отлично!

 

Поделиться сообщением


Ссылка на сообщение
7 минут назад, VALKNUT сказал(а):

Как правило VPSы сильно ограничены в возможностях установки всякого софта.

Blynk работает на Java.

Про ограничения ничего не было. Но я проверю и установлю если разрешит

10 минут назад, VALKNUT сказал(а):

Debian - отлично!

Да, мне тоже нравится. Но местами не хватает знаний :)

Поделиться сообщением


Ссылка на сообщение
14 часов назад, VALKNUT сказал(а):

Я использую локальный сервер Blynk.

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

Дополнение. Официально апп стор/плэй стор не поддерживает старую серверную версию. То есть без доп манипуляций не взлетит. Надо подумать/погуглить

Изменено пользователем Haaans
Дополнение

Поделиться сообщением


Ссылка на сообщение
9 часов назад, Haaans сказал(а):

Надо подумать/погуглить

Уже всё подумано. Всё есть. И сервер и приложения.
Софта под "Огрызки" нет, под "Андроид" только.
Все же предлагаю попробовать на моем сервере и решить, подходит или нет.. и потом городить сервер.

Поделиться сообщением


Ссылка на сообщение
17 минут назад, VALKNUT сказал(а):

Все же предлагаю попробовать на моем сервере и решить, подходит или нет.. и потом городить сервер.

Согласен.

18 минут назад, VALKNUT сказал(а):

Софта под "Огрызки" нет, под "Андроид" только

Андроид есть в хозяйстве 

Поделиться сообщением


Ссылка на сообщение

 VALKNUT, в каком-нибудь контроллере, с которыми работаете, есть возможность замера длительности "1" и "0"??

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

Поделиться сообщением


Ссылка на сообщение

В 13.10.2024 - 18:50, Lx671 сказал(а):

в каком-нибудь контроллере, с которыми работаете, есть возможность замера длительности "1" и "0"??

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

Я думаю. Вот точка от которой можно оттолкнуться

 

 

Поделиться сообщением


Ссылка на сообщение
3 часов назад, Haaans сказал(а):

Вот точка от которой можно оттолкнуться

У нас труба заблокирована. 

Я это возьму - https://www.ozon.ru/product/modul-esp8266-wi-fi-nodemcu-v3-kontroller-plata-ch340-type-c-1529096741/?__rr=1&avtc=1&avte=2&avts=1729104640&tab=reviews

Покопаюсь...  Я в чужих кодах вижу обращения не быстрее 1 мс, должно получиться.

Поделиться сообщением


Ссылка на сообщение
23 часов назад, Lx671 сказал(а):

У нас труба заблокирована. 

Я это возьму - https://www.ozon.ru/product/modul-esp8266-wi-fi-nodemcu-v3-kontroller-plata-ch340-type-c-1529096741/?__rr=1&avtc=1&avte=2&avts=1729104640&tab=reviews

Покопаюсь...  Я в чужих кодах вижу обращения не быстрее 1 мс, должно получиться.

Прерывания ищи. У Alex Gyver его видос прислал. У него на сайте много информации и форум активный 

Поделиться сообщением


Ссылка на сообщение
5 минут назад, Haaans сказал(а):

У него на сайте много информации и форум активный 

Ну ссылку кинь, если не лень...  Тот софт-среду, что в начале темы, поставил под win10-64bit. Оно сразу обновление запросило...  поставило 2,3,3. У вас тоже так?

Поделиться сообщением


Ссылка на сообщение
27 минут назад, Lx671 сказал(а):

Ну ссылку кинь, если не лень...  Тот софт-среду, что в начале темы, поставил под win10-64bit. Оно сразу обновление запросило...  поставило 2,3,3. У вас тоже так?

Не помню. Обновляется сам. За версиями не следил. Уже давно стоит.

По ссылке базовые вещи по ардуино. 

Уроки по ардуино

Ниже ссылка. Это на то что вы взяли. Почитайте для ознакомления. Многое станет ясно.

ESP 8266

Поделиться сообщением


Ссылка на сообщение
2 часов назад, Haaans сказал(а):

Это на то что вы взяли

Я только заказал)) И у меня другой чип на USB.  Статью другую читал, там характеристики и графики, но вывод тот-же - "ESP8266 имеет крайне убогий одноканальный АЦП")))

Подключать буду, спрошу что-нибудь.

Поделиться сообщением


Ссылка на сообщение
5 минут назад, Lx671 сказал(а):

ESP8266 имеет крайне убогий одноканальный АЦП")))

Он его вообще не имеет. Его отдельным модулем надо покупать.

Поделиться сообщением


Ссылка на сообщение

По той среде, что в начале, она плату вроде видит, но в списке ничего подобного... 

Кто знает, что тут выбирать?

А этого файла - http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

В интернете просто нет))

a1.jpg

Поделиться сообщением


Ссылка на сообщение
В 21.10.2024 - 12:13, Lx671 сказал(а):

По той среде, что в начале, она плату вроде видит, но в списке ничего подобного... 

Кто знает, что тут выбирать?

А этого файла - http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

В интернете просто нет))

a1.jpg

Перечитайте пожалуйста первое сообщение

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

Поделиться сообщением


Ссылка на сообщение
1 минуту назад, Haaans сказал(а):

Там указано вставить ссылку, а не скачать файл и положить куда-то

Да я уже запустил)) В том сообщении ссылка дана некорректно. Их там 2-е. И надо каждую прописывать в новой строке.  А просто "вставить" - она не работает.

И скачать по ссылкам можно и положить их куда-нибудь тоже, и путь туда прописать))

1-ю ссылку надо протокол поменять на https.

 

Поделиться сообщением


Ссылка на сообщение

1 минуту назад, Lx671 сказал(а):

Да я уже запустил)) В том сообщении ссылка дана некорректно. Их там 2-е. И надо каждую прописывать в новой строке.  А просто "вставить" - она не работает.

И скачать по ссылкам можно и положить их куда-нибудь тоже, и путь туда прописать))

1-ю ссылку надо протокол поменять на https.

 

Хм. 🫤 у меня вроде без манипуляций прошло. Ну что ж. Хорошо. Светодиодом моргнули?

Поделиться сообщением


Ссылка на сообщение
44 минут назад, Haaans сказал(а):

Ну что ж. Хорошо. Светодиодом моргнули?

У меня версия, видимо другая встала. На штатном диоде ШИМ с переменными гоняю)) С зонами разбираюсь, где что описывается...

Дискретность на шине оказалась 255, но за границами не клинит...

Поделиться сообщением


Ссылка на сообщение
20 часов назад, Haaans сказал(а):

Мало?

Для села сойдет))

Пара вопросов есть : 1 - есть какой оператор, чтобы данные из устройства выдал на комп по USB?

2 - Если не лень, попробуйте этот код у себя - 

#include "ets_sys.h"
#include "osapi.h"
#include "gpio.h"
#include "os_type.h"
 
// ESP-12 modules have LED on GPIO2. Change to another GPIO
// for other boards.
static const int pin = 2;
static volatile os_timer_t some_timer;
 
void some_timerfunc(void *arg)
{
  //Do blinky stuff
  if (GPIO_REG_READ(GPIO_OUT_ADDRESS) & (1 << pin))
  {
    // set gpio low
    gpio_output_set(0, (1 << pin), 0, 0);
  }
  else
  {
    // set gpio high
    gpio_output_set((1 << pin), 0, 0, 0);
  }
}
 
void ICACHE_FLASH_ATTR user_init()
{
  // init gpio subsytem
  gpio_init();
 
  // configure UART TXD to be GPIO1, set as output
  PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1);
  gpio_output_set(0, 0, (1 << pin), 0);
 
  // setup timer (500ms, repeating)
  os_timer_setfn(&some_timer, (os_timer_func_t *)some_timerfunc, NULL);
  os_timer_arm(&some_timer, 500, 1);
}
-----------------------
Если не попрет, напишите, на что обругался.
pin  - на свой диод какой-нибудь укажите или на штатный...

Поделиться сообщением


Ссылка на сообщение
2 часов назад, Lx671 сказал(а):

1 - есть какой оператор, чтобы данные из устройства выдал на комп по USB?

Serial же – СОМ порт. Псевдо СОМ порт. 

2. Код… могу попробовать но на взгляд прям сразу ругнется на библиотеки, а потом дальше на структуру кода. Он Arduino IDE его не скомпилирует. Структура не соответствует 

А что код должен делать?

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×