1

Тема: Робота з Bluetooth

Пишемо програму під Андроїд на Кордова. Потрібно з'єднати два планшета через блютуз. Пробували різні плагіни, але нічого не виходить. Перечитали вже купу всього - я підозрюю, що десь елементарна помилка. Хтось може надати консультацію?

2

Re: Робота з Bluetooth

"нічого не виходить" - це як? Є якісь помилки, логи?
Я можу надати консультацію, бо працював зі стеком Bluethooth, правда на C++, але думаю що це не дуже принципіально.
Й якщо буду мати на це час, звичайно ж

Робіть що хочете - людина створена вільною
Подякували: sergkots1

3

Re: Робота з Bluetooth

Виконую підключення за допомогою такого коду

var uuid = '00001101-0000-1000-8000-00805f9b34fb';
var address = '00:45:DA:B4:07:BF';

networking.bluetooth.connect(address, uuid, function (socketId) {
    alert('Success. ID - '+socketId);
}, function (errorMessage) {
    alert('Connection failed: ' + errorMessage);
});

Отримую помилку

connection failed, socket might closed or timeout, read ret: -1

4

Re: Робота з Bluetooth

Це мій товариш відповів.

5

Re: Робота з Bluetooth

Здається для того щоб встановити з'єднання вам потрібно виконати усі кроки:
1. Отримати статус адаптера та послати йому статус енабле
2. Зробити діскавері девайсів
3. Встановити з'єднання з девайсом зі списку. 
приклади
Буду дома, гляну ще доку для андроїда, але загалом це працює саме так.

Робіть що хочете - людина створена вільною
Подякували: sergkots, leofun012

6

Re: Робота з Bluetooth

пристрої між собою зв'язані, тобто коли я виконую

networking.bluetooth.getDevices(function (devices) {
    for (var i = 0; i < devices.length; i++) {
        // The deviceInfo object has the following properties: 
        // address: String --> The address of the device, in the format 'XX:XX:XX:XX:XX:XX'. 
        // name: String --> The human-readable name of the device. 
        // paired: Boolean --> Indicates whether or not the device is paired with the system. 
        // uuids: Array of String --> UUIDs of protocols, profiles and services advertised by the device. 
        console.log(devices[i].address);
    }
});

то я отримую mac адресу зпареного пристрою. після цього хочу зним з'єднатися за допомогою коду з першого повідомлення

7

Re: Робота з Bluetooth

taruk написав:

то я отримую mac адресу зпареного пристрою. після цього хочу зним з'єднатися за допомогою коду з першого повідомлення

getDevices повертає список девайсів які поряд, а не спарені.
З яким девайсом ви намагаєтесь з'єднатися? Спробуйте инший пристрій - тут можливі ньюанси.
Я зможу перевірити код на вихідних, на роботі не працюю з андроїдом.

Робіть що хочете - людина створена вільною
Подякували: sergkots1

8

Re: Робота з Bluetooth

varkon написав:
taruk написав:

то я отримую mac адресу зпареного пристрою. після цього хочу зним з'єднатися за допомогою коду з першого повідомлення

getDevices повертає список девайсів які поряд, а не спарені.
З яким девайсом ви намагаєтесь з'єднатися? Спробуйте инший пристрій - тут можливі ньюанси.
Я зможу перевірити код на вихідних, на роботі не працюю з андроїдом.

Два абсолютно однакових планшета. Я вам буду щиро вдячний за допомогу.

9

Re: Робота з Bluetooth

getDevices повертає список девайсів які поряд, а не спарені.

а це не функція startDiscovery?

10

Re: Робота з Bluetooth

taruk написав:

getDevices повертає список девайсів які поряд, а не спарені.

а це не функція startDiscovery?

startDiscovery запускає саме пошук девайсів побизу.
До речі ще приклад роботи з Bluetooth. Це автор книги Android cookbook. Problem and solution for android developers
Спробуйте цей код, але мені здається проблема тут не в коді. Для якої версії андроїда не працює? Протестуйте будь ласка на інших пристроях - якщо ні - зробіть тестовий проект який повинен працювати але не працює, та викладіть на гітхаб.

Робіть що хочете - людина створена вільною

11

Re: Робота з Bluetooth

До речі ще приклад роботи з Bluetooth.

не відкривається

12 Востаннє редагувалося andriesko (31.03.2018 21:43:57)

Re: Робота з Bluetooth

Недавно трошки копався в цій темі (Bluetooth в android), мені допоміг приклад https://github.com/googlesamples/android-BluetoothChat
спробуйте спочатку змінити uuid, в мене була з ним проблема, коли підключавсь до мікроконтролера то все працювало, а коли з цим самим uuid пробував підключитись між двома смартфонами то мав помилку аналогічну Вашій, після зміни uuid на аналогічне як в проекті за посиланням то все запрацювало.

Подякували: sergkots, PRY2

13

Re: Робота з Bluetooth

До речі я думаю що матиме місце також Вам переглянути щось про циклічний надлишковий код (CRC) це допоможе викрити чи є помилки в даних що передаватимуться (викликані, наприклад, перешкодами в середовищі передавання)

Подякували: sergkots1

14

Re: Робота з Bluetooth

andriesko написав:

До речі я думаю що матиме місце також Вам переглянути щось про циклічний надлишковий код (CRC) це допоможе викрити чи є помилки в даних що передаватимуться (викликані, наприклад, перешкодами в середовищі передавання)

А така річ в протоколі ще не реалізована? Я думав, що це має бути вже на рівні протоколів.

15

Re: Робота з Bluetooth

приклад написаний на чому? тому що я пишу на cordova, використовуючи html+js+css. я не розуміюсь на c чи java

16

Re: Робота з Bluetooth

упс, прогавив.. приклад в Android Studio, написаний на java

17

Re: Робота з Bluetooth

taruk написав:

приклад написаний на чому? тому що я пишу на cordova, використовуючи html+js+css. я не розуміюсь на c чи java

Ще раз викладаю приклади. Вони всі на джаві - що звичайно дивно. )) (це сарказм, хто раптом не зрозумів).
Бажано зразу що у вас не виходить, що б на вас марно не витрачали час.

Робіть що хочете - людина створена вільною

18

Re: Робота з Bluetooth

як приклад на java допоможе мені написати програму на JS? я розумію, що такі плагіни пишуться на java, але я не розбираюсь в java.

19

Re: Робота з Bluetooth

або хотя би поясніть, як мені запустити цей проект в Android Studio?

20

Re: Робота з Bluetooth

Для початку скачайте та встановіть Java SDK (JDK) http://www.oracle.com/technetwork/java/ … index.html
потім Android Studio https://developer.android.com/studio/index.html
Після цього спробуйте відкрити проект. З чим саме маєте проблему, опишіть