תוכן עניינים:
- שלב 1: התקנה ראשונית
- שלב 2: הגדר את Ngrok
- שלב 3: סקריפט פייתון לבקרת מתג אור
- שלב 4: סקריפט פייתון לבקרת מעריצים
- שלב 5: התקנה ותצורה של חבילת LIRC
- שלב 6: סקריפט פייתון לבקרת טלוויזיה
- שלב 7: היכנס לחשבון AWS
- שלב 8: התקנת מיומנויות טלוויזיה Alexa
- שלב 9: מדליק הגדרת מיומנות Alexa
- שלב 10: מעריץ הגדרות מיומנות Alexa
- שלב 11: בנה את הסירויט
- שלב 12: פקודות Alexa
וִידֵאוֹ: שליטה בסלון עם אלקסה ופטל פי: 12 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
שלוט בטלוויזיה, באורות ובמאוורר בסלון שלך עם Alexa (אמזון הד או נקודה) ו- Raspberry Pi GPIO.
שלב 1: התקנה ראשונית
השתמשתי ב- Raspberry Pi 2 ובתמונת Jessie של Raspbian שהורדו מ
לאחר הכניסה, הזן את הפקודות הבאות להתקנת החבילות הנדרשות וספריות הפייתון:
sudo apt-get update && sudo apt-get upgrade -ysudo apt-get install python2.7-dev python-dev python-pip sudo pip להתקין בקבוק הבקבוק-שאל sudo apt-get להתקין lirc
שלב 2: הגדר את Ngrok
בקר בכתובת https://ngrok.com/download וקבל את המהדורה העדכנית ביותר של Linux ARM כקובץ zip ופריצה בתוך ספריית הבית:
לפתוח /home/pi/ngrok-stable-linux-arm.zip
פתח מסוף חדש והזן את הפקודה הבאה:
sudo./ngrok http 4000
פתח מסוף חדש נוסף והזן את הפקודה הבאה:
sudo./ngrok http 4500
פתח את הטרמינל החדש השלישי והזן את הפקודה הבאה:
sudo./ngrok http 5000
שלב 3: סקריפט פייתון לבקרת מתג אור
פתח הפעלת מסוף חדשה וצור קובץ פייתון חדש בשם light_control.py:
ננו light_control.py
העתק/הדבק את הקוד הבא בקובץ החדש:
מתוך ייבוא בקבוקי בקבוק מיבוא_בקבוק_בקש, הצהרה, שגיאות המרה ייבוא RPi. GPIO כרישום יבוא של GPIO ייבוא os GPIO.setmode (GPIO. BCM) app = Flask (_ name_) ask = Ask (app, '/') logging.getLogger (" flask_ask "). setLevel (logging. DEBUG) @ask.intent ('LightControlIntent', mapping = {'status': 'status'}) def light_control (סטטוס): נסה: pinNum = 27 למעט חריגה כהצהרת החזרה ('מספר סיכה לא תקף.') GPIO.setup (pinNum, GPIO. OUT) אם הסטטוס ב- ['מופעל', 'גבוה']: פלט GPIO.out (pinNum, GPIO. LOW) אם הסטטוס ב- '' כבוי ',' low ']: GPIO.output (pinNum, GPIO. HIGH) הצהרת החזרה (' הפעלת {} פורמט אורות הסלון '(סטטוס)) אם _name_ ==' _main_ ': port = 4000 app.run (host =' 0.0.0.0 ', יציאה = יציאה)
שמור וסגור את הקובץ.
הפעל את שרת הבקבוקונים עם:
sudo python light_control.py
השאר את ngrok ו- light_control.py פועל
שלב 4: סקריפט פייתון לבקרת מעריצים
פתח הפעלת מסוף חדשה וצור קובץ פייתון חדש בשם fan_control.py:
nano fan_control.py
העתק/הדבק את הקוד הבא בקובץ החדש:
מבקבוק יבוא בקבוק
מיבוא flask_ask import שאל, הצהרה, convert_errors ייבוא RPi. GPIO כ- GPIO יבוא רישום יבוא os GPIO.setmode (GPIO. BCM) app = Flask (_ name_) ask = Ask (app, '/') logging.getLogger ("flask_ask").setLevel (logging. DEBUG) @ask.intent ('FanControlIntent', mapping = {'status': 'status'}) def fan_control (סטטוס): נסה: pinNum = 22 למעט חריגה בתור e: משפט החזרה ('מספר סיכה' לא תקף. ') GPIO.setup (pinNum, GPIO. OUT) אם הסטטוס ב- [' on ',' high ']: GPIO.output (pinNum, GPIO. LOW) אם הסטטוס ב- [' כבוי ',' נמוך ']: הצהרת החזרה של GPIO.output (pinNum, GPIO. HIGH) ('הפעלת {} פורמט האורות בסלון' (סטטוס)) אם _name_ == '_main_': port = 4500 app.run (host = '0.0.0.0 ', port = port)
שמור וסגור את הקובץ.
הפעל את שרת הבקבוקונים עם:
sudo python fan_control.py
השאר את ngrok, light_control.py ו- fan_control.py פועל
שלב 5: התקנה ותצורה של חבילת LIRC
על מנת לשלוט בטלוויזיה עליך להגדיר סיכה ב- Raspberry Pi ליצירת אותות אינפרא אדום (IR) לטלוויזיה הספציפית שלך. פתח את הטרמינל והזן את הפקודה הבאה להתקנת חבילת LIRC המחקה את אותות האינפרא אדום של שלט רחוק רבים.
sudo apt-get להתקין lirc
לאחר מכן, עליך להפעיל ולהגדיר את מודול הגרעין lirc_rpi. לשם כך, פתח מודולים בעורך ננו
sudo nano /etc /modules
הוסף את השורות למטה לקובץ (ודא שהפרמטר gpio_out_pin מצביע על הסיכה השולטת בנורית ה- IR):
lirc_devlirc_rpi gpio_out_pin = 17
לאחר מכן, פתח את קובץ hardware.conf ב- Nano כמו קודם עם sudo:
sudo nano /etc/lirc/hardware.conf
הוסף את התצורה הבאה לקובץ:
LIRCD_ARGS = "-uinput" LOAD_MODULES = נכון
DRIVER = "ברירת מחדל"
DEVICE = "/dev/lirc0"
MODULES = "lirc_rpi"
LIRCD_CONF = ""
LIRCMD_CONF = ""
כעת, הפעל מחדש את ה- Raspberry Pi:
sudo אתחול מחדש
שלב 6: סקריפט פייתון לבקרת טלוויזיה
פתח הפעלת מסוף חדשה וצור קובץ פייתון חדש בשם ir_control.py:
ננו ir_control.py
עבור אל
מצא שלט תואם לטלוויזיה שלך. במקרה שלי יש לי טלוויזיה Sanyo שעובדת עם קובץ התצורה sanyo-tv01. לאחר שתמצא קובץ התומך בטלוויזיה שלך פתח אותו ועיין באפשרויות הפקודה.
העתק/הדבק את הקוד הבא לתוך הקובץ החדש והחלף את sanyo-tv01 בשם הקובץ שעובד עם הטלוויזיה שלך. וודא גם כי פקודות הטלוויזיה נתמכות על ידי קובץ התצורה של הטלוויזיות שלך; ייתכן שיהיה עליך לשנות את הפקודות KEY_POWER, KEY_VIDEO, KEY_VOLUMEUP, KEY_VOLUMEDOWN ו- KEY_MUTE כדי לפעול כראוי עם קובץ התצורה של הטלוויזיה שלך:
מתוך ייבוא בקבוקי בקבוק מיבוא_בקבוק_בקש, הצהרה, שגיאות המרה ייבוא RPi. GPIO כרישום יבוא של GPIO ייבוא os GPIO.setmode (GPIO. BCM) app = Flask (_ name_) ask = Ask (app, '/') logging.getLogger (" 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 ") החזרה statement ('שינוי קלט בטלוויזיה') סטטוס 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 ") הצהרת החזרה ('הגברת עוצמת הקול בטלוויזיה') סטטוס elif ב ['הפחת נפח']: 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.system ("irsend SEND_ONCE sanyo-tv01 KEY_VOLUMEDOWN") os.system " ") הצהרת החזרה ('הפחתת עוצמת הקול בטלוויזיה') סטטוס elif ב ['השתק']: מערכת os.system (" irsend SEND_ONCE sanyo-tv01 KEY_MUTE ") הצהרת החזרה ('השתקת הטלוויזיה') סטטוס elif ב ['בטל השתקה' ']: os.system ("irsend SEND_ONCE sanyo-tv01 KEY_MUTE") הצהרת החזרה (' ביטול השתקת הטלוויזיה ') אחר: הצהרת החזרה (' פונקציה מרחוק לא נמצאה. ') אם _name_ ==' _main_ ': port = 5000 אפליקציה.run (host = '0.0.0.0', port = port)
שמור וסגור את הקובץ.
הפעל את שרת הבקבוקונים עם:
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"}], "intention": "GPIOControlIntent "}]}
לאחר מכן לחץ על 'הוסף סוג חריץ'
הזן TV_Function בשדה 'הזן סוג'.
הזן את הערכים הבאים בשדה 'הזן ערכים':
להדליק
כבה שינוי קלט הגברת עוצמת הקול הפחת את עוצמת הקול השתקה
לאחר מכן, העתק/הדבק את הדברים הבאים בתיבה 'אמירות לדוגמה':
GPIOControlIntent {status}
GPIOControlIntent {status} לפי {amount}
לחץ על 'הבא' כדי להמשיך.
בחר 'HTTPS' כסוג נקודת הקצה של השירות ובחר אזור. הזן את כתובת ה- ngrok משלב 2 ולחץ על 'הבא'. כתובת האתר צריכה להיות בערך כמו:
ed6ea04d.ngrok.io
לחץ על 'הבא' כדי להמשיך ולחץ על 'שמור'.
שלב 9: מדליק הגדרת מיומנות Alexa
סגור את המיומנות הפתוחה ובחר "הוסף מיומנות חדשה".
הגדר את שם המיומנות ל'בקרת אורות 'ושם ההזמנה למילים בהן ברצונך להשתמש כדי להפעיל את המיומנות.
לחץ על 'הבא' כדי להמשיך. העתק/הדבק את הדברים הבאים בתיבה 'סכמת הכוונה':
{
"intents": [{"slots": [{"name": "status", "type": "LIGHTS_CONTROL"}], "intention": "LightsControlIntent"}]}
לאחר מכן לחץ על 'הוסף סוג חריץ'.
הזן "LIGHTS_CONTROL" בשדה 'הזן סוג'.
הזן את הערכים הבאים בשדה 'הזן ערכים':
עַל
כבוי
לאחר מכן, העתק/הדבק את הדברים הבאים בתיבה 'אמירות לדוגמה':
LightsControlIntent turn {status}
לחץ על 'הבא' כדי להמשיך. בחר 'HTTPS' כסוג נקודת קצה השירות ובחר אזור. הזן את כתובת ה- ngrok משלב 2 ולחץ על 'הבא'. כתובת האתר צריכה להיות בערך כמו:
ed6ea04d.ngrok.io
לחץ על 'הבא' כדי להמשיך ולחץ על 'שמור'.
שלב 10: מעריץ הגדרות מיומנות Alexa
סגור את המיומנות הפתוחה ובחר "הוסף מיומנות חדשה".
הגדר את שם המיומנות ל'בקרת מעריצים 'ואת שם ההזמנה למילים שבהן ברצונך להשתמש כדי להפעיל את המיומנות.
לחץ על 'הבא' כדי להמשיך.
העתק/הדבק את הדברים הבאים בתיבה 'סכמת הכוונה':
{
"intents": [{"slots": [{"name": "status", "type": "FAN_CONTROL"}], "intention": "FANControlIntent"}]}
לאחר מכן לחץ על 'הוסף סוג חריץ'.
הזן "FAN_CONTROL" בשדה 'הזן סוג'.
הזן את הערכים הבאים בשדה 'הזן ערכים':
עַל
כבוי
לאחר מכן, העתק/הדבק את הדברים הבאים בתיבה 'אמירות לדוגמה':
פניית FANControlIntent {status}
לחץ על 'הבא' כדי להמשיך. בחר 'HTTPS' כסוג נקודת הקצה של השירות ובחר אזור. הזן את כתובת ה- ngrok משלב 2 ולחץ על 'הבא'. כתובת האתר צריכה להיות בערך כמו:
ed6ea04d.ngrok.io
לחץ על 'הבא' כדי להמשיך ולחץ על 'שמור'.
שלב 11: בנה את הסירויט
חבר את המעגל כפי שמוצג בתרשים. השתמשתי במודול ממסר ממסר JBtek 8 ערוצים DC 5V כדי להתחבר לבתי AC 120v AC וקרקע.
שלב 12: פקודות Alexa
כעת ניתן לדבר עם Alexa על הפקודות הבאות כדי לשלוט בסלון שלך.
מוּמלָץ:
משגר רקטות המבוסס על -אלקסה: 9 שלבים (עם תמונות)
משגר רקטות מבוסס קול מבוסס אלקסה: ככל שעונת החורף מתקרבת; מגיע באותה תקופה בשנה שבה חוגגים את חג האורות. כן, אנחנו מדברים על דיוואלי שהוא פסטיבל הודי אמיתי שנחגג ברחבי העולם. השנה, דיוואלי כבר נגמר, ורואים אנשים
"אלקסה, שלח לי את המילים ל- _____": 9 שלבים (עם תמונות)
"אלקסה, שלח לי את המילים ל- _____": האזנה לשיר שאתה רוצה לשיר יחד איתו? בדרך כלל יהיה עליך לעבור את המשימה המפרכת להקליד את שם השיר בגוגל, ואחריו המילה " מילים ". בדרך כלל היית עושה כמות גדולה של שגיאות כתיב, לחץ על טעות
רובוט שחמט עשוי לגו ופטל פי: 6 שלבים
רובוט שחמט עשוי לגו ופטל פי: הפתיע את חבריך עם רובוט השחמט הזה! זה לא קשה מדי לבנות אם יצרת בעבר רובוטי LEGO ואם יש לך לפחות ידע בסיסי בתכנות מחשבים ולינוקס. הרובוט מבצע מהלכים משלו ומשתמש בזיהוי חזותי
מאוורר קל ופטל פאי DIY: 4 שלבים
מאוורר קל ופטל פי זול DIY: זהו מדריך קל ומהיר כיצד להכין מאוורר קטן, אך רב עוצמה, של פטל פטל. תהנה
שליטה במבוך האיזון עם אלקסה: 6 שלבים (עם תמונות)
שלוט במבוך האיזון עם אלקסה: שלוט במבוך האיזון עם אלקסה העבר את המבוך באמצעות קול. ראשית, עיין בסרטון. זהו סיכום הפעולה. שוחח עם Alexa (Raspberry Pi + AVS) אמור: Alexa Start SkillSAY: BARANSU MEIRO WO KIDOU SHITE הורו כישרון: 1 DO, UE N