Оглавление:

Сохраним прохладу вашему ребенку этим летом - умная борьба с тупыми фанатами !: 6 шагов (с изображениями)
Сохраним прохладу вашему ребенку этим летом - умная борьба с тупыми фанатами !: 6 шагов (с изображениями)

Видео: Сохраним прохладу вашему ребенку этим летом - умная борьба с тупыми фанатами !: 6 шагов (с изображениями)

Видео: Сохраним прохладу вашему ребенку этим летом - умная борьба с тупыми фанатами !: 6 шагов (с изображениями)
Видео: История сироты: пытки в психбольнице, колония, наркотики! Мысли о суициде, лишение родительских прав 2024, Декабрь
Anonim
Сохраните прохладу вашего ребенка этим летом - управляйте тупыми фанатами с помощью умных вещей!
Сохраните прохладу вашего ребенка этим летом - управляйте тупыми фанатами с помощью умных вещей!
Сохраните прохладу вашего ребенка этим летом - управляйте тупыми фанатами с помощью умных вещей!
Сохраните прохладу вашего ребенка этим летом - управляйте тупыми фанатами с помощью умных вещей!

На момент написания этой статьи две недели назад я стал отцом невероятного мальчика!

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

Я не особо много работал с питоном на протяжении многих лет, но хотел вернуться к нему с первого года обучения в университете почти 5 лет назад! Из-за этого я подумал, что было бы лучше задокументировать то, что я сделал, чтобы помочь мне позже, а также помочь всем, кто хочет сделать то же самое!

Используя Raspberry pi, Enviro pHAT и умную вилку TP-link kasa, вы можете управлять вилками с помощью фреймворка IFTTT! это действительно просто сделать, и вы даже можете изменить это пошаговое руководство, чтобы управлять чем угодно с помощью различных датчиков и различных устройств! Надеюсь, вы найдете это полезным. Если вам нравится это руководство, пожалуйста, не забудьте проголосовать за мою работу в конкурсе датчиков!: D (извините за вопрос), я делаю это впервые и хотел бы иметь шанс выиграть что-нибудь за все время, которое я вкладываю в это

** РЕДАКТИРОВАТЬ ** В течение следующих нескольких дней я собираюсь переместить эти данные на доску Grafana, если вы думаете, что это будет хорошо, дайте знать!: D

Давайте приступим к делу …

Запасы

  1. Подойдет любой Raspberry Pi, но я выбрал Zero W, так как это было то, что мне пришлось передать в моем розыгрыше, он также имеет наименьший форм-фактор с включенным Wi-Fi по умолчанию! - Малина PI Zero w
  2. SD-карта, у всех разные предпочтения, но я использовал одну из них! - Карта Micro-SD
  3. Если вы застряли, вот официальная поддерживаемая документация для SD-карт - официально поддерживаемые SD-карты
  4. Провода перемычки (объясню позже) - Провода перемычки
  5. Enviro pHAT для всех великолепных датчиков! - Envrio-pHAT
  6. Умная розетка, я выбрал TP-Link, так как вам не нужны какие-либо причудливые концентраторы, чтобы она работала прямо из коробки! - Умная розетка!
  7. Глупый вентилятор для управления, вы можете использовать любой вентилятор, я только что нашел вентилятор на Amazon, но любой вентилятор с розеткой будет работать нормально - Тупой вентилятор
  8. Паяльник, но если вы не хотите использовать паяльник, вы можете щелкнуть заголовки для своих PI и pHAT - GPIO-hammer-header

Чтобы соединение между TP-link kasa и IFTTT работало, вам необходимо настроить учетную запись TP-link kasa и IFTTT перед запуском этого руководства. Когда вы получите умную вилку TP-link, инструкции, прилагаемые к умной вилке, проведут вас через процесс настройки, включая то, как назвать вилку и ее основные функции

Когда у вас есть весь список покупок, самое время его собрать!

Шаг 1. Настройка Raspberry Pi

Создание образа вашей карты micro-SD Получите последний и лучший образ Raspbian, облегченная версия подойдет, если не лучше для нулевой w! -

Запишите этот образ на SD-карту, для этого вам понадобится ридер и имидж-сканер, я использую etcher -

Настройка Wi-Fi (необязательно) Если ваш PI имеет встроенный Wi-Fi, почему бы не настроить его сейчас, чтобы не беспокоиться о консолях позже!

Как только ваш пи был создан, диск был извлечен. Отключите и подключите SD-карту, чтобы ваша машина снова обнаружила ее. Должен появиться загрузочный раздел.

Создайте пустой файл с именем wpa_supplicant.conf в загрузочном разделе вашего пи, поместите в этот новый файл следующее:

network = {

ssid = "YOUR_SSID" psk = "YOUR_WIFI_PASSWORD" key_mgmt = WPA-PSK}

Включение SSH на выбранном вами PI (необязательно)

По умолчанию у чистого образа Raspbian отключен ssh. Вам нужно будет загрузить систему, подключить клавиатуру и дисплей к Pi, а затем включить ssh. Этот шаг включит ssh при первой загрузке. В загрузочном разделе создайте новый файл с именем ssh. Пустой файл с точно таким же именем.

После выполнения этих двух необязательных шагов ваш PI автоматически подключится к вашему WIFI, и SSH будет включен по умолчанию.

После того, как вы создали образ и настроили карту micro-SD, вы можете вставить ее в свой PI или на выбор и включить!

Обновив свой PIO, вы загрузили свой PI, вы можете найти свой IP-адрес PI в настройках вашего беспроводного маршрутизатора. Большинство маршрутизаторов разные, поэтому, к сожалению, было бы сложно написать руководство по этому поводу!

Получив IP-адрес своего PI, подключитесь через SSH и войдите в систему со следующими данными:

Имя пользователя: pi

Пароль: малина

После того, как у вас будет активный сеанс SSH с вашим PI, вы захотите его обновить, просто запустите нижеприведенное с соответствующими Y или N во время его обновления:

sudo apt-get update

sudo apt-get upgrade

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

sudo reboot -n

Теперь PI готов, пора переходить к следующему шагу!

Шаг 2: Настройка Enviro PHAT

Настройка Enviro PHAT
Настройка Enviro PHAT
Настройка Enviro PHAT
Настройка Enviro PHAT

Подключение вашего Enviro pHAT

После того, как вы обновите свой Pi, вы можете подключить Enviro pHAT к PI по вашему выбору!

*** Чтобы не повредить PI или pHAT, сначала выключите его ***

Здесь я использовал перемычки, потому что вы можете получить термическое вымывание из-за нагрева процессора под Enviro pHAT. Это дополнительное тепло может изменить показания температуры, которые вы получите позже. Из-за этого я использовал 5 перемычек на следующих контактах:

  • Контакт 3 - GPIO2 (SDA I2C)
  • Контакт 5 - GPIO3 (SCL I2C)
  • Контакт 7 - GPIO4
  • Контакт 6 - Земля
  • Контакт 4 - 5В

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

pinout.xyz/pinout/enviro_phat

(извините за плохую покраску)

При подключении pHAT убедитесь, что он настроен правильно, иначе вы можете повредить его !!! Для этого у меня была установка так, чтобы заголовки ANALOG IN были направлены к слоту для SD-карты, это позже было перевернуто на моих фотографиях, чтобы он плотно прилегал к моему «носителю».

Установка зависимостей

Включите резервное копирование PI и снова подключите SSH

Вернувшись в свой PI, запустите следующее, чтобы установить необходимые пакеты и программное обеспечение для Enviro pHAT:

curl https://get.pimoroni.com/envirophat | трепать

Обязательно нажимайте Y или N, когда это необходимо.

После завершения установки обязательно перезапустите PI…

sudo reboot -n

Тестирование pHAT

Чтобы убедиться, что ваш pHAT подключен правильно, вы можете перейти в модуль python и запустить несколько команд, вернув его обратно в свой PI и набрав python, один раз в модуле python введите следующее:

из окружающей среды импортная погода

печать (weather.temerpature ())

Это должно показать вам показания, как показано ниже:

>> из envirophat импортная погода

>> print (weather.temperature ()) 24.0806166987

Исправление проблем

Если вы получите что-то вроде ошибки ниже:

Отслеживание (последний вызов последним): файл "", строка 1, в файле "/usr/lib/python2.7/dist-packages/envirophat/bmp280.py", строка 134, в файле температуры self.update () " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py ", строка 169, обновляется, если self._read_byte (REGISTER_CHIPID) == 0x58: # проверить идентификатор датчика 0x58 = Файл BMP280" / usr / lib / python2.7 / dist-packages / envirophat / bmp280.py ", строка 116, в _read_byte return self.i2c_bus.read_byte_data (self.addr, register) IOError: [Errno 121] Ошибка удаленного ввода-вывода

Затем вы можете запустить:

sudo i2cdetect -y 1

Это запустит диагностическую проверку ваших соединений / проводки, и вы будете искать что-то вроде ниже:

