All Projects → vshymanskyy → Miband Js

vshymanskyy / Miband Js

Licence: gpl-3.0
MiBand 2 JS library for Node.JS and HTML5 (WebBluetooth)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Miband Js

mijia-homie
A Homie MQTT bridge for the Xiaomi Mijia 2 hygrometer-thermometer. This repo also serves as the monorepo for a handful of helper crates related to Homie and Bluetooth.
Stars: ✭ 40 (-86.62%)
Mutual labels:  xiaomi
Xiaomi.eu-MIUIv10-XML-Compare
MIUI 10 XML Daily Compare for Xiaomi.eu builds
Stars: ✭ 28 (-90.64%)
Mutual labels:  xiaomi
debloat-adb
Bash Debloat-Scripts for Android Devices (using ADB)
Stars: ✭ 27 (-90.97%)
Mutual labels:  xiaomi
VacuumZones
Control zone cleaning for Xiaomi vacuum cleaners from voice assistants and Home Assistant
Stars: ✭ 39 (-86.96%)
Mutual labels:  xiaomi
BuyXMWear2Plugin
最近在小米官网上抢小米手环2一直抢不到,深痛小米恶心的饥饿营销,但是喜欢的宝贝还是要买滴[嘻嘻嘻],咋办呢?。刚好昨天阿里内部抢月饼的事件闹到头条,何不像他们学习写个插件抢手环2呢,何乐而不为!
Stars: ✭ 16 (-94.65%)
Mutual labels:  xiaomi
XiaomiCTSPass
强制小米设备通过谷歌CTS测试
Stars: ✭ 284 (-5.02%)
Mutual labels:  xiaomi
goodbye-mihome
Web UI and plugins to manage Xiaomi MiHome gateway, sensors and smart devices.
Stars: ✭ 92 (-69.23%)
Mutual labels:  xiaomi
msm-4.9-grus-okita
For Xiaomi Mi 9 SE
Stars: ✭ 17 (-94.31%)
Mutual labels:  xiaomi
miThermoHygro
Xiaomi BLE Thermo- & Hygrometer implementation for Domoticz
Stars: ✭ 16 (-94.65%)
Mutual labels:  xiaomi
xiaomi-mi-air-purifier
Homebridge plugin for Xiaomi Mi Air Purifier
Stars: ✭ 67 (-77.59%)
Mutual labels:  xiaomi
esphome-components
ESPHome components
Stars: ✭ 62 (-79.26%)
Mutual labels:  xiaomi
android device xiaomi libra
Device configuration for Mi-4c (libra) and Mi-4s (aqua)
Stars: ✭ 51 (-82.94%)
Mutual labels:  xiaomi
Custom-Software-For-Xiaomi-Dafang
API and panel site for Xiaomi Dafang
Stars: ✭ 36 (-87.96%)
Mutual labels:  xiaomi
EDLUnlock
Bootloader Unlock from EDL.
Stars: ✭ 25 (-91.64%)
Mutual labels:  xiaomi
LawRun
Kernel source code (LawRun Kernel) for xiaomi sdm845 | Pocophone f1 (beryllium), Mi 8 (dipper), Mi Mix 2s (polaris) | You can fork and enjoy.
Stars: ✭ 22 (-92.64%)
Mutual labels:  xiaomi
homebridge-yeelight-platform
Homebridge plugin for Yeelight Lights supporting Scenes/Moods/Color Flow/Custom Presets/Music Flow/Night Mode
Stars: ✭ 53 (-82.27%)
Mutual labels:  xiaomi
homebridge-mi-robot vacuum
XiaoMi robot vacuum plugins for HomeBridge.
Stars: ✭ 53 (-82.27%)
Mutual labels:  xiaomi
Homeassistantconfiguration
Home Assistant Config. For more info see link:
Stars: ✭ 260 (-13.04%)
Mutual labels:  xiaomi
hosts
🄯Curated lists of hosts files with various domain blocks.🄯
Stars: ✭ 15 (-94.98%)
Mutual labels:  xiaomi
xiaomi-r3g-openwrt-builder
OpenWrt builder for any supported routers using Docker. Scheduled to run weekly
Stars: ✭ 25 (-91.64%)
Mutual labels:  xiaomi

NPM version NPM download GitHub issues GitHub license

Mi Band 2 JS library

A clean implementation of Mi Band 2 library for Browsers and Node.js, using WebBluetooth API. demo

Setting up

It's best to unbind your Mi Band 2 from MiFit App first.
You should be able to bind it back again, but no guaranee here ;)

Browser

LIVE DEMO

You need a browser with WebBluetooth support. Tested with:

  • Chrome on OS X (Yosemite or later)
  • Chrome on Android (6.0 Marshmallow or later)
  • Chrome on Linux (the chrome://flags/#enable-experimental-web-platform-features flag must be enabled)

Node.js

npm install miband -g
miband-test

This should work on Windows, Linux and OSX.
On Linux, you need to grant Bluetooth access for Node.js:

sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)

Features

  • Authentication
  • Device info: time, battery status, hw/sw versions, etc.
  • Button tap event
  • Notifications: message, phone, vibrate
  • Heart Rate Monitor
  • Realtime data (soon)

API usage example

const MiBand = require('miband');

const device = await bluetooth.requestDevice({
  filters: [
    { services: [ MiBand.advertisementService ] }
  ],
  optionalServices: MiBand.optionalServices
});

const server = await device.gatt.connect();

let miband = new MiBand(server);
await miband.init();

log('Notifications demo...')
await miband.showNotification('message');

Here you can find more API examples


Contributing

Please check out DEVELOPMENT.md

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].