Pull to refresh

Comments 15

Данную задачу можно решить сильно проще.

1. Покупаем за 10 евро платку(и) с ESP32 на борту
2. Заливаем прошивку: датчик сигналов BLE + отправку списка обнаруженных девайсов на MQTT шину
3. Размещаем платки в удобных местах там где есть USB
4. Детектим наличие людей по сигналам BLE фитнес-браслетов

Я использовал данную систему как детектор присутствия на основе фитнес-браслетов Xiaomi MiFit. Мы управляли отоплением что бы отключать его когда все уходят из дома. Сейчас мы переехали в другой дом с паушальной платой за отопление и необходимость системы отпала, отключил датчик присутствия за ненадобностью, сейчас у нас управление больше сконцентрировано на замечательных кнопках ZigBee от Ikea для отдачи команд типа «выключить всё» при уходе из дома, оказалось несколько практичнее.

З.Ы. с удивлением обнаружил что код прошивки часов + датчик BLE не выложил на гитхаб, могу поделиться если есть интерес.

NodeMCU ESP32 стоит гораздо дешевле 10 евро. И конечно она сильно универсальнее этого способа. Плюс именно BLE-устройства колонки, вероятно, не найдут.


Но когда колонки уже есть, почему бы не найти им дополнительное применение. Особенно, когда они на распродажах строят $20 и уже и так в каждой комнате.


PS: про выключить всё у меня есть статья, как из глупого дверного замка сделать умный. Но она не на Хабре.

Есть NodeMCU на чипе ESP32 с Bluetooth. На нём часто делают или гейт для Bluetooth датчиков Xiaomi или трекер BLE устройств. Например, установив прошивку ESPHome.

И правда, но ценник как раз где-то 10 евро.

350 рублей. Недавно купил, как раз, чтоб сделать трекером BLE.

Поделитесь пожалуйста — ваш коммент и пост выше подкинули мне пару идей как можно браслет использовать. А там какой-нибудь уникальный идентификатор прилетает? Иными словами могу я задетектить присутствие именно моего браслета, а не чужого?

Ну да, у каждого BT девайса свой уникальный айди, вроде MAC у сетевых карт. По нему и можно детектить свой браслет. Я как то пробовал давно уже такое сделать. Купил брелок с бт. Пробовал мерить расстояние до него. Если к примеру на кухне, то включать свет. Но все оказалось нестабильно. Если брелок в кармане, стоит его закрыть рукой или повернуться как то неловко, то все, сигнал не ловится или слабый. Ты стоишь рядом а система думает, что ты в десяти метрах и гасит свет. А так прикольно. Да. Пробовал ещё с Pebble часами так делать, это работает, причем лучше чем брелок с бт меткой, но только если часы неспаренны с телефоном. Они просто в невидимом режиме. Только если их отлучить от телефона, тогда детектятся, но тогда зачем они, только время показывают? :) Как сделать, что бы спаренные обнаружились, не нашел. Может надо такие, которые с двумя устройствами одновременно могут спариваться, не знаю.


Забил вообще, в маленькой квартире все равно это баловство имхо. Трудно придумать нормальный сценарий. Датчики движения проще и надёжнее.

Я пробовал сделать детектор, фиксирующий подъезжающие к точке машины (на разгрузку), чтобы их (машины) считать. Стабильность, мягко говоря, хромала, да. Вероятно, мне не хватало фундаментальных знаний радио теории. Машина могла не фиксироваться при нахождении на точке, а могла фиксироваться в 100м от неё.

Да, разумеется, BLE пересылает MAC адрес в Beacon-пакете, для этого надо включить в настройках браслета рассылку широковещательных пакетов. Тогда всё становится реально просто, работает вне в зависимости от пейринга с телефоном, можно различать устройства, батарейку тоже не кушает заметно.

У нас работало в целом неплохо, радиус действия был примерно на комнату, в каждой стоял ESP32 модуль, который присылал список из MAC-адресов устройств которые он чувствовал в эфире, а центральный сервер умного дома уже сам разбирался что делать с этой информацией (у меня используется OpenHab).

Вы так же можете сканировать вручную на устройствах с BLE на линуксе через команду hcitool — так можно проверить концепцию с радиусом, частотой рассылки и т.п.

На эту тему довольно много всего писано, зацените например статью от Domoticz, там с примерами девайсов подходящих.

Вот! Недавно думал как раз, неужели нету АПИ локального? Хотел поискать, а тут статья в тему :)


Правда разочаровался, так как хотел заставить колонку произносить текст какой нибудь. Типа с Малинки дёрнуть, что бы сказала колонка к примеру, что кошка пришла на террасу. Что бы дверь открыть. В АПИ этого к сожалению нету.

Так это легко делается на колонках Google в том же Home Assistant. Всё на базовых компонентах, которые идут в его поставке. У меня так колонка ругается, когда влажность в ванной большая и нужно открыть дверь. Или когда CO2 в зале повышен и нужно открыть окно.

Можно ли это реализовать без HA?

1. Нужно преобразовать текст в mp3 в каком-нибудь облачном сервисе. Например, Google или Яндекс.
2. Разместить эту mp3 где-то на веб-сервере в локальной сети.
3. Отправить команду на колонку для проигрывания этой mp3 по протоколу Chromecast.

Именно это всё умеет делать Home Assistant в базовой поставке.
AlexxIT, спасибо за полезную инфу!

А вы сами пробовали использовать gpsoauth?
Попробовал скрипт get_tokens.py (
gist.github.com/rithvikvibhu/952f83ea656c6782fbd0f1645059055d ).
Подставил USERNAME/PASSWORD.

Все время возвращает ошибку:
[*] Getting master token...
{'Error': 'BadAuthentication'}
[!] Could not get master token.
[*] Master token: None

[*] Getting access token...
{'Error': 'BadAuthentication'}
[!] Could not get access token.
[*] Access token: None

[*] Done.

Есть идеи, что может быть не так?
Sign up to leave a comment.

Articles