Имеется четыре ds18и20 и один dht22
ds18b20 прекрасно работают но хочется еще мониторить и влажность
но мой код выдает ошибку
Arduino: 1.8.13 (Mac OS X), Плата:"ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"
Traceback (most recent call last):
File "esptool.py", line 57, in <module>
File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "serial/tools/list_ports.py", line 29, in <module>
File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "serial/tools/list_ports_posix.py", line 31, in <module>
File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
File "serial/tools/list_ports_osx.py", line 32, in <module>
ValueError: dlsym(RTLD_DEFAULT, kIOMasterPortDefault): symbol not found
Failed to execute script esptool
Несколько библиотек найдено для "WiFi.h"
Используется: /Users/dmitryfilippovich/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/libraries/WiFi
Не используется: /Applications/Arduino.app/Contents/Java/libraries/WiFi
exit status 255
/Applications/Arduino.app/Contents/Java/arduino-builder возвратил 255
Ошибка компиляции для платы ESP32 Dev Module.
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DHT.h>
char auth[] = "xxxx";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "LOG_DOG";
char pass[] = "notforall";
BlynkTimer timer;
#define ONE_WIRE_BUS 15 // Your ESP32 pin 15
#define DHTPIN 14 // What digital pin we're connected to 14
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321
//#define DHTTYPE DHT21 // DHT 21, AM2301
DHT dht(DHTPIN, DHTTYPE);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float roomTemperature0; // Room temperature in C
float roomTemperature1; // Room temperature in C
float roomTemperature2; // Room temperature in C
float roomTemperature3; // Room temperature in C
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
dht.begin();
sensors.begin(); // Starts the DS18B20 sensor(s).
//sensors.setResolution(11); // More on resolution: http://www.homautomation.org/2015/11/17/ds18b20-how-to-change-resolution-9101112-bits/
timer.setInterval(1000L, sendTemps);
timer.setInterval(1000L, sendSensor);
}
void loop()
{
Blynk.run();
timer.run();
// You can inject your own code or combine it with other sketches.
// Check other examples on how to communicate with Blynk. Remember
// to avoid delay() function!
}
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V4, h);
Blynk.virtualWrite(V5, t);
Serial.print(" Humidity = ");
Serial.print(h, 3);
Serial.print(" Temperature_dht = ");
Serial.println(t, 3);
}
void sendTemps()
{
sensors.requestTemperatures(); // Polls the sensors.
roomTemperature0 = sensors.getTempCByIndex(0); // Stores temperature. Change to getTempCByIndex(0) for celcius.
roomTemperature1 = sensors.getTempCByIndex(1);
roomTemperature2 = sensors.getTempCByIndex(2);
roomTemperature3 = sensors.getTempCByIndex(3);
Blynk.virtualWrite(0, roomTemperature0); // Send temperature to Blynk app virtual pin 0.
Blynk.virtualWrite(1, roomTemperature1); // Send temperature to Blynk app virtual pin 1.
Blynk.virtualWrite(2, roomTemperature2); // Send temperature to Blynk app virtual pin 2.
Blynk.virtualWrite(3, roomTemperature3); // Send temperature to Blynk app virtual pin 3.
Serial.print(" Temperature_1 = ");
Serial.print(roomTemperature0, 3);
Serial.print(" Temperature_2 = ");
Serial.print(roomTemperature1, 3);
Serial.print(" Temperature_3 = ");
Serial.print(roomTemperature2, 3);
Serial.print(" Temperature_1 = ");
Serial.println(roomTemperature3, 3);
}