- Saved searches
- Use saved searches to filter your results more quickly
- License
- TheWeirdDev/Bluetooth_Headset_Battery_Level
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- Readme.md
- About
- Как работает беспроводная зарядка для телефона
- Что такое беспроводная зарядка
- Стандарт беспроводной зарядки Qi
- Принцип работы беспроводной зарядки телефона
- Что такое обратная беспроводная зарядка
- Как пользоваться беспроводной зарядкой
- Какие телефоны поддерживают беспроводную зарядку
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
A python script to get battery level from Bluetooth headsets
License
TheWeirdDev/Bluetooth_Headset_Battery_Level
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
improved AT+XEVENT battery parsing
Git stats
Files
Failed to load latest commit information.
Readme.md
🔋 🎧 Bluetooth Headset Battery Level
This is a python script to fetch the battery charge level of some Bluetooth headsets.
You need python 3.6 or newer to run the script.
Option 1: Install from PyPI
Please ensure you have the BlueZ and python libraries and header files if you are using Ubuntu/Debian based distros:
sudo apt install libbluetooth-dev python3-dev
If you are using OpenSUSE, you will need to install bluez , bluez-devel , python3-devel , python3-pybluez
pip3 install bluetooth_battery bluetooth_battery BT_MAC_ADDRESS_1 .
You can input addresses for as many devices as you want separated by space.
the dependency pybluez should be installed automatically, but if not, you may need to install it manually
Option 2: Download this repository
cd Bluetooth_Headset_Battery_Level chmod +x bluetooth_battery.py ./bluetooth_battery.py BT_MAC_ADDRESS_1 .
make sure you have python-pybluez or python3-pybluez or python3-bluez installed on your system.
You must have docker installed on your system. Clone the repository using git clone command. Then run:
cd Bluetooth_Headset_Battery_Level docker build -t bluetooth_battery_level .
Once the build is complete you can use the below command to run the program:
docker run --rm -ti --privileged --net=host bluetooth_battery_level "BT_MAC_ADDRESS"
You must have AUR access enabled on your Arch or Manjaro machine. You can install this library using
yay -S python-bluetooth-battery
the dependency pybluez should be installed automatically, but if not, you may need to install it manually
This can be done with pip3 install git+https://github.com/pybluez/pybluez@master .
To use this as a library, simply install it using pip or AUR (see above) or require it in your Pipfile.
You can then
from bluetooth_battery import BatteryStateQuerier, BatteryQueryError, BluetoothError # only for error handling
and query the Battery State as follows:
# Autodetects SPP port query = BatteryStateQuerier("11:22:33:44:55:66") # or with given port query = BatteryStateQuerier("11:22:33:44:55:66", "4") result = int(query) # returns integer between 0 and 100 # or result = str(query) # returns "0%".."100%"
As errors can occur in a wireless system, you probably want to handle them:
try: query = BatteryStateQuerier("11:22:33:44:55:66") # Can raise BluetoothError when autodetecting port str(query) # Can raise BluetoothError when device is down or port is wrong # Can raise BatteryQueryError when the device is unsupported except BluetoothError as e: # Handle device is offline . except BatteryQueryError as e: # Handle device is unsupported .
There is also a GNOME extension for integrating this program with GNOME desktop environment: https://extensions.gnome.org/extension/3991/bluetooth-battery/
There is also a Budgie extension for integrating this program with Budgie desktop environment: https://github.com/GaLaXy102/budgie-bluetooth-battery-applet
There are a variety of utilities that can find the MAC address of your bluetooth device. Here is one, this command is in the bluez package, and the given argument gets a list of all devices it knows about, even if not currently available.
$ bluetoothctl devices Device E8:AB:FA:XX:XX:XX iTeknic IK-BH002 Device D0:77:14:XX:XX:XX Barak's Moto X4 Device E8:AB:FA:XX:XX:XX iTeknic IK-BH002
The 1st and 3rd would be relevant here, as those are headsets.
This shows devices that are actually connected.
$ bluetoothctl info Device E8:AB:FA:XX:XX:XX (public) Name: iTeknic IK-BH002 .
bluetooth_battery.py $(bluetoothctl info | awk '/^Device/ ')
to query the battery of all connected devices.
You can set the port number manually by adding a dot at the end of mac address, like this: 00:00:00:00:00:00.3
Try port numbers 1 to 30 to find the one that works for your device. (wait a few seconds between each try)
If that didn’t work, disconnect your device first, and then try again.
Please consider that this script doesn’t guarantee to support every bluetooth device.
You can open a new issue for discussion or check the existing ones for more information.
- ArchLinux (5.6.14)
- Manjaro (5.14.10)
- NixOS 20.09 (20.09.2386.ae1b121d9a6)
- Debian GNU/Linux (bullseye 5.9)
- Ubuntu/Linux (Focal Fossa 20.04.1)
- openSUSE (Leap 15.3)
@bhepple: For his research on fixing the important bug
@balsoft: For thinking outside the box (finding my big mistake)
@martin-beran: For making it easy to set the port number
@Bobo1239: For adding support for Samsung galaxy buds
@keystroke3: For adding multiple device support to the script
@jadia: For docker container support
@cheriimoya: For refactoring the code and providing NixOS packages
@MichalW: For making the GNOME shell extension
@GaLaXy102: For re-writing the code, making it cleaner and usable as a library
❤️ And everyone else that pointed out the issues or helped me with writing the code or testing it.
This project is a free software licensed under GPL-3.0 or newer. For more information see LICENSE
About
A python script to get battery level from Bluetooth headsets
Как работает беспроводная зарядка для телефона
Современные телефоны разряжаются довольно быстро, особенно если использовать их для просмотра фильмов и прохождения уровней в играх. Заряжать устройство посредством обычного кабеля не всегда удобно. Иногда длины шнура не хватает из-за нестандартного расположения розетки, а что происходит чаще всего – блок питания или разъём попросту выходит из строя. Производители смартфонов идут в ногу со временем, поэтому в магазинах можно встретить так называемые беспроводные зарядки. В основном они представляют собой платформу, на которую кладётся сам аппарат, после чего он начинает заряжаться без подключения с помощью провода. Давайте подробно рассмотрим, как работает беспроводная зарядка для телефона, а также разберёмся с принципом её использования.
Что такое беспроводная зарядка
По названию можно догадаться, что беспроводная зарядка позволяет заряжать различные устройства без использования проводов. Это может быть не только телефон, но и камера, фотоаппарат, планшет, умные часы, наушники и прочая техника. Естественно, для того чтобы это работало, заряжаемое устройство должно поддерживать беспроводную зарядку. Если такой поддержки нет, то в некоторых случаях ее можно реализовать при помощи специального чехла.
Подобный способ зарядки значительно экономит время и позволяет отказаться от использования кабелей и разъемов. Пользователю достаточно положить свой телефон на специальную платформу, и аккумулятор в автоматическом режиме начнёт наполняться. А чтобы прервать процесс зарядки нужно просто взять устройство в руки, отнеся его от источника энергии на 5-10 см.
Стандарт беспроводной зарядки Qi
Многие думают, что беспроводная зарядка появилась совсем недавно, однако это ошибочное мнение. Компания Wireless Power Consortium еще в 2008 году представила технологию беспроводной зарядки, работающую по стандарту WPC. Такое название не закрепилось в памяти людей, поэтому в различной литературе и описаниях чаще всего можно встретить обозначение Qi.
В стандарте WPC прописано, что беспроводная зарядка работает благодаря двум катушкам, взаимодействующим между собой. Одна из них расположена в платформе, а другая – в телефоне пользователя. Поэтому и получается, что магнитное поле охватывает две катушки, тем самым заряжая батарею устройства.
На сегодняшний день многие аэропорты и автовокзалы предлагают своим посетителям зарядить смартфон или планшет полностью без проводов. Как раз здесь и используется стандарт Qi. Однако не каждый телефон может заряжаться по «воздуху», поэтому если вы захотите приобрести подобную технологичную платформу, обязательно почитайте характеристики своего устройства.
Принцип работы беспроводной зарядки телефона
Принцип работы беспроводной зарядки довольно прост, конечно, если не вдаваться в физические подробности. Пользователь заранее подключает специальную платформу к источнику питания, а после кладёт на неё смартфон. Кажется, что всё так просто, но на деле же всё происходит немного иначе. В платформу встраивается индукционная катушка, которая выполняет функцию приёмника и передатчика.
Точно такая же катушка расположена и в телефоне пользователя. После подключения платформы к источнику тока вокруг катушки формируется магнитное поле. Когда вы кладёте телефон на саму панель между двумя катушками начинается взаимодействие. Электромагнитные волны преобразуются в электричество, которое и заряжает аккумулятор телефона.
Более наглядно процесс представлен на изображении выше. Желтым цветом как раз и показаны магнитные волны, преобразующиеся в электроэнергию.
Что такое обратная беспроводная зарядка
Обратная беспроводная зарядка – это ещё более усовершенствованная версия этой технологии. Впервые она появилась в 2018 году на ряде смартфонов Huawei и Samsung. Её суть сводится к тому, что при помощи одного телефона можно заряжать другой, причём полностью без проводов.
Достаточно прислонить два аппарата друг к другу и активировать необходимую функцию в настройках. Это очень удобно, так как избавляет людей от необходимости носить с собой портативные зарядки.
Как пользоваться беспроводной зарядкой
Пользоваться беспроводной зарядкой так же легко, как и обычной, работающей посредством подключения по кабелю. Однако для наглядности приводим подробную инструкцию:
- Подключите беспроводную зарядку к источнику питания. Это может быть USB-порт компьютера или обычная розетка. После выполнения этого действия устройство должно подать какой-то сигнал, чаще всего световой или звуковой.
- Расположите телефон на платформе беспроводной зарядки. Чаще всего особых требований к этому нет, но лучше класть телефон по центру блока. Если зарядка не началась, то проверьте, активирована ли в настройках подобная опция.
Как видите, принцип действий очень даже простой, поэтому с ним справится любой пользователь.
Таким образом, беспроводная зарядка – это специальная платформа, на которую кладётся телефон для начала зарядки аккумулятора. Принцип её работы сводится к взаимодействию магнитных полей между двумя индукционными катушками, расположенными в телефоне и самом приборе.
Какие телефоны поддерживают беспроводную зарядку
Сейчас технология беспроводной зарядки активно набирает популярность и ее поддерживают все больше новых телефонов. На данный момент, заряжать без проводов можно практически все флагманские модели. Ниже мы приведем актуальный список моделей с беспроводной зарядкой.
- iPhone 8/8 Plus;
- iPhone X;
- iPhone XS, XS Max;
- iPhone XR;
- iPhone 11, 11 Pro, 11 Pro Max;
- HUAWEI Mate 20 RS PORSCHE DESIGN;
- HUAWEI Mate 20 Pro;
- HUAWEI P30 Proа;
- HUAWEI Mate 30, Mate 30 Pro;
- Samsung Galaxy Note 5, Note 8, Note 9;
- Samsung Galaxy S6/S6 Edge;
- Samsung Galaxy S7/S7 Edge;
- Samsung Galaxy S8/S8 Plus;
- Samsung Galaxy S9/S9 Plus;
- Samsung Galaxy S10e/S10/S10 Plus;
- Samsung Galaxy Note 10+/Note 10;
- Nexus 4;
- Nexus 5;
- Nexus 6;
- Google Pixel 3;
- Google Pixel 3 XL;
- Google Pixel 4, 4 XL;
- Blackview BV9600 Pro;
- Blackview BV9500/BV9500 Pro;
- Blackview BV6800 Pro;
- Blackview BV5800 Pro;