Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так)

в 21:17, , рубрики: diy или сделай сам, Seek Thermal, Seek Thermal XR, гаджеты, Железо, тепловизор, физика, Электроника для начинающих

Доброго дня, %username%!
Сегодня я расскажу (и немного покажу), что можно (но не всегда нужно) делать с тепловизором Seek Thermal.

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 1
Синяя изолента, куда ж мейкеру без нее.

В последнее время на гиктаймс было немало статей про эту тепловизионную камеру. Почитать можно, например, тут , тут и вот здесь даже с подключением к STM-32, но мы сегодня не об этом — скучной теории и картинок котиков не будет, только мякотка. Под катом рассказ о том, как сделать из iOS-версии Seek Thermal версию для Android и Raspberry Pi, зачем это нужно и что еще интересного можно узнать в процессе копания во внутренностях тепловизора. Интересующихся прошу.

Все началось с моего увлечения страйкболом. Да-да, я не наигрался в детстве в войнушку, поэтому считаю вполне себе важным делом поехать в выходные пострелять 6-мм пластиковыми шарами в себе подобных. А поскольку вокруг дяди взрослые и все у них тоже серьезно, случается в страйкбольных играх ночная фаза. И наступает время, когда под каждым кустом и деревом начинает мерещиться противник, а в роли королей поля боя воцаряются ПНВ и тепловизоры. Точнее, их владельцы. Таковым захотел себя посчитать и я, но помешала, конечно, жаба.

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 2
А вот нате. Порог входа для тепловизоров — около 50 кРуб.

Просмотрев предложения, я впал в уныние, смешанное с отчаянием. За полсотни тыщ мы имеем базовую версию устройства с начинкою в виде матрицы 160х120 (спасибо, хоть экран внутри поставили VGA) и частотой обновления экрана <9 Гц. Но гугл в помощь, и вскоре мне явился сайт eevblog.com, неоднократно упоминавшийся уже и на этом ресурсе, с подробным рассказом на 100 страниц об интересном девайсе, сочетавшем в себе матрицу 208х156 точек, полностью доступную к применению, и весьма неплохую хакабельность: на тот момент, счастливым владельцам уже удалось накодить несколько относительно простых приложений на Питоне и С++ для получения картинки с той самой микроболометрической матрицы, выделяющей девайс среди себе подобных неплохим разрешением за вменяемые деньги. И да, версия для Android с рук б/у обошлась мне в два раза дешевле по сравнению с готовой Flir'овской трубой.
Но встал закономерный вопрос: а что, собственно, с этим делать дальше? Идея бегать с телефоном по полям и лесам ночью не слишком прельщала, поэтому было решено создавать с нуля свой тепловизор, с блэкджеком и… ну вы понимаете. Сие есть отдельная история, и её я расскажу в посвященной статье, а то и нескольких — с кодом и железками — а пока о том, что прибыв домой и воткнув свежеприобритенный девайс в одноплатник Odroid C1+ с накатанным наспех Андроидом, в скором времени я совершенно огорчился.
Девайс работал плохо. Во первых, на картинке были пятна, которые я вначале связал с загрязнениями линзы — как выяснилось позже, грязной была сама матрица и количество битых пикселей тоже не радовало. Во вторых, через пять минут матрица начинала сильно шуметь, качество картинки падало и использовать камеру так, как планировалось изначально, было просто невозможно.
Вывод: при приобретении Seek Thermal с рук, дайте камере поработать минут 5-10, чтобы оценить ее функцию после прогрева.

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 3
Шум, аналогичный моему случаю. От угла изображения идет градиент, вызванный некорректной работой шторки (затвора)

На тот момент, у меня не было полного понимания, как бороться с возникшими проблемами, и я решил бороться как умею. Чтобы проверить, работает девайс или нет, было решено купить еще один. Может показаться расточительным и нелогичным — но я предположил так: если проблема в софте (а как выяснилось, она частично была в софте — поскольку запускал я все на криво собранном Odroid/Android, не поддерживавшем апдейт официального приложения) — то у меня будут два тепловизора. Ну а если нет — то, хотя бы, один.
Время шло, предложения б/у тепловизоров появлялись и исчезали, и вот однажды — о чудо! — явилось оно: человек решил продать купленный на один раз поиграться девайс. За половину (!) цены нового. Такое предложение я пропустить не мог, и, конечно же, пустился в погоню. За камерой в версии для iPhone. Ну да ладно, подумал я — переходник и все вопросы решены!

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 4
Четвероногий друг — снято в яблочном приложении

А вот и нет. Сколько не бил я в бубен, заставить работать камеру через переходник lightning-microusb (и ведь найти то его была та еще задача, так, чтобы и USB, и lightning мама, и питание, и данные...) не удалось. Оставался один выход — лезть внутрь.
И я полез.

Видео не мое — использовал в качестве пособия по разборке, ну и для общего развития в области тепловизоров вообще и Seek Thermal в частности:

Хорошо, что есть такие люди как Майк. Во второй части разбор Seek Thermal до печатной платы — чувствительным гикам не смотреть...

