Оглавление:

IoT-Terrarium: 6 шагов (с картинками)
IoT-Terrarium: 6 шагов (с картинками)

Видео: IoT-Terrarium: 6 шагов (с картинками)

Видео: IoT-Terrarium: 6 шагов (с картинками)
Видео: Azel проходит террарию | Azel meme #shorts 2024, Ноябрь
Anonim
IoT-Террариум
IoT-Террариум
IoT-Террариум
IoT-Террариум
IoT-Террариум
IoT-Террариум

Моя девушка одержима комнатными растениями и недавно упомянула, что хочет построить террариум. Стремясь выполнять свою работу наилучшим образом, она искала в Google, как и передовые методы создания и ухода за одним из них. Оказывается, есть миллион сообщений в блогах и нет ни одного прямого ответа, и все, кажется, сводится к тому, как растут отдельные террариумы. Поскольку я человек науки и мне нужны данные, чтобы знать, действительно ли что-то работает, я хотел найти хорошее применение своим знаниям в области Интернета вещей и электроники и создать монитор террариума Интернета вещей.

План состоял в том, чтобы создать сенсорную систему, которая могла бы отслеживать температуру, влажность и влажность почвы с простой, но элегантной веб-страницы. Это позволило бы нам следить за здоровьем террариума, чтобы мы всегда знали, что он в лучшем состоянии. Так как я тоже люблю светодиоды (я имею в виду тех, кто не любит), я также хотел добавить неопиксель, который превратит террариум в идеальное настроение или ночник!

После планирования сборки я понял, что хочу поделиться этим, чтобы другие могли сделать свою собственную. Поэтому, чтобы каждый мог воспроизвести этот проект, я использовал только легкодоступные материалы, которые можно легко купить в большинстве обычных магазинов или на таких сайтах, как Adafruit и Amazon. Так что, если вы хотите построить свой собственный Iot-террариум в воскресенье днем, читайте дальше!

Запасы

По большей части у вас должна быть возможность покупать такие же предметы, как и у меня. Но я призываю вас диверсифицироваться и работать больше и лучше, поэтому некоторые из перечисленных ниже элементов вы, возможно, захотите адаптировать к своей конкретной сборке. Я также перечислю некоторые альтернативные материалы и методы в этом непостижимом для тех, кто не имеет доступа ко всему. Итак, для начала вам понадобится несколько инструментов, чтобы следовать по тексту.

  • Drill & Bits - Используется для просверливания крышки террариумного контейнера для установки ваших датчиков, светильников и контроллеров.
  • Пистолет для горячего клея - используется для приклеивания датчиков к крышке террариума. Вы можете выбрать другой способ крепления, например суперклей или гайки и болты.
  • Паяльник (необязательно) - я решил сделать специальную печатную плату для этого проекта, чтобы соединения были наилучшими из возможных. Вы также можете использовать макетную плату и перемычки и добиться того же результата.
  • Около 4 часов - На выполнение этого проекта от начала до конца у меня ушло около 4 часов. Это будет зависеть от того, как вы решите создать свою версию.

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

  • ESP8266 - используется для управления неопикселем, считывания данных с датчиков и отображения веб-страницы. Вы также можете использовать Adafruit HUZZAH
  • Adafruit Flora RGB NeoPixel (или от Adafruit) - это потрясающие маленькие неопиксели в отличном форм-факторе. На них также есть все остальные необходимые пассивные компоненты для легкого управления.
  • Датчик температуры и влажности DHT11 (или от Adafruit) - базовый датчик температуры и влажности. Вы также можете использовать для этого DHT22 или DHT21.
  • Датчик влажности почвы (или от Adafruit) - они бывают двух видов. Я использовал резистивный тип, но рекомендую емкостной, такой как от Adafruit. Подробнее об этом позже.
  • Источник питания 5 В (1 А). Для этого проекта вам понадобится источник питания 5 В. Он должен быть не менее 1 А, поэтому вы также можете использовать стандартную настенную розетку USB.
  • Прототип печатной платы - Используется для соединения всего вместе в прочном поместье. Также можно использовать макетную плату и перемычки.
  • Некоторые монтажные болты - используются для крепления печатной платы к крышке банки. Вы также можете использовать горячий клей.
  • Заголовки печатной платы - для установки NodeMCU на печатную плату.
  • Провод - любые виды проводов для соединения печатной платы и датчиков вместе.

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

  • Стеклянная банка - обычно находится в домашнем магазине. Он может быть любой формы и размера, но должен иметь крышку, которая позволит вам просверлить и прикрепить электронику.
  • Растения - самая важная часть. Выбирайте с умом и убедитесь, что все материалы в сборке соответствуют вашему растению. Я воспользовался небольшой помощью отсюда.
  • Почва, песок, галька, древесный уголь и мох - это основные строительные блоки террариума, которые обычно легко найти в хозяйственном магазине с отделом садоводства или в местном питомнике.

Также посмотрите огромное количество построек террариумов прямо здесь, на Instructables!

Шаг 1. Изготовление террариума

Сделайте свой террариум
Сделайте свой террариум
Сделайте свой террариум
Сделайте свой террариум
Изготовление вашего террариума
Изготовление вашего террариума
Сделайте свой террариум
Сделайте свой террариум

Для начала нам нужно построить террариум, прежде чем мы сможем подключить его к Интернету! Не существует правильного или неправильного способа собрать террариум, но есть лучшие практики, которые я постараюсь описать.

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

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

Следуя фотографиям для этого шага, ниже приведены инструкции по укладке террариума слоями для достижения наилучшего результата;

  1. На дно банки насыпьте камешки. Это для дренажа и оставляет место для сбора воды.
  2. Затем поместите слой мха, это фильтр, который не дает почве проваливаться сквозь трещины гальки и, в конечном итоге, разрушать эффект, который дает галька. Этого также можно добиться с помощью проволочной сетки.
  3. Затем добавьте сверху древесный уголь. Этот уголь действует как фильтр для воды.
  4. Теперь поверх древесного угля можно добавить почву. На этом этапе вы захотите проверить, насколько наполняется ваша банка, так как вы можете опорожнить ее и начать заново здесь проще, чем позже.
  5. (Необязательно) Вы также можете добавить другие материалы, например песок, для создания эффекта наслоения. Я добавил очень тонкий слой песка для эстетического эффекта, а затем наслоил оставшуюся часть почвы.
  6. Затем сделайте отверстие посередине, высадите растения из горшка и аккуратно поместите их в центр.
  7. Если вы можете дотянуться, похлопайте почву вокруг ваших растений, чтобы они прочно укоренились в почве.
  8. В завершение добавьте несколько декоративных камешков и еще немного мха, который оживет от небольшого количества влаги.

Теперь, когда в воскресенье днем было очень легко заделать один или два террариума! Но не верьте мне на слово в отношении Евангелия, обязательно посмотрите, как другие строят свое Евангелие.

Шаг 2. Сделайте это умным

Делаем это умным
Делаем это умным
Делаем это умным
Делаем это умным

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

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

Для измерения температуры и влажности я выбрал DHT11. Их легко найти во многих источниках, таких как Adafruit и другие магазины электроники. Они также полностью поддерживаются в среде Arduino вместе с другими датчиками того же семейства, такими как DHT22 и DHT21. Код в конце этого руководства поддерживает любую версию, поэтому вы можете выбрать любую версию в соответствии с вашим бюджетом и доступностью.

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

Резистивные датчики работают, подавая напряжение на два контакта в почве и измеряя падение напряжения. Если почва влажная, падение напряжения будет меньше и, следовательно, большее значение, считываемое АЦП микроконтроллера. Их прелесть в простоте и стоимости, поэтому в итоге я выбрал именно эту версию.

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

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

Шаг 3: Изготовление печатной платы

Изготовление печатной платы
Изготовление печатной платы
Изготовление печатной платы
Изготовление печатной платы
Изготовление печатной платы
Изготовление печатной платы
Изготовление печатной платы
Изготовление печатной платы

Для этого проекта я решил сделать свою собственную печатную плату из прототипа платы. Я выбрал это так, чтобы все было соединено вместе более надежно, чем макетная плата или через соединительные провода. Сказав это, если вы купите датчики и контроллеры правильного форм-фактора, вы можете демонстративно построить их на макете, если у вас нет доступа к паяльнику.

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

  1. Начните с того, что положите печатную плату на крышку, чтобы посмотреть, как все подойдет. Затем отметьте все линии разреза и монтажные отверстия на печатной плате. на этом этапе вы также должны отметить, где должно быть отверстие в крышке для проводов.
  2. Затем вырежьте свою доску, если вы используете макетную плату. Вы можете сделать это с помощью ножа и линейки, надрезав отверстия и щелкнув им.
  3. Затем с помощью дрели сформируйте монтажные отверстия для винтов, которые войдут в крышку. Диаметр этого отверстия должен быть больше, чем у ваших винтов. Я использовал отверстие 4 мм для винтов M3. Вы также можете использовать горячий клей, чтобы прикрепить плату к крышке.
  4. На этом этапе рекомендуется также проделать монтажные отверстия в крышке, пока на печатной плате нет компонентов. Так что поместите печатную плату поверх крышки, отметьте отверстия и просверлите их, используя меньший диаметр, чем у крепежных болтов. Это позволит болтам вгрызаться в крышку.
  5. Просверлите отверстие, чтобы провода проходили насквозь. Я сделал для себя 5-миллиметровое отверстие, которое было как раз подходящего размера. На этом этапе также рекомендуется отметить и просверлить такое же отверстие в крышке.
  6. Теперь вы можете разложить компоненты на печатной плате и приступить к пайке. Начнем с заголовков для ESP8266.
  7. Установив разъемы ESP8266, вы теперь знаете, где расположены контакты, поэтому теперь вы можете отрезать несколько проводов для подключения датчиков. При этом убедитесь, что они длиннее, чем вам нужно, так как позже вы сможете их обрезать. Эти провода должны быть для всех ваших силовых + и -, а также для линий передачи данных. Я также закодировал их цветом, чтобы я знал, что к чему.
  8. Затем припаяйте все провода, необходимые для платы, в соответствии со схемой, и протолкните их через отверстие на печатной плате, готовые для монтажа на крышку и подключения к вашим датчикам.
  9. Наконец, вам нужно будет подключить к источнику питания. Я добавил для этого небольшой разъем (не на картинках). Но вы также можете припаять его напрямую.

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

Шаг 4: Изготовление крышки

Изготовление крышки
Изготовление крышки
Изготовление крышки
Изготовление крышки
Изготовление крышки
Изготовление крышки

Пора крепить датчики и фары к крышке! Если вы выполнили последний шаг, у вас должна быть крышка со всеми монтажными отверстиями на печатной плате и большое отверстие для провода датчика. Если вы это сделаете, теперь вы можете расположить источники света и датчики так, как вам нужно. Как и на последнем шаге, метод, который вы используете, вероятно, будет немного другим, но вот список шагов, которые помогут вам разложить крышку.

Внимание: линии данных неопикселей имеют направление. Обратите внимание на вход и выход каждого источника света, ища стрелки на печатной плате. Убедитесь, что данные всегда идут от вывода к вводу.

  1. Начните с размещения лампочек и датчика температуры на крышке, чтобы увидеть, где вы хотите их разместить. Я предлагаю держать датчик температуры подальше от источников света, так как они будут выделять немного тепла. Но в остальном макет полностью зависит от вас.
  2. Когда все разложено, вы можете перерезать провод, чтобы соединить свет вместе. Я сделал это, вырезав тестовый образец и используя его как ориентир, чтобы отрезать остальные.
  3. Затем я использовал немного blue-tak, чтобы прижать огни, и припаял к ним провода, используя контактные площадки по бокам плат флоры. Обратите внимание на направления данных огней.
  4. Затем я снял синюю пленку с фонарей и с помощью горячего клея прикрепил их к крышке вместе с датчиком температуры в том месте, которое мне понравилось.
  5. Теперь возьмите печатную плату и прикрепите ее к крышке, где вы просверлили и нарезали отверстия ранее. Протолкните провода через большое отверстие, чтобы их можно было подключить к датчикам.
  6. Затем припаяйте каждый из проводов к нужным датчикам в соответствии со схемой, приведенной на предыдущем шаге.
  7. Поскольку датчик почвы не крепится к крышке, вам необходимо убедиться, что провода оставлены достаточно длинными, чтобы его можно было посадить в почву. После резки припаяйте датчик почвы.

Поздравляем, теперь у вас должна быть полностью собранная крышка на основе датчика с датчиками температуры, влажности и влажности почвы. На более поздних этапах вы увидите, что я добавил шляпу из древесной смолы, напечатанную на 3D-принтере, чтобы покрыть ESP8266. Я не описал, как это сделать, потому что окончательная форма и размер вашего террариума, вероятно, будут отличаться, и не у всех есть доступ к 3D-принтеру. Но я хочу указать на это, чтобы дать представление о том, как вы, возможно, захотите завершить свой проект!

Шаг 5: Кодирование ESP8266 с помощью Arduino

Кодирование ESP8266 с помощью Arduino
Кодирование ESP8266 с помощью Arduino
Кодирование ESP8266 с помощью Arduino
Кодирование ESP8266 с помощью Arduino
Кодирование ESP8266 с помощью Arduino
Кодирование ESP8266 с помощью Arduino
Кодирование ESP8266 с помощью Arduino
Кодирование ESP8266 с помощью Arduino

Когда крышка с сенсорным экраном готова к работе, самое время вложить в нее ум. Для этого вам понадобится среда Arduino с установленными платами ESP8266. Это приятно и легко начать благодаря замечательному сообществу, стоящему за этим.

На этом этапе я предлагаю не подключать ESP8266 к плате, чтобы вы могли сначала отладить любые проблемы с загрузкой и запуском. После того, как ваш ESP8266 заработает и впервые подключится к Wi-Fi, я предлагаю вам подключить его к печатной плате.

Настройте среду Arduino:

Сначала вам понадобится среда Arduino, которую можно скачать отсюда для большинства операционных систем. Следуйте инструкциям по установке и дождитесь ее завершения. После этого откройте его, и мы сможем добавить платы ESP8266, выполнив важные шаги в официальном репозитории GitHub здесь.

После добавления вам нужно будет выбрать тип платы и размер флэш-памяти, чтобы этот проект работал. В меню «инструменты» -> «доска» вам нужно будет выбрать модуль «NodeMCU 1.0», а в параметрах размера Flash вам нужно будет выбрать «4M (1M SPIFFS)».

Добавление библиотек

Именно здесь большинство людей попадают в тупик, пытаясь воспроизвести чей-то проект. Библиотеки привередливы, и для работы большинства проектов требуется установить определенную версию. Хотя среда Arduino частично решает эту проблему, обычно она является источником проблем во время компиляции, обнаруживаемых новичками. Эта проблема решается другими языками и средами, использующими так называемую «упаковку», но среда Arduino не поддерживает это… технически.

Для людей с новой установкой среды Arduino вы можете пропустить это, но для тех, кто хочет знать, как убедиться, что любой проект, который они делают в среде Arduino, будет работать (при условии, что он работает из коробки, чтобы начать с) ты можешь сделать это. Обход основан на создании новой папки в любом месте и указании местоположения «Sketchbook» в меню «файл» -> «настройки». Справа вверху, где указано местоположение альбома для рисования, нажмите «Обзор» и перейдите в новую папку.

После этого у вас не будет установленных библиотек, что позволит вам добавлять любые, которые вы хотели бы, без тех, которые вы установили ранее. Это означает, что для конкретного проекта, подобного этому, вы можете добавить библиотеки, которые идут с моим репозиторием GitHub и не будут конфликтовать с другими, которые вы, возможно, установили. Идеально! Если вы хотите вернуться к своим старым библиотекам, все, что вам нужно сделать, это изменить местоположение вашего альбом для рисования обратно на исходное, это так просто.

Теперь, чтобы добавить библиотеки для этого проекта, вам нужно будет загрузить zip-файл из репозитория GitHub и установить все библиотеки в прилагаемую папку «библиотеки». Все они хранятся в виде файлов.zip и могут быть установлены с помощью шагов, предложенных для этого на официальной веб-странице Arduino.

Измените необходимые переменные

После того, как вы все скачали и установили, самое время начать компилировать и выгружать код на плату. Таким образом, в этом загруженном репозитории также должна быть папка под названием «IoT-Terrarium» с кучей файлов.ino в ней. Откройте основной файл «IoT-Terrarium.ino» и прокрутите вниз до части скетча «Основные переменные» вверху.

Здесь вам нужно изменить пару ключевых переменных, чтобы они соответствовали вашей сборке. Первое, что вам нужно добавить, это ваши учетные данные WiFi в эскиз, чтобы ESP8266 вошел в ваш WiFi, чтобы вы могли получить к нему доступ. Они чувствительны к регистру, так что будьте осторожны.

Строка SSID = "";

Строка Пароль = "";

Далее следует часовой пояс, в котором вы находитесь. Это может быть положительное или отрицательное число. Например, Сидней +10;

#define UTC_OFFSET +10

После этого следует период выборки и объем данных, которые устройство должно хранить. Количество собранных образцов должно быть достаточно небольшим, чтобы микроконтроллер мог их обрабатывать. Я обнаружил, что все, что меньше 1024, нормально, все, что больше, нестабильно. Период сбора - это время между выборками в миллисекундах.

Их умножение дает вам, как долго данные будут восстанавливаться, значения по умолчанию 288 и 150000 (2,5 минуты) соответственно дают период времени в 12 часов, измените их, чтобы соответствовать тому, как далеко вы хотели бы увидеть.

#define NUM_SAMPLES 288

#define COLLECTION_PERIOD 150000

На предыдущих шагах я подключил светодиоды к контакту D1 (контакт 5) ESP8266. Если вы изменили это или добавили больше или меньше светодиодов, вы можете изменить это в двух строках;

#define NUM_LEDS 3 // Количество подключенных светодиодов

#define DATA_PIN 5 // Вывод, на котором находится линия данных светодиода

Последнее, что вам нужно изменить, - это настройки DHT11. Просто измените контакт, к которому он подключен, и тип, если вы не использовали DHT11;

#define DHT_PIN 4 // Вывод данных, к которому вы подключили датчик DHT.

#define DHTTYPE DHT11 // Раскомментируйте это при использовании DHT11 // #define DHTTYPE DHT22 // Раскомментируйте это при использовании DHT22 // #define DHTTYPE DHT21 // Раскомментируйте это при использовании DHT21

Скомпилировать и загрузить

После изменения всего, что вам нужно, вы можете продолжить и скомпилировать скетч. Если все в порядке, он должен скомпилироваться и не выдавать ошибок внизу экрана. Если вы застряли, вы можете оставить комментарий ниже, и я смогу помочь. Подключите ESP8266 с помощью USB-кабеля к компьютеру и нажмите «Загрузить». После этого он должен запуститься и подключиться к Wi-Fi. В мониторе последовательного порта также есть несколько сообщений, которые сообщают вам, что он делает. Пользователи Android должны принять к сведению указанный в нем IP-адрес, так как вам необходимо его знать.

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

Шаг 6: конечный продукт

Конечный продукт
Конечный продукт
Конечный продукт
Конечный продукт

Собрав все вместе, воткните датчик почвы в почву так, чтобы два выступа были закрыты. Затем просто закройте крышку, подключите блок питания и включите! Теперь вы можете перейти на веб-страницу EPS8266, если вы находитесь в той же сети Wi-Fi, что и он. Это можно сделать, перейдя на его IP-адрес или используя mDNS по адресу; https://IoT-Terrarium.local/ (в настоящее время поддерживается Android, вздох)

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

Вы также можете сохранить страницу на главном экране iOS или Android, чтобы она работала как приложение. Просто убедитесь, что вы находитесь в той же сети Wi-Fi, что и ваш ESP8266, когда вы щелкаете по нему.

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

Рекомендуемые: