Совмещение уже готовой прошивки многоканального полива растений и прошивки необходимой для работы Blynk

KillReal

✩✩✩✩✩✩✩
10 Ноя 2019
3
0
Возможно ли как-то совместить готовую прошивку с прошивкой для работы Blynk? Готовая прошивка работает стационарно, физически
- типа покрутил энкодером, ввёл данные таймера. а blynk по идее позволит сделать то же самое через телефон по wifi. Можно ли как-то совместить прошивки, или надо писать всё с самого начала самому? Или такое вообще невозможно?
 
Изменено:

egor-kartop

✩✩✩✩✩✩✩
8 Сен 2018
8
1
Almaty
@KillReal, Возможно. Если коротко, нужно взять стандартный пример из библиотеки Blynk для своей платы. Если у тебя esp8266, то для нее буквально это будет выглядеть так:
C-like:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "YourAuthToken";

char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

BlynkTimer timer;

void <Любая функция типа void>()
{
    // Твоя программа с поливом
}

void setup()
{
    Serial.begin(9600);
    Blynk.begin(auth, ssid, pass);
    timer.setInterval(<Задать время повтора>, <Любая функция типа void>); 
}

void loop()
{
    Blynk.run();
    timer.run();
}
То есть функция вызывается каждый заданный промежуток времени. В ней можешь выполнять все что хочешь (но желательно без использования delay(), иначе смысл в данной магии :)
 

D_Jackas

★✩✩✩✩✩✩
2 Май 2019
21
16
@KillReal, Возможно. Если коротко, нужно взять стандартный пример из библиотеки Blynk для своей платы. Если у тебя esp8266, то для нее буквально это будет выглядеть так:
C-like:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "YourAuthToken";

char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

BlynkTimer timer;

void <Любая функция типа void>()
{
    // Твоя программа с поливом
}

void setup()
{
    Serial.begin(9600);
    Blynk.begin(auth, ssid, pass);
    timer.setInterval(<Задать время повтора>, <Любая функция типа void>);
}

void loop()
{
    Blynk.run();
    timer.run();
}
То есть функция вызывается каждый заданный промежуток времени. В ней можешь выполнять все что хочешь (но желательно без использования delay(), иначе смысл в данной магии :)

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