Pull to refresh
136
0
Алексей Степанов @avstepanov

Пользователь

Send message
Интересно, что за зверь DJI Mobile App? App Store о таком не знает… (на своем p3a летаю с помощью DJI Go)
да-да… те-же «веб-морды» для «умных домов» — это куда? На хабр?
А еще про мобильное приложение вспомните (наконец-то). Есть только для Хабра… а остальные — через браузер.

Мало того, что в приложении фильтры работают как-то странно (такое ощущение, что показываются только ну очень избранные материалы, даже при выборе «показывать все»), так еще и тот же ГТ и Мегамозг вообще не посмотреть.

(говорю про приложение для WinPhone, может для остальных платформ все не так грустно?)
и снова: «все становится лучше, когда есть bluetooth» (с) TBBT
тогда пропадет «умность»: ты открыл дверь, а свет «сам» включился
Кстати, «глянул» на то, как «выглядит» bluetooth edison:
pi@RPi2 ~ $ sudo hcitool info 98:4F:EE:02:D4:E1
Requesting information ...
	BD Address:  98:4F:EE:02:D4:E1
	Device Name: edison
	LMP Version: 4.0 (0x6) LMP Subversion: 0x410e
	Manufacturer: Broadcom Corporation (15)
	Features page 0: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
		<3-slot packets> <5-slot packets> <encryption> <slot offset> 
		<timing accuracy> <role switch> <sniff mode> <RSSI> 
		<channel quality> <SCO link> <HV2 packets> <HV3 packets> 
		<u-law log> <A-law log> <CVSD> <paging scheme> <power control> 
		<transparent SCO> <broadcast encrypt> <EDR ACL 2 Mbps> 
		<EDR ACL 3 Mbps> <enhanced iscan> <interlaced iscan> 
		<interlaced pscan> <inquiry with RSSI> <extended SCO> 
		<EV4 packets> <EV5 packets> <AFH cap. slave> 
		<AFH class. slave> <LE support> <3-slot EDR ACL> 
		<5-slot EDR ACL> <sniff subrating> <pause encryption> 
		<AFH cap. master> <AFH class. master> <EDR eSCO 2 Mbps> 
		<EDR eSCO 3 Mbps> <3-slot EDR eSCO> <extended inquiry> 
		<LE and BR/EDR> <simple pairing> <encapsulated PDU> 
		<err. data report> <non-flush flag> <LSTO> <inquiry TX power> 
		<EPC> <extended features> 
	Features page 1: 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00
	Features page 2: 0x20 0x08 0x00 0x00 0x00 0x00 0x00 0x00


А вот так - другие устройства
Nokia Lumia 1520:
pi@RPi2 ~ $ sudo hcitool info C0:64:C6:4E:4B:1E
Requesting information ...
	BD Address:  C0:64:C6:4E:4B:1E
	Device Name: Lumia 1520
	LMP Version: 4.0 (0x6) LMP Subversion: 0x7d3
	Manufacturer: Qualcomm (29)
	Features page 0: 0xff 0xfe 0x8f 0xfe 0xd8 0x3f 0x5b 0x87
		<3-slot packets> <5-slot packets> <encryption> <slot offset> 
		<timing accuracy> <role switch> <hold mode> <sniff mode> 
		<RSSI> <channel quality> <SCO link> <HV2 packets> 
		<HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme> 
		<power control> <transparent SCO> <broadcast encrypt> 
		<EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan> 
		<interlaced iscan> <interlaced pscan> <inquiry with RSSI> 
		<extended SCO> <AFH cap. slave> <AFH class. slave> 
		<LE support> <3-slot EDR ACL> <5-slot EDR ACL> 
		<sniff subrating> <pause encryption> <AFH cap. master> 
		<AFH class. master> <EDR eSCO 2 Mbps> <extended inquiry> 
		<LE and BR/EDR> <simple pairing> <encapsulated PDU> 
		<non-flush flag> <LSTO> <inquiry TX power> <EPC> 
		<extended features> 
	Features page 1: 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00


Китайская блютус-колонка:
pi@RPi2 ~ $ sudo hcitool info 30:22:00:00:2D:BB
Requesting information ...
	BD Address:  30:22:00:00:2D:BB
	Device Name: X3
	LMP Version: 3.0 (0x5) LMP Subversion: 0x1f4
	Manufacturer: CONWISE Technology Corporation Ltd (66)
	Features page 0: 0xbf 0x3a 0x85 0xfa 0x88 0x1d 0x59 0x87
		<3-slot packets> <5-slot packets> <encryption> <slot offset> 
		<timing accuracy> <role switch> <sniff mode> <RSSI> <SCO link> 
		<HV2 packets> <HV3 packets> <CVSD> <power control> 
		<broadcast encrypt> <EDR ACL 2 Mbps> <enhanced iscan> 
		<interlaced iscan> <interlaced pscan> <inquiry with RSSI> 
		<extended SCO> <AFH cap. slave> <3-slot EDR ACL> 
		<5-slot EDR ACL> <pause encryption> <AFH cap. master> 
		<AFH class. master> <extended inquiry> <simple pairing> 
		<encapsulated PDU> <non-flush flag> <LSTO> <inquiry TX power> 
		<EPC> <extended features> 
	Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00


Блютус-модуль на базе CSR8645 (поддерживает aptx):
pi@RPi2 ~ $ sudo hcitool info C0:7A:A5:00:9B:4A
Requesting information ...
	BD Address:  C0:7A:A5:00:9B:4A
	Device Name: CSR8645
	LMP Version: 4.0 (0x6) LMP Subversion: 0x21c8
	Manufacturer: Cambridge Silicon Radio (10)
	Features page 0: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x87
		<3-slot packets> <5-slot packets> <encryption> <slot offset> 
		<timing accuracy> <role switch> <hold mode> <sniff mode> 
		<park state> <RSSI> <channel quality> <SCO link> <HV2 packets> 
		<HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme> 
		<power control> <transparent SCO> <broadcast encrypt> 
		<EDR ACL 2 Mbps> <EDR ACL 3 Mbps> <enhanced iscan> 
		<interlaced iscan> <interlaced pscan> <inquiry with RSSI> 
		<extended SCO> <EV4 packets> <EV5 packets> <AFH cap. slave> 
		<AFH class. slave> <3-slot EDR ACL> <5-slot EDR ACL> 
		<sniff subrating> <pause encryption> <AFH cap. master> 
		<AFH class. master> <EDR eSCO 2 Mbps> <EDR eSCO 3 Mbps> 
		<3-slot EDR eSCO> <extended inquiry> <simple pairing> 
		<encapsulated PDU> <non-flush flag> <LSTO> <inquiry TX power> 
		<EPC> <extended features> 
	Features page 1: 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00


Попробовал описаный пример — все заработало сразу.
Проще всего звуковой файл «затянуть» непосредственно из сети, к примеру, так:
wget http://westportconsulting.com/sounds/bell.wav

Но вот качество воспроизводимого звука — ну очень низкое.
Есть же aptX (разницу отлично слышно не сильно вооруженным ухом). Только вот вопрос, умеет ли это edison? Надо попробовать.
Скучно и не спортивно. Ваш парктроник двери на скорости тоже запирает?

А вообще ответ на Ваш вопрос: «Потому, что я хочу и могу».
Да, примерно так и есть. Только я чуть иначе для себя это интерпретирую:
На дисплее есть «знакоместа» (для основной части), которые задаются тремя посылками (каждая по 8 байт).
Первая (0x28F) — отвечает за надписи над основной строкой (DISK IN, AF и т.п. — см.фото). Без этой посылки дисплей остальное игнорирует.
Вторая (0x290) — за первые 7 символов в строке (первый байт — «специальный» и не меняется)
Третья (0x291) — за оставшиеся 5 символов (больше просто нет на дисплее) — там первый байт тоже «специальный»… а «лишние» байты разработчики решили добить «пробелами» (туда можно что угодно посылать — реакции никакой).

Блок «климата» на дисплее — там тот же принцип, но не было нужды его декодировать (его идентификатор я привел в статье).
Дорога туда-обратно, питание и проживание… и т.п.
Надо «слушать». Но может оказаться как у меня в Mazda — блок кнопок от руля подключается напрямую к магнитоле (куда круиз подключен — не выяснял, схема не попалась).
Наверняка. Они, скорее всего, резистивные (надо задействовать всего-то один аналоговый вход). И использовать их для чего-нибудь полезного.
Все верно, только полная строка — 12 символов, поэтому две посылки (первая и вторая часть)… первые байты — никогда не меняются (как раз что-то кастомное, зависящее от машины, любое другое значение и команда просто игнорируется). Кодирование — просто ASCII.

Эта посылка выводит скромное сообщение «AUX», которое как раз и являлось в моей машине практически постоянным (слушаю музыку через блютус) без изменений и навевало скуку — поэтому и решил вывести что-то более информативное.

Кстати, кнопка на магнитоле, которая включает этот режим называется «MEDIA», поэтому в прошивке я вывод «AUX» поменял на «MEDIA» (просто «для порядка»).
Да, все верно. Для примера я привел самый простой вариант. Те же скорости/потребления/обороты — закодированы двумя байтами (причем, некоторые данные были в одном сообщении, но в разных байтах). Но найти можно (при желании).

Специально программу с вашим функционалом не писал — просто в скетч добавлял по ходу исследования необходимые условия и вывод отладочных сообщений.
Небольшой пример-задачка.

Привожу два сообщения, которые что-то выводят на дисплей (это первая и вторая часть строки, выводимые на дисплей авто):
0x290	192	65	85	88	32	32	32	32	
0x291	135	32	32	32	32	32	32	32

Первый столбец — это идентификаторы сообщений, остальные — собственно данные.

Дешифруйте?

Понятно, что тут я уже очень сильно все упростил (показываю только нужные данные), но принцип, думаю, будет понятен.
На kia seed это будет работать (когда искал данные, встречались заметки, где владельцы seed-ов тоже выводили информацию на дисплей). Только надо «отработать особенности» конкретного авто.

По поводу подключения:
Для «слушать» — можно ничего не резать, а подключиться к диагностическому разъему.
Для финальной установки — раскидать часть салона, найти провода CAN-шины, идущие к дисплею, разрезать их (и в разрез подключить мою плату).

Ссылку на архив добавил в конце статьи.
Там только «пищалка», хотелось еще и «визуальной составляющей».

Information

Rating
Does not participate
Location
Истра, Москва и Московская обл., Россия
Date of birth
Registered
Activity