Arduino:Библиотеки/CurieBLE/Класс BLEPeripheral/begin()

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

{{#setlogo:ArduinoCommunityLogo.png}}

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция begin()[1]

Инициализирует периферийное BLE-устройство, чтобы использовать в скетче все его функции.

Синтаксис

yourBlePeripheralName.begin()

Что возвращает

Если инициализация прошла успешно  true, если нет  false.

Пример

 1 /*
 2    Правообладатель – Intel Corporation (2015).  Все права защищены.
 3 
 4    Эта библиотека является бесплатной; ее можно распространять 
 5    и/или модифицировать согласно условиям Стандартной общественной
 6    лицензии ограниченного применения GNU (т.к. она выпущена Фондом
 7    свободного ПО) – либо версии 2.1 этой лицензии, либо более поздней
 8    версии (на ваш выбор). 
 9 
10    Эта библиотека распространяется в надежде на то, что будет 
11    полезна кому-либо, но БЕЗО ВСЯКИХ ГАРАНТИЙ – даже без гарантий на 
12    коммерческое качество и пригодность применения для конкретных 
13    целей. Более подробно читайте в Стандартной общественной лицензии
14    ограниченного применения GNU. 
15 
16    Вы должны получить копию Стандартной общественной лицензии
17    ограниченного применения вместе с этой библиотекой. Если не
18    получили, напишите в Фонд бесплатного ПО на адрес: Free Software
19    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,    
20    MA  02110-1301  USA 
21 */
22 #include <CurieBLE.h>
23 
24 BLEPeripheral blePeripheral;  // периферийное BLE-устройство (плата, которую вы программируете)
25 BLEService ledService("19B10000-E8F2-537E-4F6C-D104768A1214"); // LED-сервис BLE
26 
27 // характеристика для LED-переключателя; 128-битный UUID, возможность
28 // записи и считывания центральным устройством:
29 BLEUnsignedCharCharacteristic switchCharacteristic("19B10001-E8F2-537E-4F6C-D104768A1214", BLERead |BLEWrite);
30 
31 const int ledPin = 13; // контакт, используемый для светодиода
32 
33 void setup() {
34   Serial.begin(9600);
35 
36   // устанавливаем контакт для светодиода в режим OUTPUT:
37   pinMode(ledPin, OUTPUT);
38 
39   // задаем локальное название и UUID для «рекламируемого» сервиса: 
40   blePeripheral.setLocalName("LED");
41   blePeripheral.setAdvertisedServiceUuid(ledService.uuid());
42 
43   // добавляем сервис и характеристику:
44   blePeripheral.addAttribute(ledService);
45   blePeripheral.addAttribute(switchCharacteristic);
46 
47   // задаем начальное значение характеристики: 
48   switchCharacteristic.setValue(0);
49 
50   // начинаем «рекламировать» BLE-сервис:
51   blePeripheral.begin();
52 
53   Serial.println("BLE LED Peripheral");  //  "Управление светодиодом на периферийном BLE-устройстве"
54 }
55 
56 void loop() {
57   // ищем периферийные устройства, к которым можно подключиться: 
58   BLECentral central = blePeripheral.central();
59 
60   // если центральное устройство подключилось к периферийному: 
61   if (central) {
62     Serial.print("Connected to central: ");  //  "Подключились к центральному устройству: "
63 
64     // показываем MAC-адрес центрального устройства:
65     Serial.println(central.address());
66 
67     // пока центральное устройство подключено к периферийному... 
68     while (central.connected()) {
69       // ...и если центральное устройство делает запись в 
70       // характеристику, используем это значение 
71       // для управления светодиодом:
72       if (switchCharacteristic.written()) {
73         if (switchCharacteristic.value()) {   // любое значение, кроме «0»
74           Serial.println("LED on");  //  "Светодиод включен"
75           digitalWrite(ledPin, HIGH);         // включит светодиод,
76         } else {                              // а значение «0»
77           Serial.println(F("LED off"));  //  "Светодиод выключен "
78           digitalWrite(ledPin, LOW);          // выключит светодиод
79         }
80       }
81     }
82 
83     // когда центральное устройство отключится, сообщаем об этом: 
84     Serial.print(F("Disconnected from central: "));  //  "Отключились от центрального устройства: "
85     Serial.println(central.address());
86   }
87 }

См.также

  1. begin()
  2. end()
  3. setAdvertisedServiceUuid()
  4. setLocalName()
  5. setDeviceName()
  6. setAppearance()
  7. setEventHandler()
  8. addAttribute()
  9. disconnect()
  10. central()
  11. connected()

Внешние ссылки