• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

WI-FI термометр с двумя ds18b20 на ESP8266 и blynk

АндрейSS

New member
Приветствую всех! Нашел на просторах инета скетч для esp8266 и два датчика ds18b20 но он выдал ошибки при компиляции, нашел еще 2 подобных но они тоже с ошибками.
Код:
/* ESP & Blynk */
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial   

/* Blynk credentials */
char auth[] = "Код аутентефикации с приложения blynk который прийдет вам на е-мейл";

/* WiFi credentials */
char ssid[] = "имя сети вай-фай";
char pass[] = "пароль от вай-фая";

/* TIMER */
#include <SimpleTimer.h>
SimpleTimer timer;

/* DS18B20 Temperature Sensor */
#include <OneWire.h>
#include<DallasTemperature.h>
#define ONE_WIRE_BUS 2 // DS18B20 подключаем на D4 на плате 
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
int temp_0;
int temp_1;

void setup()
{
  Serial.begin(115200);
  Blynk.begin(auth, ssid, pass);
  DS18B20.begin();
  timer.setInterval(1000L, getSendData);
  Serial.println(" ");
  Serial.println("Testing Dual Sensor data");
}

void loop()
{
  timer.run(); // Initiates SimpleTimer
  Blynk.run();
}

/***************************************************
* Send Sensor data to Blynk
**************************************************/
void getSendData()
{
  DS18B20.requestTemperatures();
  temp_0 = DS18B20.getTempCByIndex(0); // Sensor 0 показания для датчика 1 в цельсиях
  temp_1 = DS18B20.getTempCByIndex(1); // Sensor 0 показания для датчика 2 в цельсиях

  Serial.print("Temp_0: ");
  Serial.print(temp_0);
  Serial.print(" oC . Temp_1: ");
  Serial.print(temp_1);
  Serial.println(" oC");
  
  Blynk.virtualWrite(10, temp_0); //выврд данных на виртуальный пин V10
  Blynk.virtualWrite(11, temp_1); //вывод данных навиртуальный пин V11
}
Ошибки такие:

/home/andrey/Документы/Arduino/blink_ds18b20_1/blink_ds18b20_1.ino: In function 'void setup()':
blink_ds18b20_1:29:3: error: 'Blynk' was not declared in this scope
Blynk.begin(auth, ssid, pass);
^
/home/andrey/Документы/Arduino/blink_ds18b20_1/blink_ds18b20_1.ino: In function 'void loop()':
blink_ds18b20_1:39:3: error: 'Blynk' was not declared in this scope
Blynk.run();
^
/home/andrey/Документы/Arduino/blink_ds18b20_1/blink_ds18b20_1.ino: In function 'void getSendData()':
blink_ds18b20_1:57:3: error: 'Blynk' was not declared in this scope
Blynk.virtualWrite(10, temp_0); //выврд данных на виртуальный пин V10
^
exit status 1
'Blynk' was not declared in this scope

IDE 1.8.9 Прошу помочь
 

NeoroN

Member
не установленна правильная версия BlynkSimpleEsp8266.h которая и должна создавать экземпляр Blynk который компилятор не может найти.
 

АндрейSS

New member
Поменял int на float и в Serial.print(temp_0,1); после ноля через запятую поставил единицу, в монитор порта стало выводить десятые а в blynk выводит сотые.
Что нужно теперь сделать в blynk чтобы округлялось до десятых?
 
Сверху Снизу