Управление освещением и голосовое оповещение о погоде
-
Управление освещением и голосовое оповещение о погоде. Пример кода и электрическая схема подлючения реле к Raspberry Pi. Запилил видео, где рассказываю о простейшем применении "малинки".
Предварительно установитеmplayer и alsa:
sudo apt-get install alsa-utils sudo apt-get install mplayer
Также установите pip для Python, для легкой установки пакетов. И затем c его помощью установите feedparser. Рассказывать не буду, проще найти информацию по запросу "install pip python" в гугле )
Сам код для скрипта WebIOPi:
# заставляем работать с кодировкой utf8, необходимо для гугло транслита # -*- coding: utf-8 -*- # импорт модулей import webiopi import subprocess import feedparser # получаем GPIO GPIO = webiopi.GPIO # константы на нумерацию портов GPIO LIGHT = 23 LIGHT2 = 18 BUTTON1 = 17 BUTTON2 = 22 def setup(): # конфигурируем пины GPIO GPIO.setFunction(LIGHT, GPIO.OUT) GPIO.setFunction(LIGHT2, GPIO.OUT) GPIO.setFunction(BUTTON1, GPIO.IN) GPIO.setFunction(BUTTON2, GPIO.IN) def loop(): # ловим нажатие кнопки 1 if (GPIO.digitalRead(BUTTON1) == GPIO.HIGH): # инвертируем значение на пине (программный свитч) GPIO.digitalWrite(LIGHT, not GPIO.digitalRead(LIGHT)) # ловим нажатие кнопки 2 if (GPIO.digitalRead(BUTTON2) == GPIO.HIGH): # предупреждаем о задержке subprocess.call(["mplayer", "http://translate.google.com/translate_tts?tl=ru&ie=UTF-8&q=Пожалуйста, ожидайте, запрашиваю погоду."]) # вытаскиваем погоду d = feedparser.parse('http://rp5.kz/rss/76334/ru') # читаем погоду subprocess.call(["mplayer", "http://translate.google.com/translate_tts?tl=ru&ie=UTF-8&q="+d.entries[0].title]) def destroy(): # заканчиваем работу, выключаем свет ) GPIO.digitalWrite(LIGHT, GPIO.LOW)
Схема:
Транзистор любой NPN структуры, я использовал советский КТ961Б, для работы в режиме коммутации подойдет любой. Сопротивление подобрать для необходимого тока открывания транзистора. Реле я взял SRI-05VDC-SD-C с напряжением 5 вольт и максимальным током для контактов 10А. Диод 1N4001 вроде, необходим для уберания эффекта самоиндукции катушки реле, иначе попалим транзистор и ногу малинки. Земля на транзисторе общая с питанием реле и малиной. НИ В КОЕМ СЛУЧАЕ НЕ ПИТАЙТЕ РЕЛЕ ОТ GPIO! Спалите нахрен малину) Перед питанием можно включить реле. А так желательно отдельный источник питания для таких штук. Реле можно и на 12 вольт.Просьба не винить меня за спаленные малины, делаете все на свой страх и риск. Необходимо уметь держать паяльник и знать основы работы с электрическими цепями. Осторожнее в цепях 220 вольт! Это смертельно.