Для разборки камеры Seek Thermal необходимо:
— камера Seek Thermal
— что-то плоское и твердое для вскрытия корпуса — шпатель, например — 2-3 шт. разных
— мультиметр — 1 шт.
— осциллограф или логический анализатор — опционально
— прямые руки — 1 пара

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 5
Имея под рукой видео разборки, можно попробовать аккуратно раскрыть половинки корпуса из магниевого сплава, не сильно его попортив. Угадайте, какого цвета плата у девайса для iOS? :)

Вскрытие я начинал с края, дальнего от линзы. Защелок внутри нет, только несколько капель клея. Далее, передо мной стояла задача правильно интерпретировать разводку разъемов внутри iOS и Android версии камеры, и подключиться к соответствующим выводам на плате.
Я опасался, что придется перехватывать сигнал камеры на глубоком уровне — т.к. производители вполне могли впихнуть в интерфейс, ответственный за подключение к яблочным продуктам, еще и функцию обработки данных. Но в видео разборки упоминается, что единственное отличие между яблочной и неяблочной версией камеры — чип идентификации. Это означало, что контакты/точки подпайки на плате и разводка шлейфов, скорее всего, будут совпадать физически и функционально. Точку в вопросе поставила одинаковая версия платы (rev 2 от 30.09.2014) на обеих девайсах.

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 6
Тот самый чип (квадратный справа). Тот самый чай шлейф

Недолго думая, я поменял местами шлейфы iOS и Android версий и с замиранием сердца запустил программу обработки данных с камеры (к тому моменту уже переписанную на Питоне для Raspberry Pi на основе кода товарища Cynfab отсюда ).

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 7
Ура! Заработало!

Свежий тепловизор завелся сразу, показав более лучшее качество картинки. Что ж, отложим его для готового проекта, и займемся «старым» девайсом.

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

Кстати, работа тепловизора изнутри выглядит так:
Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 9
В нормальном режиме затвор срабатывает каждые 1-8 сек для калибровки матрицы

Матрица Android-версии камеры оказалась сильно запылена. Её я продул сжатым воздухом — субъективно качество изображения немного (но не категорически) улучшилось.

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 10
Тем не менее, при чтении картинки с матрицы присутствует некоторое количество «битых пискелей»

На «сырых» кадрах с камеры хорошо видна известная среди любящих ковырнуть поглубже пользователей Seek Thermal «патентная решетка» — гексагональный паттерн неработающих точек. Со слов некоторых пользователей с eevblog, это намеренно отключенные (отсутствующие?) пиксели матрицы — каждый 15-й, сделано для того, чтобы избежать возможных патентных споров с FLIR, обладающих патентом на микроболометрическую матрицу.

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 11
Решетка «патентных» пикселей (картинка с eevblog)

Поскольку я не планирую подключать девайс к iOS-устройствам, шлейф с разъемом lightning мне не понадобится. Подключение можно осуществить, подпаявшись к весьма удобно расположенным выводам на самой плате камеры. В видео разбора есть очень хороший ракурс этого подключения (впрочем, я на всякий случай еще и прозвонил контакты мультиметром).

Увидеть невидимое: заглядываем внутрь тепловизора Seek Thermal (и не просто так) - 12
Подключение (сверху вниз): USB V+, data +, data -, земля.

Подпаявшись к контактам, я вывел наружу уже полноценный «хвост» USB type A, который можно удобно воткнуть в компьютер, в том числе, в Raspberry Pi.

Что имеем в остатке:

  • два живых тепловизора с возможностью подключения к USB
  • понимание того, что родное приложение намного лучше справляется с обработкой картинки, нежели неофициальные
  • +1 к скиллу разборки-сборки девайсов без дымка
  • Если Вы решили провести подобную операцию со своим тепловизором, проводите ее на свой страх и риск :)

Смотрите в следующих сериях: как подружить Seek Thermal с Raspberry Pi, а Raspberry Pi с экраном от Нокии; ковыряние в коде неофициального приложения, сырые картинки и недокументированные возможности, а также сборка вот этого всего в единый функционирующий прототип.

Ну и традиционно для статей о тепловизорах, селфи в микроволновом диапазоне:

Всем добра.

Автор: Kirsch

Источник


  1. Алексей:

    Спасибо за информацию! Будучи очень заинтересованным в приобретении подобного тепловизора внимательно посмотрел в том числе видео Майка по данной вами ссылке. Особенно вторую часть (https://www.youtube.com/watch?v=jiPGTSTCREY) , с показом матрицы под микроскопом. Были сомнения в реальности разрешения 320*240 и они, увы, подтвердились. Примерно с 5 по 9 минуту показывается эта матрица, в том числе отдельная калибровочная полоска. Ширину этой полоски на одном из кадров можно “пальцем” посчитать – 22 элемента. прикинув пропорции к основной матрице получается её ширина 180 пикселов (+-) а высота примерно 160. Так что 320*240 – интерполяция, а честные – примерно 180*160. Поправьте меня, если я не прав.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js