
Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:04




Привет!
В этом проекте мы реализуем управление светодиодом на основе Google Assistant с помощью Raspberry Pi 4 с использованием HTTP в Python. Вы можете заменить светодиод на лампочку (очевидно, не буквально, вам понадобится релейный модуль между ними) или любой другой бытовой прибор, чтобы этот проект можно было в дальнейшем реализовать для целей домашней автоматизации.
Запасы
Что вам понадобится для этого проекта:
1. Raspberry Pi
2. Светодиод
3. Провода-перемычки-2 (штекер на гнездо)
4. Макетная плата
5. Приложение IFTTT (https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=en_IN)
6. Аккаунт Thingspeak (https://thingspeak.com/)
Некоторые предпосылки:
1. Основы работы с сетью -
2. Python для доступа к веб-данным
Шаг 1. Создание канала Thingspeak




Если вы новичок в Thingspeak и никогда не использовали его раньше, выполните следующие действия:
Перейдите на
Вам нужно будет зарегистрироваться, прежде чем вы начнете использовать Thingspeak
После регистрации перейдите в раздел Каналы
В разделе "Каналы" выберите "Новый канал" (см. Изображение для справки).
В Новом канале вы увидите разные информационные окна. Вам просто нужно заполнить поле Имя. Вы можете назвать свой канал как хотите. Я прикрепил изображение, в котором назвал свой канал Raspberry Pi 4. Остальные коробки оставьте как есть.
Поздравляю! Вы успешно создали канал для своего IoT-проекта. (см. прикрепленное изображение, где вы можете увидеть, что мой канал под названием Raspberry Pi 4 успешно создан)
Шаг 2. Использование приложения IFTTT




Мы должны использовать это приложение для запуска запроса GET для публикации данных на созданном вами канале Thingspeak с помощью Google Assistant. Думайте об этом приложении как об интерфейсе между Google Assistant и вашим каналом Thingspeak.
Затем мы создаем запросы GET в приложении IFTTT.
Загрузите приложение IFTTT со страницы
Создать аккаунт
Перейти к созданию собственных апплетов с нуля
Нажмите, если эта опция
Выберите службу триггера как Google Assistant
В нем выберите Произнесите простую фразу.
Под этой опцией появятся некоторые информационные окна. Для этого обратитесь к изображениям и внесите соответствующие данные! (для этого есть два изображения: 1. Для включения светодиода 2. Для выключения светодиода)
Мы завершили часть If This, которая представляет собой Google Assistant. Теперь мы выбираем вариант "Затем", то есть Webhooks.
Под ним выберите Сделать веб-запрос.
Обратитесь к изображению для получения информации, которую необходимо заполнить в полях. Обратитесь к этому URL-адресу https://api.thingspeak.com/update?api_key=INSERT YOUR WRITE API KEY & field1 = 1
В приведенном выше URL-адресе вы заметите, что я упомянул ВСТАВЬТЕ ВАШ КЛЮЧ API ЗАПИСИ. Это ключ API, который является идентификатором канала, который вы создали на Thingspeak (см. Изображение). Запись ключа API поможет вам записать определенные данные в ваш канал, и аналогично ключ API чтения поможет вам получить данные из канала.
За исключением вашего ключа API записи, остальная информация в полях остается неизменной.
Итак, вы создали триггер, когда, когда вы говорите своему помощнику Google: «Включите светодиод», он отправит «1» на ваш канал Thingspeak.
Теперь аналогичным образом вам нужно создать новый апплет в приложении IFTTT для выключения светодиода. Я прикрепил изображения, если вы не уверены в этом. В остальном процедура выключения светодиода такая же, как и описанная выше, за исключением некоторых незначительных изменений.
Шаг 3. Наконец, приступаем к программированию

Я объясню основную цель кода Python. Мы должны получить данные из канала Thingspeak, которые будут иметь значение «1» или «0» в зависимости от того, что вы говорите своему помощнику Google. В зависимости от этого мы должны включать или выключать светодиод. Если загруженное значение на канале Thingspeak равно «1», то мы включаем светодиод, а если он «0», мы его выключаем.
В коде вам понадобятся две вещи: 1. Ваш ключ API чтения 2. Ваш идентификатор канала (см. Изображения).
Вот код (при условии, что вы знаете предварительные требования HTTP и Python):
импортировать urllib
запросы на импорт
импортировать json
время импорта
импортировать RPi. GPIO как GPIO
GPIO.setmode (GPIO. BOARD)
GPIO.setup (7, GPIO. OUT)
пытаться:
в то время как (1):
URL = 'https://api.thingspeak.com/channels/INSER YOUR CHANNEL ID / fields / 1.json? Api_key =' KEY = 'INSERT YOUR READ API KEY'
ЗАГОЛОВОК = '& результаты = 2'
NEW_URL = URL + KEY + HEADER
#print (NEW_URL)
get_data = requests.get (NEW_URL).json ()
#print (get_data)
feild_1 = get_data ['каналы']
#print ("Поле:", feild_1)
t =
для x в feild_1:
t.append (x ['поле1'])
печать (t [1])
если int (t [1]) == 1:
GPIO.output (7, 1)
elif int (t [1]) == 0:
GPIO.output (7, 0)
кроме KeyboardInterrupt:
GPIO.cleanup ()
Рекомендуемые:
Тыква на Хэллоуин в стиле Интернета вещей - Управление светодиодами с помощью Arduino MKR1000 и приложения Blynk ???: 4 шага (с изображениями)

Тыква на Хэллоуин в стиле Интернета вещей | Управление светодиодами с помощью Arduino MKR1000 и приложения Blynk ???: Всем привет! Несколько недель назад был Хэллоуин, и, следуя традиции, я вырезал красивую тыкву для своего балкона. Но, имея свою тыкву на открытом воздухе, я понял, что было довольно неприятно каждый вечер выходить на улицу, чтобы зажечь свечу. И я
Управление домашним освещением с помощью Google Assistant с помощью Arduino: 7 шагов

Управляйте освещением дома с помощью Google Assistant с помощью Arduino: (Обновление от 22 августа 2020 г .: этому руководству 2 года, и он основан на некоторых сторонних приложениях. Любое изменение с их стороны может сделать этот проект неработающим. Это может или не может работать сейчас, но вы можете следовать ему как справочнику и изменять в соответствии с
Затухание / управление светодиодами / яркостью с помощью потенциометра (переменного резистора) и Arduino Uno: 3 шага

Затухание / управление светодиодами / яркостью с помощью потенциометра (переменного резистора) и Arduino Uno: аналоговый входной вывод Arduino подключен к выходу потенциометра. Таким образом, аналоговый вывод Arduino ADC (аналого-цифровой преобразователь) считывает выходное напряжение с помощью потенциометра. Вращение ручки потенциометра изменяет выходное напряжение, и Arduino
Управление несколькими светодиодами с помощью Python и контактов GPIO вашего Raspberry Pi: 4 шага (с изображениями)

Управление несколькими светодиодами с помощью Python и контактов GPIO вашего Raspberry Pi: в этом руководстве показано, как управлять несколькими контактами GPIO на вашем RaspberryPi для питания 4 светодиодов. Он также познакомит вас с параметрами и условными операторами в Python. Наше предыдущее руководство по использованию контактов GPIO вашего Raspberry Pi для Con
Управление яркостью Управление светодиодами на основе ШИМ с помощью кнопок, Raspberry Pi и Scratch: 8 шагов (с изображениями)

Управление яркостью Управление светодиодами на основе ШИМ с помощью кнопок, Raspberry Pi и Scratch: я пытался найти способ объяснить своим ученикам, как работает ШИМ, поэтому я поставил себе задачу попытаться управлять яркостью светодиода с помощью 2 кнопок - одна кнопка увеличивает яркость светодиода, а другая - затемняет. Чтобы запрограммировать