Как управлять несколькими устройствами с помощью приложения Blynk?
У меня есть 1 проект с токеном и одна плата ESP8266 с этим токеном. Я могу легко управлять своим оборудованием из приложения, однако я не понимаю, как я могу управлять более чем 1 ESP? Например, я хочу добавить еще одно устройство в существующий проект, как я могу это сделать?
3 ответа
Вы можете использовать APP для управления 1 ESP, а затем из этого ESP управлять другими ESP, используя доступные функции моста. Вам нужно будет назначить разные токены для каждого ESP, чтобы в основном эскизе ESP идентифицировать их как мосты. Использование одного и того же токена для нескольких ESP - плохой и нестабильный подход.
Теперь вы можете добавить несколько устройств в приложение 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
}