Table des matières:

Serveur AndyMOTE : 12 étapes
Serveur AndyMOTE : 12 étapes

Vidéo: Serveur AndyMOTE : 12 étapes

Vidéo: Serveur AndyMOTE : 12 étapes
Vidéo: Firestick Apps Not Working - Fix it Now 2024, Juin
Anonim
Serveur AndyMOTE
Serveur AndyMOTE

Je voulais une télécommande universelle pour mon mancave et j'ai pensé que je devrais pouvoir le faire avec une application sur mon téléphone portable (pour fournir l'interface utilisateur) et un Raspberry PI pour fournir le « Blaster » infrarouge. Après une petite enquête, j'ai découvert le projet LIRC qui semblait idéal pour le 'Blaster'. J'ai écrit ma propre application Android (AndyMOTE) et un petit programme "Serveur" pour fournir une interface entre les deux.

Cette instructable vous montre comment construire le serveur

Les instructions données ici devraient fonctionner avec Raspian Jessie, elles ne fonctionnent pas avec Raspian Buster et, à ce stade, je comprends que Raspian a maintenant été remplacé par le système d'exploitation Raspberry Pi, j'ai un ensemble d'instructions mis à jour sur mon site Web (voir lien ci-dessous) qui fonctionnent avec Raspian Stretch-Lite ou Raspian Buster-Lite

Étape 1: Liste des articles

  • RaspberryPi Zéro WH
  • Contrôleur infrarouge Energenie ENER314-IR
  • Carte Micro SD (Classe 10) (16 Go)
  • Alimentation Raspberry Pi
  • (Optionnel) Boîtier (ex: Pibow Zero W)
  • (En option) Prolongateur de télécommande infrarouge* (1 récepteur; 4 émetteurs)

Vous aurez également besoin d'un moniteur, d'un clavier et de câbles capables de connecter ces éléments à votre Raspberry Pi

Étape 2: préparez votre Raspberry Pi

Téléchargez Raspian Lite à partir d'ici, puis installez-le sur votre carte SD (instructions ici).

Une fois Raspian Lite installé sur votre carte SD et avant de déplacer la carte sur votre Raspberry Pi; monter la carte sur votre PC. Créez un fichier vide /boot/ssh (cela active SHH sur le serveur) et apportez les modifications suivantes au fichier /boot/config.txt

# Réglez HDMI sur Normal outputhdmi_drive=2# Réglez HDMI sur DMT Mode (convient pour les moniteurs)hdmi_group=2# Réglez la résolution sur 800x600 @ 60hzhdmi_mode=9dtoverlay=lirc-rpi, gpio_in_pin=18, gpio_out_pin=17

(Voir ici pour obtenir des conseils sur les paramètres vidéo)

Étape 3: Assembler le serveur

Assembler le serveur
Assembler le serveur

Tout d'abord, insérez votre carte SD pré-préparée dans le Raspberry Pi. Mettez le Raspberry Pi dans son étui. J'ai eu un problème avec le contrôleur infrarouge ENER314-IR qui interférait avec le boîtier Pibow et je n'utilisais donc pas deux des pièces.

Ensuite, branchez le contrôleur infrarouge Energenie ENER314-IR dans le Raspberry Pi (voir photo).

Ensuite, connectez le Raspberry Pi au clavier (à l'aide du connecteur USB) et au moniteur (à l'aide du connecteur HDMI… Des adaptateurs peuvent être nécessaires).

Enfin, mettez sous tension et attendez que l'unité démarre.

Étape 4: Configurer le réseau

Tout d'abord, ouvrez le fichier de configuration wpa-supplicant en utilisant votre éditeur préféré (par exemple nano).

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Allez à la fin du fichier et ajoutez votre réseau (par exemple).

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

Remplacez YOUR_SSID, YOUR_KEY et YOUR_SSID_NAME en fonction de votre réseau.

Enregistrez le fichier, redémarrez le demandeur WPA et redémarrez.

$ wpa_cli -i wlan0 reconfigure$ sudo reboot

Étape 5: Configurer l'adresse IP statique

Il est recommandé que votre serveur ait une adresse IP fixe. Vous pourrez peut-être y parvenir en configurant votre serveur DHCP de manière appropriée ou, pour définir l'interface wlan0 sur une adresse statique sur le Raspberry Pi, éditez le fichier /etc/dhcpcd.conf et incluez les lignes.

# Exemple de configuration IP statique: interface wlan0static ip_address=192.168.1.116/24static routers=192.168.1.1static domain_name_servers=192.168.1.1 8.8.8.8

Remplacez 192.168.1.1 par l'adresse réelle de votre routeur et 192.168.1.116 par l'adresse statique réelle dont vous avez besoin pour votre application.

* Vous souhaiterez peut-être exécuter l'utilitaire raspi-config et apporter des modifications de configuration à ce stade.

Redémarrez lorsque vous avez terminé.

Étape 6: Installer LIRC

Installez LIRC à l'aide de la commande.

$ sudo apt-get install lirc

Modifiez le fichier /etc/modules; par exemple:

$ sudo nano /etc/modules

et ajoutez les lignes:

lirc_devlirc_rpi gpio_in_pin=18 gpio_out_pin=17

Enregistrez le fichier et redémarrez.

$ sudo redémarrer

Étape 7: Configurer LIRC

Modifiez le fichier /etc/lirc/hardware.conf, par exemple:

