Πίνακας περιεχομένων:

AndyMOTE Server: 12 Βήματα
AndyMOTE Server: 12 Βήματα

Βίντεο: AndyMOTE Server: 12 Βήματα

Βίντεο: AndyMOTE Server: 12 Βήματα
Βίντεο: Skeleton hits the Griddy ☠️ 2024, Ιούνιος
Anonim
Διακομιστής AndyMOTE
Διακομιστής AndyMOTE

Wantedθελα ένα καθολικό τηλεχειριστήριο για το mancave μου και σκέφτηκα ότι θα πρέπει να μπορώ να το κάνω με μια εφαρμογή στο κινητό μου τηλέφωνο (για να παρέχω τη διεπαφή χρήστη) και ένα Raspberry PI για την παροχή του Infra Red 'Blaster'. Μετά από μια μικρή έρευνα ανακάλυψα το έργο LIRC που έμοιαζε ιδανικό για το 'Blaster'. Έγραψα τη δική μου εφαρμογή Android (AndyMOTE) και ένα μικρό πρόγραμμα "διακομιστή" για να παρέχω μια διεπαφή μεταξύ των δύο.

Αυτό το διδακτικό σας δείχνει πώς να δημιουργήσετε τον διακομιστή

Οι οδηγίες που δίνονται εδώ θα πρέπει να λειτουργούν με το Raspian Jessie, δεν λειτουργούν με το Raspian Buster και, σε αυτό το σημείο, καταλαβαίνω ότι το Raspian έχει πλέον αντικατασταθεί με το Raspberry Pi OS, έχω ένα ενημερωμένο σύνολο οδηγιών στον ιστότοπό μου (δείτε σύνδεσμο παρακάτω) που λειτουργούν με Raspian Stretch-Lite ή Raspian Buster-Lite

Βήμα 1: Λίστα στοιχείων

  • RaspberryPi Zero WH
  • Energenie ENER314-IR Υπέρυθρος ελεγκτής
  • Κάρτα Micro SD (Κλάση 10) (16 GB)
  • Τροφοδοτικό Raspberry Pi
  • (Προαιρετικό) Θήκη (π.χ.: Pibow Zero W)
  • (Προαιρετικό) Υπέρυθρο τηλεχειριστήριο Extender* (1 δέκτης, 4 πομπούς)

Θα χρειαστείτε επίσης μια οθόνη, ένα πληκτρολόγιο και καλώδια ικανά να συνδέσουν αυτά τα στοιχεία στο Raspberry Pi σας

Βήμα 2: Προετοιμάστε το Raspberry Pi σας

Κατεβάστε το Raspian Lite από εδώ και, στη συνέχεια, εγκαταστήστε το στην κάρτα SD σας (Οδηγίες εδώ).

Μόλις εγκατασταθεί το Raspian Lite στην κάρτα SD σας και προτού μεταφέρετε την κάρτα στο Raspberry Pi. τοποθετήστε την κάρτα στον υπολογιστή σας. Δημιουργήστε ένα κενό αρχείο /boot /ssh (αυτό ενεργοποιεί το SHH στον διακομιστή) και κάντε τις ακόλουθες τροποποιήσεις στο αρχείο /boot/config.txt

# Ρύθμιση HDMI σε Κανονική έξοδο

(Δείτε εδώ για οδηγίες σχετικά με τις ρυθμίσεις βίντεο)

Βήμα 3: Συναρμολόγηση του διακομιστή

Συναρμολογήστε τον διακομιστή
Συναρμολογήστε τον διακομιστή

Πρώτα, τοποθετήστε την προπαρασκευασμένη κάρτα SD σας στο Raspberry Pi. Βάλτε το Raspberry Pi στη θήκη του. Είχα ένα πρόβλημα ότι ο υπέρυθρος ελεγκτής ENER314-IR παρεμβαίνει στην θήκη Pibow, οπότε δεν χρησιμοποιεί δύο από τα κομμάτια.

Στη συνέχεια, συνδέστε το Energenie ENER314-IR Infra Red Controller στο Raspberry Pi (δείτε την εικόνα).

Στη συνέχεια, συνδέστε το Raspberry Pi στο πληκτρολόγιο (χρησιμοποιώντας υποδοχή USB) και την οθόνη (χρησιμοποιώντας υποδοχή HDMI … Ενδέχεται να απαιτούνται προσαρμογείς).

Τέλος, ενεργοποιήστε και περιμένετε να ξεκινήσει η μονάδα.

Βήμα 4: Ρύθμιση δικτύου

Αρχικά, ανοίξτε το αρχείο ρυθμίσεων wpa-supplicant χρησιμοποιώντας τον αγαπημένο σας επεξεργαστή (π.χ. nano).

$ 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. Mayσως μπορείτε να το επιτύχετε με τη σωστή διαμόρφωση του διακομιστή DHCP ή, για να ορίσετε τη διεπαφή wlan0 σε στατική διεύθυνση στο Raspberry Pi, να επεξεργαστείτε το αρχείο /etc/dhcpcd.conf και να συμπεριλάβετε τις γραμμές.

# Παράδειγμα στατικής διαμόρφωσης IP: διεπαφή wlan0static ip_address = 192.168.1.116/24static routers = 192.168.1.1static_name_servers_servers = 192.168.1.1 8.8.8.8

Αλλάξτε 192.168.1.1 στην πραγματική διεύθυνση του δρομολογητή σας και 192.168.1.116 στην πραγματική στατική διεύθυνση που χρειάζεστε για την εφαρμογή σας.

* Μπορεί να θέλετε να εκτελέσετε το βοηθητικό πρόγραμμα raspi-config και να κάνετε οποιεσδήποτε αλλαγές διαμόρφωσης σε αυτό το σημείο.

Κάντε επανεκκίνηση όταν τελειώσετε.

Βήμα 6: Εγκαταστήστε το LIRC

Εγκαταστήστε το LIRC χρησιμοποιώντας την εντολή.

$ sudo apt-get install 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 = help" για ένα λίστα υποστηριζόμενων προγραμμάτων οδήγησης. 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: Δοκιμή του δέκτη

Εισαγάγετε την ακόλουθη ακολουθία εντολών για να σταματήσετε τον δαίμονα LIRC και να δοκιμάσετε τον δέκτη.

$ sudo systemctl stop lircd $ sudo mode2

Το πρόγραμμα mode2 θα εξάγει την αναλογία σήματος-χώρου ενός σήματος IR στην κονσόλα. Στρέψτε ένα τηλεχειριστήριο στον δέκτη IR και πατήστε μερικά κουμπιά. Θα πρέπει να δείτε κάτι σαν αυτό:

χώρος 16300 παλμός 95 χώρος 28794 παλμός 80 χώρος 19395 παλμός 83 χώρος 402351

όταν τελειώσετε πατήστε ctl-c και επανεκκινήστε το LIRC Daemon χρησιμοποιώντας την ακόλουθη εντολή.

$ sudo systemctl εκκίνηση lircd

Βήμα 9: Προσθήκη τηλεχειριστηρίων - Μέθοδος 1

Το LIRC χρησιμοποιεί αρχεία διαμόρφωσης που περιέχουν δεδομένα σχετικά με κάθε τηλεχειριστήριο που μπορούν να εξομοιωθούν από το LIRC. Πρέπει να δημιουργήσετε ή να παράσχετε με άλλο τρόπο αυτά τα αρχεία διαμόρφωσης προκειμένου το υποσύστημα LIRC να λειτουργεί όπως επιθυμείτε.

Σπουδαίος

