Беспроводной DIY датчик температуры и влажности с e-paper дисплеем

    Всем привет! Сегодня хочу рассказать читателям о своем DIY проекте датчика температуры и влажности с e-ink дисплеем. Это будет некая обзорная статья об этапах создания устройства, будет много картинок. Идея этого проекта родилась около двух лет назад, примерно тогда я увлекся беспроводными автономными устройствами. Целью проекта было создание небольшого девайса для знакомства и изучения дисплеев на электронных чернилах. Было решено на плату добавить датчик температуры, что бы можно было выводить какие то полезные данные на экран, ну и передавать данные далее в систему умного дома.



    Первая версия устройства была сделана на микроконтроллере atmega328 и радио-модуле nRF24L01. Очень быстро стало понятно что для работы с e-ink дисплеем не хватает памяти, а энергопотребление устройства довольно большое.



    Тест первой версии устройства:


    Используется датчик температуры и влажности SHT20. Питание от двух батареек CR2430 (6V) через step down converter.

    Следующая версия устройства, была разработана на nRF52832. Для этой версии был выбран радио-модуль от компании Holyiot YJ-16048. Характеристики радио-чипа: ARM Cortex-M4F с ОЗУ 512кб 64кб. Встроенный приемопередатчик 2,4 ГГц, поддержка BLE, ANT, ESB (совместимо с nRF24L01). Подробнее об этой версии рассказано тут.

    В этом варианте, проблем с хранением в памяти микроконтроллера большого количества данных — не было. Наличие в nRF52 режима DC-DC, для работы радио в режиме с оптимизацией питания (экономия до 40%), позволило сократить максимальное пиковое потребление до 7-8мА. Вторая версия датчика, как и первая планировалась как модуль для разработки, поэтому вопрос выбора корпуса не ставился.



    Тест работы прототипа второй версии.


    Так же используется датчик температуры и влажности SHT20. Питание от двух батареек CR2450 через step down конвертер TPS62745DSSR с малым энергопотреблением.

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

    Естественно проект захотелось довести до состояния законченного устройства. Поэтому первым этапом, стал корпус. Для возможности установки в корпус был переработан дизайн платы. Модель корпуса была разработана в программе SolidWorks. Первые корпуса я печатал на бытовом SLA принтере Anycubic Foton. Плюсами была высокая точность печати и простота пост-обработки корпуса (полировка). Из минусов (на тот момент) печати корпуса полимерной смолой — была хрупкость. Не то чтобы напечатанная модель разваливалась в руках, но если собранное устройство (с батарейками) уронить, то скорее всего корпус треснет (что и случилось однажды).

    Так же из за этого свойства материала, были проблемы с закручиванием винтов для соединения двух частей корпуса. После нескольких десятков вкручиваний — выкручиваний винтов в отверстиях под резьбу выработался материал стенок и винты стали прокручиваться. Выше в скобках я написал — «на тот момент», так что сейчас дела обстоят гораздо лучше. На рынке стали появляться смолы, по вполне разумной цене и с отличными прочностными характеристиками.





    Тест работы прототипа третьей версии:


    В этой версии был расширен список сенсоров. Помимо SHT20, ПО может работать и с датчиками si7021, HTU21D, а так же с BME280 (отдельная версия платы).

    Начиная с этой версии, устройство может работать от одной батарейки. Работа через step down конвертер или напрямую от батареек, устанавливается перемычками. Так же, с помощью перемычек, устанавливается последовательность подключения двух батареек: последовательное или параллельное. Плюс к этому, расширен список радио-модулей и разработаны версии плат под радио-модули EBYTE и MINEW.

    Для работы в более экономичном режиме, была добавлена поддержка чипов nRF52810 и nRF52811, что позволило сократить потребление в спящем режиме до 1,7 — 2мкА.

    Чтобы придать корпусу больше прочности, было решено разработать модель корпуса под печать на FDM принтере. Сама модель была упрощена, а из дизайна удалены грани.

    Ввиду того, что прочность материалов для FDM печати — выше, была уменьшена толщина стенок, а все зазоры между корпусом и платой были минимизированы.

    В настоящий момент, разработаны 3 варианта корпуса, под разные батарейки. От самого тонкого, для батареек СК2430 до максимально прочного, под две батарейки CR2477. Все варианты моделей корпусов доступны на GitHub этого проекта.





    Так же было переработано ПО, была добавлена функция конфигурирования устройства через систему Умного дома, что избавило от необходимости перепрошивать устройство.

    В настоящий момент, можно настраивать:

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









    Тест работы обновленной третьей версии.


    В видеоролике демонстрируется работа устройства с радиосетью MySensors и конфигурирование устройства через отправку параметров из системы умного дома.

    Данный проект и сейчас продолжает активно развиваться. Уже есть прототип четвертой версии, точнее наверное это уже ответвление, так как четвертая версия — существенно переработана по железу. Также, на основе этого проекта родилось еще несколько аналогичных проектов под другие размеры экранов.

    Информацию по данному проекту можно найти на GitHub. Проект открытый, на гитхаб доступы файлы для изготовления плат, схемы, модели корпусов и программный код.






    По мере того, как мои проекты будут готовы, я обязательно буду о них рассказывать.

    Если вам интересно все что связано с DIY, вы являетесть DIY разработчиком или хотите только начать, вам интересно использование DIY девайсов приглашаю всех заинтересованных в телеграм чат — DIYDEV.

    Всем, кто хочет делать устройства, начать строить автоматизацию своего дома, я предлагаю познакомиться с простым в освоении протоколом Mysensors — телеграм-чат MySensors

    А тем кто ищет достаточно взрослые решения для домашней автоматизации приглашаю в телеграм-чат Open Thread. (что такое Thread?)

    Всем, как всегда добра!

    Средняя зарплата в IT

    110 450 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 7 043 анкет, за 2-ое пол. 2020 года Узнать свою зарплату
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 27

      +3
      про е-инк экранчик так ничего и не написали.
      давно присматриваюсь, но цена 800 р на али, это не то чтоб на поиграться. может у вас дешевле?
        0
        Интересно. а гбкие e-ink, небольшого формата, где-нибудь прдаются?
          0
          не встречал. на али только жёсткие ~2 дюйма. несколько разновидностей. кроме чёрно-белых, есть ещё с добавлением третьего цвета: красный, жёлтый и т.п. для акцента. полноцветных тоже не встречал.
            0
            Как ни странно, но видимо, пластик лоджик можно купить, ценник, правда — конский и характеристики хуже, чем e-ink, но тем не менее: гибкий экран Не совсем понял про условия эксплуатации, они подразумевают что гнуть нельзя ниже нуля или вообще не должен использоваться? Да, всё плохо, в теории хотя бы существуют экраны, которые отлично видны на солнце, гибкие (один раз) и всепогодные?
              0

              Да, и цена космос.

                0
                Честно говоря, начал гуглить экраны вообще (пригодные для улицы) и помимо того, что в современных фитнесс браслетах и часах всё-таки присутствуют трансфлективные экраны
                тынс


                Нашёл ещё вот такое чудо
                золотое зеркало вместо чёрного, это офигительно, конечно

                , но оно уже снято с производства.. :(
            0

            есть в один дюйм гибкие, есть сегментные гибкие тоже небольшие, в магазите good display. или это тоже много?

          +2
          Какое среднее потребление при опросе раз в минуту (для обновления часов и экрана)?
          А то между 8 мА пикового потребления и 2мкА потребления в спящем режиме — пропасть.
            0
            На фотографиях последних версий у Вас присутствует атмосферное давление. Само по себе текущее значение давления малоинформативно, гораздо полезнее знать скорость его изменения. Это может быть сделано либо в виде миниграфика, либо в виде отображения приращения за какой-то фиксированный интервал времени, например час.
              0

              скорость изменения фиксируется и на ее основе выводится иконка, мол что скоро ожидать, дождь или солнце

                +1
                Да, я вижу эту иконку, но мне, как человеку «технического» склада, гораздо интереснее видеть значение приращения и уже самому его интерпретировать. Впрочем, я вовсе не хочу навязывать свое мнение — если Вам удобнее видеть иконку, то почему бы и нет.
              +7
              Для опытов с E-ink рекомендую готовый модуль с экраном, esp32 (WiFi/Bluetooth), microUSB и зарядкой для литиевого АКБ: www.banggood.com/LILYGO-TTGO-T5-V2_0-WiFi-Wireless-Module-bluetooth-Base-ESP-32-ESP32-2_13-e-Paper-Display-Development-Board-p-1332909.html?rmmds=myorder&cur_warehouse=CN

              Делал как раз на основе этого модуля термометр с передачей цифр в БД через домашнюю точку доступа. Печатаный корпус, внутри эта платка, 4 магнита, мини-АКБ и датчик температуры/влажности — висит на холодильнике, цифры хорошо видно и в базе всегда актуальные данные. Заряжать нужно ~1 раз в год.
              Результат на фото:
              i.ibb.co/DG4FJn4/20200927-102917.jpg
              i.ibb.co/SdC6Hzj/20200927-103149.jpg
              i.ibb.co/yWvZxT5/20200927-103054.jpg
                +5
                Не хотите написать об этом?
                  0
                  Написать, желательно, в подробностях как для DIY-изделия.
                    0
                    Писатель из меня не очень хороший, но попробовать можно
                    +3
                    Отличный модуль, собрал на нем такое

                    пришлось немного модифицировать вот эту прошивку https://github.com/G6EJD/ESP32-e-Paper-Weather-Display


                    Экранчик у модуля для меня оказался маловат, поэтому собрал такое чуть позже https://habr.com/ru/post/510102/

                      0

                      Спасибо за информацию!

                        +1

                        А нет случайно на эту плату схемы? Интересует какие контакты выведены на FPC разъем.
                        Нашел, тут https://github.com/Xinyuan-LilyGO/LilyGo-T5-ink-series/blob/master/schematic/T5_V2.3.pdf

                        +2
                        Как DIY отличный у вас получился продукт. С точки зрения практического применения у Xiaomi Mijia Bluetooth Thermometer 2 нет конкурентов. Объемы производства делают цену просто недосягаемо низкой.
                          –4
                          простите но зачем мне знать температуру в помещении??? В помещении может быть либо «комфортно» либо «некомфортно» и на датчик я смотреть не буду для определения комфорта. А вот если бы эта станция имела, выносной датчик или еще лучше бы беспроводной (повесил на стену на штанге или на дерево) яб такой прибор купил.
                            +1
                            Для разрешения конфликтов с другими жителями помещения. :-)))
                              0
                              Например для контроля за автоматизацией системы кондиционирования.

                              все хорошо


                              что-то пошло не так
                                0
                                для этого не нужен экран…
                              0
                              Я имел проблемы с BME и DHT — завышение на несколько градусов по сравнению с поверенной термопарой. Пытался у BME ставить минимальное напряжение и все равно расхождения. Спасли меня только PT100, которые очень близко показывают к поверенному термометру.
                                +1
                                Возможно Вы слишком часто опрашивали датчики, что приводило к их саморазогреву, либо датчик подогревался другими элементами схемы? Вроде у BME, BMP и DHT проблем с измерением температуры не наблюдалось не то что на целые градусы, но и на десятые. Вот влажность у DHT — это, действительно, погода на неведомой планете.
                                  0

                                  Два раза в минуту у меня цикл. Это часто? Я находил топики на ардуиновском форуме с похожей проблемой, но решения там не нашлось помимо питания по нижней границе.

                                    0
                                    На таком цикле версия саморазогрева явно отпадает, дело в чем то другом.

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое