diff --git a/34.bin b/34.bin
new file mode 100644
index 0000000..2afd0f2
Binary files /dev/null and b/34.bin differ
diff --git a/M5Atom_airqa.ino b/M5Atom_airqa.ino
index 8d8e8a9..6b87a2d 100644
--- a/M5Atom_airqa.ino
+++ b/M5Atom_airqa.ino
@@ -55,7 +55,7 @@
#define CCS811_ADDR 0x5B //Default I2C Address
//#define CCS811_ADDR 0x5A //Alternate I2C Address
-unsigned int VersionSW = 35; //65536 Версия прошивки
+unsigned int VersionSW = 36; //65536 Версия прошивки
//15 - добавлено то, се, забыл вообще дописать что добавленоSerial
//19 - вывод в консоль всех действий, ошибки с обновлнеием - починил, прияногое мигание светодиодом, тест для поиска metrics.
@@ -73,7 +73,8 @@ unsigned int VersionSW = 35; //65536 Версия прошивки
//32 - рестарт без wifi
//33 - бейслайн и куча изменений по переподключению mqtt
//34 - правка с опросом, бесконечный цикл
-//35 - закоменчен вывод ошибок available
+//35 - закоменчен вывод ошибок available
+//36 - настройка mqtt по ip и режимы датчика
gpio_num_t pinWak = GPIO_NUM_23;
@@ -88,7 +89,7 @@ StaticJsonDocument<200> doc, other;
WiFiClient espClient;
PubSubClient MqttClient(espClient);
-IPAddress IpMqtt;
+IPAddress IpMqtt(192,168,89,210);
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org", 0, 60000); //Собственно сервер времени смещение и частоат запроса, но он вручную
@@ -173,8 +174,9 @@ void setup()
ledset(1, true);
}
- //ccs.setTempOffset(8.6);
- ccs.setBaseline(25725);
+ ccs.setDriveMode(CCS811_DRIVE_MODE_10SEC);
+ //ccs.setTempOffset(8.6);
+ //ccs.setBaseline(25725);
//Установка коеффициентов каллибровки по MAC адресу
// SetCallibrationCoeff();
@@ -213,47 +215,11 @@ void setup()
}
//Запрос IP сервера MQTT и установка сервера
- setMqttServer();
+ MqttClient.setServer(IpMqtt, mqttPort);
+
reqNtpTime();
}
-//Установка сервера и порта
-void setMqttServer()
-{
- mdns_init();
-
- IPAddress IpMqtt, ipaddr;
- ipaddr = MDNS.queryHost(mqttHostName);
- if (ipaddr.toString() == "0.0.0.0")
- {
- Serial.println("MDNS.queryHost==0.0.0.0");
- int err = WiFi.hostByName(mqttHostName, IpMqtt);
- if (err == 1)
- {
- setServCall(IpMqtt);
- }
- else
- {
- Serial.print("Error code hostByName(): ");
- Serial.println(err);
- }
- }
- else
- {
- setServCall(ipaddr);
- }
-}
-
-int setServCall(IPAddress SetIpaddr)
-{
- //////Serial.println("setServCall");
- //////Serial.println(SetIpaddr);
- MqttClient.setServer(SetIpaddr, mqttPort);
- // MqttClient.setCallback(callback);
- ////////Serial.println("Set MQTT Server - OK") ;
- return 0;
-}
-
int reqNtpTime()
{
if (timeClient.update())
@@ -418,7 +384,7 @@ int SetCallibrationCoeff(String MacThat)
TempAv += -6.91;
HumAv += 7.95;
}
-
+
if (MacThat == "5002918A38CC")
{
TempAv += -5.72;
diff --git a/M5Atom_airqa.ino.m5stick_c.bin b/M5Atom_airqa.ino.m5stick_c.bin
index 2afd0f2..2024637 100644
Binary files a/M5Atom_airqa.ino.m5stick_c.bin and b/M5Atom_airqa.ino.m5stick_c.bin differ
diff --git a/README.md b/README.md
index b2aacda..30caa0b 100644
--- a/README.md
+++ b/README.md
@@ -37,24 +37,12 @@ https://savjee.be/2019/12/esp32-tips-to-increase-battery-life/
Если устройство находится в рекомендуемом рабочем диапазоне (относительная влажность от 10% до 70% и температура от -20 до 70 ° C), то не нужно часто калибровать (длительный дрейф составляет ± 0,25% относительной влажности / год). Датчик CCS811 не может измерять концентрацию СО2 непосредственно и выдает рассчитанные "эквивалентные" значения СО2, которые при высокой концентрации ЛОВ оказываются сильно завышенными.
Датчики настроены на точность 14 бит.
-Характеристики HDC1080:
-• Робоча температура: -20 ° C ~ 70 ° C
-• Діапазон вимірювання датчика вологості: 0 ~ 100% RH
-• Точність датчика вологості: похибка 14 біт ± 2% відносної вологості
-• Точність повторюваності вологості: ± 0.1% RH
-• Час відгуку датчика вологості: 15с
-• Час вимірювання вологості: 8 біт 2,5 мс, 11 біт 3,85 мс, 14 біт 6,5 ms
-• Точність датчика температури: ± 0,4 ° C (температура навколишнього середовища Температура 5 ° C ~ 60 ° C)
-• Повторюваність вимірювання температури: ± 0,1 ° C
-• Час вимірювання температури: 11 біт 3,85 мс, 14 біт 6,5 мс
-• Напруга живлення: рекомендується 3,3 В
-Характеристики CCS811:
-• Напруга живлення: рекомендується 3,3 V
-• Робоча частота інтерфейсу I2C: 400 кГц
-• Діапазон виявлення eTVOC: 0 ~ 32768ppb
-• Діапазон виявлення eCO2: 400 ~ 32768ppm
-• Автоматичний час корекції вихідних умов для чутливого шару оксиду металу: 24 години
-• Можливість налаштування і зчитування часу датчика після включення: не менше 20 хвилин
+
+TVOC
+0ppb to 1187ppb
+
+eCO2
+400ppm to 8192ppm.
@@ -118,15 +106,6 @@ RST - это вывод сброса. Когда его тянут на земл
Сразу уточню, основное назначение датчика — контроль TVOC. Измерение эквивалентного значения СО2 — вспомогательный функционал. Как и у других недорогих датчиков с селективностью не все хорошо.
-Характеристики:
-1) eCO2 maximum output value to 64000 ppm
-2) TVOC maximum output value to 64000 ppm
-3) напряжение питания: 1,8…3,3 В;
-4) период опроса: 0,25/ 1/10/ 60 с
-5) коммуникационный интерфейс: 400 кГц I2C;
-6) корпус: 10-выводной LGA 2.7 × 4.0 × 1.1 мм.
-7) диапазон рабочих температур: -40…+85 °C;
-
А теперь то, о чем вы должны знать перед использованием:
Что нужно знать перед использованием: Все пайки производим при закрытом изолентой датчиком. Не допускаем попадания паров флюса в датчик. При первом включении необходимо выдержать датчик под напряжением 24-48 часов для стабилизации характеристик сенсора. Настоятельно рекомендую проверить версию прошивку. С Китая приходят с версией 1.1.0. На сайте производителя уже давно лежит прошивка 2.0.1.
@@ -172,4 +151,45 @@ RST - это вывод сброса. Когда его тянут на земл
ПОДКЛЮЧЕНИЕ ДЛЯ SSL
-http://www.iotsharing.com/2017/08/how-to-use-esp32-mqtts-with-mqtts-mosquitto-broker-tls-ssl.html
\ No newline at end of file
+http://www.iotsharing.com/2017/08/how-to-use-esp32-mqtts-with-mqtts-mosquitto-broker-tls-ssl.html
+
+
+
+
+САМАЯ ПРАВИЛЬНАЯ НАСТРОЙКА
+
+
+Manual Baseline Correction
+There is a mechanism within CCS811 to manually save and
+restore a previously saved baseline value using the BASELINE
+register.
+The correct time to save the baseline will depend on the
+customer use-case and application.
+• For devices which are powered for >24 hours at a time:
+• During the first 500 hours – save the baseline every
+24-48 hours.
+• After the first 500 hours – save the baseline every 5-7
+days.
+• For devices which are powered <24 hours at a time:
+• If the device is run in, save the baseline before power
+down
+• If multiple operating modes are used, a separate
+baseline should be stored for each
+• The baseline should only be restored when the
+resistance is stable (typically 20-30 minutes)
+• If changing from a low to high power mode (without
+spending at least 10 minutes in idle), the sensor
+resistance should be allowed to settle again before
+restoring the baseline
+ams Datasheet Page 11
+[v1-00] 2016-Dec-23 Document Feedback
+CCS811 − Detailed Description
+Note(s):
+1. If a value is written to the BASELINE register while the
+sensor is stabilising, the output of the TVOC and eCO2
+calculations may be higher than expected.
+2. The baseline must be written after the conditioning
+period
+For additional information on using the CCS811 please refer to
+application note ams AN000369: CCS811 Programming and
+Interfacing Guide.
\ No newline at end of file