$ sudo nano /etc/lirc/hardware.conf

et le faire ressembler à ceci:

##################################################### ####### /etc/lirc/hardware.conf## Arguments qui seront utilisés lors du lancement de lircdLIRCD_ARGS="--uinput --listen"## Ne lancez pas lircmd même s'il semble y avoir une bonne configuration file# START_LIRCMD=false## Ne démarrez pas irexec, même si un bon fichier de configuration semble exister.# START_IREXEC=false## Essayez de charger les modules de noyau appropriésLOAD_MODULES=true## Exécutez "lircd --driver=help" pour un liste des pilotes pris en charge. DRIVER="default"## généralement /dev/lirc0 est le paramètre correct pour les systèmes utilisant udevDEVICE="/dev/lirc0"MODULES="lirc_rpi"## Fichiers de configuration par défaut pour votre matériel le cas LIRCMD_CONF=""Modifiez le fichier /etc/lirc/lirc_options.conf et modifiez les lignes comme ci-dessous:driver = defaultdevice = /dev/lirc0

Enregistrez le fichier et redémarrez lircd.

$ sudo systemctl redémarrer lircd

Étape 8: Test du récepteur

Entrez la séquence de commandes suivante pour arrêter le démon LIRC et tester le récepteur.

$ sudo systemctl stop lircd$ sudo mode2

Le programme mode2 affichera le rapport Mark-space d'un signal IR à la console. Pointez une télécommande vers votre récepteur IR et appuyez sur certains boutons. Vous devriez voir quelque chose comme ceci:

espace 16300impulsion 95espace 28794impulsion 80espace 19395impulsion 83espace 402351

lorsque vous avez terminé, appuyez sur ctl-c et redémarrez le démon LIRC à l'aide de la commande suivante.

$ sudo systemctl démarrer lircd

Étape 9: Ajouter des télécommandes - Méthode 1

LIRC utilise des fichiers de configuration qui contiennent des données relatives à chaque télécommande pouvant être émulées par LIRC. Vous devez générer ou fournir ces fichiers de configuration pour que le sous-système LIRC fonctionne comme vous le souhaitez.

Important

Vous devez fournir un fichier de configuration individuel pour chaque télécommande à émuler. Les fichiers de configuration doivent être stockés dans le répertoire /etc/lirc/lircd.conf.d. Le choix du nom de la clé est important pour la meilleure expérience AndyMOTE. Lors de la sélection des noms pour vos clés, veuillez suivre les instructions ici. Les fichiers de configuration peuvent également être téléchargés à partir d'ici mais attention, si vous les utilisez, ils ne doivent contenir qu'une seule configuration distante. (Les fichiers de configuration sont de simples fichiers texte et peuvent être facilement modifiés si nécessaire.

La méthode 1 nécessite la télécommande d'origine à l'aide des commandes suivantes:

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

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

Remplacez FILENAME par un nom descriptif pour la télécommande que vous configurez. Cette dernière commande crée un fichier « brut » et cela est parfois nécessaire en fonction des caractéristiques de la télécommande que vous utilisez. Le commutateur -n vous permet d'utiliser n'importe quel nom de clé que vous aimez (plutôt que d'être limité à la liste LIRC Namespace).

N'oubliez pas de redémarrer lircd et de redémarrer lorsque vous avez terminé.

$ sudo systemctl start lircd$ sudo reboot

Étape 10: Ajouter des télécommandes - Méthode 2

La méthode 2 ne nécessite pas que le cache remoteGlobal d'origine maintienne une base de données basée sur le cloud de plus de 200 000 codes IR. Tout le monde peut s'inscrire et télécharger jusqu'à 5 jeux de codes par jour. Ces jeux de codes peuvent être convertis en fichiers de configuration LIRC, d'une manière conviviale pour AndyMOTE, en utilisant l'application gcConvert décrite ici.

Étape 11: Installez le programme serveur AndyMOTE

Installez les bibliothèques liblirc et libboost comme décrit ci-dessous:

$ sudo apt-get update$ sudo apt-get install liblirc-dev libboost-all-dev

Ensuite, installez git, accédez à votre répertoire personnel et clonez le référentiel andymoteserver

$ sudo apt install git$ cd ~$ git clone

puis compiler la source

$ cd andymoteserver$ make

Déplacez le fichier résultant vers un emplacement pratique; par exemple:

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

Ranger

$ cd ~$ rm -Rf andymoteserver

Enfin, pour exécuter AndyMOTE Server en tant que service, créez le fichier /lib/systemd/system/andymote.service avec le contenu ci-dessous:

[Unit]Description=exécuter AndyMOTE Server en tant que service[Service]Type=simpleRemainAfterExit=falseRestart=alwaysRestartSec=30ExecStop=/bin/trueExecStart=/opt/andymoteserver/andymote[Install]WantedBy=multi-user.target

Activer et démarrer le service

$ sudo systemctl activer andymote$ sudo systemctl démarrer andymote

Étape 12: Et enfin…

Et enfin…
Et enfin…

L'image ci-dessus montre mon serveur dans sa position finale (à gauche). L'appareil à droite de la photo est l'extension de télécommande infrarouge, celle-ci reçoit les signaux IR du serveur et les retransmet via 4 émetteurs IR (non représentés); ceux-ci sont montés sur mes appareils multimédias (TV, amplificateur, etc.).

J'espère que tu apprécies!

Conseillé: