1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/GeekSmile-miband-sdk-android_modify

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

miband-sdk-android

Облачный чат

Присоединиться к обсуждению на https://gitter.im/pangliang/miband-sdk-android

TODO

  • Переписать BluetoothIO в синхронный способ
  • Получение первичных данных с акселерометра
  • Получение и установка информации о сне
  • Получение и установка информации о физической активности по периодам
  • Сбор типов уведомлений

Текущие версии прошивок, прошедшие тестирование

Ми Фит (MI Fit):

  • версия для iOS: 1.3.57
  • версия для Android: 1.8.711

Обычная версия (MI):

  • версия прошивки: 4.16.11.7

Версия с пульсометром (MI1S):

  • версия прошивки: 4.15.12.10
  • версия пульсометра: 1.3.74.64

Примечания к выпускам

1.1.02031506 - 2016-02-03

  • Поддержка получения данных сканирования пульса

1.0.11201903 - 2015-11-20- Сканирование ближайших Le-устройств; при наличии нескольких браслетов можно выбрать устройство для подключения

  • Добавление слушателя отключения устройства

  • После подключения не обязательно устанавливать setUserInfo; можно использовать без него; setUserInfo приводит к отключению пульсометрового браслета, требуется исправление

  • Исправление проблемы вибрации; теперь есть три режима вибрации: три светодиода вспыхивают дважды, без светодиодов вибрирует дважды, средний светодиод вибрирует десять раз; во время вибрации можно в любое время остановить с помощью stop

  • Данные с акселерометра недоступны

  • Пульсометровый браслет, кажется, имеет одноканальный светодиод, невозможно установить цвет светодиода; стандартный браслет позволяет это делать### 1.0.07171543 - 2015-08-17

  • Получение данных с акселерометра

1.0.05271733 - 2015-05-27

  • Установка информации о пользователе
  • Получение уведомлений о текущих шагах
  • Вибрация браслета
  • Установка цвета светодиода
  • Получение информации о заряде батареи
  • Получение информации о значении RSSI

API


// Инициализация
MiBand miband = new MiBand(context);

// Сканирование ближайших устройств
final ScanCallback scanCallback = new ScanCallback()
{
	@Override
	public void onScanResult(int callbackType, ScanResult result)
	{
		BluetoothDevice device = result.getDevice();
		Log.d(TAG,
				"Найдено ближайшее Bluetooth устройство: имя: " + device.getName() + ", uuid: "
						+ device.getUuids() + ", адрес: "
						+ device.getAddress() + ", тип: "
						+ device.getType() + ", состояние связи: "
						+ device.getBondState() + ", Rssi: " + result.getRssi());
		// Отображение в зависимости от ситуации
	}
};
MiBand.startScan(scanCallback);

// Остановка сканирования
MiBand.stopScan(scanCallback);

// Подключение, указание одного из ранее найденных устройств
miband.connect(device, new ActionCallback() {
						
	@Override
	public void onSuccess(Object data)
	{
		Log.d(TAG,"Подключение выполнено успешно");
	}
	
	@Override
	public void onFail(int errorCode, String msg)
	{
		Log.d(TAG,"Подключение не выполнено, код ошибки: " + errorCode + ", сообщение: " + msg);
	}
});
```// Установка слушателя отключения для удобства переподключения или других действий при отключении устройства
miband.setDisconnectedListener(new NotifyListener()
{
	@Override
	public void onNotify(byte[] data)
	{
		Log.d(TAG,
				"Соединение разорвано!!!"); // Connection disconnected!!!
	}
});
```// Установка слушателя уведомлений о результатах сканирования частоты сердечных сокращений
miband.setHeartRateScanListener(new HeartRateNotifyListener()
{
	@Override
	public void onNotify(int heartRate)
	{
		Log.d(TAG, "Частота сердечных сокращений: " + heartRate);
	}
});

// Начало сканирования частоты сердечных сокращений
miband.startHeartRateScan();

// Чтение и получение значения сигнала RSSI для подключения к устройству
miband.readRssi(new ActionCallback() {
		
	@Override
	public void onSuccess(Object data)
	{
		Log.d(TAG, "RSSI:" + (int) data);
	}
	
	@Override
	public void onFail(int errorCode, String msg)
	{
		Log.d(TAG, "Чтение RSSI неудачно");
	}
});

