# 1 - FabLab - Vos Projets ! # Comment accéder au FabLab d'Alsace-Nord ? Voir aussi la [page web du FabLab d'Alsace-Nord](https://iuthaguenau.unistra.fr/recherches-et-innovation/fablab-alsace-nord) sur le site de l'IUT de Haguenau [![horaires fab lab_2023.jpg](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/scaled-1680-/horaires-fab-lab-2023.jpg)](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/horaires-fab-lab-2023.jpg) ### Contactez-nous ! - Passez nous voir spontanément le **Mardi de 14H à 20H** ou réservez pendant les **permanences du Fab Manager (voir planning ci-dessus)** - FabLab d'Alsace-Nord, 30 rue du Maire Traband, 67500 Haguenau - Prenez l'entrée principale de l’IUT (Bâtiment B) et suivez les flèches vertes au sol jusqu’au fablab ! - N’hésitez pas à passer un coup de fil ou écrire sur le tchat si vous trouvez porte close - Contactez le gestionnaire du FabLab : - iuthag-fabadmin\[at\]unistra.fr - 03 88 05 34 12 - Rejoignez la communauté sur le Tchat : - Signal : [https://signal.group/#CjQKIG2qJpa2\_wifY8-hG0L31JfVI8O8MPwMNly9dJXR8C0KEhCkOF1Wt9D-qCE8bd0XrW2L](https://signal.group/#CjQKIG2qJpa2_wifY8-hG0L31JfVI8O8MPwMNly9dJXR8C0KEhCkOF1Wt9D-qCE8bd0XrW2L) - WhatsApp : Nous contacter pour être invité - Matrix : [https://matrix.to/#/#fan:sans-nuage.fr](https://matrix.to/#/#fan:sans-nuage.fr) - Suivre les actualités sur : - Liste de diffusion email (évènements, ateliers, formations) : [https://listes.u-strasbg.fr/sympa/unistra.fr/info/iha-fablab](https://listes.u-strasbg.fr/sympa/unistra.fr/info/iha-fablab) - Il ne s'agit pas d'une liste de discussion mais de diffusion vous pouvez répondre aux messages mais pas créer de nouveaux sujets, utilisez plutôt notre Tchat - Page [Facebook](https://www.facebook.com/fablabhaguenau) - Flux RSS : [Les projets](https://fan-manager.di.unistra.fr/rss/projects) et les [évènements et formations](https://fan-manager.di.unistra.fr/rss/events) ### Comment ça fonctionne ? **Je m'inscris, je me forme, je réserve et je fabrique !** Le [site du FabLab ](https://fan-manager.di.unistra.fr/#!/)permet de s'inscrire, voir la programmation évènementielle et les formations disponible. Je m’inscris en prenant l’abonnement qui correspond à mon profil. Cet abonnement me donne le droit à : - L’accès au Lab et au Wifi. - Utiliser le petit outillage (informatique, électronique, électroportatif bois, outillage manuel) - S’inscrire aux formations et ateliers - Réserver des machines (sous réserve de formation) - Accompagnement gratuit pendant les heures d'ouverture aux extérieurs. Par le Fab Manager ou un responsable de l'association AKERIHA compétent (formation niveau 2) Je peux ensuite me former, participer à des ateliers ou réserver des machines avec ou sans assistance ! La plateforme de gestion vous permet de vous inscrire, de vous abonner, de vous former, de réserver et de participer à des ateliers. fan-manager.di.unistra.fr
Abonnement par personneÉtudiant/Personnel IUTEnseignant, étudiant, demandeur d'emploi, -25 ansParticulier (ou Associations conventionnées^1)Entreprises : limité à 3 utilisateurs formés et 3 demi-journées / mois
ConditionsAccès au FAN. Utilisation autonome des machines sous réserve d'initiation.Accès au FAN selon la convention d'accès temporaire et son annexe.
Mensuel (<3 visites)n/an/a5 €20 €
3 moisn/an/a10 €50 €
Annuel (10 mois)5 €5 €30 €100 €
1\. Pour conventionner votre association, veuillez prendre contact avec le responsable du FabLab #### Profils d'utilisateurs #### Je suis un étudiant de l’Unistra ou je fais partie du personnel de l’UNISTRA : L’accès est gratuit pendant les heures d’ouverture du FabLab. Utilisation pendant les heures de pratique autonome --> Formation niveau 1 nécessaire Utilisation pendant les heures de permanence du FabManager --> Initiation nécessaire Si j'ai un travail urgent, je réserve un créneau machine sur fan-manager. #### Extérieurs Enseignant, étudiant (hors IUT), demandeur d'emploi, Particulier, Association conventionnée, étudiant-entrepreneur, stagiaire, entreprise. Utilisation supervisée pendant les heures d'ouverture au public --> Formation niveau 1 nécessaire Utilisation autonome pendant les heures de permanence du FabManager (hors ouverture publique) --> Réservation et formation niveau 2 nécessaire Je veux superviser et ouvrir un créneau au public --> Formation niveau 2 nécessaire #### Je suis un étudiant-entrepreneur, ou une entreprise qui souhaite inscrire un stagiaire au FabLab : L’UNISTRA contient 6 FabLab avec des spécialités différentes. Afin de mieux vous satisfaire, veuillez directement prendre contact par email ou téléphone avec le responsable du FabLab pour étudier votre projet et vous proposer la meilleure option. Une convention sera alors établie pour vous permettre d’utiliser le ou les FabLab pour votre projet. ### QUELS ÉQUIPEMENTS SONT DISPONIBLES ?
ArticlesUnitéAbonnéCommentaire
Initiation ou rafraichissement machine (20min théorique)20 min10 €gratuit pour étudiant
Formation machine (1H avec pratique)PAR HEURE30 €Réservation annulable/déplaçable jusqu'à 24H avant
Utilisation imprimante 3D (PLA inclus)PAR HEURE2,50 €Toute heure entamée est dûe au tarif horaire
Utilisation imprimante 3D BambulabPAR HEURE5,00 €
Fil d'impression PETGPAR HEURE2,50 €Supplément à l'utilisation
Fil d'impression TPUPAR HEURE10,00 €Supplément à l'utilisation
Fraiseuse CNCPAR HEURE5,00 €Toute heure entamée est dûe au tarif horaire
Plaque EpoxyA L'UNITE10,00 €plaque cuivre 35µm epoxy 200x300mm
Fraise ou foret perceuse cassésA L'UNITE15,00 €
Graveuse LaserPAR HEURE15,00 €Par tranche de 20 min mini
Panneau de boisA L'UNITE4,00 €Fibre de bois 3mm – 300mm x 600mm
BrodeusePAR HEURE15,00 €Par tranche de 20 min mini
Bourrage pour non-respect des consignesA L'UNITE15,00 €
TraceurPAR HEURE2,50 €
VinyleA L'UNITE
Casse/perte outillage pour non-respect bonnes pratiquesA L'UNITE15,00 €
Atelier "Maker"PAR HEURE5,00 €
Tous les éléments ci-dessous sont disponibles en libre service, sous réserve de formation ou supervision suffisante. #### Partie "électronique" - Poste à souder CMS haute précision - Four de refusion CMS - Oscilloscope numérique, alimentations régulées, générateurs de fonctions - Station à souder, fers à souder,... - Multimètres - Caméra de précision - Poste de travail avec ordinateur - Divers composants électroniques (résistances, condensateurs, diodes,...) #### Partie "prototypage" - Graveuse laser 80W Speedy 100 - Imprimante 3D Volumic STREAM 20 Pro Mk2 - Graveuse Numérique Technodrill 3 - Scanner 3D #### Partie "informatique/CAO" - 4 postes sous Windows, 2 postes sous Linux - Logiciels CAO 3D\* : Solidworks, Blender,... - Logiciels d'électronique\* : Altium, Arduino,... - Modélisation numérique\* : Matlab/Simulink,... #### Partie Textile - Machine à coudre Pfaff, Typ 205, 80W - Don de Sophie (enseignante en MMI) suite à une réparation réussie lors d'un atelier de réparation organisé par "Haupla c'est réparé" #### Partie "Mécanique" - Mini-perceuse - Perceuse à colonne - Etau, serre-joints - Massicot - Scie - Limes (grandes et petites) - Ciseau à bois - Dremel - Clés plates/mixtes/pipe/Allen/Torx/Micro mécanique - Pinces coupantes/pinces à dénuder/pinces Bruxel - Quincaillerie diverse [![outils_bois_1080p.jpg](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-07/scaled-1680-/outils-bois-1080p.jpg)](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-07/outils-bois-1080p.jpg) #### Autre matériel disponible sur réservation - Tournevis normaux + micro - Gaine thermo - Embouts de fils/fils/pinces à sertir cosses et embouts \*Certains logiciels sont sous licences étudiantes et ne seront pas accessibles à tous les utilisateurs ### UN FABLAB 4.0 En plus de l’équipement énoncé ci-dessus, l’IUT d’Haguenau, pour les utilisateurs du FabLab ambitieux, est capable d’accompagner dans les domaines suivants : - INDUSTRIE DU FUTUR 4.0 : Des enseignants qualifiés qui peuvent apporter leur expertise. Des équipements de smart production : bras robotisés industriels,… - VEHICULE AUTONOME et ELECTRIQUE : Une expérience forgée par de nombreux projets : scooter, trottinette, gyropode, karting électrique. Suivi de trajectoire automatique, navigation autonome dans des environnements inconnus - TECHNOLOGIE DE POINTE : Plusieurs exosquelettes motorisés. - DES COMPETENCES COMPLEMENTAIRES : De la conception à la visibilité, en passant par la qualité, les 3 filières de l’IUT d’Haguenau peuvent apporter une expertise aux projets du FabLab. # Comment mener votre projet au Fab Lab ? - Trouver l'idée - Partager l'idée avec les autres utilisateurs du Fab Lab - Trouver des compétences complémentaires aux siennes - Valider la faisabilité du projet avec les moyens du Fab Lab - Commencer la documentation du projet - Rechercher de l'éventuelle documentation existante - Réaliser le projet en documentant les étapes - Finaliser le projet Belles documentations de projets : - [Les ateliers éclairés](https://lesatelierseclaires-manager.com/#!/projects?whole_network=f&page=1&q=) - [Fab Lab Sorbonne Université](https://wiki.fablab.sorbonne-universite.fr/BookStack/shelves/2-projets) # Electronique ! Arduino & Co Projets avec Arduino et autres types de plateformes de développement de projets d'électronique. # THEREMINE ARDUINO THEREMINE ARDUINO Idée : Au dernier atelier Arduino du Fablab avec Gauthier et Mathis ,nous avons fait connaissance avec la carte Arduino et nous avons fait clignoter des leds . Le **thérémine** est un des plus anciens [instruments de musique électronique](https://fr.wikipedia.org/wiki/Instrument_de_musique_%C3%A9lectronique "Instrument de musique électronique"), inventé en 1920 (connu sous le nom de « Léon Thérémine »). Le Mardi 26 Septembre à partir de 18 Heures , nous allons faire du son avec Arduino . Matériel: Chaque participant qui souhaite faire le THEREMINE ARDUINO devra venir si possible avec son PC Portable + souris et l' IDE ARDUINO installée . Chaque participant disposera sur place d'un kit THEREMINE ARDUINO complet pour faire la manip : 1 Arduino NANO , breadboard , 1 résistance 1k 1/4w , 1LDR , câbles 1 raccord USB C ou Mini , 1 buzzer . Carte Arduino NANO [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/scaled-1680-/SL7image.png) ](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/SL7image.png)[![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/scaled-1680-/GAoimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/GAoimage.png) Au programme: 1 Téléverser le sketch sur la carte 2 Câbler le circuit 3 GENERER UN SON 4 Afficher le moniteur série 5 Améliorations du son en fonction de la distance des mains par rapport aux données dans le moniteur série. Shéma: SCHEMA ELECTRIQUE: Capteur LDR (LIGHT DEPENDANT RESISTOR) [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/scaled-1680-/8Ijimage.png) ](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/8Ijimage.png)[![Sans titre.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/scaled-1680-/sans-titre.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/sans-titre.png) ### Code "sketch": [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/scaled-1680-/4CZimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/4CZimage.png) #### En observant les données affichées dans le moniteur série , modifier les valeurs dans le sketch. ### 1 essayer d'autre valeurs : 80, 200, 80, 2800 pour réduire la fourchette par essais successifs ### 2 Commenter en plaçant des // au début des lignes concernant l'affichage en moniteur série. ```c //Montage d'un buzzer piezzo emettant un son dont la fréquence correspond //à la luminosité percue par une photorésistance // déclarations const uint8_t analogInPin = A0; // broche entrée const uint8_t analogOutPin = 8; // valeur 8 (buzzer) uint16_t luminosite = 0; //variable 0 à 1023 uint16_t frequence = 0; //variable 0 à 30000 void setup() { Serial.begin(9600);//vitesse de communication moniteur série } void loop() { //lecture ADC luminosite = analogRead(analogInPin); //mise à l'échelle frequence = map(luminosite, 0, 1023, 50, 30000);//reduire la fourchette par essais successifs // Conversion tension en fréquence : tone(analogOutPin, frequence); // Suivi des valeurs sur le moniteur: Serial.print("luminosite vue = " ); Serial.print(luminosite); Serial.print("\t frequence = "); Serial.print(frequence); Serial.println(" Hz"); delay(2); } ``` #### IMPRESSION 3D ### Le support buzzer a été modélisé avec le logiciel BLENDER3D et imprimé sur la CREALITY ENDER 3V2 visible dans le Fablab. [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/scaled-1680-/7qsimage.png) ](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/7qsimage.png)[![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/scaled-1680-/BADimage.png) ](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/BADimage.png)[![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/scaled-1680-/WPEimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2023-09/WPEimage.png) LE SLICER S3D Essai. # Robots ! # Un bras robot sur un robot mobile ### Déballage et assemblage # Intelligence Artificielle # Découvrir ChatGPT via l'API OpenAI ### Se connecter à ChatGPT-web - Régler son adhésion à l'association du FabLab d'Alsace-Nord (30€/an) - Cela vous ouvre aussi accès aux machines et ateliers du FabLab - Plus d'infos : [https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/comment-acceder-au-fablab-dalsace-nord](https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/comment-acceder-au-fablab-dalsace-nord) - Demander la création d'un compte ChatGPT pendant un AI Lab - Récupérer identifiant, mot-de-passe et clé d'API ChatGPT - Les stocker dans une base de mot-de-passe type keepassXC ou dans Firefox (protégé par un mot-de-passe principal) [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-04/scaled-1680-/abFimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-04/abFimage.png) - Se connecter à [chatgpt.fablab-alsacenord.fr](https://chatgpt.fablab-alsacenord.fr) avec votre identifiant et mot-de-passe [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-04/scaled-1680-/Lmximage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-04/Lmximage.png) - Renseignez votre clé d'API dans l'application ChatGPT-web ([chatgpt.mydomain.tld](https://mydomain.tld/yunohost/admin/#/domains/chatgpt.mydomain.tld/cert)) pour authentifier les requêtes faites aux serveurs d'OpenAI via son API. [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-04/scaled-1680-/kDBimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-04/kDBimage.png) ### Paramètres du chat - Réglez les paramètres du chat [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-02/scaled-1680-/image.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-02/image.png) - Choisissez le modèle GPT4-Turbo qui est moins cher et plus performant [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-01/scaled-1680-/KCIimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-01/KCIimage.png) - Éventuellement essayez gpt-4o - Réglez les autres paramètres tels que la taille maximale des requêtes - Au besoin, activez dall-e ![](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-02/embedded-image-n0iu5gqv.png) ### Pourquoi ChatGPT-Web au FabLab d'Alsace-Nord ? Problème : - 20$/mois n'est pas accessible pour tous, surtout pour de la découverte ou une utilisation occasionnelle/personnelle - Les ateliers IA du Paddock Academy à l'IUT de Haguenau ne permettent pas aux participants de découvrir toutes les fonctionnalités des IA génératives Idée, le modèle d'IA ChatGPT 4 est accessible : - via l'application (client) web officielle [https://chat.openai.com/](https://chat.openai.com/) pour 20$/mois quelque-soit l'intensité d'utilisation - via une intégration dans une application client tiers (auto-hébergeable) permettant l'accès à l'interface de programmation (API) d'OpenAI (mêmes serveurs que via l'application officielle). - A priori ChatGPT Pro est rentable à partir de 10 Millions de tokens, soit environ 10 Millions de mots envoyés+reçus, soit **20 000 pages par mois !** ### Comment installer ChatGPT-Web ? Solution technique générique : - Un serveur physique ou virtuel comme un Raspberry ou un VPS loué chez OVH ou [arn-fai.net](https://arn-fai.net) - Un système d'exploitation Linux pour une administration système facile [YunoHost.org](https://yunohost.org) installé sur le serveur - Un nom de domaine gratuit @noho.st, ynh.fr ou payant acheté chez OVH, gandi ou bookmyname - L'application serveur [ChatGPT-Web](https://github.com/YunoHost-Apps/chatgpt-web_ynh) installée en un clic grâce à YunoHost - Un jeton d'API obtenu depuis un compte OpenAI [https://platform.openai.com/api-keys](https://platform.openai.com/api-keys) Solution technique prévue initialemant au FabLab : - Une carte ARM (Raspberry 3B+) - Connectée à internet par 4G - Un compte OpenAI du FabLab payé par la caisse de l'association - Une clé d'API unique partagée entre les utilisateur.ices du FabLab - Au delà d'une période d'essai, les utilisateur.ices doivent adhérer au FabLab pour participer au financement des token consommés Solution technique choisie par le FabLab : - Un VPS en colocation chez arn-fai.net - Un nom de domaine fablab-alsacenord.fr payé chez ovh - Un compte OpenAI du FabLab payé par la caisse de l'association - Quelques clés d'API pour différencier les usages de différents groupes d'utilisateur.ices du FabLab - Les utilisateur.ices doivent adhérer au FabLab pour participer au financement des token consommés ### Installation de YunoHost.org - Trouvez un fournisseur de serveur virtuel (VPS) ou de VPN compatible YunoHost (ou debian) [https://yunohost.org/fr/providers/server](https://yunohost.org/fr/providers/server) - Installer YunoHost [https://yunohost.org/fr/install](https://yunohost.org/fr/install) #### Configuration du nom de domaine - Si vous ne souhaitez pas payer de domaine, il suffit de choisir dans Domaines > Ajouter un domaine : > Je ne possède pas de domaine, je veux enregistrer/utiliser un domaine DynDNS gratuit fourni par le projet YunoHost - Une fois le domaine principal gratuit/payant `mydomain.tld` configuré, il suffit de rajouter un sous-domaine, par exemple `chatgpt.mydomain.tld` pour y installer le client ChatGPT-Web. [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-01/scaled-1680-/71wimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-01/71wimage.png) - Lancer le Diagnostique : [https://mydomain.tld/yunohost/admin/#/diagnosis](https://mydomain.tld/yunohost/admin/#/diagnosis) - Installer un certificat Let's Encrypt [https://mydomain.tld/yunohost/admin/#/domains/chatgpt.mydomain.tld/cert](https://mydomain.tld/yunohost/admin/#/domains/chatgpt.mydomain.tld/cert) ### Installation de l'appli ChatGPT-web - Installer l'application chatGPT-web sur votre domaine, par ex. [chatgpt.mydomain.tld](https://mydomain.tld/yunohost/admin/#/domains/chatgpt.mydomain.tld/cert) - Autoriser `tous les utilisateurs de YunoHost`, si vous laissez les droits d'accès `Visiteurs` par défaut, n'importe qui pourra utiliser votre API et vous payerez pour tous ! [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-01/scaled-1680-/Grximage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-01/Grximage.png) - Créez un compte sur OpenAI : [https://platform.openai.com](https://platform.openai.com/api-keys) - Accédez au [tableau de bord API](https://platform.openai.com/api-keys) (dashboard) - Générez une clé API, qui donnera à votre application l'autorisation d'accéder à l'API OpenAI et de faire des requêtes pour utiliser le modèle de langage. [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-01/scaled-1680-/0NEimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-01/0NEimage.png) ### Administration des comptes - Créez des comptes YunoHost aux personnes qui veulent utiliser votre API ChatGPT - Communiquez identifiant, mot-de-passe aux utilisateur.ices - Communiquez la clé d'API aux utilisateur.ices de manière sécurisée (pas par mail), et dites-leur de stocker la clé dans une base de mot-de-passe type keepassXC - Connexion à [chatgpt.fablab-alsacenord.fr](https://chatgpt.fablab-alsacenord.fr) - Utilisez la clé API dans votre application ChatGPT-web ([chatgpt.mydomain.tld](https://mydomain.tld/yunohost/admin/#/domains/chatgpt.mydomain.tld/cert)) pour authentifier les requêtes à l'API OpenAI. ### Mistral https://mistral.ai/product/ # Un serveur pour le FabLab - YunoHost ? Installer un serveur yunohost.org sur un Raspberry pour les besoins du FabLab : Projets d'IoT Projets de robotique Groupe de travail IA # Installer un serveur avec la distribution Linux YunoHost - Flasher [Yunohost pour Raspberry avec Etcher](https://yunohost.org/fr/install/hardware:rpi34) - Pour que le Raspberry (Yunohost 11, debian bullseye) se connecte en Wifi (par défaut il ne se connecte qu'en filaire) - Écrire un fichier `wpa_supplicant.conf` dans la partition boot - voir : [https://www.raspberryme.com/configurer-le-wifi-sur-un-pi-manuellement-a-laide-de-wpa\_supplicant-conf/](https://www.raspberryme.com/configurer-le-wifi-sur-un-pi-manuellement-a-laide-de-wpa_supplicant-conf/) - Bien penser à modifier : ``` country=fr ssid="MyNetworkSSID" psk="Pa55w0rd1234" ``` - A partir de Yunohost 12 (Debian bookworm), il faudra suivre [la doc' officielle](https://www.raspberrypi.com/documentation/computers/configuration.html#connect-to-a-wireless-network) - [Se connecter avec écran+clavier](https://yunohost.org/fr/ssh) pour récupérer l'adresse IP - user : root - mdp : yunohost - Se connecter à l'adresse IP récupérée depuis un PC sur le même réseau local - Lancer la post-installation pour créer le premier utilisateur YunoHost qui en sera administrateur - Mettre un mot de passe fort car il s'agit d'un serveur qui pourra potentiellement être exposé sur internet - Ajouter le lien entre IP et adresses https://yunohost.org/oc/dns\_local\_network#configure-hosts-file-on-c #### Configurer un HotSpot Wifi - Configurer un point d'accès wifi qui partage la connexion ethernet de la brique avec les appareils connectés (bridge). [https://www.raspberrypi.com/documentation/computers/configuration.html#use-your-raspberry-pi-as-a-network-bridge](https://www.raspberrypi.com/documentation/computers/configuration.html#use-your-raspberry-pi-as-a-network-bridge) #### Ajouter du SWAP - Pour les Raspberry 3B+ qui n'ont que 1G de RAM, il est préférable d'ajouter un fichier de SWAP d'au moins 1G - Ca permettra d'installer les applications YunoHost même si la RAM demandée est importante - [https://www.tartarefr.eu/fr/blog/modifier-swap-rpi](https://www.tartarefr.eu/fr/blog/modifier-swap-rpi) ``` sudo dphys-swapfile swapoff sudo nano /etc/dphys-swapfile ``` - Modifier le fichier de configuration ``` CONF_SWAPSIZE=4096 ... CONF_MAXSWAP=4096 ``` - Recréer le fichier de SWAP et redémarrer le SWAP ``` sudo dphys-swapfile setup sudo dphys-swapfile swapon ```

