Управляем Arduino 101 через Bluetooth с помощью Blynk

Относительно недавно вышедшая плата Arduino 101 уже успела найти почитателей среди сообщества любителей плат Ардуино. Действительно, благодаря ее характеристикам и возможностям она оставила далеко позади классический вариант – плату Arduino Uno. Впрочем, плата Arduino 101 выполнена в соответствии с тем же форм-фактором, но основана она уже не на 8-разрядном микроконтроллере ATmega, а на 32-разрядном Quark от Intel с тактовой частотой 32 МГц.

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/628-upravlyaem-arduino-101-cherez-bluetooth-s-pomoschyu-blynk/images/upravlyaem-arduino-101-cherez-bluetooth-s-pomoschyu-blynk-1.jpg

Интересна Arduino 101 прежде всего тем, что имеет интегрированные возможности Bluetooth (BLE), а значит прекрасно подходит для создания беспроводных устройств и приложений Интернета вещей.

В данном примере будет показано, как управлять Arduino 101 через Bluetooth с помощью популярного приложения Blynk. Для начала следует установить на телефон само приложение (blynk.cc) и на компьютер библиотеку Blynk Arduino library (docs.blynk.cc/#downloads-blynk-library), которую следует впоследствии поместить в папку библиотек Arduino IDE. Теперь создадим небольшой скетч, который позволит мигать светодиодом на выводе 13 с помощью приложения на смартфоне. Код этого проекта представлен ниже.

#include <BlynkSimpleCurieBLE.h>
#include <CurieBLE.h>
// Необходимо взять ключ Auth Token в приложении Blynk.
// Для этого перейдите в Project Settings.
char auth[] = "e4a4203192744db7b463c49daf0b0ac5"; // Вставьте свой ключ
BLEPeripheral  blePeripheral;

void setup() {
 blePeripheral.setLocalName("Blynk Hello");
 blePeripheral.setDeviceName("Blynk Hello");
 blePeripheral.setAppearance(384);
 Blynk.begin(blePeripheral, auth);
 blePeripheral.begin();
 // Линия 13 настроена на выход
 pinMode(13, OUTPUT);
}

BLYNK_WRITE(0) {
 int switchValue = params.asInt();
 // Выключаем, если 0
 if (switchValue == 0){
  digitalWrite(13, LOW);
 }
 // Включаем, если 1
 if (switchValue == 1) {
  digitalWrite(13, HIGH);
 }
}
void loop() {
 Blynk.run();
 blePeripheral.poll();
}

После того, как вы запрограммируете Arduino 101, необходимо будет настроить приложение Blynk. Сначала в нем необходимо будет создать новую плату, выбрать подключение по Bluetooth, подключить эту запись к Arduino 101. Далее нужно создать виртуальную линию 0 (pin 0).

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/628-upravlyaem-arduino-101-cherez-bluetooth-s-pomoschyu-blynk/images/upravlyaem-arduino-101-cherez-bluetooth-s-pomoschyu-blynk-2.jpg

Затем нужно будет добавить ключ Bluetooth в проект. После этого вы сможете связываться с Arduino 101 по Bluetooth, нажав на Connect BLE Device.

https://alashed-media.s3.eu-north-1.amazonaws.com/wiki/digitrode/628-upravlyaem-arduino-101-cherez-bluetooth-s-pomoschyu-blynk/images/upravlyaem-arduino-101-cherez-bluetooth-s-pomoschyu-blynk-3.jpg

Теперь нажимая созданную в приложении кнопку, можно запросто управлять светодиодом на линии 13 платы Arduino 101.