Простой тепловизор на модуле GY-MCU90640 и Raspberry Pi

Тема в разделе "Глядите, что я сделал", создана пользователем Walker2000, 15 янв 2019.

  1. Walker2000

    Walker2000 Нерд

    Всем привет!

    Если кого-то интересуют вопросы построения самодельных тепловизоров, посмотрите мой пост на Хабре. Судя по реакции публики, эта тема довольно многим интересна.

    Разрешение, конечно, не ахти (всего 32 на 24, матрица MLX90640), но найти источники утечки тепла в доме или квартире вполне можно. Привёл код на 80-ти строках Питона. Если под рукой есть модуль GY-MCU90640 и Raspberry (скрипт работает и на 3 B+ и на Zero), готовый тепловизор можно запустить за час. Код и описание протокола модуля выложены на Github.

    Вот примеры изображений с тепловизора:

    [​IMG]

    Удачного дня!
     

    Вложения:

    • Termovision.jpg
      Termovision.jpg
      Размер файла:
      374,5 КБ
      Просмотров:
      684
    Последнее редактирование: 18 янв 2019
  2. alp69

    alp69 Гик

    В комментах заинтересовало вот это:
    Можно подробнее?
     
  3. Walker2000

    Walker2000 Нерд

    Ну совсем подробно не получится. Я писал под ESP8266 на питоне. Но на неё ставится сильно усеченный Питон (Micropython). Поэтому код для Raspberry точно не подойдет. Он использует библиотеки Numpy и OpenCV, которые под Micropython точно не портированы и вряд ли когда-нибудь будут. Так что код для ESP нужно будет по сути писать с нуля.

    Но я не вижу фундаментальных препятствий, чтобы ESP в принципе не могло решить задачу опроса модуля и визуализацию тепловой карты.
     
    Последнее редактирование: 17 янв 2019
  4. Walker2000

    Walker2000 Нерд

    Есть описание, как подключить к ESP модель немного послабее: http://psenyukov.ru/888-2/

    Я встречал попытки подключения к ESP сенсора MLX90640 напрямую. К сожалению, детального описания не находил. Также не встречал описания подключения через STM. Так что, если надумаете заняться - будете первопроходцем )

    Если надумаете - могу сбросить архив от поставщиков платы GY-MCU90640, к которой я подключил Raspberry. Там были какие-то скетчи на Ардуино. Я не разбирался с ними, т.к. пишу на питоне.
     
  5. WerdnaZ

    WerdnaZ Нерд

    Добрый день. А с отрицательными температурами не получилось разобраться на python? Было бы неплохо..
     
  6. Walker2000

    Walker2000 Нерд

    Добрый день.

    Есть одна идея, завтра попробую.
     
  7. WerdnaZ

    WerdnaZ Нерд

    Сегодня китайские друзья тоже прислали pdf. Вот сел за перевод. Я конечно в python не эксперт, но может сам что-то придумаю, хотя не уверен. Хотя пока даже не получилось установить opencv на малину.
     
  8. Walker2000

    Walker2000 Нерд

    Этот файл?
     

    Вложения:

  9. Walker2000

    Walker2000 Нерд

  10. WerdnaZ

    WerdnaZ Нерд

    Я пытаюсь поставить на python 3.7. Пока никак не удалось. ни через pip, ни собрать из исходников.
     
  11. WerdnaZ

    WerdnaZ Нерд

    Файл этот прислали. Только на китайском. Спасибо, теперь переводить хоть не нужно.
     
  12. Walker2000

    Walker2000 Нерд

    Не за что )
     
  13. Walker2000

    Walker2000 Нерд

    У Raspberry вроде 3.5.3 идет по дефолту. Под винду вроде пишут, что включили поддержку 3.7 еще в прошедшем году. Вот ссылка на pypi сборку: https://pypi.org/project/opencv-python/#files
     
  14. WerdnaZ

    WerdnaZ Нерд

    Тут под arm нет вроде. Я думаю какую-то другую библиотечку использовать для формирования картинки. Вроде что-то делал с помощью pillow. Если не ошибаюсь, давно было. OpenCV здесь же не ключевой элемент, правильно?
     
  15. Walker2000

    Walker2000 Нерд

    Да, можно использовать любую, которая строит изображение из numpy массива. Единственное, изображение будет в градациях серого и маленькое. Нужно его еще раскрасить и интерполировать на хотя бы 320 на 240 пикселей.
     
  16. Sencis

    Sencis Гик

    Интересно сильно нагретую деталь (ДВС) зимой на каком расстоянии можно заметить? И какая частота обновления?
     
  17. Walker2000

    Walker2000 Нерд

    Предположим, что ДВС 0,5 на 0,5 метра. Угол зрения матрицы 110 градусов (по горизонтали). На один пиксель приходится 3,4 градуса. То есть расстояние будет 0,5 / sin(3,4). Примерно 8 метров получается. матрица широкоугольная - видит только то, что близко.

    Если взять версию B - получим 16,5 метров. Тоже не особо далеко.

    Частота обновления - 4 Гц.
     
  18. Sencis

    Sencis Гик

    Ракету конечно не построишь, на охранную систему тоже маловато (разве что пред участком) и частота не очень если только найти кварцевую оптику, но это тоже дорого и частота маленькая специфичное уст-во.
     
  19. WerdnaZ

    WerdnaZ Нерд

    Через кварцевую оптику излучение в ИК диапазоне пройдет?
     
  20. Walker2000

    Walker2000 Нерд

    В первых ракетах система наведения была на 5 болометрах. А в этой матрице 768 пикселей. Так что, всё нормально для ракеты ) У неё задача не картинку смотреть, а в сопло самолета попасть.

    А охранную систему надо на камерах строить, это более целесообразно. Можно сделать видеонаблюдение в помещении на тепловизионной матрице, но простая оптическая камера + ИК датчик присутствия будут сильно дешевле.

    Тепловизор хорош в тех случаях, когда надо дистанционно оценивать температуры объектов. 4 fps вполне хватает чтобы направлять тепловизор на нужные части дома и в реальном времени смотреть есть ли утечки тепла. Чему, собственно, и была посвящена статья.
     
    Последнее редактирование: 18 янв 2019