תוכן עניינים:

שרת AndyMOTE: 12 שלבים
שרת AndyMOTE: 12 שלבים

וִידֵאוֹ: שרת AndyMOTE: 12 שלבים

וִידֵאוֹ: שרת AndyMOTE: 12 שלבים
וִידֵאוֹ: מה זה שרת ? 2024, נוֹבֶמבֶּר
Anonim
שרת AndyMOTE
שרת AndyMOTE

רציתי שלט רחוק אוניברסלי למערת האדם שלי והבנתי שעלי לעשות זאת באמצעות אפליקציה בטלפון הנייד שלי (כדי לספק את ממשק המשתמש) ו- PI של פטל כדי לספק את ה'בלסטר 'של אינפרא אדום. לאחר בירור קטן גיליתי את פרויקט LIRC שנראה אידיאלי עבור ה'בלסטר '. כתבתי אפליקציית אנדרואיד משלי (AndyMOTE) ותוכנית 'שרת' קטנה כדי לספק ממשק בין השניים.

מדריך זה מראה לך כיצד לבנות את השרת

ההוראות שניתנו כאן צריכות לעבוד עם Raspian Jessie, הן אינן עובדות עם Raspian Buster ובשלב זה אני מבין ש- Raspian הוחלף כעת במערכת ההפעלה Raspberry Pi, יש לי ערכת הוראות מעודכנת באתר שלי (ראה קישור להלן) שעובדים עם Raspian Stretch-Lite או Raspian Buster-Lite

שלב 1: רשימת פריטים

  • RaspberryPi Zero WH
  • בקר אינפרה אדום Energenie ENER314-IR
  • כרטיס מיקרו SD (Class 10) (16GB)
  • ספק כוח פטל
  • (אופציונלי) מארז (למשל: Pibow Zero W)
  • (אופציונלי) מרחיב שלט רחוק אינפרא אדום* (מקלט אחד; 4 משדרים)

תצטרך גם צג, מקלדת וכבלים המסוגלים לחבר פריטים אלה ל- Raspberry Pi שלך

שלב 2: הכינו את ה- Raspberry Pi שלכם

הורד את Raspian Lite מכאן והתקן אותו על כרטיס ה- SD שלך (הוראות כאן).

לאחר שמותקן Raspian Lite על כרטיס ה- SD שלך ולפני שתעביר את הכרטיס ל- Raspberry Pi שלך; הרכיבו את הכרטיס במחשב האישי שלכם. צור קובץ ריק /boot /ssh (זה מאפשר SHH בשרת) ובצע את העריכות הבאות לקובץ /boot/config.txt

# הגדר HDMI לפלט רגיל hdmi_drive = 2# הגדר HDMI למצב DMT (מתאים לצגים) hdmi_group = 2# הגדר את הרזולוציה ל 800x600 @ 60hzhdmi_mode = 9dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 17

(ראה כאן להנחיות לגבי הגדרות וידאו)

שלב 3: הרכיב את השרת

הרכיבו את השרת
הרכיבו את השרת

ראשית, הכנס את כרטיס ה- SD שהוכן מראש ל- Raspberry Pi. הכנס את ה- Raspberry Pi למארז שלו. הייתה לי בעיה שבקר ה- ENER314-IR אינפרא אדום הפריע למארז Pibow ולכן לא השתמש בשניים מהחלקים.

לאחר מכן, חבר את בקר ENER314-IR אינפרא אדום Energenie ל- Raspberry Pi (ראה תמונה).

לאחר מכן, חבר את ה- Raspberry Pi למקלדת (באמצעות מחבר USB) ולצג (באמצעות מחבר HDMI … ייתכן שיהיה צורך במתאמים).

לבסוף, הפעל והמתן עד שהיחידה תידלק.

שלב 4: הגדרת רשת

ראשית, פתח את קובץ התצורה המבקש wpa באמצעות העורך המועדף עליך (למשל ננו).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

עבור לסוף הקובץ והוסף את הרשת שלך (למשל).

network = {ssid = "YOUR_SSID" psk = "YOUR_KEY" priority = "1" id_str = "YOUR_SSID_NAME"}

החלף את YOUR_SSID, YOUR_KEY ו- YOUR_SSID_NAME בהתאם לרשת שלך.

שמור את הקובץ, הפעל מחדש את תחינת ה- WPA והפעל מחדש.

$ wpa_cli -i wlan0 להגדיר מחדש את ההפעלה מחדש של sudo

שלב 5: הגדר כתובת IP סטטית

מומלץ שיהיה לשרת שלך כתובת IP קבועה. ייתכן שתוכל להשיג זאת על ידי הגדרת שרת ה- DHCP שלך כראוי או הגדרת ממשק wlan0 לכתובת סטטית ב- Raspberry Pi, ערוך את הקובץ /etc/dhcpcd.conf וכלול את השורות.

# דוגמא לתצורה של IP סטטי: ממשק wlan0static ip_address = 192.168.1.116/נתבים סטטיים = 192.168.1.1 סטטי שם_שרתים = 192.168.1.1 8.8.8.8

שנה 192.168.1.1 לכתובת האמיתית של הנתב שלך ו- 192.168.1.116 לכתובת הסטטית בפועל שאתה צריך עבור היישום שלך.

* ייתכן שתרצה להפעיל את תוכנית השירות raspi-config ולבצע שינויי תצורה בשלב זה.

אתחל בסיום.

שלב 6: התקן את LIRC

התקן את LIRC באמצעות הפקודה.

$ sudo apt-get להתקין lirc

ערוך את קובץ /etc /modules; לְמָשָׁל:

$ sudo nano /etc /modules

והוסף את השורות:

lirc_devlirc_rpi gpio_in_pin = 18 gpio_out_pin = 17

שמור את הקובץ והפעל מחדש.

$ sudo אתחול מחדש

שלב 7: הגדר את LIRC

ערוך את הקובץ /etc/lirc/hardware.conf, למשל:

$ sudo nano /etc/lirc/hardware.conf

ולגרום לזה להיראות כך:

################################################### ####### /etc/lirc/hardware.conf## ארגומנטים שישמשו בעת הפעלת lircdLIRCD_ARGS = "-uinput --listen" ## אל תתחיל lircmd גם אם נראה שיש תצורה טובה קובץ# START_LIRCMD = false ## אל תפעיל irexec, גם אם נראה שקובץ תצורה טוב קיים.# START_IREXEC = false ## נסה לטעון מודולי ליבה מתאימים LOAD_MODULES = true ## הפעל "lircd --driver = עזרה" עבור רשימת מנהלי ההתקנים הנתמכים. DRIVER = "ברירת מחדל" ## בדרך כלל/dev/lirc0 היא ההגדרה הנכונה עבור מערכות המשתמשות udevDEVICE = "/dev/lirc0" MODULES = "lirc_rpi" ## קבצי ברירת מחדל של תצורת החומרה שלך אם בכלל LIRCD_CONF = "" LIRCMD_CONF = "" ערוך את הקובץ /etc/lirc/lirc_options.conf ושנה שורות כדלקמן: driver = defaultdevice =/dev/lirc0

שמור את הקובץ והפעל מחדש את lircd.

$ sudo systemctl הפעלה מחדש lircd

שלב 8: בדיקת המקלט

הזן את רצף הפקודות הבא כדי לעצור את Lemon Demon ולבדוק את המקלט.

$ sudo systemctl stop lircd $ sudo mode2

התוכנית mode2 תוציא לקונסולה את יחס מרווח הסימון של אות IR. כוון שלט רחוק אל מקלט ה- IR ולחץ על כמה כפתורים. אתה אמור לראות משהו כזה:

space 16300pulse 95space 28794pulse 80space 19395pulse 83space 402351

כשתסיים לחץ על ctl-c והפעל מחדש את Daemon LIRC באמצעות הפקודה הבאה.

$ sudo systemctl start lircd

שלב 9: הוספת שלטים - שיטה 1

LIRC משתמשת בקבצי תצורה המכילים נתונים הנוגעים לכל שלט רחוק הניתנים לחיקוי של LIRC. עליך ליצור או לספק קבצי תצורה אלה על מנת שתתי מערכת LIRC תפעל כרצונך.

