Bluetooth выключатель света

Подключение Bluetooth к Arduino UNO

По сути все это было описано уже много раз например:

Рассмотрим только код:

/*
 The circuit: 
 * RX is digital pin 10 (connect to TX of other device)
 * TX is digital pin 11 (connect to RX of other device)
 */
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()  
{
 mySerial.begin(9600);
 mySerial.println("Hello, world?");
}
char incomingByte;
void loop()
{
  if (mySerial.available()){
    incomingByte = mySerial.read();
    if(incomingByte == '0') {
       pinMode(13, INPUT); 
       mySerial.println("LED OFF. Press 1 to LED ON!");
    }
    if(incomingByte == '1') {
       pinMode(13, OUTPUT);
       mySerial.println("LED ON. Press 0 to LED OFF!");
    }
  }
}

Чтобы не было проблем подключаем Bluetooth через софтварный UART на других ногах.

Подключение реле

Чтобы не мучатся с разводкой купил следующие готовые платки http://ru.aliexpress.com/item/5V-One-1-Channel-Relay-Module. Там 3 вывода. Земля, питание и дата. На выходе общая точка и 2 вывода. И вот здесь самый главный нюанс – принцип работы ключа.

При подключении ее к любой ноге контроллера замыкание реле происходит при установке ее как вывод. Ввод – реле разомкнуто.

pinMode(13, INPUT);

Как видно на рисунке реле держит до 10А, то есть через него можно подключать электрочайник или пылесос. В моем случае лампочку.

Тест

Скачал https://play.google.com/store/apps/details?id=Qwerty.BluetoothTerminal. Особых проблем нет, только при поиске не определяются имена устройств, так что пришлось перебирать.

Вот собственно как это работает.

Документация на HC-XX: http://www.exp-tech.de/service/datasheet/HC-Serial-Bluetooth-Products.pdf

Bluetooth Чат на Android

Решил разобраться с работой блютуса и всеми его возможностями. Для этого надо найти расширение для as3 и пока что написать простенькое приложение. В общем, задача тривиальная, сделать чат через блютус.

А уж как применить возможности блютуса далее – это ваше дело. Как минимум 2 интересующих меня направления:

  • Связь P2P для чатов, пвп, и т.д.
  • Связь App – MC
    • RC control
    • Использование как периферийное устройство для телефона
    • Использование как  управляющий процессор

И так что нам понадобится

  1. Любая среда разработки Flash (Я люблю Flash Prof.)
  2. AIR 3.2 +
  3. Расширение для as3 (качаем здесь)

В ссылке по п.3, есть пример как связать Arduino и Ваш телефон, но мы решаем немного другую задачу.

Приложение

будет выглядеть вот примерно так,

Без имени-1

и на главную сцену добавим скрипт который я выложу в конце.

Сначала рассмотрим принцип соединения 2х блютус устройств на примере моей программы:

  1. Включаем блютус (в проге нет, подразумевается, что включили вручную, и кстати сделали видимым)
  2. Создаем блютус устройство ( var bluetooth:Bluetooth = Bluetooth.currentAdapter(); )
  3. Проверяем наличие на борту блютуса ( Bluetooth.isSupported() )
  4. Разрешаем подключение к нашему устройству ( bluetooth.serverMode = true; )
  5. Ищем все устройства поблизости ( bluetooth.scanForVisibleDevices(); )
  6. Ждем появления отклика устройств и записываем их в лист ( BluetoothScanEvent.BLUETOOTH_DEVICE_FOUND )
  7. Как только поиск закончен, даем пользователю выбрать устройство с которым хотим соединится
  8. Записываем выбранное устройство ( bDevice = event.target.n; )
  9. Подключаемся к выбранному устройству ( bDevice.connect();  )

Далее как только подключение осуществится (для этого на другой стороне пользователь должен проделать взаимную операцию) мы можем отправить сообщение.

Подводные камни

Самое главное, все над чем я так долго сидел.

1. Разрешение и extensionID в -app.xml

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

Очень важная хрень:

<extensions><extensionID>com.as3breeze.air.ane</extensionID>
</extensions>

2.Правильно подключить библиотеку. Надо не забыть подключить библиотеку в AS3 settings в закладке Library path, но и проверить ее наличие в Настройках публикации в списке Included files

Без имени-1

 

3. У меня лично программа не запускалась на компе, так что отладку приходилось делать чисто на планшете и телефоне

 

Приложение:

  • Проект для FP bluetooth
  • APK можно сразу потестить на телефоне app (не забудте поменять расширение на .apk)