Недавно ко мне попало устройство представляющее собой плату практически полностью залитую компаундом. с краю платы на не залитом компаундом пространстве находиться двухцветный светодиод, нераспаянный micro usb, разъем и дублирующие его "пяточки". пины подписаны как: (Vout;GND;SCK;SDA;BSCL;BSDA;Vin;GND). пин Vin соединен с питанием usb разъема. если припаять usb и подключить к к компьютеру, то компьютер не находит новых устройств. при сканирование шины I2C находит 2 адреса 80 и 84. Вопрос к знатокам можно ли каким нибудь обзором запросить список команд у устройства или перебором понять что оно может (в наличии 2 ардуинки и куча радио деталей, в программирование разбираюсь плохо).
с вероятностью 99% что нет. Интерфейс I2C не предназаначен для общения с неподготовленными юзерами, а разаработчики пользуются даташитом, где все команды описаны а это - тем более, особенно с учетом вот этого: самый реальный способ разобраться, что это - это аккуратно счистить компаунд и посмотреть, из каких деталей оно состояит и нет ли надписей на плате. Если надписи есть - забить их в гугль, если плата распространенная - довольно большой шанс найти того, что ее уже курочил и выложил отчет в блог
Ну, хоть бы уж написал в какой системе эти числа (если ты не понял о чём это я, то просто выбрость эту штуку). Вот тебе список адресов наиболее распространённых I2C устройств. Может наведёт на мысли.
Что можно сделать если нашёл чОрный ящик на помойке. 1-пройти мимо. 2-разобрать на детали :6П3С,Кт-315,К155ЛА3 и потом их использовать в самоделках.
После 8 часов в горячем растворителе (~60') и охлаждения сухим льдом, компаунд рассыпался и удалось очистить плату. Внутри большую часть занимает литий ионный аккумулятор на 20000 mA*h. и небольшая плата с двумя микросхемами в mqfp корпусе без опознавательных знаков,терморезистор пикейный к аккумулятору, твердотельное реле (нормально замкнутое) коммутирующие выход Vout;GND, большей дроссель и большей количество smd расыпухи. при посылке на BSCL;BSDA старт байта (0x20) в ответ выдает 2 байта, первый байт напряжение на батарее, второй байт уровень заряда. По всей видимость это блок обеспечения временного резервирования питания какой то автоматики.
Шину сканировал этим стрейчем \/ Код (C++): #include <Wire.h> void setup() { Wire.begin(); Serial.begin(9600); } void loop() { byte error, address; for(address = 1; address < 127; address++ ) { Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0) { Serial.write (1); Serial.write (2); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.write (3); Serial.write (4); } } delay (250); }