Оглавление:
- Запасы
- Шаг 1. Настройка Raspberry Pi
- Шаг 2: Настройка Enviro PHAT
- Шаг 3. Настройка учетной записи / подключения IFTTT
- Шаг 4: Редактирование сценария
- Шаг 5: Использование скрипта
- Шаг 6: Готово
Видео: Сохраним прохладу вашему ребенку этим летом - умная борьба с тупыми фанатами !: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
На момент написания этой статьи две недели назад я стал отцом невероятного мальчика!
Из-за смены времен года, увеличения продолжительности дня и повышения температуры, я подумал, что было бы неплохо иметь какой-нибудь монитор в детской, чтобы проверить, насколько жарко там становится!
Я не особо много работал с питоном на протяжении многих лет, но хотел вернуться к нему с первого года обучения в университете почти 5 лет назад! Из-за этого я подумал, что было бы лучше задокументировать то, что я сделал, чтобы помочь мне позже, а также помочь всем, кто хочет сделать то же самое!
Используя Raspberry pi, Enviro pHAT и умную вилку TP-link kasa, вы можете управлять вилками с помощью фреймворка IFTTT! это действительно просто сделать, и вы даже можете изменить это пошаговое руководство, чтобы управлять чем угодно с помощью различных датчиков и различных устройств! Надеюсь, вы найдете это полезным. Если вам нравится это руководство, пожалуйста, не забудьте проголосовать за мою работу в конкурсе датчиков!: D (извините за вопрос), я делаю это впервые и хотел бы иметь шанс выиграть что-нибудь за все время, которое я вкладываю в это
** РЕДАКТИРОВАТЬ ** В течение следующих нескольких дней я собираюсь переместить эти данные на доску Grafana, если вы думаете, что это будет хорошо, дайте знать!: D
Давайте приступим к делу …
Запасы
- Подойдет любой Raspberry Pi, но я выбрал Zero W, так как это было то, что мне пришлось передать в моем розыгрыше, он также имеет наименьший форм-фактор с включенным Wi-Fi по умолчанию! - Малина PI Zero w
- SD-карта, у всех разные предпочтения, но я использовал одну из них! - Карта Micro-SD
- Если вы застряли, вот официальная поддерживаемая документация для SD-карт - официально поддерживаемые SD-карты
- Провода перемычки (объясню позже) - Провода перемычки
- Enviro pHAT для всех великолепных датчиков! - Envrio-pHAT
- Умная розетка, я выбрал TP-Link, так как вам не нужны какие-либо причудливые концентраторы, чтобы она работала прямо из коробки! - Умная розетка!
- Глупый вентилятор для управления, вы можете использовать любой вентилятор, я только что нашел вентилятор на Amazon, но любой вентилятор с розеткой будет работать нормально - Тупой вентилятор
- Паяльник, но если вы не хотите использовать паяльник, вы можете щелкнуть заголовки для своих 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
После того, как вы обновите свой 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, который будет использоваться при вызове функции горячего / холодного в скрипте для подключения к вилке 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.
Я хотел бы услышать, пробовали ли вы эти инструкции или даже если вы нашли это интересным, пожалуйста, оставьте мне комментарий ниже!
Если у вас есть какие-либо вопросы, обязательно оставьте их ниже, и я постараюсь на них ответить!
Финалист конкурса датчиков
Рекомендуемые:
Умный монитор для комнатных растений - знайте, когда вашему растению нужен полив: 8 шагов (с изображениями)
Умный монитор для комнатных растений - знайте, когда вашему растению нужен полив: пару месяцев назад я сделал палку для мониторинга влажности почвы, которая питается от батареи и может быть вставлена в почву в горшке для комнатного растения, чтобы дать вам некоторую полезную информацию о почве. уровень влажности и мигающие светодиоды, сообщающие вам, когда
Борьба с коронавирусом: простой таймер для мытья рук: 8 шагов (с изображениями)
Борьба с коронавирусом: простой таймер для мытья рук: при нынешней пандемии в мире ситуация кажется довольно пугающей. Вирус короны может быть где угодно. Насколько нам известно, можно переносить вирус в течение нескольких дней, даже не проявляя никаких симптомов. Действительно страшно, но не пугайся слишком сильно
Сохраняйте спокойствие этим летом: мод для ПК: 4 шага (с изображениями)
Сохраняйте спокойствие этим летом: мод для ПК-фанатов: у кого не валяется дюжина этих ПК-фанатов? В этой сборке я покажу вам, как использовать эти вентиляторы для создания приятного регулируемого ветра в жаркие летние дни. И работает не менее 4 часов с обычной батареей на 9 В
Шокирующая борьба за большой палец: победа за большой палец (V.O.L.T.): 6 шагов
Shocking Thumb Wrestling: Victory of the Lighting Thumb (V.O.L.T.): Dit apparaat geeft duimpje worstelen een nieuwe twist: de verliezer krijgt een schok! Daarnaast telt het apparaat zelf af tot 3, zodat je nooit meer vals kan spelen
Безопасная вечеринка этим летом со светодиодной чашкой Arduino, реагирующей на алкоголь в крови: 10 шагов
Безопасная вечеринка этим летом с чашкой Arduino, реагирующей на алкоголь и кровь: Уровень сложности проекта: средний Необходимые навыки: - Чтение и копирование диаграммы - Пайка, если вы решите не покупать предварительно припаянные детали. Введение в проект В Соединенных Штатах и во всем мире алкоголь имеет представляют серьезную угрозу здоровью, поскольку