{{ :ateliers:cfa-rpi-arduino:cfa-rpi3.gif |}} ===== RPI/ARDUINO/MALINETTE ===== * Atelier conçu pour le CFAMS de la friche Belle de Mai autour d'une création collective avec l'Art de Vivre : [[projets:impossiblemission:accueil|Impossible Mission]] * Date : du 26/11/2018 au 30/11/2018 et du 17/12/2018 au 21/12/2018 * {{ :ateliers:cfa-rpi-arduino:ateliers_cfa_nov2018.zip |ateliers_cfa_nov2018.zip}} * Initiation aux procédés interactifs, * Usage de cartes de type **//Arduino//**, * Dispositifs embarqués avec **//Raspberry pi//**, * Dispositifs interactifs avec **//Pure data//** et **//La Malinette//** * Mise en réseau et communication entres dispositifs Cet atelier est l'occassion d'associer des dispositifs D.I.Y avec les outils génériques des métiers de la scène et du spectacle, via UDP, OSC, MIDI, DMX et réaliser le prototypage des dispositifs envisagés pour la prochaine co-création de l'IMMS et la Cie l'Art de Vivre. =====Présentation Fablab===== * [[culture:fablabs:accueil|Fablabs]] - Atelier : travail collaboratif et outils mutualisés - Présentation des outils du fablab - Asso : économie du lieu, adhésion, tarifs, rémunération, implication - Wiki : partage de connaissance via la documentation - logiciels et materiels libres[[https://www.flossmanualsfr.net|logiciels et materiels libres]] ===== Arduino ===== * [[logiciels:arduino:init:accueil|Initiation Arduino]] - Introduction Arduino : l’architecture de la carte et le logiciel. - **Hardware**, découverte des composants du [[http://www.keyestudio.com/shop/kit/keyestudio-sensor-kit-for-arduino-starters-k4.html|kit Keyestudio]] - Breadboard, composants de bases, Capteurs et actionneurs - **Software**, Premier programme : faire clignoter une LED (Exemples > Basics > Blink) - Notion de programmation Arduino : syntaxe, variables, Serial print - Deuxième programme : récupération des données d’un potentiomètre - Troisième programme : servo-moteur contrôlé par un potentiomètre - Création de fonctions - Firmata pour Pure Data et la Malinette/Brutbox communication avec le port USB impossible sur linux ? :: "sudo adduser [votrenomdutilisateur] dialout" ===== Raspberry pi ===== CHOISIR UNE SDCARD **CLASS 10** la section suivante utilise la console bash/linux, pour les utilisateur de windows 10, il faut [[https://www.numerama.com/tech/158150-le-shell-bash-sous-windows-10-ce-quil-faut-savoir.html|accéder au systeme Ubuntu inclus ds votre PC]] * [[materiel:rpi:accueil|Raspberry Pi]] ++++ Install Raspbian (prendre Raspbian Stretch with desktop)| * [[https://www.raspberrypi.org/downloads/raspbian/|téléchargement de Raspbian]] * [[https://www.balena.io/etcher/|installation d’Etcher]] * flashing du Pi Outils SDCard complementaires pour formater et installer des images depuis windows : “SDFormatter.exe” et “Win32DiskImager.exe” ++++ ++++Configuration réseau | Ces manipluations permettrons d'acceder **depuis un autre ordi** en SSH et de définir une IP fixe au Pi * A la racine du volume "Boot", créer un fichier vide nommé 'ssh' depuis l'explorateur ou le finder, sous Linux : touch ./ssh * Editer 'cmdline.txt' ,ajouter 'ip="l'adresse ip de votre choix"' avec l'éditeur de texte de votre choix, sous Linux : sudo nano cmdline.txt * Enregistrer et fermer 'cmdline.txt' ++++ ===connexion reseau=== ++++ ifconfig| # parametres wifi # 192.168.x.x | masque sous réseau 255.255.255.0 | passerelle 192.168.x.1 # vérifier l'adresse ipv4 wlan (ex.: 192.168.x.x) # parametres ethernet (manuel) # vérifier la presence de l'adresse ipv4 ethernet créé manuellment # Link encap:Ethernet # inet adr:x.x.x.x ifconfig ++++ ++++Acceder au Raspberry pi en SSH | * Installer 'nmap' : outil de cartographie du réseau sur votre ordinateur os linux ou mac $sudo apt-get install nmap (pour OSX : [[https://nmap.org/download.html|download/install nmap]] $nmap -n -sP x.x.x.255/24 connection ssh depuis le terminal OSX ssh pi@adresseip si pb d'authentification ssh-keygen -R adresseip ++++ ++++Configuration du Pi | sudo raspi-config * Usr password * Network Options / Localisation * Boot (conserver un mode autologin pour l'autostart) # Changer la priorité réseau pour prioriser le wifi : (petit chiffre = grande priorité)) # edit etc/dhcpcd.conf, rajouter en fin de fichier : interface eth0 metric 350 interface wlan0 metric 200 ++++ ++++ Install Malinette | * [[http://malinette.info|téléchargement de la version raspberry]] * unzip dans Documents * install tcl tk ( !! plus nécessaire, install inclue ds le start-malinette.sh) sudo apt-get install tcl tk ++++ ++++ lancement Malinette en ssh -Y | # se deplacer dans le dossier malinette cd /home/pi/Documents/malinette # lancer le script bash ./start-malinette.sh ++++ ++++ Script de lancement automatique | * sudo nano /home/pi/.bashrc # a rajouter a la fin du fichier, sauter une ligne avant le collage if ! pgrep -x "pd" > /dev/null then sh /home/pi/Documents/malinette/start-malinette.sh & fi * Ce script ne s'éxecute **que si pd n'est pas déjà lancé**. * Nécessite la connection automatique de l'utilisateur pi au démarrage, (voir raspi-config / boot option) * (ouvrir un SSH revient à se connecter !) * !! éditer 'start-malinette.sh' :: mettre a jour la variable 'DIR' avec le chemin absolu vers le fichier start-malinette.sh ++++ === rappel de quelques commandes bash === [[logiciels:cmd-linux|page wiki bash/linux]] ===== Pure Data et la Malinette ===== * [[http://malinette.info|La Malinette]] - Pure Data ? - A propos de la Malinette - Manuel - Liste des objets - Exemples - création des patchs ===== Install Pd 0.49 et maj start-malinette.sh ===== cette page est mise à jour : [[projets:pd-rpi4:accueil|Installation puredata 0.5 sur RPI4]] La version 0.49 de Pd permet entre autre d'utiliser l'objet [table] sans restriction de taille (auparavant limité à 4 000 000 d'elements) ce qui posait probleme lors de la mise en cache de fichier audio supérieur a 90s). ++++ instruction install pd 0.49 linux | ## Build Pure Data - sudo apt-get update - sudo apt-get upgrade - sudo apt-get install tcl tk - sudo apt-get install libasound2-dev - sudo apt-get install build-essential automake autoconf libtool gettext - git clone https://github.com/pure-data/pure-data - cd pure-data - ./autogen.sh - ./configure --enable-jack - make - sudo make install ++++ ++++ modif start-malinette.sh | - cd /path/to/start-malinette.sh - nano start-malinette.sh >> apres la ligne # Open Pure Data and settings >> remplacer "$DIR/pd/bin/pd" par "pd" ++++ ===copier des fichiers depuis un pc vers la rpi=== ++++ commande scp | scp -rv /home/.../file.pd pi@x.x.x.x:/home/pi/Documents/.../malinette-default ++++ ===connexion sftp entre 2 systemes linux (ou osx)=== ++++ sftp | //depuis une fenetre de bureau, dans la barre d'adresse : sftp://username@ip ++++ ===parametrage de pi pour lancement -nogui -audiodev etc... !=== ++++ audio| # ajout des prefs audio dans le fichier malinette.sh ( “index audio in, index audio out”) -audiodev “3,3” ++++ ++++ headless boot| * modifier les options de boot dans raspiconfig ++++ === clonage de la sdcard === == pi shrink pour obtimiser l'espace utilisé == [[https://www.raspberrypi.org/forums/viewtopic.php?t=148519|pi shrinks script]] ===== Soft windows pour SSH ===== * [[https://www.putty.org/|Putty]] et [[https://sourceforge.net/projects/xming/|Xming]] pour ssh et xforwarding * [[https://winscp.net/eng/docs/lang:fr|WIN SCP pour sftp (navigateur de fichier distant )]]