• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 чтобы округлялось до десятых?
 
Сверху Снизу