Cordova ble.write я не могу отправить данные (Android) - PullRequest
0 голосов
/ 09 октября 2019

У меня есть сборка Android-приложения в Apache Cordova, она работает с Bluetooth 4.0 (BLE), плагин GitHub-репозиторий указывает эту форму для отправки информации на устройство (в моем случае модуль HM10):

эта функция записывает данные в признак.

ble.write (идентификатор_устройства, service_uuid, характеристика_uuid, данные, успех, отказ);Описание Функция write записывает данные в характеристику.

Параметры: device_id: UUID или MAC-адрес периферийного устройства service_uuid: UUID службы BLE характеристика_uuid: UUID данных характеристики BLE: двоичные данные, используйте ArrayBuffer success:Функция обратного вызова Success, которая вызывается при успешном соединении. [необязательный] сбой: функция обратного вызова ошибки, вызывается при возникновении ошибки. [необязательно]


Я пытался отправить данные таким способом, но функция сбоя вызывается немедленно

    function startBed() {
        var UiidS="FFE0"; //UUID SERVICE: AT+UUID? => 0xFFE0
        var UiidC="FFE1"; //UUID CHARACTERISTICS AT+CHAR? => 0xFFE1

        var data = new Uint8Array(1);
        data[0] = 1;
        setTimeout(ble.write(hMac,UiidS,UiidC,data.buffer,success,failure),2000);
        function success() {
            document.getElementById("btstate1").innerHTML = "Dato enviado!!!";  
            }
        function failure() {
            document.getElementById("btstate1").innerHTML = "Dato NO enviado!!!";  
            var time=2000;
            navigator.vibrate(time);
        }
    }

, если я возьму значение текстового поля и отправлю его напрямую, HM10получает нераспознанные символы, такие как Ó.

        var UiidS="FFE0";
        var UiidC="FFE1";
        var dato =document.getElementById("btstate6").value;
        setTimeout(ble.write(hMac,UiidS,UiidC,dato,success,failure),2000);

В заключение я не знаю, почему модуль не получает данные правильно или в других случаях данные не отправляются. Может быть для чего-то из UUID.

1 Ответ

0 голосов
/ 16 октября 2019

Я все еще пытаюсь решить мою проблему, я подтвердил, что UUID правильный, но у меня есть сомнения относительно того, правильно ли я отправляю данные как ArrayBuffer

...