1 - FabLab - Vos Projets !
Comment rejoindre le FabLab et y réaliser vos projets ? Exemples de projets documentés.
- Best-Of sites de documentation de projets
- Electronique ! Arduino & Co
- Intelligence Artificielle
- Un serveur pour le FabLab - YunoHost ?
- Installer un serveur avec la distribution Linux YunoHost
- Serveur d'impression 3D - Octoprint - Home Assistant
- Moyens informatiques
- Serveur de colocation d'Alsace Réseau Neutre
- Création de décoration d'halloween !
- Introduction
- Création d'une guirlande d'Halloween à l'aide de la Cricut Maker 3
- Création d'une lanterne en forme de citrouille avec la découpe laser
- Développement durable
- Fidgets pour classe ULIS
- Toupille impression 3D
- Une carte du monde équitable - Projection de Goode interrompue
Best-Of sites de documentation de projets
Wiki du réseau mondial des FabLabs Fab Foundation : https://wikifactory.com/@remy/
Wiki de l'Université Sorbonne : https://wiki.fablab.sorbonne-universite.fr/BookStack/shelves/3-galerie
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, 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
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)
Code "sketch":
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.
//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.
LE SLICER S3D
Essai.
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
- 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)
- Se connecter à chatgpt.fablab-alsacenord.fr avec votre identifiant et mot-de-passe
- Renseignez votre clé d'API dans l'application ChatGPT-web (chatgpt.mydomain.tld) pour authentifier les requêtes faites aux serveurs d'OpenAI via son API.
Paramètres du chat
- Réglez les paramètres du chat
- Choisissez le modèle GPT4-Turbo qui est moins cher et plus performant
- Éventuellement essayez gpt-4o
- Réglez les autres paramètres tels que la taille maximale des requêtes
- Au besoin, activez dall-e
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/ 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
- Un système d'exploitation Linux pour une administration système facile 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 installée en un clic grâce à YunoHost
- Un jeton d'API obtenu depuis un compte OpenAI 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
- Installer YunoHost 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 exemplechatgpt.mydomain.tld
pour y installer le client ChatGPT-Web.
- Lancer le Diagnostique : https://mydomain.tld/yunohost/admin/#/diagnosis
- Installer un certificat Let's Encrypt 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
- Autoriser
tous les utilisateurs de YunoHost
, si vous laissez les droits d'accèsVisiteurs
par défaut, n'importe qui pourra utiliser votre API et vous payerez pour tous !
- Créez un compte sur OpenAI : https://platform.openai.com
- Accédez au tableau de bord API (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.
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
- Utilisez la clé API dans votre application ChatGPT-web (chatgpt.mydomain.tld) 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 (sous Linux) ou Rufus (sous Windows) sur une carte SD
- Connecter la Raspberry à un routeur via un câble Ethernet
- Si le routeur autorise la Raspberry à récupérer une adresse IP via DHCP et à émettre un nom de domaine via mDNS
- Se connecter à yunohost.local depuis un ordinateur connecté au routeur
- Se connecter à yunohost.local depuis un ordinateur connecté au routeur
- Sinon
- Se connecter avec écran+clavier pour récupérer l'adresse IP
- user : root
- mdp : yunohost
- attention par défaut le clavier est anglais
- Se connecter à l'adresse IP récupérée depuis un ordinateur connecté au routeur
- Se connecter avec écran+clavier pour récupérer l'adresse IP
- Lancer la post-installation pour créer le premier utilisateur YunoHost qui en sera administrateur
- nécessite une bonne connexion internet
- 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
Connecter la Raspberry en wifi plutôt qu'ethernet
On ne pourra plus configurer de HotSpot Wifi, à moins d'ajouter une carte wifi supplémentaire (dongle USB par exemple)
- 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/
-
Bien penser à modifier :
country=fr ssid="MyNetworkSSID" psk="Pa55w0rd1234"
- Écrire un fichier
- A partir de Yunohost 12 (Debian bookworm), il faudra suivre la doc' officielle
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).
- Installer l'application https://apps.yunohost.org/app/hotspot
Alternative : 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
- Cela permettra d'installer les applications YunoHost même si la RAM demandée est importante
- 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 à 1 sinon la carte SD va mourir prématurément
Raspberry 5 avec NVME
- suivre cette documentation : https://www.framboise314.fr/nvme-base-de-pimoroni-ajoutez-un-ssd-m2-a-votre-raspberry-pi-5/
- Sans interface graphique et en installant d'abord YunoHost sur la carte SD
- Flasher l'intégralité de la carte SD vers le disque NVME
dd /dev/sda /dev/nvme0n1
- Monter la partition qui contient
/boot/firmware
mount /dev/nvme0n1p1 /mnt/nvme0n1p1
- bien vérifier que la ligne apparait à la fin de
/mnt/nvme0n1p1/config.txt
dtparam=pciex1_gen3
- vérifier que le UUID apparaissant dans le fichier
/etc/fstab
est bien celui du disque NVME et non celui de la carte SD.
Serveur d'impression 3D - Octoprint - Home Assistant
Lancement d'une impression
Depuis Bambu Studio
- Sélectionner l'imprimante :
- Lancer l'impression
Pour voir comment ajouter une imprimante à BambuStudio via Octoprint :
Depuis un navigateur
- Se connecter au serveur d'impression Octoprint correspondant à l'imprimante souhaitée, cf . https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/adressage-ip-du-reseau-du-fablab#bkmrk-configuration-r%C3%A9seau
- Démarrer l'imprimante
- Se connecter à l'imprimante en sélectionnant le port série correspondant, par ex.
/dev/octo_ender3s1pro
Installation de Octoprint
Nous avons vu comment installer un serveur YunoHost sur une Raspberry Pi.
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
oun
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=XXXXXX
- le système est bien
active (running)
- le port
XXXXXX
est indiqué - on se connecte donc à l'interface web d'octoprint via http://addresse_ip:XXXXXX
A condition d'avoir bien ouvert le port XXXXXX
dans le pare-feu YunoHost
Démarrage automatique du service systemd au démarrage de la Raspberry :
sudo systemctl enable ender3s1pro
Redémarrage du service au bout de 5s lorsqu'il échoue :
nano /etc/systemd/system/ender3s1pro.service
[Service]
Restart=on-failure
RestartSec=5s
Exposition d'Octoprint sur le réseau local via YunoHost :
- ajout d'une URL locale type
imprimante.local
- Installation d'une application redirect sur l'URL créée et pointant sur l'adresse locale et le port de l'imprimante
Exposition d'Octoprint sur le net via YunoHost :
Vous vous exposez à des attaques, sécurisez les comptes et vérifiez les droits d'accès avant de réaliser cela
- Ouverture du port dans le Firewall YunoHost https://fan.ynh.fr/yunohost/admin/#/tools/firewall
- ajout d'une URL publique
- Installation d'une application redirect
Installation de Klipper
- Ce nouveau firmware à installer sur le contrôleur de l'imprimante permet doit permettre d'améliorer les performances. Les algorithmes de planification de trajectoire fonctionnent sur un ordinateur déporté, par exemple notre serveur d'impression 3D
- Installation managée via KIAUH https://github.com/dw-0/kiauh
-
sudo apt-get update && sudo apt-get install git -y cd ~ && git clone https://github.com/dw-0/kiauh.git ./kiauh/kiauh.sh
- Installation des dépendances
sudo apt-get install avr-libc avrdude binutils-arm-none-eabi binutils-avr dfu-util gcc-arm-none-eabi gcc-avr libnewlib-arm-none-eabi libusb-1.0-0-dev libusb-dev stm32flash
cd ~ && git clone https://github.com/Klipper3d/klipper.git
- on installe 4 instances en respectant les noms des imprimantes https://innovation.iha.unistra.fr/books/1-fablab-vos-projets/page/adressage-ip-du-reseau-du-fablab#bkmrk-configuration-r%C3%A9seau
-
- (Méthode d'installation "manuelle" : https://www.klipper3d.org/OctoPrint.html )
- Configuration du printer.cfg via ssh https://www.klipper3d.org/Installation.html#configuring-klipper
cp klipper/config/printer-creality-ender3-s1-2021.cfg /home/fan_admin/printer_ender3s1pro_data/config
nano /home/fan_admin/printer_ender3s1pro_data/config/printer-creality-ender3-s1-2021.cfg
mv /home/fan_admin/printer_ender3s1pro_data/config/printer-creality-ender3-s1-2021.cfg /home/fan_admin/printer_ender3s1pro_data/config/printer.cfg
- Compiler et flasher le driver https://www.klipper3d.org/Installation.html#building-and-flashing-the-micro-controller
- Intégration avec Octoprint (qui est déjà installé) https://www.klipper3d.org/OctoPrint.html#configuring-octoprint-to-use-klipper
- Installation de l'interface Web Mainsail requiert d'abord d'installer Moonraker
kiauh/kiauh.sh
Moyens informatiques
Synthèse
PC
- 3 PC tours Ubuntu 22.04 administrés par le FabLab
- Pour les AppImage sous Ubuntu 24.04 qui a FUSE3 par défaut --> installer FUSE2
sudo apt install libfuse2
- Eviter les màj sur le réseau du FabLab car limité à 20Go, 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 (2.3.2)
chmod +x arduino-ide...AppImage
- Télécharger BambuStudio.AppImage
chmod +x BambuStudio...AppImage
- FreeCAD 0.21 dans le PPA stable
sudo add-apt-repository ppa:freecad-maintainers/freecad-stable
- Inkscape 1.3.2 dans le PPA stable
sudo add-apt-repository ppa:inkscape.dev/stable
- Extension Inkcut pour traceur de découpe
- Extension Lasercut tabbed box
- Extension Lasercut Jigsaw
- Firefox LTS via les dépôts plutôt que le snap
- PrusaSlicer depuis snap
sudo snap install prusa-slicer
- Ultimaker Cura via les dépôts
sudo apt install cura
- Pour les AppImage sous Ubuntu 24.04 qui a FUSE3 par défaut --> installer FUSE2
- Logiciels utiles pour la Robotique Open Source ROS
- QTcreator-ROS depuis snap (pour la robotique Open Source)
- Visual Studio Code sans tracker VSCodium
- Profils et Droits Ubuntu
- Un profil public
- Pour tout utilisateur du FabLab
- Français
- Automatic Login
- Même Password qu'étudiant
- un profil étudiant en robotique
- Pour les étudiants GEII ou toute personne voulant découvrir ou travailler sur la robotique Open Source avec ROS
- administrateur
- Anglais (pour ROS)
- en profil enseignant/administrateur
- Pour les enseignants de robotique, quelques workspace ROS propres, que les étudiants ne devraient pas avoir modifiés (rien ne les en empêche)
- administrateur
- Anglais (pour ROS)
- Pour les enseignants de robotique, quelques workspace ROS propres, que les étudiants ne devraient pas avoir modifiés (rien ne les en empêche)
- Un profil public
- 3 PC tours Windows administrés par l'IUT
Double-écran en salle A1-TP06
L'idée c'est de brancher un all-in-one comme écran secondaire du all-in-one voisin pour avoir 2 écrans. C'est pratique d'avoir 2 écrans quand on fait du VirtualBox et qu'on veut suivre de la doc' à côté. Voyons comment faire ça avec 2 Dell Optiplex 7470 en A1TP06 ?
Sur le all-in-one qui a besoin d'un écran externe : brancher le câble sur le port HDMI "normal"
Sur le all-in-one qui doit servir d'écran externe :
- installer ce driver Dell "On screen display" https://dl.dell.com/FOLDER05872073M/5/Dell-On-Screen-Display-Application_PRGT0_WIN_1.0.4.0_A02_03.EXE
- brancher le câble HDMI sur le port qui a un logo "input"
- appuyer sur le bouton qui est sous l'écran à droite
- le bouton est désactivable dans le BIOS mais activé par défaut
- déploiement du driver en ligne de commande :
PS C:\Users\install> .\Dell-On-Screen-Display-Application_PRGT0_WIN_1.0.4.0_A02_03.EXE /help
PS C:\Users\install> A02
Dell On-Screen Display Application, 1.0.4.0, A02
General Usage:
Dell-On-Screen-Display-Application_PRGT0_WIN_1.0.4.0_A02_03.exe [/<option1>[=<value1>]] [/<option2>[=<value2>]]...
See listing below for <option> and <value> information.
NOTE:If the folder name contains space, double quotes should be given for folder name
EXAMPLE:/s /e="c:\Folder Name"
Option - Description:
---------------------
(none) - Display of graphical user interface for guided installation/update or extraction.
/? or /h - Displays this Update Package usage information.
/s - Suppresses all graphical user interfaces of the Update Package.
/e=<path> - Extraction of update contents to a folder.
(NOTE: Requires /s option)
/passthrough ... - (Advanced) Sends all text following the /passthrough option directly to the vendor install software of the Update Package. This mode suppresses any provided graphical user interfaces, but not necessarily those of the vendor software.
/factoryinstall /passthrough (vendor command line parameter) - (Advanced) (commnad line parameters) will be passed to vendor installer directly without parsing MUP.xml. Post installation, If the vendor installer returns REBOOT_REQUIRED or REBOOT_UPDATE_PENDING, it will be turned to SUCCESS.
/l=<path> - Define a specific path for the Update Package log file.
(NOTE: This option can NOT be used in combination with /passthrough)
Example(s):
---------------------
Update the system silently
Dell-On-Screen-Display-Application_PRGT0_WIN_1.0.4.0_A02_03.exe /s
Extract the update contents to the folder C:\mydir\
Dell-On-Screen-Display-Application_PRGT0_WIN_1.0.4.0_A02_03.exe /s /e=C:\mydir
Pass command line arguments directly to vendor installer.
Turn the return code to success if required
Dell-On-Screen-Display-Application_PRGT0_WIN_1.0.4.0_A02_03.exe /factoryinstall /passthrough D:\Sample.xml C:\log\FI.log
Change from the default log location to C:\my path with spaces\log.txt
Dell-On-Screen-Display-Application_PRGT0_WIN_1.0.4.0_A02_03.exe /l="C:\my path with spaces\log.txt"
Réseau
- Routeur wifi 5G CradlePoint
- Émet un réseau wifi isolé de l'infrastructure réseau de l'IUT dans le FabLab (A1-01), le bureau du Fab-Manager (A1-05) et les deux salles adjacentes (A1-TP01 et A1-TP06)
- Connexion internet via SIM 5G SFR 20Go de quota 2€/mois
- Extension possible à un forfait illimité pour 10€/mois
- Passer en navigation privée si la connexion échoue
- Émet un réseau wifi isolé de l'infrastructure réseau de l'IUT dans le FabLab (A1-01), le bureau du Fab-Manager (A1-05) et les deux salles adjacentes (A1-TP01 et A1-TP06)
- 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 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 4€/mois
- Accès local via yunohost.local/yunohost/admin
- Exposition sur internet via VPN Wireguard arn-fai.net 4€/mois
- Nom de domaine public fourni par Yunohost : fan.ynh.fr
- Application serveur d'impression 3D Octoprint 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
- pour faire de l'IoT
- 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
- Usages locaux : serveur d'impression 3D octoprint
- Un serveur virtuel (VPS) en colocation chez arn-fai.net
- 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 pour se connecter à l'API OpenAI
- Usage FabLab
- Le site web de gestion du FabLab d'Alsace-Nord : fab-manager.com
- Installé via le paquet YunoHost
- Un Raspberry 5 installé sous HomeAssistant OS
Gestion parc informatique avec GLPI
Pour gérer les PC Ubuntu du FAN et les PC Windows de CréaBot, on installe le logiciel GLPI avec Fusion Inventory :
- Installer le paquet GLPI sur le raspberry 3B+
fan.ynh.fr
- Installation sur un domaine local, on ne veut pas de piratage de l'extérieur :
parcinfo.local
- Login par défaut : glpi:glpi
Autre approche avec Ansible
https://github.com/richlamdev/ansible-desktop-ubuntu
Serveur de colocation d'Alsace Réseau Neutre
Fab-Manager
Configuration
- https://manager.fablab-alsacenord.fr
- déploiement via app YunoHost
- 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
- Configuration du paiement en ligne via Stripe
- Test paiement en ligne :
- Utiliser une CB de test de Stripe https://docs.stripe.com/testing#cards
- Utiliser une CB de test de Stripe https://docs.stripe.com/testing#cards
Automatisation de la publication des projets de Fab-Manager vers Facebook
Ancien serveur hébergé Unistra
- https://fan-manager.di.unistra.fr/
- déploiement via docker comme dans la doc' officielle
- 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)
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
Création de décoration d'halloween !
Bonjour, aujourd'hui nous allons apprendre à créer une guirlande en papier et une lanterne en forme de citrouille à l'aide des différentes machines du fablab.
Introduction
Bonjour, aujourd'hui je vous propose de réaliser des décorations d'Halloween élégantes et originales, composées de deux éléments principaux : une guirlande en papier et une lanterne en forme de citrouille. En combinant l'utilisation de la "Cricut Maker 3" pour la découpe de motifs en papier et de la découpeuse laser "Trotec Speedy 100" pour la création de la lanterne, nous pourrons réaliser une superbe décoration pour notre soirée d'Halloween. Vous pourrez trouver ci-dessous des photographies de ce que nous nous apprêtons à réaliser !
Photographie de la guirlande en papier réalisée au Fablab Alsace-Nord
Photographie de la lanterne citrouille réalisée au Fablab Alsace-Nord
Création d'une guirlande d'Halloween à l'aide de la Cricut Maker 3
Allez, c'est parti pour réaliser nos propres décoration d'Halloween !
I - Liste du matériels
Pour commencer, faisons la liste de tout ce dont nous aurons besoin.
- Feuille de papier blanc pour impression format A4
- Ficelle
- Pistolet à colle
- Imprimante à jet d'encre ou laser
- Cricut Maker 3 ainsi que quelques accessoires (tapis de découpe, raclette de lissage, spatule)
- Logiciel "Cricut Design Space"
- Image de chauve-souris, de chapeau de sorcière et d'araignée ( vous pouvez retrouver les modèle dans "Fichiers joints")
Maintenant que nous avons tout ce dont nous avons besoin, nous pouvons commencer.
II - Réalisation de la guirlande en papier d'Halloween
1 - Préparation de nos modèles de chauve-souris, de chapeau de sorcière et de citrouille en papier
Commençons déjà par ouvrir le logiciel "Cricut design space". Une fois ouvert vous vous retrouverez sur la même page que l'image ci-dessous. Vous pouvez cliquer sur le bouton "+ Nouveau projet " afin de créer un nouveau projet.
Ensuite, appuyer sur le bouton "Télécharger" -> "télécharger une Image" -> "Parcourir" et sélectionner vos fichiers en focntion de la ou vous les avez rangés comme ci-dessous afin de télécharger nos modèles de chauve-souris, araignée ou de chapeau. Pour rappel, les modèles se trouvent en fichier joint du document.
Une fois que vous avez sélectionner votre fichier, il faut appuyer sur "Continuer"
"Appliquer et continuer"
Pour réaliser les modèles en papier, nous utiliserons la fonction Print&Cut de la Cricut Maker 3. Cette fonctionnalité nous permet d’imprimer un modèle avec des repères, que la machine détectera pour découper précisément les contours sur la feuille de papier. Afin de pouvoir Utiliser cette fonction, faudra sélectionner "Design plat"->"Continuer"-> "Télécharger" comme indiqué ci-dessous.
Pour la prochaine étape, il va falloir vérifier trois choses comme indiqué sur l'image ci-dessous.
1) Que l'on utilise bien l'Opération "Imprimer puis découper"
2) Que l'on a bien redimensionner notre image à la taille souhaité (Essayer d'avoir une image d'environ 9cmx9cm)
3) Nous pouvons appuyer sur le bouton "Créer"
Cliquez sur "Continuer" puis "Envoyer à l'imprimante".
Faites attention à vérifier :
1) Taille de la page -> format A4
2) Imprimante -> Microsoft to Print PDF
3) Cliquer sur "Imprimer"
Enregistrer votre fichier sur une clé USB afin de pouvoir imprimer notre modèle (en format PDF) sur l'imprimante. (Notre imprimante fonctionne avec une clé USB. Si ce n'est pas votre cas, libre à vous d'adapter les étapes suivantes avec votre imprimante)
Ensuite, cliquez sur "Parcourir les matériaux" puis recherche "papier" et sélectionner le type de papier que vous utilisez. Pour notre exemple j'utilise du papier 90g. Enfin, appuyer sur "Terminé".
Une fois que vous avez imprimer vos modèles d'araignée, de chauve-souris ou de chapeau de sorcière, vous pouvez placez votre modèle en haut à gauche du tapis de découpe comme réalisée ci-dessous.
Vous pouvez ensuite appuyer sur le bouton "<>"qui clignote afin de charger le plateau de découpe dans la machine.
Attendez jusqu'à ce que le bouton à gauche de celui sur lequel vous venez d'appuyer clignote à son tour. Vous pourrez appuyer sur ce bouton une fois qu'il clignote afin de lancer la réalisation de la découpe des contours de votre modèle. Lorsque la découpe à été réaliser, le premier bouton clignote à nouveau. Appuyez dessus afin de décharger le tapis de découpe.
Vous pouvez désormais retirer votre modèle du tapis de découpe à l'aide des différents outils mis à votre disposition tels que la spatule ou encore le crochet.
Voici le résultat une fois le modèle enlever du tapis de découpe.
2 - Assemblage de nos modèles pour former la guirlande de papier
Pour pouvoir continuer nous allons préparer :
- Nos modèles découper en papier
- Une paire de ciseau
- Pistolet à colle
- Une bobine de fil
Nous allons commencer par découper un morceau de fil à la longueur souhaitée (a vous de décider) et le tendre sur la table.
Prenez ensuite un des modèles comme dans l'image ci-dessous et coller la au fil.
Vous pouvez répéter le processus jusqu'à obtenir votre guirlande finalisé.
Félicitation vous avez réalisé votre propre guirlande d'Halloween à l'aide des différentes machines du Fablab!
Création d'une lanterne en forme de citrouille avec la découpe laser
Allez, c'est parti pour réaliser nos propres décoration d'Halloween !
I - Liste du matériels
Pour commencer, faisons la liste de tout ce dont nous aurons besoin.
- Planche de bois MDF 3mm
- Découpe laser (J'utiliserai ici la Trotec speedy 100)
- Logiciel "Inkscape"
- Pistolet à colle
Maintenant que nous avons tout ce dont nous avons besoin, nous pouvons commencer.
II - Réalisation de la lanterne en forme de citrouille
1 - Préparation de nos modèles de citrouille pour la découpe laser
Nous allons donc dans un premier temps réaliser et adapter notre modèle pour qu'il soit fonctionnel avec le logiciel de la découpe laser. Afin de nous facilité les choses je vous ai pré-réaliser un modèle que vous trouvez en fichier joint au document.
Pour le personnaliser, je vous laisse vous référer au tutorial du logiciel inkscape qui permet la faire du dessin vectoriel
Utilisation d'Inkscape | Innovation IUT Haguenau
Une fois la personnalisation de votre lanterne réaliser, nous pouvons aller réaliser la découpe, a tout de suite!
2 - Réalisation de la découpe laser
Nous revoilà! Pour la suite de la réalisation de notre lanterne, il va falloir s'aider du tutoral disponible via le lien ci-dessous qui nous explique comment utiliser notre découpe laser.
Lancement d'une découpe | Innovation IUT Haguenau
Une fois notre découpe réaliser, il ne nous reste plus qu'à coller nos pièces à l'aide d'un pistolet à colle pour solidifier le tout.
Et voila vous avez réalisé votre lanterne citrouille!
Développement durable
Projet Vélo-énergie Marché de Noël
Illustration issue d’un wiki (lien)
Version moteur CC ou alternateur de voiture
Version Dynamo de vélo
Matériel nécessaire :
- Dynamo (générateur électrique) : Utilisation d’une dynamo de moyeu pour transformer le mouvement de rotation de la roue du vélo en électricité.
· Dynamo décathlon (50€)
· Dynamo deportvillage (39€)
- Pont redresseur (redresseur à diode) : La dynamo produit du courant alternatif (AC), mais les LEDs nécessitent du courant continu (DC). Le pont redresseur permettra de transformer le courant alternatif en courant continu.
- KBPC3510 (12,5€)
- Condensateur : Pour lisser le courant en sortie de la dynamo et éviter des variations brusques d'intensité lumineuse dans les LED.
· Condensateur radial de 4700µF/25V GoTronic (1,6€)
- Régulateur de tension : La tension produite par la dynamo peut fluctuer en fonction de la vitesse de pédalage. Un régulateur de tension sera nécessaire pour fournir une tension constante aux LED, généralement autour de 3V à 12V, selon les types de LED.
- Régulateur ajustable GoTronic (2,7€)
- LED (diodes électroluminescentes) : Lumières à alimenter. Vérifier la tension nominale des LED avant de choisir le bon régulateur de tension.
- Fils électriques pour les connexions.
Étapes de la mise en place du système :
- Installer la dynamo sur le vélo :
- Intégrer la dynamo dans le moyeu de la roue avant.
- Connecter la dynamo au pont redresseur :
- La dynamo produit du courant alternatif. Connectez les deux fils de sortie de la dynamo aux entrées du pont redresseur (généralement marquées "~"). Cela permettra de convertir l'AC en DC.
- Ajouter un condensateur :
- Ajoutez le condensateur en parallèle après le pont redresseur pour stabiliser la tension.
- Régulateur de tension :
- Le régulateur va permettre de protéger vos LED des variations de tension. Connectez la sortie du condensateur à l’entrée du régulateur de tension. Réglez la sortie à la tension correspondant aux spécifications de vos LED (ex. : 5V si vos LEDs fonctionnent à 5V).
- Brancher les LED :
- Connectez les LED à la sortie du régulateur de tension. Assurez-vous de respecter la polarité (le fil positif des LED doit être connecté au fil positif du régulateur, et le négatif au négatif).
- Tester le système :
- Commencez à pédaler et observez si les LEDs s’allument. Si la lumière clignote ou s'éteint à basse vitesse, cela peut indiquer un problème de régulation de tension ou un besoin d’un condensateur plus grand.
Ressources
https://wiki.lowtechlab.org/wiki/V%C3%A9lo_g%C3%A9n%C3%A9rateur_d%27%C3%A9lectricit%C3%A9
- Home Trainer générateur (la start-up ne vend plus que des évènements) : https://www.18h39.fr/changer-de-vie/low-tech-makers/avec-ce-velo-vous-pourrez-produire-de-lelectricite-en-pedalant-dans-votre-salon.html
- https://reso-nance.org/wiki/projets/velo_energie/accueil
- https://solar.lowtechmagazine.com/fr/2022/03/how-to-build-a-practical-household-bike-generator/
- https://solar.lowtechmagazine.com/fr/2023/11/bike-generator-at-paris-exhibition/
- Un projet de bac : https://forums.futura-sciences.com/physique/724700-velo-a-recuperation-denergie-electrique.html
- un autre : https://wiki.lowtechlab.org/wiki/V%C3%A9lo_g%C3%A9n%C3%A9rateur_d%27%C3%A9lectricit%C3%A9
- https://www.youtube.com/watch?v=fCa1sWc1LoM
- https://forum.davidmanise.com/index.php?topic=65285.0
- p.50-52 https://www.utc.fr/lec/theses/manuscrits/These_AGimeno.pdf
- https://www.neozone.org/innovation/il-invente-un-velo-qui-permet-de-generer-de-lelectricite-gratuitement/
Fidgets pour classe ULIS
Interrupteur clic impression 3D
https://www.printables.com/model/87042-fidget-toggle-switch/files
Pour pouvoir travailler sur la CAO sur TinkerCAD avec les jeunes, on choisi ce fidget simple et personnalisable.
Interrupteur clic découpe laser
Résultat
Vidéo : https://seafile.unistra.fr/f/23624efc416c47aa8134/
Notes de David
- J'ai choisi d'utiliser une plaque transparente en PMMA pour laisser le mécanisme visible ; elle était de 2mm (ce qui rends les attaches visibles, le plan de base étant prévu pour du 3mm).
- Les attaches sont très fragiles, coupez-en quelques-unes en plus au cas où.
- Le fidget a beaucoup de jeu entre la partie du levier et le ressort, c'est peut-être du au kerf, à voir si compenser ce jeu rend le fidget plus bruyant.
Cube casse-tête
Modèle dispo dans les modèles en ligne de Bambu Studio "Maker World"
Ressources
https://makerdesignlab.com/experiments/clicky-toggle-switch-made-from-wood-only/
https://www.printables.com/model/87042-fidget-toggle-switch/files
Toupille impression 3D
Conception sur TinkerCAD
Une carte du monde équitable - Projection de Goode interrompue
https://www.abysse.co.jp/world-e/map/d-map/goode-w.html
https://www.openorienteering.org/mapper-manual/pages/cove.html
https://www.google.com/search?q=interrupted+goode+projection
https://scitools.org.uk/cartopy/docs/latest/reference/projections.html#interruptedgoodehomolosine
https://en.ac-illust.com/clip-art/1786080/world-map-goode-projection-blank-map-no-borders