Blynk — удобная и простая платформа для IoT

Не мог не отметить замечательное творение — Blynk. Чем то похожая на RemoteXY и ThingSpeak, платформа перекрывает (объединяет) их и делает очень простым и удобным создание различных решений для интернета вещей…

Ниже — просто несколько слов о платформе (вольный пересказ страницы Getting started).


Будем строить наше первое решение для интернета вещей.

Нам понадобится смартфон с Android 4.2 (или выше) ; какое-то наше аппаратное «изделие», например, на Arduino; доступ в интернет, например, по Ethernet.

Поехали…

  1. Загружаем приложение Blynk App на смартфон (для этого: создаем аккаунт, создаем новый проект, получаем Auth Token)
  2. Инсталлируем Blynk Library в нашем Arduino IDE
  3. Находим пример кода для нашей аппаратной модели (например, такой). В Blynk Example Code Builder выбираем модель, тип подключения и прописываем полученный ранее Auth Token. Копируем полученный код через буфер в нашу Arduino IDE.
  4. Запускаем приложение на смартфоне, получаем сообщение «что аппаратное устройство не обнаружено». «Прошиваем» Arduino полученным ранее скетчем. Убеждаемся в мониторе, что все работает.

На этом… Все! Якобы ничего не надо больше программировать…

На самом деле стоит почитать примеры, особенно про «виртуальные пины». Например, рассмотреть такую модель: в приложении нарисовать кнопку и отрабатывать ее нажатие включением светодиода...

В указанном примере светодиод подключен к D3. На смартфоне в Blynk App создаем новый проект (получаем Auth Token). В проекте добавляем виджет кнопки. В свойствах виджета прописываем управление пином D3, устанавливаем режим переключателя.

Далее готовим код для аппаратного решения с помощью Blynk Example Code Builder. Выбираем модель, тип подключения и прописываем полученный ранее Auth Token. Копируем полученный код через буфер в нашу Arduino IDE.

Запускаем, управляем светодиодом со смартфона.


Другой проект: наоборот, мы не управляем, а просто принимаем данные с «нашей ардуины». Пример генерируемого кода:

#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

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

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

BlynkTimer timer;

// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void myTimerEvent()
{
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V5, millis() / 1000);
}

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  // Setup a function to be called every second
  timer.setInterval(1000L, myTimerEvent);
}

void loop()
{
  Blynk.run();
  timer.run(); // Initiates BlynkTimer
}

Пример показывает как из Arduino данные (в данном случае секундные отсчеты) передаются в мобильное приложение. В приложении частота чтения виджета должна быть установлена на PUSH (In the app, Widget’s reading frequency should be set to PUSH).

Добавить комментарий

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".