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

Обсуждение Blynk и ESP8266

doom369

New member
Добрый день. Температуру нужно слать не в цикле, а в таймере - иначе если скорость считывания данных с датчика быстрая, то есп может не справится с отправкой стольких данных и будет рвать соединение. Вот пример как это можно сделать для DHT11.

2. Как связать на тот же ESP второй телефон с Blynk?
Blynk Docs
 

Tango

New member
Соединение стабильное, ещё ни одного срыва связи не было...А если бод-ами просто уменьшит скорость обмена?
 

Mindezek

New member
Всем привет
Помогите написать скетч
У меня есть ESP8266 Хотел зделать удаленый выключатель для PC. Я зделал но не вижу работает ли он а в написании скетча не бум-бум
хотел с лед POWER ON считать инфу и в видет лет блинка если кому не сложно зделайте спс вмем
 

doom369

New member
Как в не безизвестной игре (Горький-17) - "....ты не умничай, ты руками покажи!" ))))) Без обид, старина! Просто я с Blynk только второй день "вожусь" )))))
Ну там даже читать не надо. Достаточно картинки глянуть. Думаю это наглядней чем писать текст.
 

doom369

New member
Но ведь работало пару часов без проблем!:rolleyes: Я начал осваивать Blynk:D:D:D и показания исчезли...:(
Повезло. Такое часто бывает. Чуток тайминг чтения изменился и все.

Это ты про то, где в Blynk нужно ткнуть в настройках проекта New Device ?
Нет. про "Как связать на тот же ESP второй телефон с Blynk?!
 

Tango

New member
Всем привет
Помогите написать скетч
У меня есть ESP8266 Хотел зделать удаленый выключатель для PC. Я зделал но не вижу работает ли он а в написании скетча не бум-бум
хотел с лед POWER ON считать инфу и в видет лет блинка если кому не сложно зделайте спс вмем
ESP8266 - Управляем со смартфона через Blynk – esp8266
 

russo

Member
При частом опросе датчик температуры саморазогреваеться и показывает на пару градусов выше темпиратуру. Надо по таймеру выставить опрос датчика раз в минуту где то. И что бы сервер не перегружался частыми пересылками данных и не было разрывов связи.
 

Sergqxqx

New member
Новичок
Добрый вечер! Подскажите по поводу датчика напряжения ina219, как прикрутить его к blynk, нашел две библиотеки одной воспользовался повесил на V3 но постоянно выдает число 36, и обрыв связи с сервером? благодарю!
 

doom369

New member
Новичок
Добрый вечер! Подскажите по поводу датчика напряжения ina219, как прикрутить его к blynk, нашел две библиотеки одной воспользовался повесил на V3 но постоянно выдает число 36, и обрыв связи с сервером? благодарю!
Не могу подсказать. С таким не работал. В целом это с блинком несвязано. Попробуйте сначало считать данные без блинка, а когда уже считаете добавить блинк будет не сложно.
 

russo

Member
Новичок
Добрый вечер! Подскажите по поводу датчика напряжения ina219, как прикрутить его к blynk, нашел две библиотеки одной воспользовался повесил на V3 но постоянно выдает число 36, и обрыв связи с сервером? благодарю!
предположу что ваша библиотека постоянно принимает данные от датчика тока и напряжения. В BLYNKе часть времени уходит на связь с сервером, поэтому датчик тока может некорректно работать с вашей библиотекой и слать не верные данные

Можно попробовать написать свою библиотеку, которая принимает данные, например раз в секунду.
 

Sergqxqx

New member
Заливаю пример Adafruit Ina219 и в мониторе порта показывает правильное значение вольт. но при добавлении примера в blynk-пример значение становится опять 32v и сервер подключается и сразу offline device. Помогите новичку исправить код. Спасибо.
#define BLYNK_PRINT Serial // Comment this out to disable prints and save space
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <TimeLib.h>
#include <Wire.h>
#include <Adafruit_INA219.h>
#define ONE_WIRE_BUS D5
#define RELE D9
#define BUTTON D3
Adafruit_INA219 ina219;
SimpleTimer timer;
bool rele;

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "---";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "---";
char pass[] = "---";
bool Connected2Blynk = false;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup()
{
Serial.begin(115200);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Blynk.config(auth); // in place of Blynk.begin(auth, ssid, pass);
Blynk.connect(3333); // timeout set to 10 seconds and then continue without Blynk
while (Blynk.connect() == false) {
// Wait until connected
}
Serial.println("Connected to Blynk server");
timer.setInterval(11000L, CheckConnection); // check if still connected every 11 seconds
{
sensors.begin();
timer.setInterval(2000L, sendTemps);
pinMode (RELE, OUTPUT);
pinMode (BUTTON, INPUT);
}
}
BLYNK_WRITE(V2)
{
rele = param.asInt();
digitalWrite(RELE, rele);
timer.run();
if (digitalRead(BUTTON))
{
rele = !rele;
digitalWrite(RELE, rele);
Blynk.virtualWrite(V2, rele);
delay (1000);
}
}
BLYNK_WRITE(V3)
{
uint32_t currentFrequency;
ina219.begin();
}
void CheckConnection() {
Connected2Blynk = Blynk.connected();
if (!Connected2Blynk) {
Serial.println("Not connected to Blynk server");
Blynk.connect(3333); // timeout set to 10 seconds and then continue without Blynk
}
else {
Serial.println("Connected to Blynk server");
}
}
void sendTemps()
{
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.println(temp);
Blynk.virtualWrite(V1, temp);
}
void sendVoltage(){
float shuntvoltage = 0;
float busvoltage = 0;
float loadvoltage = 0;
shuntvoltage = ina219.getShuntVoltage_mV();
busvoltage = ina219.getBusVoltage_V();
loadvoltage = busvoltage + (shuntvoltage / 1000);
Serial.print("Bus Voltage: "); Serial.print(busvoltage); Serial.println(" V");
Serial.print("Shunt Voltage: "); Serial.print(shuntvoltage); Serial.println(" mV");
Serial.print("Load Voltage: "); Serial.print(loadvoltage); Serial.println(" V");
Blynk.virtualWrite(V3, busvoltage);
Blynk.virtualWrite(V4, loadvoltage);
delay(2000);
}
void loop() {
if (Connected2Blynk) {
Blynk.run();
timer.run();
sendTemps();
sendVoltage();
}
}
 
Сверху Снизу