Différences entre versions de « Projets talk:Magic Control 2022 »
(68 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 48 : | Ligne 48 : | ||
* Delphine, Jonathan, Jean-Christophe : Interface inkscape, parcours utilisateur nouveau message IR | * Delphine, Jonathan, Jean-Christophe : Interface inkscape, parcours utilisateur nouveau message IR | ||
* Louise, François : R-NET CTRL | * Louise, François : R-NET CTRL | ||
+ | |||
+ | |||
+ | ==CR 12/12/2023== | ||
+ | Présents: François, Louise, Fred, Jonathan , Delphine | ||
+ | |||
+ | ===Connectique pour remplacer les cables RNET=== | ||
+ | https://www.byled.fr/connectiques-etanches-pour-spots-117 | ||
+ | |||
+ | ===Code M5Stack_play === | ||
+ | * Passer le main en lib 'Rnet' et ajouter à la classe les méthodes d'abstraction développées initialement en Python | ||
+ | * Ajouter une 'set-up' class avec le lient série | ||
+ | * Utilisation de la lib Arduino JSON pour l'interface avec la raspi | ||
+ | * Revoir le Fix sur le problème de pin commune entre le LCD et le CAN Autre GPIO de dispo ? Ou implémenter un 'mutex' sur la ressource ? | ||
+ | * Revoir la priorité sur la gestion de la sélection des dictionnaires - Sélectionner en priorité les modes non sablier puis switch sur sablier si une trame match | ||
+ | * Ajouter l'identification automatique de "l'identifier" du JSM qui est ajouté dans le système (nécessaire pour les méthodes ajoutées à la classe RNET) | ||
+ | ** (Réception de l'identifier dans une trame '0xC') | ||
+ | |||
+ | ===Code M5Stack_dump=== | ||
+ | * Revoir le problème sur la PIN I2C partagée avec la SDCARD | ||
+ | * Implémenter la procédure complète d'enregistrement des 4 dictionnaires + nommage des dicos | ||
+ | |||
+ | ===Schéma de principe de la nouvelle configuration=== | ||
+ | [[File:schema_magic.control_suite.jpg|700px|vignette|gauche|Schéma de principe du fonctionnement du Magic control]] | ||
+ | <br clear=all> | ||
+ | |||
+ | ===Procédure d'apprentissage d'un nouveau fauteuil=== | ||
+ | [[File:procedure_apprentissage_nouveau.fauteuil.jpg|700px|vignette|gauche|Procédure d'apprentissage d'un nouveau fauteuil]] | ||
+ | <br clear=all> | ||
+ | |||
+ | La procédure d'apprentissage se fait en plusieurs étapes en alternant les deux circuits suivants : | ||
+ | |||
+ | |||
+ | [[File:circuit_apprentissage_1._complet.jpg|700px|vignette|gauche|Circuit apprentissage dictionnaire]] | ||
+ | |||
+ | |||
+ | <br clear=all> | ||
+ | |||
+ | ==CR 15/04/2023== | ||
+ | Christophe a refait le setup.sh propre et pushé sur le Github. | ||
+ | |||
+ | Avant tout, ouvrir un terminal sur le PC puis | ||
+ | $ ssh-keygen | ||
+ | |||
+ | |||
+ | Install : | ||
+ | |||
+ | |||
+ | Intaller rpi-imager, sur le PC Ubuntu : | ||
+ | |||
+ | $ sudo apt install rpi-imager | ||
+ | |||
+ | |||
+ | Lancer rpi-imager sur le PC (pas en mode sudo) | ||
+ | |||
+ | $ rpi-imager | ||
+ | |||
+ | |||
+ | Suivre les instructions du Github : https://github.com/myhumankit/MagicJoystick2020/blob/master/log.md | ||
+ | |||
+ | |||
+ | * Install Raspberry Pi OS '''(Legacy 64-bits) Lite''' | ||
+ | * options (Cliquer sur icone de la roue crantée) | ||
+ | ** Hostname: magickcontrol.local | ||
+ | ** Enable SSH, allow public key authentication only | ||
+ | ** Set user name: mjoy and password: mjoy | ||
+ | ** Configure wireless LAN (sur votre réseau wifi) | ||
+ | ** Set locale settings | ||
+ | ** reboot | ||
+ | |||
+ | [[File:Capture d’écran du 2024-04-15 16-08-34.png|vignette|700px|gauche|ma legende]] | ||
+ | |||
+ | <br clear=all> | ||
+ | |||
+ | Récupérer l'adresse IP de la raspi | ||
+ | |||
+ | <gallery widths="320px" heights="240px"> | ||
+ | File:Capture d’écran du 2024-04-15 15-54-40.png | ||
+ | File:Capture d’écran du 2024-04-15 15-33-33.png | ||
+ | </gallery> | ||
+ | |||
+ | |||
+ | <br clear=all> | ||
+ | |||
+ | === Procédure complète d'installation du logiciel de contrôle sur le Raspberry Pi === | ||
+ | (testé en avril 2024 sur Raspberry Pi 3 et 4 et avec PC sous Ubuntu 22.04), à partir des instructions figurant sur le dépot git dans le fichier log.md | ||
+ | :: | ||
+ | ''' Matériel nécessaire ''' | ||
+ | * Une carte Raspberry Pi (version 3 minimum recommandée) + son alimentation | ||
+ | * une carte microSD vierge (16 Go minimum conseillé) et un adaptateur pour lire sur PC (ex: adaptateur USB/microSD) | ||
+ | * un écran PC avec câble HDMI (et adaptateur micro-HDMI pour Pi 4 ou 5) | ||
+ | * un clavier et souris en USB | ||
+ | * un PC (si possible sous Linux) avec connexion internet | ||
+ | |||
+ | |||
+ | |||
+ | ''' Installation de l'OS (Système d'Exploitation) du Raspberry Pi ''' | ||
+ | |||
+ | '''Sur le PC avec Linux:''' | ||
+ | |||
+ | * Brancher la carte microSD (là où sera installé le futur OS du Raspberry) | ||
+ | * Installer le programme d'installation d'OS (rpi-imager), de préférence la version 1.7.2 car il préremplit automatique le champs de la clé ssh publique: | ||
+ | <pre>$ sudo apt install rpi-imager</pre> | ||
+ | * Lancer rpi-imager sur le PC (pas en mode sudo) | ||
+ | <pre>$ rpi-imager </pre> | ||
+ | * choisir la version: '''Raspberry Pi OS (Legacy 64-bits) Lite''' | ||
+ | |||
+ | Avant de lancer l'écriture, aller dans les réglages (symbole roue crantée) et régler: | ||
+ | |||
+ | <gallery widths="400px" heights="500px"> | ||
+ | Fichier:Raspberry pi imager 1.png|Raspberry pi imager (1/2 | ||
+ | Fichier:Raspberry pi imager 2.png|Raspberry pi imager (2/2) | ||
+ | </gallery> | ||
+ | |||
+ | * Set Hostname: magickcontrol .local | ||
+ | * Enable SSH: | ||
+ | ** Allow public-key authentification only | ||
+ | ** Set authorized_keys for : ''<utilisateur@nom_pc>'' (en général c'est le prompt affiché dans le terminal linux). Sur la version 1.7.2 de rpi-imager, le champs se remplit automatiquement avec l | ||
+ | * Set username and password: | ||
+ | ** Username: mjoy | ||
+ | ** Password: mjoy | ||
+ | * Configure wireless LAN: | ||
+ | ** SSID: ''<nom réseau wifi>'' | ||
+ | ** Password: ''<mot de passe wifi>'' | ||
+ | ** Wireless LAN country: FR | ||
+ | * Set locale settings: | ||
+ | ** Time zone: Europe/Paris | ||
+ | ** Keyboard layout: fr | ||
+ | |||
+ | <br clear=all> | ||
+ | |||
+ | |||
+ | '''Sur Raspberry Pi''' : brancher le clavier et la souris en USB, et l'écran en HDMI | ||
+ | |||
+ | * insérer la carte microSD et démarrer : | ||
+ | ** login/password: '''mjoy'''/'''mjoy''' | ||
+ | |||
+ | |||
+ | ''' Installation du logiciel ''magic control'' (via SSH) ''' | ||
+ | * L'installation va se passer en 2 étapes: | ||
+ | ** établissement d'une connexion SSH sécurisée entre le PC et le Raspberry | ||
+ | ** récupération du dépot de ''magic control'' et installation proprement dite via SSH | ||
+ | |||
+ | * Sur Raspberry: | ||
+ | : Récupérer l'adresse IP temporaire: | ||
+ | :: $ ip a | ||
+ | |||
+ | * Sur PC si lors de l'install avec rpi-imager le choix a été authentification par mot de passe, on peut ajouter la clé ssh ultérieurement avec les instructions suivantes: | ||
+ | |||
+ | '''Générer une paire de clés SSH (publique/privée):''' | ||
+ | |||
+ | <pre>$ ssh-keygen </pre> | ||
+ | |||
+ | '''Transmettre la clé SSH publique au Raspberry:''' | ||
+ | <pre> $ ssh-copy-id mjoy@''<adresse_IP_temporaire_raspberry>''</pre> | ||
+ | |||
+ | |||
+ | '''Se connecter en SSH au Raspberry:''' | ||
+ | <pre> $ sudo ssh mjoy@''<adresse_IP_temporaire_raspberry>''</pre> | ||
+ | |||
+ | |||
+ | <gallery widths="640px" heights="320px"> | ||
+ | Fichier:Ssh key gen.png |ssh-keygen | ||
+ | </gallery> | ||
+ | <br clear=all> | ||
+ | |||
+ | *Installer git (s'il n'est pas déjà installé): | ||
+ | <pre>$ sudo apt install git-all</pre> | ||
+ | |||
+ | |||
+ | *Récupérer le dépot du logiciel ''magic control'' sur PC | ||
+ | <pre> $ git clone https://github.com/myhumankit/MagicJoystick2020.git</pre> | ||
+ | |||
+ | |||
+ | *Lancer l'installation (setup) pour le Raspberry | ||
+ | **<pre> $ ./setup.sh <adresse_IP_temporaire_raspberry> mjoy mjoy</pre> | ||
+ | ** Remarque: bien que l'installation soit lancée sur le PC, elle s'effectue bien sur le Raspberry (avec la carte sd dans la raspi et la command elancée depuis le terminal du pc)! | ||
+ | ** (l'installation peut prendre plusieurs minutes, ensuite le Raspberry redémarre) | ||
+ | |||
+ | <br clear=all> | ||
+ | <gallery widths="640px" heights="320px"> | ||
+ | Fichier:Setup.png |setup | ||
+ | </gallery> | ||
+ | <br clear=all> | ||
+ | |||
+ | |||
+ | ''' Connexion entre PC et Raspberry (en wifi direct) et utilisation de ''magic control'' ''' | ||
+ | |||
+ | * Sur Raspberry: | ||
+ | * Récupérer l'adresse IP définitive (à présent le Raspberry joue le rôle d'un point d'accès wifi): | ||
+ | <pre> $ ip a</pre> | ||
+ | * celle-ci devrait être : 192.168.42.1 | ||
+ | |||
+ | * Sur PC: | ||
+ | * Se connecter sur le point d'accès wifi du Raspberry: | ||
+ | ** nom de réseau: '''MagicJostick_mjoy''' | ||
+ | ** mot de passe: '''rpimagic123456''' | ||
+ | * Dans un navigateur, aller sur la page de supervision (permet de vérifier les processus en cours et de voir les log): | ||
+ | ** http://192.168.42.1:9000 | ||
+ | * Par ailleurs il est possible de retrouver l'interface de ''magic control'' en allant sur la page: | ||
+ | ** http://192.168.42.1:8080/v | ||
+ | * Cette interface permets d'assigner le joystick: | ||
+ | ** _ soit en mode contrôle du fauteuil | ||
+ | ** _ soit en mode souris (permet de naviger dans cette interface!) | ||
+ | |||
+ | <br clear=all> |
Version actuelle datée du 26 avril 2024 à 15:23
Déroulé du Fabrikarium
Mardi 18 octobre
- Présentation de l'équipe et du projet
- Définition des objectifs
Question existentielles :
- Raspberry pi ou pas ?
Économie de la batterie :
A minima, n'utiliser le raspberry pi que quand l'interface est utilisée : R-NET CTRL et le joystick sont contrôlés avec un microcontrôleur indépendant.
- Home assistant ou pas ?
- Démo home assistant par Marc
- Utiliser home assistant pour la partie domotique, conserver la partie IR sur le fauteuil
- Problème du double wifi
- ne pas utiliser le wifi pour relier le smartphone à l'ordinateur de bord
Point fin de journée
- Remplacement du raspberry pi par microcontrôleur
- Interface par des fichiers statique pour ne plus utiliser de serveur web python
- Travail de l'interface (Jean-Christophe, Delphine, Jonathan)
- Protection solaire
Mercredi 19 octobre
Matin
- Noa : interface web en statique
- Marc : Documentation et prise en main IR
- Delphine, Jonathan, Jean-Christophe, Kristi
- Refonte de l'interface avec inkscape
- Choix de nouveaux pictos
- Louise : R-NET CTRL
Finalement
- Noa, Marc : debuggage ir electrique + code
- Delphine, Jonathan, Jean-Christophe : Interface inkscape, parcours utilisateur nouveau message IR
- Louise, François : R-NET CTRL
CR 12/12/2023
Présents: François, Louise, Fred, Jonathan , Delphine
Connectique pour remplacer les cables RNET
https://www.byled.fr/connectiques-etanches-pour-spots-117
Code M5Stack_play
- Passer le main en lib 'Rnet' et ajouter à la classe les méthodes d'abstraction développées initialement en Python
- Ajouter une 'set-up' class avec le lient série
- Utilisation de la lib Arduino JSON pour l'interface avec la raspi
- Revoir le Fix sur le problème de pin commune entre le LCD et le CAN Autre GPIO de dispo ? Ou implémenter un 'mutex' sur la ressource ?
- Revoir la priorité sur la gestion de la sélection des dictionnaires - Sélectionner en priorité les modes non sablier puis switch sur sablier si une trame match
- Ajouter l'identification automatique de "l'identifier" du JSM qui est ajouté dans le système (nécessaire pour les méthodes ajoutées à la classe RNET)
- (Réception de l'identifier dans une trame '0xC')
Code M5Stack_dump
- Revoir le problème sur la PIN I2C partagée avec la SDCARD
- Implémenter la procédure complète d'enregistrement des 4 dictionnaires + nommage des dicos
Schéma de principe de la nouvelle configuration
Procédure d'apprentissage d'un nouveau fauteuil
La procédure d'apprentissage se fait en plusieurs étapes en alternant les deux circuits suivants :
CR 15/04/2023
Christophe a refait le setup.sh propre et pushé sur le Github.
Avant tout, ouvrir un terminal sur le PC puis $ ssh-keygen
Install :
Intaller rpi-imager, sur le PC Ubuntu :
$ sudo apt install rpi-imager
Lancer rpi-imager sur le PC (pas en mode sudo)
$ rpi-imager
Suivre les instructions du Github : https://github.com/myhumankit/MagicJoystick2020/blob/master/log.md
- Install Raspberry Pi OS (Legacy 64-bits) Lite
- options (Cliquer sur icone de la roue crantée)
- Hostname: magickcontrol.local
- Enable SSH, allow public key authentication only
- Set user name: mjoy and password: mjoy
- Configure wireless LAN (sur votre réseau wifi)
- Set locale settings
- reboot
Récupérer l'adresse IP de la raspi
Procédure complète d'installation du logiciel de contrôle sur le Raspberry Pi
(testé en avril 2024 sur Raspberry Pi 3 et 4 et avec PC sous Ubuntu 22.04), à partir des instructions figurant sur le dépot git dans le fichier log.md
Matériel nécessaire
- Une carte Raspberry Pi (version 3 minimum recommandée) + son alimentation
- une carte microSD vierge (16 Go minimum conseillé) et un adaptateur pour lire sur PC (ex: adaptateur USB/microSD)
- un écran PC avec câble HDMI (et adaptateur micro-HDMI pour Pi 4 ou 5)
- un clavier et souris en USB
- un PC (si possible sous Linux) avec connexion internet
Installation de l'OS (Système d'Exploitation) du Raspberry Pi
Sur le PC avec Linux:
- Brancher la carte microSD (là où sera installé le futur OS du Raspberry)
- Installer le programme d'installation d'OS (rpi-imager), de préférence la version 1.7.2 car il préremplit automatique le champs de la clé ssh publique:
$ sudo apt install rpi-imager
- Lancer rpi-imager sur le PC (pas en mode sudo)
$ rpi-imager
- choisir la version: Raspberry Pi OS (Legacy 64-bits) Lite
Avant de lancer l'écriture, aller dans les réglages (symbole roue crantée) et régler:
- Set Hostname: magickcontrol .local
- Enable SSH:
- Allow public-key authentification only
- Set authorized_keys for : <utilisateur@nom_pc> (en général c'est le prompt affiché dans le terminal linux). Sur la version 1.7.2 de rpi-imager, le champs se remplit automatiquement avec l
- Set username and password:
- Username: mjoy
- Password: mjoy
- Configure wireless LAN:
- SSID: <nom réseau wifi>
- Password: <mot de passe wifi>
- Wireless LAN country: FR
- Set locale settings:
- Time zone: Europe/Paris
- Keyboard layout: fr
Sur Raspberry Pi : brancher le clavier et la souris en USB, et l'écran en HDMI
- insérer la carte microSD et démarrer :
- login/password: mjoy/mjoy
Installation du logiciel magic control (via SSH)
- L'installation va se passer en 2 étapes:
- établissement d'une connexion SSH sécurisée entre le PC et le Raspberry
- récupération du dépot de magic control et installation proprement dite via SSH
- Sur Raspberry:
- Récupérer l'adresse IP temporaire:
- $ ip a
- Sur PC si lors de l'install avec rpi-imager le choix a été authentification par mot de passe, on peut ajouter la clé ssh ultérieurement avec les instructions suivantes:
Générer une paire de clés SSH (publique/privée):
$ ssh-keygen
Transmettre la clé SSH publique au Raspberry:
$ ssh-copy-id mjoy@''<adresse_IP_temporaire_raspberry>''
Se connecter en SSH au Raspberry:
$ sudo ssh mjoy@''<adresse_IP_temporaire_raspberry>''
- Installer git (s'il n'est pas déjà installé):
$ sudo apt install git-all
- Récupérer le dépot du logiciel magic control sur PC
$ git clone https://github.com/myhumankit/MagicJoystick2020.git
- Lancer l'installation (setup) pour le Raspberry
$ ./setup.sh <adresse_IP_temporaire_raspberry> mjoy mjoy
- Remarque: bien que l'installation soit lancée sur le PC, elle s'effectue bien sur le Raspberry (avec la carte sd dans la raspi et la command elancée depuis le terminal du pc)!
- (l'installation peut prendre plusieurs minutes, ensuite le Raspberry redémarre)
Connexion entre PC et Raspberry (en wifi direct) et utilisation de magic control
- Sur Raspberry:
- Récupérer l'adresse IP définitive (à présent le Raspberry joue le rôle d'un point d'accès wifi):
$ ip a
- celle-ci devrait être : 192.168.42.1
- Sur PC:
- Se connecter sur le point d'accès wifi du Raspberry:
- nom de réseau: MagicJostick_mjoy
- mot de passe: rpimagic123456
- Dans un navigateur, aller sur la page de supervision (permet de vérifier les processus en cours et de voir les log):
- Par ailleurs il est possible de retrouver l'interface de magic control en allant sur la page:
- Cette interface permets d'assigner le joystick:
- _ soit en mode contrôle du fauteuil
- _ soit en mode souris (permet de naviger dans cette interface!)