Как управлять несколькими устройствами с помощью приложения Blynk?

У меня есть 1 проект с токеном и одна плата ESP8266 с этим токеном. Я могу легко управлять своим оборудованием из приложения, однако я не понимаю, как я могу управлять более чем 1 ESP? Например, я хочу добавить еще одно устройство в существующий проект, как я могу это сделать?

3 ответа

Вы можете использовать APP для управления 1 ESP, а затем из этого ESP управлять другими ESP, используя доступные функции моста. Вам нужно будет назначить разные токены для каждого ESP, чтобы в основном эскизе ESP идентифицировать их как мосты. Использование одного и того же токена для нескольких ESP - плохой и нестабильный подход.

ESP8266 Blynk учебник

Теперь вы можете добавить несколько устройств в приложение Blynk с каждым уникальным токеном. При добавлении элемента управления в приложение вам нужно будет выбрать, на каком устройстве (esp) элемент управления должен действовать.

Поскольку каждое устройство будет иметь уникальный токен, вы будете гораздо более гибкими, чем с ранее предоставленным ответом.

На данный момент у вас есть 2 варианта:

  • Загрузите 1 токен на все ваши ESP. Это будет хорошо работать, однако этот подход не очень гибкий. Как любая команда из приложения будет идти на все ваши устройства с одинаковым токеном. Таким образом, вы должны кодировать отдельную логику на каждом ESP. Это хорошо, если ваше оборудование выполняет разные задачи, но не очень подходит для той же логики.

  • Вы можете использовать функциональность моста. В этом случае вам нужно будет создать несколько проектов с разными токенами. Загрузите определенный токен на определенное оборудование и отправьте команду напрямую с одного устройства на другое. Вот базовый пример логики моста:

-

WidgetBridge bridge1(V1); //Initiating Bridge Widget on V1 of Device A
...
void setup() {
    Blynk.begin(...);
    while (Blynk.connect() == false) {
        // Wait until Blynk is connected
    }
    bridge1.digitalWrite(9, HIGH); // will trigger D9 HIGH on Device B. No code on Device B required
    bridge1.analogWrite(10, 123);
    bridge1.virtualWrite(V1, "hello"); // you need to write code on Device B in order to receive this value. See below
    bridge1.virtualWrite(V2, "value1", "value2", "value3");
}

BLYNK_CONNECTED() {
  bridge1.setAuthToken("OtherAuthToken"); // Token of the hardware B
}
Другие вопросы по тегам