Пятничный техноаутизм: подключение i2c тепловизора к пэка

Ахтунг! Автор немного упорот. Сохраняйте спокойствие и не думайте о белой обезьяне.


Что делать, если чудо-порошок всё ещё не отпустил и хочется подключить к чему-то очередной спонтанно купленный в китаях модуль, а под рукой нет ни распберри, ни оранжа, ни, прости бже, ардуины? Ответ прост: расслабьтесь и плывите по течению, рано или поздно руки сами всё сделают! :D

Итак, у нас был персональный компьютер, два монитора, четыре паяльника, полшприца палёного NC-559 и целое множество проводков всех длин и расцветок, а также коробка сдутых с материнок рандомных чипов  и не менее трёх гигабайт DDR1 мелкими плашками. Не то чтобы это был необходимый запас для студента, но, если начал упарываться спиртоканифолью, бывает трудно остановиться. Единственное, что вызывало у меня опасение — это фигурки пони. Кхм. Кстати, о птичках.

Сегодня у меня на столе валяется вот такой пациент (банан для масштаба):

Пятничный техноаутизм: подключение i2c тепловизора к пэка My Little Pony, Кривые руки, Тепловизор, Компьютер, Пятничный тег моё, Длиннопост

Самый лучший модуль с матрицей тепловизора, на который у меня хватило денег. Он же самый дешёвый, который вообще существует. Разрешение - 8х8 точек, с нелинейно меняющимся от центра к краям направлением обзора и чувствительностью каждого. Просто мечта фотографа. Интерфейс подключения - I²C. Почему не UART, который можно к чему угодно прицепить? Потому что.

Где можно найти I²C в современном мире, кроме специализированных одноплатников и блевотных игрушек для гиков? Правильно, нигде где угодно.


Приступим!

Вытаскиваем плашку оперативной памяти кабель из монитора. Если кто не знает, это VGA. Да, оно ещё существует.

Пятничный техноаутизм: подключение i2c тепловизора к пэка My Little Pony, Кривые руки, Тепловизор, Компьютер, Пятничный тег моё, Длиннопост

Спойлер: HDMI/DVI для наших целей тоже сойдёт.


Итак, пошла жара! Аккуратным движением рук расхренячиваем штекер на куски и утюгом припаиваем к нему кусок телефонного кабеля :D

Пятничный техноаутизм: подключение i2c тепловизора к пэка My Little Pony, Кривые руки, Тепловизор, Компьютер, Пятничный тег моё, Длиннопост

(кабель четырёхжильный: +5, GND, SCL, SDA. Распиновка есть на Википедии, например.)


В итоге получается что-то вроде этого:

Пятничный техноаутизм: подключение i2c тепловизора к пэка My Little Pony, Кривые руки, Тепловизор, Компьютер, Пятничный тег моё, Длиннопост

Для усложнения задачи замотаем сверху не православной синей изолентой, а узким канцелярским скотчем из ашана.


На другой стороне телефонного вульгарно приляпываем термоусадкой неподходящего диаметра четыре разноцветных соединительных проводка. Внимание! Опасайтесь термоусадки неподходящего диаметра!

Остаток провода аккуратно свернём и завяжем резинкой от пачки баксов, шоб чего не вышло, и подключаем позор всего рода тепловизоров. В итоге имеем нечто такое:

Пятничный техноаутизм: подключение i2c тепловизора к пэка My Little Pony, Кривые руки, Тепловизор, Компьютер, Пятничный тег моё, Длиннопост

Банан держит провод, чтоб не убёг.


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


И теперь

.

.

.

.

Пятничный техноаутизм: подключение i2c тепловизора к пэка My Little Pony, Кривые руки, Тепловизор, Компьютер, Пятничный тег моё, Длиннопост

Хех, ну почти. Теперь ставим на компьютер линукс.

Впрочем, дочитавшие до этого момента, вероятно, настолько не в себе, что уже имели с ним дело и особых проблем при выполнении дальнейших инструкций не испытают.


Шобы понять не зря ли мы колупались:

- устанавливаем и загружаем модуль i2c-dev

- устанавливаем i2c-tools

- сканируем шины и находим соответствующую нашему разъёму. Убеждаемся в правильности, отключая монитор.


Например, у меня это шина i2c-1:

Пятничный техноаутизм: подключение i2c тепловизора к пэка My Little Pony, Кривые руки, Тепловизор, Компьютер, Пятничный тег моё, Длиннопост

Первый запуск i2cdetect - монитор отключен, шина пуста. Второй - после втыркновения провода обратно.


Подключаем модуль и сканируем шину снова. Если в списке появилось новое устройство, идём дальше. Иначе вы, вероятно, не слишком преуспели. Убедитесь, что ваш компьютер не дымится.


Внимание! Опасайтесь ошибки выжившего! Согласно моим наблюдениям, 85% упоминаний об ошибке выжившего делаются в ситуациях, совершенно с ней не связанных. Не совершайте эту ошибку!


По хорошему, надо написать драйвер, но у меня лапки. Поэтому вооружаемся упрт-ссылкой вида https://learn.adafruit.com/adafruit-amg8833-8x8-thermal-came... и бездумно выполняем описанные там действия, а потом переустанавливаем систему и выполняем их здумно.


Пара хаков, упрощающих бытие:

Неплохо бы дать права на работу с этим вашим i2c простым юзерам. Вряд ли страшный вирус захочет взломать ваш монитор, лул.

Нужно пропатчить файл I2C.py в /usr/local/lib/python2.7/dist-packages/Adafruit_GPIO-1.0.3-py2.7.egg, чтобы возвращал номер нужной шины, коз он заточен под богомерзкую распберри. Ну или можно не патчить, а как-то параметр передать, я вообще не вникал, лол.

В файлике thermal_cam.py эти аутисты захардкодили значения температуры, соответственно, если у вас в комнате слишком жарко/холодно, картинки вы не увидите. Надо отредактировать.



Добро пожаловать на дно, господа.

Пятничный техноаутизм: подключение i2c тепловизора к пэка My Little Pony, Кривые руки, Тепловизор, Компьютер, Пятничный тег моё, Длиннопост

Розовых поней вам и кошачьих жоп. И помните: белая обезьяна никогда не спит.


Отдельное спасибо фырным флудерам за помощь в поиске яйца.

Материал опубликован под лицензией WTFPL v2.

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий

Эмм, модуль 8х8, а на снимке явно большее разрешение. В чем подвох?

раскрыть ветку (2)
5
DELETED
Автор поста оценил этот комментарий

Софтина по ссылке растягивает биквадратом.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Тоесть чисто для проформы, понятно.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку