Оглавление:

Автоматический звонок-будильник по снегу: 6 шагов (с изображениями)
Автоматический звонок-будильник по снегу: 6 шагов (с изображениями)

Видео: Автоматический звонок-будильник по снегу: 6 шагов (с изображениями)

Видео: Автоматический звонок-будильник по снегу: 6 шагов (с изображениями)
Видео: Девушка разбила мой компьютер🤬 я отомстил и сломал ей ноутбук🤯 2024, Июль
Anonim
Автоматический звонок-будильник по снегу
Автоматический звонок-будильник по снегу
Автоматический звонок-будильник по снегу
Автоматический звонок-будильник по снегу

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

В этом проекте используются Arduino, датчик расстояния и IFTTT (простой в использовании веб-сайт) для автоматизации будильника на ваш телефон, если ночью выпал снег. Когда все будет готово, вы поместите созданное вами устройство на высокую точку (например, на штатив) и направите его на землю. Оттуда он будет постоянно измерять расстояние между собой и землей. По мере того, как идет снег, «земля» приближается к ней, поэтому расстояние, которое она измеряет, уменьшается. Если разница между вечером и утром достаточно велика, устройство предупредит вас, что пошел снег!

Электронику легко подключить, я предоставлю код, так что давайте сразу же!

Запасы

  1. Микрочип, совместимый с Arduino, с поддержкой Wi-Fi. Я предполагаю, что для этого проекта вы будете использовать плату разработки ESP8266 NodeMCU, которую я рекомендую по многим причинам:

    • В нем есть Wi-Fi.
    • Он показывает практически все булавки, которые вам могут понадобиться.
    • Он обеспечивает простой интерфейс USB для программирования.
    • Он обрабатывает сброс платы при загрузке кода и предоставляет кнопки сброса для отладки.
  2. Датчик дальности TF Mini Lidar.

    Обратите внимание, что есть более дешевые ультразвуковые датчики, такие как HC-SR04, но мягкие снежные глушители звучат достаточно, чтобы они не работали для этого

  3. Мини-макет.
  4. Штатив или любое другое решение для установки датчика на высоте нескольких футов над снегом.
  5. Кабель micro-usb.
  6. Удлинитель.
  7. Зарядное устройство usb.
  8. Пластиковый контейнер.

Обратите внимание, что предметы 5 и выше можно довольно легко купить в Долларовом дереве.

Цены варьируются, но я смог выполнить этот проект примерно за 50 долларов (не считая штатива), купив простые детали в Dollar Tree. Самая дорогая часть - это датчик Lidar, который определенно можно повторно использовать для других проектов.

Шаг 1. Электроника (оборудование)

Электроника (Аппаратное обеспечение)
Электроника (Аппаратное обеспечение)
Электроника (Аппаратное обеспечение)
Электроника (Аппаратное обеспечение)
Электроника (Аппаратное обеспечение)
Электроника (Аппаратное обеспечение)

Электроника для этого проекта должна быть собрана довольно быстро. Просто подключите датчик расстояния TF Mini Lidar к микросхеме. Провода должны подключаться, как описано в этом отличном руководстве по SparkFun.

Вот краткое изложение:

Датчик -> ESP8266

Зеленый -> D2 (он же GPIO 4, который мы будем использовать в качестве нашего RX)

Белый -> D1 (он же GPIO 5, который мы будем использовать в качестве TX)

Красный -> Вин

Черный -> Земля

Шаг 2: Электроника (программное обеспечение)

Электроника (программное обеспечение)
Электроника (программное обеспечение)

Решение об отправке вам будильника будет принято вашим микрочипом, поэтому нам необходимо правильно его запрограммировать! Чтобы запрограммировать ваш чип, мы будем использовать язык под названием Arduino, который вы можете загрузить в свой чип с помощью Arduino IDE (программное обеспечение, которое работает на вашем компьютере).

1. Загрузите программное обеспечение Arduino здесь. Это руководство будет относиться к меню Arduino Desktop IDE, так что скачайте его, если вы не очень хорошо знакомы с Web IDE.

2. Настройте среду разработки Arduino Desktop IDE для работы с микрочипом ESP8266. Инструкции для этого можно найти здесь. В дальнейшем это руководство предполагает, что ваш светодиод мигает и вы знаете, как загрузить скрипт в ESP8266.

3. Загрузите сценарий для загрузки на свой микрочип с https://github.com/robertclaus/snowalert. Не нужно редактировать сценарий. Все, что вам нужно настроить, можно будет настроить после загрузки кода.

4. Откройте сценарий в Arduino и установите библиотеки, от которых он зависит, в вашей системе. В верхней части IDE нажмите: Sketch -> Include Libraries -> Manage Libraries.

Затем найдите и установите эти библиотеки:

  • WifiManager от tzapu (версия 0.14.0)
  • ArduinoJson от Бенуа Бланшона (версия 6.14.1)
  • TFminiArduino от hideakitai (версия 0.1.1)
  • NTPClient от Фабриса Вайнберга (версия 3.2.0)
  • ESP_DoubleResetDetector, автор - Хой Хоанг (версия 1.0.1)

5. Сконфигурируйте вашу доску для этого проекта. В верхней части среды IDE нажмите «Инструменты» и настройте следующие параметры:

  • Размер флэш-памяти - 4M (1M SPIFFS) - резервирует место для сохранения нашей конфигурации.
  • Erase Flash - All Contents - это гарантирует, что на чипе нет предыдущих данных.

    Обратите внимание: если вам когда-либо понадобится обновить код, установка только для эскиза сохранит вашу конфигурацию

6. Убедитесь, что микрочип ESP подключен к компьютеру и имеет назначенный порт. Выберите правильный порт в IDE и загрузите!

7. Откройте Serial Monitor (Инструменты -> Serial Monitor) в Arduino IDE. Затем нажмите кнопку «Сброс» на своем чипе. Убедитесь, что в последовательном мониторе отображается текст.

Шаг 3: настройка IFTTT

Конфигурация IFTTT
Конфигурация IFTTT
Конфигурация IFTTT
Конфигурация IFTTT
Конфигурация IFTTT
Конфигурация IFTTT

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

Например, если наш Arduino говорит: «Снег!» тогда IFTTT должен позвонить на наш мобильный телефон с помощью тревожного звонка.

1. Вам понадобится бесплатная учетная запись IFTTT, которую вы можете создать на

2. Чтобы создать новый апплет, использующий эту логику, перейдите в раздел «Создать» или просто перейдите по этой ссылке:

3. Нажмите This -> Search и выберите Webhooks -> Если вас попросят, нажмите Connect -> Введите snow_alert в поле.

4. Нажмите «Это» -> «Поиск» и выберите «Телефонный звонок (только для США)» -> Если вас попросят, нажмите «Подключиться» -> «Если появится всплывающее окно», следуйте инструкциям -> введите сообщение, как будто прошлой ночью пошел снег! что вы хотите, чтобы телефонный звонок был зачитан для вас.

5. Щелкните Готово, чтобы активировать апплет.

6. Протестируйте свой Webhook, перейдя к настройкам службы Webhooks в IFTTT и найдя там тестовый URL. Перейдите по этому URL-адресу и замените {event} на snow_alert. Затем щелкните Test It. Если все работает, вам должен позвонить!

7. На тестовой странице сохраните URL-адрес внизу страницы. Он понадобится вам на более позднем этапе. Это должно выглядеть примерно так:

maker.ifttt.com/trigger/snow_alert/with/key/d-Y8rXge5kibp0dkdrCgxu

Для устранения неполадок пользователи могут также захотеть регистрировать высоту снега с течением времени. Они могут настроить отдельный апплет IFTTT, который принимает веб-перехватчик snow_measurement и ведет журнал в Google Таблицах. Для этого просто повторите шаги, описанные выше, но замените snow_alert на snow_measurement в шаге Webhooks выше и замените шаг «Телефонный звонок» сервисом Google Sheets -> Добавить строку в электронную таблицу.

Шаг 4: Конфигурация SnowAlert

Конфигурация SnowAlert
Конфигурация SnowAlert

На этом этапе последний программный шаг - это настройка кода вашего ESP для отправки сообщений вашему новому апплету IFTTT.

Для этой конфигурации я рекомендую вам следовать инструкциям SnowAlert на Github, потому что инструкции здесь могут быть устаревшими, если SnowAlert получит новые функции.

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

Очень важно, что все время, которое вы настраиваете, должно быть в часовом поясе UTC и в 24-часовом формате времени (не AM / PM).

  1. Решите, в какое время вы хотите получить звонок утром. Это ваше последнее время.
  2. Решите, в какое время начинать измерения накануне вечером. Это ваше время начала.
  3. Подключите ESP и откройте Serial Monitor в Arduino IDE, как мы это делали ранее.
  4. Подключитесь к сети Wi-Fi SnowMeasure на вашем компьютере. При подключении вы должны увидеть некоторую активность в Serial Monitor.
  5. Вы должны быть перенаправлены на страницу настройки в вашем браузере автоматически через несколько секунд.
  6. Нажмите Настроить Wi-Fi.
  7. Введите следующие значения:

    1. SSID - сеть Wi-Fi, к которой ESP должен подключаться для доступа в Интернет.
    2. Пароль - пароль для подключения к этой сети Wi-Fi.
    3. Начальный час - час, в который вы хотите измерить высоту снега вечером.
    4. Начальные минуты - минутная составляющая времени, которое вы хотите измерять вечером.
    5. Конечный час - час, в который вы хотите, чтобы он измерял высоту снега утром (и, возможно, позвонил вам)
    6. Конечные минуты - минутная составляющая времени, которое вы хотите измерять утром.
    7. URL-адрес веб-перехватчика оповещения - это должен быть URL-адрес, который вы сохранили на предыдущем шаге, который выглядит примерно так:
    8. URL-адрес веб-перехватчика измерений - это должен быть тот же URL-адрес, что и выше, но замените snow_alert на snow_measurement.

Шаг 5: Установите датчик

Установите датчик
Установите датчик
Установите датчик
Установите датчик
Установите датчик
Установите датчик

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

  • Убедитесь, что датчик направлен вниз под небольшим углом. Вы не хотите, чтобы он смотрел прямо вниз, так как ваша коробка будет отбрасывать тень там, где снег не падает на землю.
  • Вам нужно, чтобы датчик находился над снегом примерно на 2-3 фута.
  • Снег превращается в воду, поэтому убедитесь, что ваша установка достаточно водонепроницаема.
  • Убедитесь, что у вас есть питание! Либо длинный кабель USB, либо удлинитель должны увести вас от крыши, чтобы добраться до полезного места. В любом случае убедитесь, что на улице безопасно.

Шаг 6: Получите звонок

Получите звонок!
Получите звонок!

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

Снежный вызов
Снежный вызов
Снежный вызов
Снежный вызов

Финалист в Snow Challenge

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