חָשׁוּב

עליך לספק קובץ תצורה נפרד עבור כל מרחוק שיש לחקות אותו. קבצי התצורה חייבים להיות מאוחסנים בספרייה /etc/lirc/lircd.conf.d. בחירת שם המפתח חשובה לחוויית AndyMOTE הטובה ביותר, בעת בחירת שמות למפתחות שלך, אנא עקוב אחר ההנחיות כאן. ניתן להוריד קבצי Config מכאן אך היזהר כי אם אתה משתמש בהם, הם חייבים להכיל תצורה מרוחקת אחת בלבד. (קבצי Config הם קבצי טקסט פשוטים וניתן לערוך אותם במידת הצורך.

שיטה 1 דורשת את השלט הרחוק המקורי באמצעות הפקודות הבאות:

$ sudo systemctl stop lircd $ sudo irrecord -n ~/FILENAME.conf

-או-

$ sudo irrecord -f -n ~/FILENAME.conf

החלף את FILENAME בשם תיאורי כלשהו לשלט הרחוק שאתה מגדיר. הפקודה האחרונה יוצרת קובץ 'גולמי' ולעיתים יש צורך בכך בהתאם למאפייני השלט הרחוק שבו אתה משתמש. מתג ה- n מאפשר לך להשתמש בכל שם מפתח שאתה אוהב (במקום להיות מוגבל לרשימת מרחב השמות של LIRC).

זכור להפעיל מחדש את lircd ואתחול מחדש כשתסיים.

$ sudo systemctl start lircd $ sudo אתחול מחדש

שלב 10: הוספת שלטים - שיטה 2

שיטה 2 אינה מחייבת את שמירת המטמון המקורי מרחוק Global לשמור על מסד נתונים מבוסס ענן של מעל 200, 000 קודי IR. כל אחד יכול לרשום ולהוריד עד 5 ערכות קוד ליום. ניתן להמיר ערכות קוד אלה לקבצי conf LIRC, בצורה ידידותית AndyMOTE, באמצעות יישום gcConvert המתואר כאן.

שלב 11: התקן את תוכנית שרת AndyMOTE

התקן את Librarost ו- libboost Libraries כמתואר להלן:

עדכון $ sudo apt-get $ sudo apt-get להתקין liblirc-dev libboost-all-dev

לאחר מכן התקן את git, היכנס לספריית הבית שלך ושבט את מאגר andymoteserver

$ sudo apt להתקין git $ cd ~ $ git שיבוט

לאחר מכן הידור המקור

$ cd andymoteserver $ make

העבר את הקובץ שהתקבל למיקום נוח; לְמָשָׁל:

$ sudo mkdir -p/opt/andymoteserver $ sudo mv dist/Debug/GNU -Linux/andymote/opt/andymoteserver/

לסדר

$ cd ~ $ rm -Rf andymoteserver

לבסוף, כדי להריץ את AndyMOTE Server כשירות, צור את הקובץ /lib/systemd/system/andymote.service עם תוכן כפי שמוצג להלן:

[יחידה] תיאור = הפעל את שרת AndyMOTE כשירות [שירות] Type = simpleRemainAfterExit = falseRestart = alwaysRestartSec = 30ExecStop =/bin/trueExecStart =/opt/andymoteserver/andymote [התקן] WantedBy = multi-user.target

הפעל והתחל את השירות

$ sudo systemctl אפשר andymote $ sudo systemctl start andymote

שלב 12: ולבסוף …

ולבסוף…
ולבסוף…

התמונה למעלה מציגה את השרת שלי במיקום הסופי שלו (משמאל). המכשיר מימין לתמונה הוא הרחב שלט רחוק אינפרא אדום, זה מקבל את אותות ה- IR מהשרת ומשדר אותם מחדש באמצעות 4 משדרי IR (לא מוצג); אלה מותקנים בהתקני המדיה שלי (טלוויזיה, מגבר וכו ').

אני מקווה שאתה נהנה!

מוּמלָץ: