Projets talk:Magic Control 2022
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 !
- (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!)