Создание Трекера Устройств Bluetooth С Помощью Динамиков Google

Многие люди, вероятно, не знают, что в Google Columns есть свои собственные локальный API .

Я сейчас не говорю о протоколе Chromecast, который, несомненно, хорош.

Я говорю об API, который позволяет настраивать колонки Google с помощью мобильного приложения Google Home.

Создание трекера устройств Bluetooth с помощью динамиков Google

Первая информация об этом протоколе появилась в январе 2018 года.

API можно было свободно использовать внутри локальной сети.

В январе 2019 года Google выпустила обновление, которое добавило обязательную авторизацию.

Для выполнения команд требовался локальный токен — так же, как и в колонки яндекса .

Сообщество нашло решение в виде запуска виртуальной машины с рутованным Android, а затем извлечение токенов из приложения Google Home через adb. Сложность этого подхода заставила многих отказаться от этого API. А совсем недавно автор неофициальной документации локального API предложил более цивилизованный способ получения локального токена — с помощью логина и пароля от аккаунта Google. Во-первых, вам необходимо получить мастер-токен для вашей учетной записи Google. Для этого вам нужно прикинуться Android-приложением от Google, используя библиотеку gpsoauth (Сервисы Google Play OAuth).

В целях безопасности вы можете создать и использовать пароль Google Apps вместо основного пароля.

И в конце сохраните только токен.

Это длится долго.

Затем, используя ту же библиотеку, получите токен доступа.

И с его помощью, с помощью утилиты gRPCurl и файл, предложенный автором прото , получить ваш Главная График .

Сам Home Graph очень интересен: он содержит полную информацию о вашем умном доме Google, включая список устройств, комнат, местоположение во всех подробностях.

Home Graph имеет токены локальных столбцов.

Существует также список типов устройств, которые Google потенциально будет поддерживать.

Я насчитал 130 штук, и среди них есть кошачьи и собачьи «приборы».

Типы устройств из Home Graph AC_HEATING: кондиционер и обогреватель.

AC_UNIT: Кондиционер ВОЗДУШНЫЙ ОХЛАДИТЕЛЬ: Воздушный охладитель AIRFRESHENER: Освежитель воздуха.

ОЧИСТИТЕЛЬ ВОЗДУХА: Очиститель воздуха СИГНАЛИЗАЦИЯ: Тревога АУДИО_ВИДЕО_РЕСИВЕР: АВР АВТО: Автомобиль ТЕНТ: Тент СУМКА: Сумка ВАННА: Ванна БАТАРЕЯ: Аккумулятор КРОВАТЬ: Кровать ВЕЛОСИПЕД: Велосипед БЛЕНДЕР: Блендер ЖАЛЮЗИ: Жалюзи КОТЕЛ: Котел КНОПКА: Кнопка КАМЕРА: Камера CARBON_MONOXIDE_DETECTOR: Детектор угарного газа.

Кот кот ЗАРЯДНОЕ УСТРОЙСТВО: Зарядное устройство ХРОМЕКАСТ: Chromecast ЧАСЫ: Часы CLOCKRADIO: радиочасы ШКАФ: Шкаф ОДЕЖДА: Одежда COFFEE_MAKER: Кофеварка КОМПЬЮТЕР: Компьютер ВАРОЧНАЯ ПАНЕЛЬ: Варочная панель ЗАНАВЕС: Занавес ОСУШИТЕЛЬ: Осушитель ДЕГИДРАТОР: Дегидратор ПОСУДОМОЕЧНАЯ МАШИНА: Посудомоечная машина ДИСПЛЕЙ: Дисплей Собака Собака ДВЕРЬ: Дверь ДВЕРНОЙ ЗВОНОК: Дверной звонок ЯЩИК: Ящик СУШИЛКА: Сушилка ЛИФТ: Лифт ФАН: Фанат КРАН: Кран ФИЛЬТР: Фильтр КАМИН: Камин МОРОЗИЛЬНАЯ КАМЕРА: Морозильная камера ФРИТЮРНИЦА: Фритюрница GAME_CONSOLE: игровая консоль.

ГАРАЖ: Гараж САД: Сад ВОРОТА: Ворота GOOGLE_HOME: Спикер ГРИЛЬ: Гриль НАУШНИКИ: Наушники ОБОГРЕВАТЕЛЬ: Обогреватель КАПОТ: Вытяжка УВЛАЖНИТЕЛЬ: Увлажнитель IDBADGE: идентификационный бейдж ИНТЕРКОМ: Интерком ЧАЙНИК: Чайник КЛЮЧИ:Ключи НОУТБУК: Ноутбук СВЕТ: Свет LOCTORTAG: Тег локатора ЗАМОК: Замок ПОЧТОВЫЙ ЯЩИК: Почтовый ящик МАТРАС: Матрас МИКРОФОН: Микрофон МИКРОВОЛНОВАЯ ПЕЧЬ: Микроволновая печь МИКСЕР: Миксер Швабра: Швабра КОСИЛКА: Косилка МУЛЬТИВАРКА: Мультиварка СЕТЬ: Сеть БЛОКНОТ: Блокнот ВЫХОД: Выход ДУХОВКА: Духовка ПАСПОРТ: Паспорт ПЕРГОЛА: Пергола PETFEEDER: Кормушка для домашних животных ТЕЛЕФОН: Телефон ИЗОБРАЖЕНИЕ: Рамка для фотографий СКОРОВАРКА: Скороварка РАДИАТОР: Радиатор ХОЛОДИЛЬНИК: Холодильник ДИСТАНЦИОННОЕ УПРАВЛЕНИЕ: Дистанционное управление РОБОТ: Робот КРЫША: Крыша МАРШРУТИЗАТОР: Маршрутизатор ПРОЦЕДУРА: Маршрутизатор СЦЕНА: Сцена ЭКРАН: Экран СИСТЕМА БЕЗОПАСНОСТИ: Система безопасности ДАТЧИК: Датчик SETTOP: ТВ-приставка ДУШ: Душ ЗАТВОР: Затвор SMOKE_DETECTOR: Детектор дыма ЗВУКОВАЯ БАР: Звуковая панель СУВИД: Плита су-вид. ДОКЛАДЧИК: Спикер SPEAKER_GROUP: группа докладчиков SPEAKER_PAIR: пара динамиков СПРИНКЛЕР: Спринклер STANDMIXER: Стационарный миксер STREAMING_BOX: Блок потоковой передачи STREAMING_SOUNDBAR: потоковая звуковая панель STREAMING_STICK: потоковая флешка СТАЙЛЕР: Стайлер ПЕРЕКЛЮЧАТЕЛЬ: Переключатель SYNCBOX: окно синхронизации.

ТАБЛЕТКА: Таблетка ТЕРМОСТАТ: Термостат ТУАЛЕТ: Туалет ИГРУШКА: ИГРУШКА ТВ:ТВ ЗОНТИК: Зонтик ВАКУУМ: Вакуум КЛАПАН: Клапан ВЕНТИЛЯТОР: Вентилятор КОШЕЛЕК: Кошелек СМОТРЕТЬ: Смотреть ШАЙБА: Шайба ВОДОНАГРЕВАТЕЛЬ: Водонагреватель ВОДООЧИСТИТЕЛЬ: Очиститель воды WATERSOFTENER: Смягчитель воды ПОГОДНАЯ СТАНЦИЯ: Метеостанция ОКНО:Окно ВИННЫЙ ПОГРЕБ: Винный погреб ЙОГУРТАВТОР: Йогуртница Так что хорошо локальный API ? С его помощью можно узнать список будильников и удалить их (создать их нельзя).

Вы можете управлять эквалайзером и режимом «Не беспокоить».

Но самое интересное, что вы можете искать окружающие Bluetooth-устройства.

В списке устройств Bluetooth будет указан MAC-адрес и уровень сигнала.

И, если можно, название и класс устройства.

На основе этих данных можно построить «логику присутствия».

Конечно, при условии, что ваши устройства позволяют себя обнаружить.

В Home Assistant когда-нибудь это было долго именно такой компонент, но оно было удалено после появления авторизации в API. Если у вас в доме есть несколько колонок Google, можно попробовать реализовать позиционирование человека внутри квартиры.

мне хватит много проектов сделать это также.

Но я надеюсь, что кто-то воспользуется этими знаниями и сделает что-то крутое для себя, а может и для сообщества.

Теги: #Разработки для Интернета вещей #Гаджеты #Умный дом #Bluetooth #google home #google home mini

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.