Агуулгын хүснэгт:
- Алхам 1: Анхны тохиргоо
- Алхам 2: Ngrok -ийг тохируулна уу
- Алхам 3: Гэрлийн унтраалгыг хянах Python скрипт
- Алхам 4: Fan Control -д зориулсан Python скрипт
- Алхам 5: LIRC багцыг суулгаж тохируулах
- Алхам 6: ТВ хянах Python скрипт
- Алхам 7: AWS данс руу нэвтрэх
- Алхам 8: ТВ Alexa ур чадварын тохиргоо
- Алхам 9: Alexa ур чадварын тохиргоо
- Алхам 10: Фен Alexa ур чадварын тохиргоо
- Алхам 11: Цирутыг бүтээх
- Алхам 12: Alexa тушаалууд
Видео: Alexa болон Raspberry Pi -ийн тусламжтайгаар зочны өрөөг удирдах: 12 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Alexa (Amazon Echo эсвэл Dot) болон Raspberry Pi GPIO ашиглан зочны өрөөнийхөө ТВ, гэрэл, сэнсийг удирдаарай.
Алхам 1: Анхны тохиргоо
Би https://www.raspberrypi.org/downloads/raspbian/ дээрээс татаж авсан Raspberry Pi 2 болон Raspbian Jessie -ийн зургийг ашигласан.
Нэвтэрсний дараа шаардлагатай багцууд болон python сангуудыг суулгахын тулд дараах тушаалуудыг оруулна уу.
sudo apt-get update && sudo apt-get upgrade -ysudo apt-get install python2.7-dev python-dev python-pip sudo pip install Flask колбо-sudo apt-get install lirc
Алхам 2: Ngrok -ийг тохируулна уу
Https://ngrok.com/download хаягаар зочилж, хамгийн сүүлийн үеийн Linux ARM хувилбарыг гэрийн директор дотроос зип хэлбэрээр задалж аваарай.
задлах/home/pi/ngrok-stable-linux-arm.zip
Шинэ терминал нээгээд дараах тушаалыг оруулна уу.
sudo./ngrok http 4000
Өөр шинэ терминал нээгээд дараах тушаалыг оруулна уу.
sudo./ngrok http 4500
Гурав дахь шинэ терминалыг нээгээд дараах тушаалыг оруулна уу.
sudo./ngrok http 5000
Алхам 3: Гэрлийн унтраалгыг хянах Python скрипт
Шинэ терминалын сесс нээж light_control.py нэртэй шинэ python файл үүсгэнэ үү.
нано light_control.py
Дараах кодыг шинэ файл руу хуулж/буулгана уу.
колбоны импортоос Flaskflask_ask импорт Асуулт, мэдэгдэл, convert_errors RPi. GPIO -ийг GPIO импортлох бүртгэлийг оруулах flask_ask "). setLevel (logging. DEBUG) @ask.intent ('LightControlIntent', mapping = {'status': 'status'}) def light_control (status): try: pinNum = 27 in Exception in e: return statement ('Пин дугаар буруу байна.') GPIO.setup (pinNum, GPIO. OUT) хэрэв ['on', 'high'] дэх төлөв: GPIO.output (pinNum, GPIO. LOW) бол ['off', 'төлөвт байвал бага ']: GPIO.output (pinNum, GPIO. HIGH) буцах мэдэгдэл (' Зочны өрөөний гэрлийг асаах 'форматыг (статус)) хэрэв _name_ ==' _main_ ': порт = 4000 app.run (host =' 0.0.0.0 ', порт = порт)
Файлыг хадгалаад хаах.
Колбаны серверийг дараах байдлаар эхлүүлнэ үү.
sudo python light_control.py
Ngrok болон light_control.py хоёуланг нь ажиллуулна уу
Алхам 4: Fan Control -д зориулсан Python скрипт
Шинэ терминалын сесс нээж fan_control.py нэртэй шинэ python файл үүсгэнэ үү.
нано fan_control.py
Дараах кодыг шинэ файл руу хуулж/буулгана уу.
колбоны импортоос Колбо
flask_ask импортоос Асуулт, мэдэгдэл, convert_errors RPi. GPIO -г GPIO хэлбэрээр импортлох бүртгэл импортлох GPIO.setmode (GPIO. BCM) апп = Колбо (_ name_) ask = Ask (app, '/') logging.getLogger ("flask_ask").setLevel (logging. DEBUG) @ask.intent ('FanControlIntent', mapping = {'status': 'status'}) def fan_control (status): try: pinNum = 22 in Exception in e: return statement ('Pin number) хүчин төгөлдөр биш байна. ') GPIO.setup (pinNum, GPIO. OUT) хэрэв [' on ',' high '] дэх төлөв: GPIO.output (pinNum, GPIO. LOW) бол [' off ',' low ']: GPIO.output (pinNum, GPIO. HIGH) буцах мэдэгдэл ('Зочны өрөөний гэрлийг асаах'.format (төлөв)) бол _name_ ==' _main_ ': port = 4500 app.run (host =' 0.0.0.0 ', порт = порт)
Файлыг хадгалаад хаах.
Колбаны серверийг дараах байдлаар эхлүүлнэ үү.
sudo python fan_control.py
Ngrok, light_control.py, fan_control.py хоёрыг хоёуланг нь ажиллуулж орхих хэрэгтэй
Алхам 5: LIRC багцыг суулгаж тохируулах
ТВ -ийг хянахын тулд та Raspberry Pi дээрх зүүг тохируулж, өөрийн телевизийн хэт улаан туяаны (IR) дохиог үүсгэх ёстой. Олон алсын удирдлагын хэт улаан туяаны дохиог дуурайдаг LIRC багцыг суулгахын тулд терминалыг нээгээд дараах тушаалыг оруулна уу.
sudo apt-get lirc суулгах
Дараа нь та lirc_rpi цөмийн модулийг идэвхжүүлэх, тохируулах хэрэгтэй. Үүнийг хийхийн тулд модулийг Nano редактор дээр нээнэ үү
sudo нано /etc /модулиуд
Доорх мөрүүдийг файлд нэмнэ үү (gpio_out_pin параметр нь IR LED -ийг хянадаг зүү рүү чиглэсэн эсэхийг шалгаарай):
lirc_devlirc_rpi gpio_out_pin = 17
Дараа нь, Nano дахь hardware.conf файлыг урьдын адил sudo ашиглан нээнэ үү.
sudo нано /etc/lirc/hardware.conf
Дараах тохиргоог файлд нэмнэ үү.
LIRCD_ARGS = "-оролт" LOAD_MODULES = үнэн
ЖОЛООЧ = "анхдагч"
ТӨХӨӨРӨМ = "/dev/lirc0"
МОДУЛЬ = "lirc_rpi"
LIRCD_CONF = ""
LIRCMD_CONF = ""
Одоо Raspberry Pi -г дахин ачаална уу:
sudo дахин ачаална уу
Алхам 6: ТВ хянах Python скрипт
Шинэ терминалын сесс нээж, ir_control.py нэртэй шинэ python файл үүсгэнэ үү.
нано ir_control.py
Http://lirc-remotes.sourceforge.net/remotes-table руу орно уу.
ТВ -тэйгээ тохирох алсын удирдлагыг олоорой. Миний хувьд sanyo-tv01 тохиргооны файлтай ажилладаг Sanyo ТВ байна. ТВ -ээ дэмждэг файлыг олсны дараа нээгээд командын сонголтуудыг үзээрэй.
Дараах кодыг шинэ файл руу хуулж/оруулаад sanyo-tv01-ийг ТВтэйгээ ажилладаг файлын нэрээр солино уу. ТВ командыг таны ТВ -ийн тохиргооны файл дэмждэг эсэхийг шалгаарай; ТВ -ийн тохиргооны файлтай зөв ажиллахын тулд та KEY_POWER, KEY_VIDEO, KEY_VOLUMEUP, KEY_VOLUMEDOWN, KEY_MUTE тушаалуудыг өөрчлөх шаардлагатай болж магадгүй юм.
колбоны импортоос Flaskflask_ask импорт Асуулт, мэдэгдэл, convert_errors RPi. GPIO -ийг GPIO импортлох бүртгэлийг оруулах flask_ask "). setLevel (logging. DEBUG) @ask.intent ('GPIOControlIntent', mapping = {'status': 'status'}) #'pin': 'pin'}) def tv_function (status): if status in ['асаах']: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_POWER") буцах мэдэгдэл ('ТВ асаах') elif төлөв ['унтраах']: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_POWER ") буцах мэдэгдэл ('ТВ-г унтраах') elif төлөв ['оролтыг өөрчлөх']: os.system (" irsend SEND_ONCE sanyo-tv01 KEY_VIDEO ") os.system (" irsend SEND_ONCE sanyo-tv01 KEY_VIDEO ") буцах мэдэгдэл ('ТВ дээрх оролтыг өөрчилж байна') elif төлөв ['дууны хэмжээг нэмэгдүүлэх]: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP ") os.system (" irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEUP ") буцах мэдэгдэл ('ТВ-ийн дууны хэмжээг нэмэгдүүлэх') os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEDOWN") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEDOWN") os.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEDOWN") os.sy_ ") буцах мэдэгдэл ('Телевизийн дууны хэмжээ буурах') elif status ['mute']: os.system (" irsend SEND_ONCE sanyo-tv01 KEY_MUTE ") буцах мэдэгдэл ('ТВ-ийн дууг хаах') elif төлөв ['дууг нээх. ']: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_MUTE") буцах мэдэгдэл (' ТВ-ийн дууг нээх ') өөр: хэрэв _name_ ==' _main_ 'бол: буцах мэдэгдэл (' Алсын функц олдсонгүй. '): port = 5000 апп.run (хост = '0.0.0.0', порт = порт)
Файлыг хадгалаад хаах.
Колбаны серверийг дараах байдлаар эхлүүлнэ үү.
sudo python ir_control.py
Ngrok терминалын гурван цонх, light_control.py, fan_control.py, ir_control.py -ийг ажиллуулж орхих.
Алхам 7: AWS данс руу нэвтрэх
Эхлээд AWS хөгжүүлэгчийн бүртгэлээ үүсгэн нэвтрээд Alexa ур чадварын жагсаалтаа нээнэ үү.
Алхам 8: ТВ Alexa ур чадварын тохиргоо
"Шинэ ур чадвар нэмэх" -ийг сонгоно уу.
Ур чадварын нэрийг 'Trigger TV', дуудлагын нэрийг ур чадвараа идэвхжүүлэхийн тулд ашиглахыг хүсч буй үг (үүд) болгож тохируулаарай.
Үргэлжлүүлэхийн тулд 'Дараах' дээр дарна уу.
Дараахь зүйлийг "Зорилгын схем" хайрцагт хуулж/буулгана уу.
"slots": [{{"name": "status", "type": "TV_Function"}, {"name": "amount", "type": "AMAZON. NUMBER"}], "санаа": "GPIOControlIntent "}]}
Дараа нь 'Slot Type нэмэх' дээр дарна уу.
'Enter Type' талбарт TV_Function -ийг оруулна уу.
'Утга оруулах' талбарт дараах утгуудыг оруулна уу.
асаах
унтраах өөрчлөлт оролт нэмэгдүүлэх эзлэхүүн бууруулах дууны дууг хаах
Дараа нь 'Жишээ үгс' хайрцагт дараах зүйлийг хуулж/буулгана уу.
GPIOControlIntent {status}
GPIOControlIntent {status} -аар {хэмжээний}
Үргэлжлүүлэхийн тулд 'Дараах' дээр дарна уу.
"HTTPS" -ийг үйлчилгээний төгсгөлийн цэгийн төрлөөр сонгоод бүсийг сонгоно уу. 2 -р алхамаас ngrok URL -г оруулаад "Дараах" дээр дарна уу. URL нь иймэрхүү байх ёстой:
ed6ea04d.ngrok.io
Үргэлжлүүлэхийн тулд 'Дараах' дээр дарж 'Хадгалах' дээр дарна уу.
Алхам 9: Alexa ур чадварын тохиргоо
Нээлттэй ур чадварыг хааж, "Шинэ ур чадвар нэмэх" -ийг сонгоно уу.
Ур чадварын нэрийг "Гэрлийн хяналт", дуудлагын нэрийг ур чадвараа идэвхжүүлэхийн тулд ашиглахыг хүссэн үг (үүд) болгож тохируулна уу.
Үргэлжлүүлэхийн тулд 'Дараах' дээр дарна уу. Дараахь зүйлийг "Зорилгын схем" хайрцагт хуулж/буулгана уу.
{
"intents": [{"slots": [{"name": "status", "type": "LIGHTS_CONTROL"}], "санаа": "LightsControlIntent"}]}
Дараа нь 'Slot Type нэмэх' дээр дарна уу.
'Type Type' талбарт "LIGHTS_CONTROL" оруулна уу.
'Утга оруулах' талбарт дараах утгуудыг оруулна уу.
дээр
унтраасан
Дараа нь 'Жишээ үгс' хайрцагт дараах зүйлийг хуулж/буулгана уу.
LightsControlIntent {status} эргэх
Үргэлжлүүлэхийн тулд 'Дараах' дээр дарна уу. Үйлчилгээний төгсгөлийн цэгийн хувьд 'HTTPS' -ийг сонгоод бүс нутгийг сонгоно уу. 2 -р алхамаас ngrok URL -г оруулаад "Дараах" дээр дарна уу. URL нь иймэрхүү байх ёстой:
ed6ea04d.ngrok.io
Үргэлжлүүлэхийн тулд 'Дараах' дээр дарж 'Хадгалах' дээр дарна уу.
Алхам 10: Фен Alexa ур чадварын тохиргоо
Нээлттэй ур чадварыг хааж, "Шинэ ур чадвар нэмэх" -ийг сонгоно уу.
Ур чадварын нэрийг 'Fan Control' болгож, уриалгын нэрийг ур чадвараа идэвхжүүлэхийн тулд ашиглахыг хүссэн үг (үүд) болгож тохируулна уу.
Үргэлжлүүлэхийн тулд 'Дараах' дээр дарна уу.
Дараахь зүйлийг "Зорилгын схем" хайрцагт хуулж/буулгана уу.
{
"intents": [{"slots": [{"name": "status", "type": "FAN_CONTROL"}], "санаа": "FANControlIntent"}]}
Дараа нь 'Slot Type нэмэх' дээр дарна уу.
'Type Type' талбарт "FAN_CONTROL" оруулна уу.
'Утга оруулах' талбарт дараах утгуудыг оруулна уу.
дээр
унтраасан
Дараа нь 'Жишээ үгс' хайрцагт дараах зүйлийг хуулж/буулгана уу.
FANControlIntent {status} руу эргэх
Үргэлжлүүлэхийн тулд 'Дараах' дээр дарна уу. Үйлчилгээний төгсгөлийн цэгийн хувьд 'HTTPS' -ийг сонгоод бүс нутгийг сонгоно уу. 2 -р алхамаас ngrok URL -г оруулаад "Дараах" дээр дарна уу. URL нь иймэрхүү байх ёстой:
ed6ea04d.ngrok.io
Үргэлжлүүлэхийн тулд 'Дараах' дээр дарж 'Хадгалах' дээр дарна уу.
Алхам 11: Цирутыг бүтээх
Диаграммд үзүүлсэн шиг хэлхээг холбоно уу. Би JBtek 8 суваг DC 5V реле модулийг ашиглан гэрт AC 120v шугам, газардуулгыг холбосон.
Алхам 12: Alexa тушаалууд
Одоо Alexa -д зочны өрөөгөө удирдахын тулд дараах тушаалуудыг өгч болно.
Зөвлөмж болгож буй:
Raspberry Pi болон реле ашиглан төхөөрөмжийг хэрхэн удирдах вэ - ҮНДСЭН: 6 алхам
Raspberry Pi ба реле ашиглан төхөөрөмжийг хэрхэн удирдах вэ? ҮНДСЭН ХЭРЭГЛЭЭ: Энэ бол IoT төсөл хийхэд тустай Raspberry Pi ба реле ашиглан төхөөрөмжийг хэрхэн удирдах талаархи үндсэн бөгөөд шууд заавар юм. Энэхүү заавар нь эхлэгчдэд зориулагдсан бөгөөд ээлтэй Бөөрөлзгөнө хэрэглэх талаар огт мэдлэггүй байсан ч дагаж мөрдөөрэй
ТВ болон Raspberry Pi -ийг ижил алсын удирдлагаар удирдах: 4 алхам
ТВ болон холбогдох Raspberry Pi -ийг ижил алсын удирдлагаар удирдах: Хэт улаан туяаны удирдлагатай Raspberry Pi -ийг удирдахын тулд бид өмнө нь LIRC ашиглаж чаддаг байсан. Энэ нь цөм 4.19.X хүртэл ажиллаж байсан бөгөөд LIRC -ийг ажиллуулахад илүү хэцүү болсон. Энэхүү төсөлд бид Raspberry Pi 3 B+ телевизортой холбогдсон бөгөөд бид
Python ашиглан Raspberry Pi болон LIS3DHTR, 3 тэнхлэг бүхий хурдасгуурын тусламжтайгаар хөдөлгөөнийг хянах: 6 алхам
Python ашиглан Raspberry Pi ба LIS3DHTR-ийн тусламжтайгаар 3 тэнхлэг бүхий хурдасгуурын тусламжтайгаар хөдөлгөөнийг хянах: Гоо сайхан нь биднийг хүрээлж байдаг, гэхдээ бид үүнийг мэдэхийн тулд ихэвчлэн цэцэрлэгт алхах хэрэгтэй болдог. Боловсролтой бүлгийн хувьд бид эрчим хүчнийхээ дийлэнх хэсгийг компьютер, гар утасныхаа өмнө ажилладаг. Тиймээс бид сайн сайхан байдлаа байнга өгдөг
Өрөөг тайлах хайрцаг: 7 алхам (зурагтай)
Escape Room Decoder Box: Escape Rooms нь маш сонирхолтой бөгөөд багаар ажиллахад гайхалтай гайхалтай үйл ажиллагаа юм. Та өөрийн зугтах өрөөг бий болгох талаар бодож байсан уу? Энэхүү код тайлагч хайрцагны тусламжтайгаар та замдаа сайн явж чадна! Эс -ийг ашиглах талаар бүр ч сайн бодож үзсэн
Гэрийн цахилгаан хэрэгслийг ухаалаг гар утаснаасаа Blynk App болон Raspberry Pi ашиглан удирдах: 5 алхам (зурагтай)
Гэрийн цахилгаан хэрэгслийг ухаалаг гар утаснаасаа Blynk App болон Raspberry Pi ашиглан удирдах: Энэхүү төсөлд бид гэр ахуйн цахилгаан хэрэгсэл (кофе үйлдвэрлэгч, чийдэн, цонхны хөшиг гэх мэт) -ийг хянахын тулд Blynk болон Raspberry Pi 3 -ийг хэрхэн ашиглах талаар сурах болно. Тоног төхөөрөмжийн бүрэлдэхүүн хэсэг: Raspberry Pi 3 Relay Lamp Breadboard Wires Програм хангамжийн програмууд: Blynk A