ARDUINO + W5100 ethernet shield + Blynk

Буквально на днях со статьи  "Украинцы в Вегасе: 7 украинских продуктов, которые засветились на CES 2016" узнал об очень интересном стартапе Blynk - платформа, созданная украинцами для iOS и Android-устройств, позволяет контролировать Arduino, Raspberry Pi и другие похожие микроконтроллерные гаджеты удаленно.
Описанный функционал сервиса вызвал огромное желание попробовать его в действии и начну пока с ARDUINO.
В документации к проекту детально описана настройка и пошагово "первый старт". Страница проекта в Facebook. (ниже перевод и практика использования).

Быстрый старт: Arduino + Ethernet shield
Скачиваем мобильное приложение Blynk (App Store, Google Play)
В приложении получаем ключ авторизации (Auth Token)
Загружаем в библиотеку в Arduino IDE. Инструкция по установке библиотек здесь.
В Arduino IDE, выбираем File -> Examples -> Blynk -> BoardsAndShields -> Arduino_Ethernet
В скетче необходимо внести ключ с мобильного приложения (Auth Token) и выгружаем в нашу Arduino.
Подключаем Arduino с Ethernet shield к сети Интернет.
Принцип работы Blynk
Попробуем включить светодиод подключенный к Arduino используя Blynk App на телефоне.
Подключаем светодиод как указано изображении ниже:

Мобильное приложения Blynk

1. Создаем Blynk аккаунт
После установки приложения на телефон необходимо создать новый аккаунт. Используйте реальный мейл, он еще понадобится.
Зачем создавать аккаунт? Аккаунт необходим для предоставления доступа к устройствам, при управлении проектами с нескольких устройств, а также в целях безопасности.
Есть возможность настроить свой сервер Private Blynk Server и держать все под личным контролем.

2. Создаем новый проект.
После успешного входа в аккаунт, создаем новый проект дав ему имя.
3. Укажите ваше оборудование.
Выберите оборудование которое вы будете использовать. Просмотрите список поддерживаемого оборудования.
4. Ключ авторизации (Auth Token)
Auth Token - это уникальный идентификатор который необходим для соединения устройства со смартфоном. Каждый новый проект который вы будете создавать будет иметь свой уникальный ключ.
ПРЕДУПРЕЖДЕНИЕ: не передавайте никому ключ авторизации, за исключением намеренного предоставления доступа к вашему оборудованию.
Ключ удобно высылать по почте. Нажмите E-mail и ключ будет отправлен на адрес указанный при регистрации. Если нажать на ключ в приложении, он будет скопирован в буфер обмена.
Теперь жмите "Create"

5. Добавление виджетов.
Сейчас ваш проект чист, давайте добавим кнопку для управления светодиодом.
Нажмите где-либо по пустой области проекта для отображения панели с виджетами. Все доступные виджеты (элементы управления) размещены здесь. Вибирайте кнопку (Button).

Widget Box

Drag-n-Drop - нажмите и удерживайте необходимый елемент управления, чтобы перетащить на новое место.
Настройки виджетов - каждый виджет имеет свои настройки. Нажмите на виджет, чтобы открыть их.

Наиболее важный параметр для настройки это PIN . Список пинов соответствует физическим контактам на устройстве. Если ваш светодиод подключен к цифровому контакту 8 - выберите D8 (D - означает цифровой).

6. Запускаем проект.
Когда вы закончите с настройками - жмите кнопку PLAY. Это переключит вас с режима редактирования в режим выполнения, в котором вы сможете взаимодействовать с вашими устройствами. В данном режиме вы не сможете перемещать или настраивать элементы управления, нажмите STOP чтобы вернуться в режим редактирования.

После запуска выполнения, вы получите сообщение “Arduino UNO is offline”. Исправим это в следующем разделе.

Начинаем работу с устройством
Как использовать скетч примера.
На вашем компьютере должна быть установлена библиотека Blynk Library. Если еще нет - жмем здесь.
Скетч в примере поможет вам быстро получить онлайн доступ к устройству, библиотека содержит несколько примеров для изучения.
Откройте пример скетча, соответствующий вашему устройству или шилду.
Давайте разберем скетч для Arduino UNO + Ethernet shield
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <Ethernet.h>
#include <BlynkSimpleEthernet.h>

char auth[] = "YourAuthToken";

void setup()
{
  Serial.begin(9600); // See the connection status in Serial Monitor
  Blynk.begin(auth);  // Here your Arduino connects to the Blynk Cloud.
}

void loop()
{
  Blynk.run(); // All the Blynk Magic happens here...
}
Ключ авторизации (Auth Token) В скетче-примере вы можете найти его в следующей строке:
char auth[] = "YourAuthToken";
Это ключ который вы отправили себе в письме ранее. Проверьте вашу почту и скопируйте ключ, вставьте его вместо текста YourAuthToken.
Должно выглядеть подобно этому:
char auth[] = "f45626c103a94983b469637978b0c78a";
Выгрузите скетч в ваше устройство и откройте монитор порта, вы должны увидеть следующее:
Blynk v.1.0.3
Your IP is 192.168.0.11
Connecting...
Blynk connected!
Если это так - мои поздравления - вы все настроили правильно и ваше устройство подключилось к облаку Blynk!

Зажигаем светодиод! (Blynking)
Возвращаемся к установленному мобильному приложению Blynk и нажимаем кнопку для включения и выключения светодиода.
Посмотрите другие примеры скетчей..
Будьте свободны в ваших экспериментах, объединяйте разные примеры и создайте свой невероятный проект!

Сделав все согласно инструкции - чуда не произошло и с первого раза все не завелось
Почему-то не получает IP-адрес с роутера, будем копать....

Копать пришлось не долго, проблема решилась непосредственным подключением платы ARDUINO к роутеру (до этого подключение шло через промежуточный свич, который скорее всего и создавал проблему).
Подключились! Активность в мобильном приложении вызывает мерцание диодов передачи данных на Ethernet-шилде, значит все работает, новое поле для экспериментов готово!

Коментарі

Популярні дописи з цього блогу

ESP8266+ARDUINO NANO связь через ESP-link ч.1

ARDUINO + 16х2 LCD keypad shield (двухрядный дисплей с кнопками) + DHT11 (датчика температуры и влажности)