// Чтение информации о заряде батареи
miband.getBatteryInfo(new ActionCallback() {
		
	@Override
	public void onSuccess(Object data)
	{
		BatteryInfo info = (BatteryInfo) data;
		Log.d(TAG, info.toString());
		// cycles:4, level:44, status:unknown, last:2015-04-15 03:37:55
	}
	
	@Override
	public void onFail(int errorCode, String msg)
	{
		Log.d(TAG, "Чтение информации о заряде батареи неудачно");
	}
});

// Вибрация 2 раза, три светодиода светятся
miband.startVibration(VibrationMode.VIBRATION_WITH_LED);

// Вибрация 2 раза, светодиоды не светятся
miband.startVibration(VibrationMode.VIBRATION_WITHOUT_LED);

// Вибрация 10 раз, светодиод светится синим цветом
miband.startVibration(VibrationMode.VIBRATION_10_TIMES_WITH_LED);

// Остановка вибрации, вызов этого метода останавливает вибрацию в любое время
miband.stopVibration();

// Получение обычного уведомления, data обычно имеет длину 1, значение представляет тип уведомления, типы пока не собраны
miband.setNormalNotifyListener(new NotifyListener() {
		
	@Override
	public void onNotify(byte[] data)
	{
		Log.d(TAG, "NormalNotifyListener:" + Arrays.toString(data));
	}
});// Получение уведомления о текущих шагах, настройка выполняется в два этапа:
// 1. Установка слушателя уведомлений
miband.setRealtimeStepsNotifyListener(new RealtimeStepsNotifyListener() {
		
	@Override
	public void onNotify(int steps)
	{
		Log.d(TAG, "RealtimeStepsNotifyListener:" + steps);
	}
});

// 2. Включение уведомлений
miband.enableRealtimeStepsNotify();

// Отключение (остановка) уведомлений о текущих шагах, повторное включение требует повторного вызова miband.enableRealtimeStepsNotify()
miband.disableRealtimeStepsNotify();// Установка цвета LED: оранжевый, синий, красный, зелёный
miband.setLedColor(LedColor.ORANGE);
miband.setLedColor(LedColor.BLUE);
miband.setLedColor(LedColor.RED);
miband.setLedColor(LedColor.GREEN);

// Получение исходных данных сенсора гравитации, требуется два шага
// 1. Установка слушателя
miband.setSensorDataNotifyListener(new NotifyListener()
{
	@Override
	public void onNotify(byte[] data)
	{
		int i = 0;

		int index = (data[i++] & 0xFF) | (data[i++] & 0xFF) << 8;  // Индекс
		int d1 = (data[i++] & 0xFF) | (data[i++] & 0xFF) << 8;    
		int d2 = (data[i++] & 0xFF) | (data[i++] & 0xFF) << 8;
		int d3 = (data[i++] & 0xFF) | (data[i++] & 0xFF) << 8;

	}
});

// 2. Включение
miband.enableSensorDataNotify();

// Установка UserInfo, кажется, это не имеет большого значения, можно выполнять другие действия без парирования
// И при вспышке браслета, нужно постучать по браслету; как при парировании в официальном приложении
UserInfo userInfo = new UserInfo(20111111, 1, 32, 180, 55, "Пухляш Лян", 1);
miband.setUserInfo(userInfo);

// Парирование, кажется, это не имеет большого значения, можно выполнять другие действия без парирования
miband.pair(new ActionCallback() {
	@Override
	public void onSuccess(Object data)
	{
		changeStatus("pair succ");
	}
	
	@Override
	public void onFail(int errorCode, String msg)
	{
		changeStatus("pair fail");
	}
});Тип документа для перевода: markdown
Язык исходного текста: китайский
Язык финального текста должен быть: русский

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Разработка пользовательских приложений для Mi Band; основано на исходном коде miband-sdk-android Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/GeekSmile-miband-sdk-android_modify.git
git@api.gitlife.ru:oschina-mirror/GeekSmile-miband-sdk-android_modify.git
oschina-mirror
GeekSmile-miband-sdk-android_modify
GeekSmile-miband-sdk-android_modify
master