Projets talk:Magic Control 2022

De wikilab

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

Schéma de principe du fonctionnement du Magic control


Procédure d'apprentissage d'un nouveau fauteuil

Procédure d'apprentissage d'un nouveau fauteuil


La procédure d'apprentissage se fait en plusieurs étapes en alternant les deux circuits suivants :


Circuit apprentissage dictionnaire



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
ma legende


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!)