BLE, Arduino, iOS

31.08.2017 Arduino #ble #arduino #ios

Základní příklad pro využití bluetooth modulu BLE s Arduinem a ovládáním pomocí telefonu (iOS).


BLE je zkratkou Bluetooth Low Energie. Jedná se o bluetooth technologii, se kterou pracuje i systém iOS. Společnost Redbear poskytuje moduly s touto technologií a ve spojení s Arduino vytváří silný celek, který má široké využití. Zde je uveden jednoduchý příklad zapojení.

sketch_ble
Základní zapojení BLE a Arduino.

Při použití BLE modulu je nutné mít nainstalovanou knihovnu pro práci s BLE a Arduino. Jak nainstalovat knihovnu lze nalézt v článku Správa knihoven v Arduino. Knihovna ke stažení.

Pro zkušební ovládání servomotoru v příkladu, postačí si stáhnout do telefonu aplikaci BLEController.

Sketch

#include 
#include  
Servo servo1;

const int pinServo = 2;

// Initialize everything and prepare to start
void setup(){
  BLEMini_begin(57600); // start the BLE device
  Serial.begin(57600);

  pinMode(pinServo, OUTPUT);
  servo1.write(110);
}

// Main loop
void loop(){
    checkBLE();      
}
 
void checkBLE(){
  while(BLEMini_available()) {
    Serial.println("------------");
    byte data0 = BLEMini_read(); // read either 0 or 1.
    byte data1 = BLEMini_read();
     
    Serial.println(data0);
     if (data0 == 0x01){
      Serial.println(data1);
      switch(data1) {      
        case 0x00:
          Serial.println("Servo run");
          servo1.attach(2);
          servo1.write(110);
        break;
        case 0x01:  
          Serial.println("Servo run back");
          servo1.attach(2);
          servo1.write(0);
        break;
      }
    }
  }
}

V iOS aplikaci BLEController nastavte modul Simple Controls. Při provedení skenování BLE zařízení by se měla objevit adresa dostupného BLE modulu. K tomuto modulu se kliknutím připojte. Objevý se sada ovládacích prvků. Při stisknutí přepínače A2 dojde k natočení serva na hodnotu 110. Při opětovném stisknutí přepínače se servo vrátí do výchozí polohy.

Detailní popis BLE modulu lze nalézt na http://redbearlab.com/blemini/.