Impérativement [régler la swappiness](https://geekeries.de-labrusse.fr/?p=1806) à 1 sinon la carte SD va mourir prématurément

# Serveur d'impression 3D Octoprint & Home Assistant ### Lancement d'une impression Se connecter au serveur d'impression Octoprint correspondant à l'imprimante souhaitée :
Imprimante 3D URL depuis le réseau wifi fab-lab-5g URL de secours Nom du service systemd
Ender3 S1Pro[https://s1pro.local](https://s1pro.local) [http://192.168.5.2:5000](http://192.168.5.2:5000) ender3s1pro
Ender3 V2 A[https://v2a.local](https://s1pro.local) [http://192.168.5.2:5001](http://192.168.5.2:5001) ender3v2a
Ender3 V2 B[https://v2b.local](https://v2b.local) [http://192.168.5.2:5002](http://192.168.5.2:5002) ender3v2b
Identifiants : - Administrateur d'Octoprint (Fab-Manager) : `fabmanager` - Utilisateur d'Octoprint (Etudiant) : `fablab` ### Installation de Octoprint Nous avons vu comment [installer un serveur YunoHost sur une Raspberry Pi](https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/installer-un-serveur-avec-la-distribution-linux-yunohost). On souhaite maintenant installer plusieurs instances de Octoprint pour pouvoir piloter à distance plusieurs imprimantes 3D - connexion via ssh au serveur - `mkdir -p /opt/octoprint_deploy` - `cd /opt/octoprint_deploy` - `git clone https://github.com/paukstelis/octoprint_deploy.git` - débrancher l'imprimante à ajouter - lancer le script de déploiement et d'upgrade : `./octoprint_deploy.sh` - taper `y` ou `n` en fonction des questions - rebrancher l'imprimante lorsque demandé pour la détection du port USB Vérification que le système tourne : - `sudo systemctl status ender3v2a` ``` ● ender3v2a.service - The snappy web interface for your 3D printer Loaded: loaded (/etc/systemd/system/ender3v2a.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2024-06-20 09:17:48 CEST; 25min ago Main PID: 51985 (octoprint) Tasks: 14 (limit: 779) CPU: 1min 33ms CGroup: /system.slice/ender3v2a.service └─51985 /home/fan_admin/OctoPrint/bin/python3 /home/fan_admin/OctoPrint/bin/octoprint serve --config=/home/fan_admin/.ender3v2a/config.yaml --basedir=/home/fan_admin/.ender3v2a --port=5001 ``` - le système est bien `active (running)` - le port `5001` est indiqué - on se connecte donc à l'interface web d'octoprint via [http://192.168.5.2:5001](http://192.168.5.2:5001) A condition d'avoir bien ouvert le port 5001 #### Exposition d'Octoprint sur le réseau local via YunoHost : - Ouverture du port dans le Firewall YunoHost [https://fan.ynh.fr/yunohost/admin/#/tools/firewall](https://fan.ynh.fr/yunohost/admin/#/tools/firewall) [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/scaled-1680-/miTimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/miTimage.png) - ajout d'une URL locale [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/scaled-1680-/63Ximage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/63Ximage.png) - Installation d'une application redirect [![image.png](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/scaled-1680-/O9Fimage.png)](https://innovation.iha.unistra.fr/uploads/images/gallery/2024-06/O9Fimage.png) # Moyens informatiques ### PC - 3 PC tours Ubuntu 22.04 administrés par le FabLab - Eviter les màj sur le réseau fab-lab (fab-lab-5g), plutôt faire un partage de connexion smartphone via USB ou se connecter à Osiris - Arduino IDE (v1.8 dans les dépôts) --> Télécharger [AppImage ](https://www.arduino.cc/en/software)(2.3.2) - `chmod +x arduino-ide...AppImage` - Télécharger [BambuStudio.AppImage](https://github.com/bambulab/BambuStudio/releases) - `chmod +x BambuStudio...AppImage` - FreeCAD 0.21 dans le [PPA stable](https://doc.ubuntu-fr.org/freecad#depuis_le_ppa_stable) - `sudo add-apt-repository ppa:freecad-maintainers/freecad-stable` - Inkscape 1.3.2 dans le [PPA stable](https://doc.ubuntu-fr.org/inkscape#via_un_depot_ppa) - `sudo add-apt-repository ppa:inkscape.dev/stable` - [Extension Inkcut pour traceur de découpe](https://innovation.iha.unistra.fr/books/3-fablab-machines-techniques/page/pilotage-pixmax-720-via-inkcut#bkmrk-installation-inkcut-) - Extension Lasercut tabbed box - Extension Lasercut Jigsaw - Firefox LTS [via les dépôts plutôt que le snap](https://doc.ubuntu-fr.org/firefox#installer_firefox_en_deb_classique_au_lieu_de_snap) - cf. [https://innovation.iha.unistra.fr/books/robotique-open-source/page/installation-pc-ros2#bkmrk-installer-firefox-da](https://innovation.iha.unistra.fr/books/robotique-open-source/page/installation-pc-ros2#bkmrk-installer-firefox-da) - PrusaSlicer depuis [snap](https://snapcraft.io/prusa-slicer) - `sudo snap install prusa-slicer` - Ultimaker Cura [via les dépôts](https://doc.ubuntu-fr.org/cura#par_les_depots_officiels_ubuntu) - `sudo apt install cura` - [Logiciels utiles pour la Robotique Open Source ROS](https://innovation.iha.unistra.fr/books/robotique-open-source/page/installation-pc-ros2#bkmrk-outils-utiles) - QTcreator-ROS depuis snap (pour la robotique Open Source) - Visual Studio Code sans tracker [VSCodium](https://innovation.iha.unistra.fr/books/robotique-open-source/page/installation-pc-ros2#bkmrk-visual-studio-codium) - Profils et Droits Ubuntu - fablab - Pour tout utilisateur du FabLab - Français - Automatic Login - Même Password qu'étudiant - etudiant - Pour les étudiants GEII ou toute personne voulant découvrir ou travailler sur la robotique Open Source avec ROS - administrateur - Anglais (pour ROS) - admin\_geii - Pour les enseignants de robotique, quelques workspace ROS propres, que les étudiants ne devraient pas avoir modifiés - administrateur - Anglais (pour ROS) - 3 PC tours Windows administrés par l'IUT ### Réseau - Routeur wifi 5G CradlePoint - Émet un réseau wifi isolé de l'infrastructure réseau de l'IUT dans le FabLab, le bureau du Fab-Manager et les deux salles adjacentes - Connexion internet via SIM 5G SFR 20Go de quota 4€/mois - Permet de créer un réseau et de fournir internet pour des PC, serveurs, et robots Linux/Ubuntu - Permet de réaliser des projets de robotique avec ROS en connectant des ordinateur sous Linux/Ubuntu avec des IP fixes - Permet de réaliser des projets d'IoT avec un serveur YunoHost exposé à internet - [VPN Wireguard arn-fai.net](https://arn-fai.net/fr/internet-alternatif/tunnel-vpn) 4€/mois - ### Serveurs - Un raspberry 3B+ installé sous Yunohost - Usages locaux : serveur d'impression 3D octoprint - Usages internet : expérimentations serveur autour de la collecte de données (IoT) - OS Yunohost 11 - Connecté en filaire au Routeur 4G CradlePoint - [VPN Wireguard arn-fai.net](https://arn-fai.net/fr/internet-alternatif/tunnel-vpn) 4€/mois - Accès local via yunohost.local/yunohost/admin - Exposition sur internet via [VPN Wireguard arn-fai.net](https://arn-fai.net/fr/internet-alternatif/tunnel-vpn) 4€/mois - Nom de domaine public fourni par Yunohost : [fan.ynh.fr](https://fan.ynh.fr) - Application serveur d'impression 3D [Octoprint ](https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/serveur-dimpression-3d-octoprint-home-assistant)pour Ender3 S1Pro, Ender3 V2 A, Ender3 V2 B - Applications YunoHost installées : - WireGuard Client pour la connexion au serveur VPN wireguard - Home Assistant - pour faire de l'IoT - pour synthétiser les serveurs Octoprint - InfluxDB pour le stockage de données temporelles issues des capteur IoT - Mosquitto comme serveur MQTT - Node-RED pour programmer la récupération de données depuis les capteurs, les afficher sur un dashboard et les stocker dans une base de données MySQL ou InfluxDB - phpMyAdmin pour gérer les bases de données MySQL - Un[ serveur virtuel (VPS) en colocation chez arn-fai.net](https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/serveur-de-colocation-dalsace-reseau-neutre) - Administré par le FabLab avec l'aide des administrateur bénévoles de l'association Alsace Réseau Neutre - Un nom de domaine fablab-alsacenord.fr payé chez ovh - Usage IA - Un compte OpenAI du FabLab payé par la caisse de l'association - L'[application ChatGPT web ](https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/decouvrir-chatgpt-via-lapi-openai#bkmrk-comment-installer-ch)pour se connecter à l'API OpenAI - Usage FabLab - Le[ site web de gestion du FabLab](https://manager.fablab-alsacenord.fr) d'Alsace-Nord : fab-manager.com - Installé via le paquet YunoHost - Un Raspberry 5 installé sous HomeAssistant OS - 8G RAM - [HomeAssistant OS installé](https://innovation.iha.unistra.fr/books/iot/page/homeassistant-et-esp32) - Pour la [gestion de flotte de capteurs connectés ESP32](https://innovation.iha.unistra.fr/books/iot/page/homeassistant-et-esp32#bkmrk-configuration-de-esp) - Pour la [collecte, l'affichage et le traitement des données](https://innovation.iha.unistra.fr/books/iot/page/homeassistant-et-traitement-de-donnees) # Serveur de colocation d'Alsace Réseau Neutre ### Fab-Manager #### Configuration - [https://manager.fablab-alsacenord.fr](https://manager.fablab-alsacenord.fr) - déploiement via[ app YunoHost](https://github.com/YunoHost-Apps/fab-manager_ynh) - installé dans `cd /var/www/fab-manager` - fichier de config : `nano .env` - recharger le service systemd : `sudo systemctl restart fab-manager-worker fab-manager-app` - renouvellement du certificat lets'Encrypt géré par YunoHost [Automatisation de la publication des projets de Fab-Manager vers Facebook](https://fabmanager.csc49.fr/#!/projects/publication-des-projets-fabmanager-sur-le-site-du-bocal-et-la-page-facebook) [https://fabmanager.csc49.fr/#!/projects/publication-des-projets-fabmanager-sur-le-site-du-bocal-et-la-page-facebook](https://fabmanager.csc49.fr/#!/projects/publication-des-projets-fabmanager-sur-le-site-du-bocal-et-la-page-facebook) #### Ancien serveur hébergé Unistra - [https://fan-manager.di.unistra.fr/](https://fan-manager.di.unistra.fr/) - déploiement via docker comme dans la [doc' officielle](https://github.com/sleede/fab-manager/blob/master/doc/production_readme.md) - installé dans `cd /apps/fabmanager` - fichier de config : `nano config/env` - recharger l'environnement : ``` docker compose down docker compose up -d ``` - script de renouvellement du certificat lets'Encrypt (à programmer avec crontab) ```bash root@fan-manager:/apps/fabmanager# cat /usr/local/sbin/renew.sh #!/bin/bash certbot renew --dry-run -n > /tmp/renewornot 2>&1 if grep -Fxq 'Cert not due for renewal, but simulating renewal for dry run' "/tmp/renewornot" then echo "Certificat non arrivé à échéance...pas d'action" else echo "Renouvellement du certicat..." cd /apps/fabmanager/ docker-compose down cd /apps/fabmanager/letsencrypt/etc/live/fan-manager.di.unistra.fr #certbot -n --renew-by-default --domain fan-manager.di.unistra.fr certbot renew --post-hook "systemctl stop nginx" cd /etc/letsencrypt/archive/fan-manager.di.unistra.fr ls -Art | tail -n 4 |sort > /tmp/letslist declare -a lets_array lets_array=(`cat "/tmp/letslist"`) cp -f /etc/letsencrypt/archive/fan-manager.di.unistra.fr/${lets_array[0]} /apps/fabmanager/letsencrypt/etc/archive/fan-manager.di.unistra.fr/cert198.pem cp -f /etc/letsencrypt/archive/fan-manager.di.unistra.fr/${lets_array[1]} /apps/fabmanager/letsencrypt/etc/archive/fan-manager.di.unistra.fr/chain198.pem cp -f /etc/letsencrypt/archive/fan-manager.di.unistra.fr/${lets_array[2]} /apps/fabmanager/letsencrypt/etc/archive/fan-manager.di.unistra.fr/fullchain198.pem cp -f /etc/letsencrypt/archive/fan-manager.di.unistra.fr/${lets_array[3]} /apps/fabmanager/letsencrypt/etc/archive/fan-manager.di.unistra.fr/privkey198.pem cd /apps/fabmanager/ killall nginx docker-compose up -d fi exit ```