Статический Ip адрес, режим работы датчика
parent
46a1131229
commit
9ec7e03635
|
@ -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;
|
||||
|
|
Binary file not shown.
76
README.md
76
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 бит.
|
||||
<br/><br/>
|
||||
Характеристики HDC1080:<br/>
|
||||
• Робоча температура: -20 ° C ~ 70 ° C<br/>
|
||||
• Діапазон вимірювання датчика вологості: 0 ~ 100% RH<br/>
|
||||
• Точність датчика вологості: похибка 14 біт ± 2% відносної вологості<br/>
|
||||
• Точність повторюваності вологості: ± 0.1% RH<br/>
|
||||
• Час відгуку датчика вологості: 15с<br/>
|
||||
• Час вимірювання вологості: 8 біт 2,5 мс, 11 біт 3,85 мс, 14 біт 6,5 ms<br/>
|
||||
• Точність датчика температури: ± 0,4 ° C (температура навколишнього середовища Температура 5 ° C ~ 60 ° C)<br/>
|
||||
• Повторюваність вимірювання температури: ± 0,1 ° C<br/>
|
||||
• Час вимірювання температури: 11 біт 3,85 мс, 14 біт 6,5 мс<br/>
|
||||
• Напруга живлення: рекомендується 3,3 В<br/>
|
||||
Характеристики CCS811:<br/>
|
||||
• Напруга живлення: рекомендується 3,3 V<br/>
|
||||
• Робоча частота інтерфейсу I2C: 400 кГц<br/>
|
||||
• Діапазон виявлення eTVOC: 0 ~ 32768ppb<br/>
|
||||
• Діапазон виявлення eCO2: 400 ~ 32768ppm<br/>
|
||||
• Автоматичний час корекції вихідних умов для чутливого шару оксиду металу: 24 години<br/>
|
||||
• Можливість налаштування і зчитування часу датчика після включення: не менше 20 хвилин<br/>
|
||||
|
||||
TVOC
|
||||
0ppb to 1187ppb
|
||||
|
||||
eCO2
|
||||
400ppm to 8192ppm.
|
||||
|
||||
<br/><br/>
|
||||
|
||||
|
@ -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
|
||||
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.
|
Loading…
Reference in New Issue