Датчик Movesense не отправляет данные через скрипт Python, но работает с мобильным приложениемPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Датчик Movesense не отправляет данные через скрипт Python, но работает с мобильным приложением

Сообщение Anonymous »

Я работаю с датчиком Movesense и пытаюсь собрать данные с помощью скрипта Python, представленного в документации. Путь и команды, которые я использую, были проверены на правильность в соответствии с документацией API Movesense и перепроверены с другим справочным кодом. Клиент Python успешно подключается к датчику и отправляет команду для начала потоковой передачи данных, но данные не принимаются.
Вот что я проверил на данный момент:
  • Датчик работоспособен, поскольку он передает данные при подключении к мобильному приложению Movesense.
  • Путь, который я использую (например, "/ Meas/ECG/200") является правильным и соответствует документации.
  • Команда записи отправляется успешно (подтверждено журналами отладки), уведомления включаются без ошибок.
  • UUID для записи и характеристики уведомления верны.
Несмотря на это, никакие уведомления или данные через скрипт Python не принимаются. Я пробовал:
  • Добавить задержки до и после отправки команды записи.
  • Повторно отправить команду записи несколько раз.
  • Проверка того, что датчик не подключен к какому-либо другому устройству во время тестирования.
Сценарий Python использует библиотеку Bleak для связи BLE. В журнале ошибок нет, датчик подтверждает команду записи, но не отправляет никаких данных.
Кто-нибудь сталкивался с подобной проблемой или что-то не хватает в конфигурации? или последовательность общения? Будем очень признательны за любые идеи и предложения.
Вот код, который я использую.
# -*- coding: utf-8 -*-
"""
Python gatt_sensordata_app client example using the Bleak GATT client.

This example is based on the examples in the Bleak repo: https://github.com/hbldh/bleak
"""

import logging
import asyncio
import platform
import signal
from bleak import BleakClient
from bleak import _logger as logger
from bleak import discover
from functools import reduce
from typing import List
import struct
import sys

WRITE_CHARACTERISTIC_UUID = (

)

NOTIFY_CHARACTERISTIC_UUID = (

)

# https://stackoverflow.com/a/56243296
class DataView:
def __init__(self, array, bytes_per_element=1):
"""
bytes_per_element is the size of each element in bytes.
By default we are assume the array is one byte per element.
"""
self.array = array
self.bytes_per_element = 1

def __get_binary(self, start_index, byte_count, signed=False):
integers = [self.array[start_index + x] for x in range(byte_count)]
_bytes = [integer.to_bytes(
self.bytes_per_element, byteorder='little', signed=signed) for integer in integers]
return reduce(lambda a, b: a + b, _bytes)

def get_uint_16(self, start_index):
bytes_to_read = 2
return int.from_bytes(self.__get_binary(start_index, bytes_to_read), byteorder='little')

def get_uint_8(self, start_index):
bytes_to_read = 1
return int.from_bytes(self.__get_binary(start_index, bytes_to_read), byteorder='little')

def get_uint_32(self, start_index):
bytes_to_read = 4
binary = self.__get_binary(start_index, bytes_to_read)
return struct.unpack('

Подробнее здесь: https://stackoverflow.com/questions/792 ... mobile-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»