pi @ raspberrypi: ~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 abcdef 00: - - - - - - - - - - - - - 10: - - - - - - - - - - - - - 1д - - 20: - - - - - - - - - - 29 - - - - - - 30: - - - - - - - - - - - - - - - - - 40: - - - - - - - - - 49 - - - - - - 50: - - - - - - - - - - - - - - - - - 60: - - - - - - - - - - - - - - - - - 70: - - - - - - - 77

Если нет, то вам нужно будет вернуться и снова проверить проводку, пожалуйста, проверьте схему подключения и попробуйте еще раз!

Установка скрипта pi-baby-cooler.py

Если все в порядке и вам удалось получить показания температуры, мы можем продолжить и установить пакет baby-cooler.py!

Из-за того, как Instructables обрабатывает ссылки, я прикрепил скрипт.py в заголовке вышеупомянутого шага … Чтобы скопировать его в свой PI, я рекомендую использовать что-то вроде WinSCP:

winscp.net/eng/download.php

WinSCP - это популярный клиент SFTP и FTP-клиент для Microsoft Windows! Копируйте файл между локальным компьютером и удаленными серверами, используя протоколы передачи файлов FTP, FTPS, SCP, SFTP, WebDAV или S3.

WinSCP прост в использовании, просто подключитесь к своему PI, используя IP-адрес вашего PI, затем перетащите файл.py туда, откуда вы хотите его запустить, для меня это из / home / pi.

Теперь скрипт.py находится на вашем PI, пора перейти к настройке вашей учетной записи / подключений IFTTT.

Шаг 3. Настройка учетной записи / подключения IFTTT

Настройка учетной записи / подключения IFTTT
Настройка учетной записи / подключения IFTTT
Настройка учетной записи / подключения IFTTT
Настройка учетной записи / подключения IFTTT
Настройка учетной записи / подключения IFTTT
Настройка учетной записи / подключения IFTTT

Далее мы рассмотрим получение токена IFTTT, который будет использоваться при вызове функции горячего / холодного в скрипте для подключения к вилке kasa и включения / выключения вентилятора.

Создание веб-перехватчиков

Перейдите на https://ifttt.com/ и создайте учетную запись, если у вас ее еще нет.

После входа в систему введите в строке поиска: TP-link kasa

Как только он загрузится, нажмите «Сервисы», а затем «TP-link kasa». Затем вам нужно будет подключить свою учетную запись kasa к учетной записи IFTTT, войти в свою учетную запись kasa через IFTTT, чтобы установить соединение.

После привязки учетной записи нажмите «Мои апплеты», затем новый апплет, затем нажмите «+ это» и выполните поиск по веб-перехватчикам.

Нажмите «Получить веб-запрос» в типе имени события hot (это может быть что угодно, но вы должны обновить это позже в скрипте pi-baby-coller.py, иначе это не сработает, я использовал горячее включение вентилятор включен и остынет, чтобы выключить вентилятор. Затем нажмите кнопку создания триггера.

Затем нам нужно связать ваш новый триггер с вашей учетной записью Kasa, щелкнуть «+ that» и выполнить поиск kasa, щелкнуть TP-link kasa, затем щелкнуть «включить», после этого выбрать устройство, которое вы хотите включить, затем щелкнуть создать действие. Просмотрите действие и, если правильно, нажмите «Готово».

**********

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

**********

После того, как мы создали наш первый веб-перехватчик, повторите процесс для «холодного», но на этот раз вы выбираете «выключить» вместо «включить» при выборе действия «+».

Как только у нас будет два веб-перехватчика событий в разделе вашей учетной записи «Мои апплеты», щелкните «Services» и «Поиск веб-перехватчиков», а затем щелкните по нему. Здесь вы увидите кнопку документации (вверху справа), щелкните ее. Здесь вы найдете ключ токена IFTTT. пока вы здесь, запишите свой ключ (он понадобится вам позже), я отредактировал свой на картинке, иначе кто-нибудь сможет включить или выключить мои умные розетки.

Тестирование веб-перехватчиков

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

В своем PI вы можете ввести следующее:

curl -X ЗАПИСЬ

Там, где написано «горячее», вам нужно добавить свое имя события, если вы оставили его как «горячее», оставьте это в покое. Там, где написано / you … вам нужно заменить это на ключ вашего токена IFTTT. Нажмите Enter, и вы должны услышать щелчок реле умной вилки, которое включает вилку. Если вы не слышите его, вы можете проверить приложение Kasa, чтобы проверить состояние ваших вилок.

Теперь у нас есть зависимости для нашего Enviro pHAT, и теперь у нас есть настройка IFTTT, пора закончить с изменением кода.

Шаг 4: Редактирование сценария

Редактирование сценария
Редактирование сценария

Имя события и ТОКЕНЫ IFTTT Вернитесь на свой pi, перейдите в местоположение вашего скрипта pi-baby-cooler.py, для меня это в / home / pi (моя домашняя папка) и отредактируйте файл с помощью nano:

nano pi-baby-cooler.py

В искателе, где написано def turn_off ()

def turn_off ():

# Задайте слово-триггер - например, "холодный" - и токен IFTTT Webhook ниже. TRIGGER_WORD = "cold" TOKEN = "ВАШ ТОКЕН IFTTT ИДЕТ ЗДЕСЬ" requests.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Вентилятор прочь!"):

Это функция выключения вентилятора. Он делает это, отправляя веб-перехватчик в IFTTT, который вызывает выключение tplink HS100. Если вы сохранили работу триггера в вашей учетной записи IFTTT так же, как «холодная», вы можете оставить это и просто заменить токен, который вы получили из документации по веб-перехватчикам ранее. Если вы выбрали другое название события, замените это слово здесь.

После вставки вашего токена IFTTT перейдите к следующему разделу, где написано def turn_on ()

def turn_on (): # Задайте слово-триггер - например, «hot» - и токен IFTTT Webhook ниже. TRIGGER_WORD = "hot" TOKEN = "ВАШ ТОКЕН IFTTT ИДЕТ ЗДЕСЬ" requests.post ("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format (trigger_word = TRIGGER_WORD, token = TOKEN)) print ("Поклонник!")

Эта функция противоположна выключению, она включает умную вилку TP-link!

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

Все остальное уже закодировано, поэтому вам не придется вносить какие-либо изменения в код, кроме TRIGGER_WORD, TOKEN и нескольких настроек температуры, которые будут следующими!

Изменение температуры

Затем найдите, где написано # Локальные переменные.

попробуйте: # Локальные переменные. state = 0 # Устанавливает состояние переключателя low = 20 # Низкое значение уровня температуры (по Цельсию). high = 24 # Высокое значение уровня температуры (по Цельсию). period = 120 # Задержка в секундах между вызовами.

Переменная состояния - это то, как пи знает, включен ли штекер или нет, это обновляется позже, если он становится слишком горячим (24 + * c, затем состояние изменяется позже на 1), это также сработает на веб-перехватчике и включит умная розетка!

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

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

Переменная периода - это продолжительность в секундах между проверками температуры. Если вы хотите, чтобы сценарий pi проверял реже, увеличьте число, если вы хотите сократить время, уменьшите число.

После внесения изменений сохраните и выйдите из nano.

CTRL + x

Шаг 5: Использование скрипта

Использование скрипта
Использование скрипта

Локальный запуск скрипта

Есть несколько способов запустить этот скрипт, вы можете подключиться через SSH и ввести следующее:

sudo python /pi-baby-cooler.py

Это запустит сценарий по запросу, это будет работать только до тех пор, пока существует активный сеанс SSH с PI. Другой способ - использовать экран, экран не установлен по умолчанию, я не думаю, поэтому придется использовать экран установки sudo apt.

Вот отличный учебник о том, как правильно использовать экран:

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

Автоматизация для запуска при загрузке

Другой способ - отредактировать загрузочный файл в /etc/rc.local, чтобы использовать nano.

sudo nano /etc/rc.local

При редактировании этого файла скрипт запускается при загрузке. Это означает, что он всегда будет работать, когда PI включен, это также то, как я запускаю 90% своих скриптов на других PI.

Если вы использовали rc.local, то вы можете запустить приведенную ниже команду, чтобы проверить, что в данный момент выполняется на PI. Это удобно для устранения неполадок позже, чтобы увидеть, работает ли сценарий вообще:

ps -aef | grep python

Шаг 6: Готово

Что ж … Спасибо, если вы все еще здесь и дошли до этой точки!

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

Как я уже упоминал в начале, у этой инструкции есть много разных приложений, в которых используется тепло для включения умной вилки! можно охладить любую комнату в доме / квартире / квартире / гараже / сарае. Вы даже можете изменить IFTTT, чтобы запускать любое интеллектуальное устройство, управляемое через IFTTT, это не просто должны быть устройства TP-link kasa.

Я хотел бы услышать, пробовали ли вы эти инструкции или даже если вы нашли это интересным, пожалуйста, оставьте мне комментарий ниже!

Если у вас есть какие-либо вопросы, обязательно оставьте их ниже, и я постараюсь на них ответить!

Конкурс датчиков
Конкурс датчиков
Конкурс датчиков
Конкурс датчиков

Финалист конкурса датчиков

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