Πρέπει να παράσχετε ένα μεμονωμένο αρχείο ρύθμισης για κάθε προσομοιωμένο τηλεχειριστήριο. Τα αρχεία διαμόρφωσης πρέπει να αποθηκεύονται στον κατάλογο /etc/lirc/lircd.conf.d. Η επιλογή ονόματος κλειδιού είναι σημαντική για την καλύτερη εμπειρία AndyMOTE, όταν επιλέγετε ονόματα για τα κλειδιά σας, ακολουθήστε τις οδηγίες εδώ. Μπορείτε επίσης να κάνετε λήψη αρχείων διαμόρφωσης από εδώ, αλλά προσέξτε ότι, εάν τα χρησιμοποιήσετε, πρέπει να περιέχουν μόνο μία απομακρυσμένη διαμόρφωση. (Τα αρχεία διαμόρφωσης είναι απλά αρχεία κειμένου και μπορούν να επεξεργαστούν εύκολα εάν είναι απαραίτητο.

Η μέθοδος 1 απαιτεί το αρχικό τηλεχειριστήριο χρησιμοποιώντας τις ακόλουθες εντολές:

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

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

Αντικαταστήστε το FILENAME με κάποιο περιγραφικό όνομα για το τηλεχειριστήριο που διαμορφώνετε. Η τελευταία εντολή δημιουργεί ένα «ακατέργαστο» αρχείο και αυτό μερικές φορές χρειάζεται ανάλογα με τα χαρακτηριστικά του τηλεχειριστηρίου που χρησιμοποιείτε. Ο διακόπτης -n σάς επιτρέπει να χρησιμοποιείτε οποιοδήποτε όνομα κλειδιού θέλετε (αντί να περιορίζεστε στη λίστα LIRC Namespace).

Θυμηθείτε να κάνετε επανεκκίνηση του lircd και να κάνετε επανεκκίνηση όταν τελειώσετε.

$ sudo systemctl εκκίνηση lircd $ sudo επανεκκίνηση

Βήμα 10: Προσθήκη τηλεχειριστηρίων - Μέθοδος 2

Η μέθοδος 2 δεν απαιτεί το αρχικό τηλεχειριστήριο Το Global-cache διατηρεί μια βάση δεδομένων με σύννεφο πάνω από 200, 000 κωδικούς IR. Οποιοσδήποτε μπορεί να εγγραφεί και να κατεβάσει έως και 5 σετ κωδικοποίησης την ημέρα. Αυτά τα σετ κωδικοποίησης μπορούν να μετατραπούν σε αρχεία LIRC conf, με φιλικό τρόπο για το AndyMOTE, χρησιμοποιώντας την εφαρμογή gcConvert που περιγράφεται εδώ.

Βήμα 11: Εγκαταστήστε το πρόγραμμα διακομιστή AndyMOTE

Εγκαταστήστε τις βιβλιοθήκες liblirc και libboost όπως περιγράφεται παρακάτω:

$ sudo apt-get ενημέρωση $ sudo apt-get install liblirc-dev libboost-all-dev

Στη συνέχεια, εγκαταστήστε το git, μεταβείτε στον αρχικό σας κατάλογο και κλωνοποιήστε το αποθετήριο andymoteserver

$ sudo apt install git $ cd ~ $ git clone

στη συνέχεια, μεταγλωττίστε την πηγή

$ cd andymoteserver $ make

Μετακινήστε το αρχείο που προκύπτει σε μια βολική τοποθεσία. π.χ:

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

Τακτοποιώ

$ cd ~ $ rm -Rf andymoteserver

Τέλος, για να εκτελέσετε τον διακομιστή AndyMOTE ως υπηρεσία, δημιουργήστε το αρχείο /lib/systemd/system/andymote.service με περιεχόμενο όπως φαίνεται παρακάτω:

[Μονάδα] Περιγραφή = εκτέλεση του διακομιστή AndyMOTE ως υπηρεσία [Υπηρεσία] Τύπος = απλήRemainAfterExit = falseRestart = πάνταRestartSec = 30ExecStop =/bin/trueExecStart =/opt/andymoteserver/andymote [Εγκατάσταση] WantedBy = multi-user.target

Ενεργοποιήστε και ξεκινήστε την υπηρεσία

$ sudo systemctl ενεργοποίηση andymote $ sudo systemctl εκκίνηση andymote

Βήμα 12: Και τέλος…

Και τελικά…
Και τελικά…

Η παραπάνω εικόνα δείχνει τον διακομιστή μου στην τελική του θέση (αριστερά). Η συσκευή στα δεξιά της φωτογραφίας είναι το Infrared Remote Control Extender, αυτό λαμβάνει τα σήματα IR από το διακομιστή και τα εκπέμπει ξανά μέσω 4 πομπών IR (δεν εμφανίζονται). Αυτά είναι τοποθετημένα στις συσκευές πολυμέσων μου, (τηλεόραση, ενισχυτής κ.λπ.).

Ελπίζω να το απολαύσετε!

Συνιστάται: