dusters Posté(e) Aout 15, 2016 Posté(e) Aout 15, 2016 (modifié) Update 13/03/2017 : Mise à jour du Tutoriel pour corriger les problèmes à l'installation des dernières version de Raspbian et d'Octoprint. ### Modération ### Si votre objectif est simplement d'avoir Octoprint, le tuto de Gisclace est plus simple à mettre en oeuvre. Si votre objectif est d'installer Octoprint sur votre distribution actuelle, vous êtes sur la bonne page. ###/Modération ### Ce sujet explique en détail (Noob compliant ) comment installer Octoprint sur une Raspbian vierge sur un Rasberry 3 avec Wifi et une Camera de la même marque. Télécharger Raspbian : https://downloads.raspberrypi.org/raspbian_lite_latest Télécharger Win32DiskImager : https://sourceforge.net/projects/win32diskimager/ Procédure pour copier l'image sur la SD : Windows : https://www.raspberrypi.org/documentation/installation/installing-images/windows.md Mac : https://www.raspberrypi.org/documentation/installation/installing-images/mac.md Linux : https://www.raspberrypi.org/documentation/installation/installing-images/linux.md Décompresser le fichier : 201y-xx-yy-raspbian-jessie-lite.zipVous devez obtenir un fichier : 201y-xx-yy-raspbian-jessie-lite.img Lancer Win32DiskImager : a- Sélectionner votre fichier *.img et le lecteur de votre carte SD. b- Cliquer sur 'Write'. c- Dire "Yes" pour le message d'avertissement. Votre carte SD va être effacé. d- Deux minutes plus tard, vous avez un message qui vous dit que c'est OK. Pour finir insérer votre carte SD dans votre Raspberry Dans les dernières release de Raspbian pour des raisons de sécurité le SSH n'est pas activé. Connecter le Pi à un écran/Clavier. Les informations de connections par défaut : login : pipassword : raspberry Attention vous êtes en clavier UK, pour la lettre A taper sur la touche Q. Le reste est identique. Vous aurez ce jolie prompt : Last login: Fri May 27 11:50:56 2016 pi@raspberrypi:~$ Nous allons passer le clavier en AZERTY : pi@raspberrypi:~ $ sudo raspi-config Choisir l'option 4 : Choisir I3 : Laisser par défaut et faire "Enter" Sélectionner "Other" et valider Dans la liste choisir "French" et valider Sélectionner juste "French" et valider Laisser le choix par défaut et valider Laisser le choix par défaut et valider Laisser le choix par défaut et valider Sélectionner "Finish" Maintenant il faut reboot votre Pi pour prise en compte : pi@raspberrypi:~ $ sudo reboot Il est plus simple de se connecter depuis votre PC à votre Pi. Cela permet de faire du copier/coller. Il va falloir faire deux choses, activer le SSH sur le Pi et télécharger un client SSH pour vous connecter dessus. Télécharger Putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html Si vous ne savez pas utiliser putty : https://www.it-connect.fr/chapitres/apprendre-a-manier-putty-les-options-de-connexion/ Pour activer le SSH, taper les commandes suivantes : pi@raspberrypi:~ $ sudo service ssh start pi@raspberrypi:~ $ sudo update-rc.d ssh defaults Pour récupérer votre IP pour vous connecter avec Putty : pi@raspberrypi:~ $ sudo ifconfig | grep "inet addr" inet addr:192.168.1.14 Bcast:192.168.1.255 Mask:255.255.255.0 Une fois connecté avec Putty ou autre poursuivons 1- Se connecter à votre wifi : pi@raspberrypi:~$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf Vous allez à la fin du fichier et vous rajoutez ceci : network={ ssid="Le nom de votre reseau wifi" psk="Le mot de passe de votre wifi" } Vous devriez avoir un fichier qui ressemble à ça : country=FR ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="Le nom de votre reseau wifi" psk="Le mot de passe de votre wifi" } Nota : Les champs entre "blabla wifi" sont à remplacer par votre SSID Wifi et votre mot de passer wifi. Sauvegarder le fichier avec la combinaison de touche CTRL + X On reboot et on débranche le câble Ethernet : pi@raspberrypi:~$ sudo reboot Si vous êtes avec un écran/clavier faire également un reboot, et lors de l'affichage du prompt taper la commande suivante pour trouver l'IP : pi@raspberrypi:~ $ sudo ifconfig wlan0 wlan0 Link encap:Ethernet HWaddr b8:27:eb:24:99:8a inet addr:192.168.1.244 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::8ae4:c012:91c4:9f65/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:460 errors:0 dropped:204 overruns:0 frame:0 TX packets:114 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:89232 (87.1 KiB) TX bytes:22578 (22.0 KiB) Sinon, retourner sur votre Box/Routeur/Firewall pour trouver l'IP associé au Baud DHCP. Je vous recommande vivement de fixer l'adresse du boitier pour pas qu'il change d'IP à chaque reboot. Si vous avez un DNS interne chez vous, pensez également à rentrer un FQDN c'est plus simple à retenir. Vérifier que vous avez bien accès à Internet depuis votre Pi : pi@raspberrypi:~ $ ping www.google.fr PING www.google.fr (216.58.208.227) 56(84) bytes of data. 64 bytes from par10s22-in-f227.1e100.net (216.58.208.227): icmp_seq=1 ttl=56 time=5.65 ms 64 bytes from par10s22-in-f227.1e100.net (216.58.208.227): icmp_seq=2 ttl=56 time=7.12 ms 64 bytes from par10s22-in-f227.1e100.net (216.58.208.227): icmp_seq=3 ttl=56 time=8.44 ms 2- Changer le mot de passe Taper la commande passwd Indiquer le mot de passe actuel : raspberry Taper deux fois de suite votre nouveau mot de passe pi@raspberrypi:~ $ passwd Changing password for pi. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully 3- Mettre à jour le systéme et le firmware pi@raspberrypi:~ $ sudo apt-get -y update && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get -y autoclean pi@raspberrypi:~ $ sudo apt-get -y install rpi-update pi@raspberrypi:~ $ sudo rpi-update [...] *** Relaunching after update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** We're running for the first time *** Backing up files (this will take a few minutes) *** Backing up firmware *** Backing up modules 4.4.50-v7+ [...] *** Updating firmware *** Updating kernel modules *** depmod 4.9.13-v7+ *** depmod 4.9.13+ *** Updating VideoCore libraries *** Using HardFP libraries *** Updating SDK *** Running ldconfig *** Storing current firmware revision *** Deleting downloaded files *** Syncing changes to disk *** If no errors appeared, your firmware was successfully updated to d8803bc3b369b087450e636beb0cb30857e3215e *** A reboot is needed to activate the new firmware pi@raspberrypi:~ $ sudo reboot 5- Mettre le Pi à l'heure pi@raspberrypi:~ $ sudo dpkg-reconfigure tzdata Choisir votre continent : Choisir la Capital de votre Pays : Vous devriez obtenir l'output suivant : Current default time zone: 'Europe/Paris' Local time is now: Mon Aug 15 18:09:00 CEST 2016. Universal Time is now: Mon Aug 15 16:09:00 UTC 2016. Si l'heure est fausse, c'est que votre Pi ne se synchronise pas sur un serveur NTP.Deux solutions : Vous n'avez pas accès à l'internet, faite en sorte d'avoir accès à Internet. Reprendre le début du tuto. http://framboisepi.fr/synchronisation-sur-un-serveur-de-temps/ 6- Finir de configurer son Pi Lancer le raspi-config pi@raspberrypi:~ $ sudo raspi-config Aller dans les "Advanced Options" Lancer la première ligne : "Expand Filesystem" Lancer l'option 5 pour activer la camera : Et valider l'option "P1 Camera" Naviguer vers "Finish" avec la touche TAB et lancer le reboot du Pi (encore oui je sais... ) 7- Installer (enfin) Octoprint Installer les paquets nécessaire pour Octoprint : pi@raspberrypi:~ $ sudo apt-get -y install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential Aller dans le répertoire /home/pi : pi@raspberrypi:~ $ cd /home/pi Vérifier : pi@raspberrypi:~ $ pwd /home/pi Lancer le téléchargement des Binaires d'Octoprint : pi@raspberrypi:~ $ git clone --depth 1 https://github.com/foosel/OctoPrint.git Cloning into 'OctoPrint'... remote: Counting objects: 690, done. remote: Compressing objects: 100% (638/638), done. remote: Total 690 (delta 38), reused 328 (delta 9), pack-reused 0 Receiving objects: 100% (690/690), 3.53 MiB | 1.06 MiB/s, done. Resolving deltas: 100% (38/38), done. Checking connectivity... done. Naviguer vers le répertoire nouvellement créé : pi@raspberrypi:~ $ cd OctoPrint/ pi@raspberrypi:~/OctoPrint $ Lancer l'installation : pi@raspberrypi:~/OctoPrint $ virtualenv venv Running virtualenv with interpreter /usr/bin/python2 New python executable in venv/bin/python2 Also creating executable in venv/bin/python Installing setuptools, pip...done. pi@raspberrypi:~/OctoPrint $ ./venv/bin/pip install pip --upgrade Downloading/unpacking pip from https://pypi.python.org/packages/b6/ac/7015eb97dc749283ffdec1c3a88ddb8ae03b8fad0f0e611408f196358da3/pip-9.0.1-py2.py3-none-any.whl#md5=297dbd16ef53bcef0447d245815f5144 Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB): 1.3MB downloaded Installing collected packages: pip Found existing installation: pip 1.5.6 Uninstalling pip: Successfully uninstalled pip Successfully installed pip Cleaning up... pi@raspberrypi:~/OctoPrint $ ./venv/bin/python setup.py install [...] Installed /home/pi/OctoPrint/venv/lib/python2.7/site-packages/pytz-2016.10-py2.7.egg Finished processing dependencies for OctoPrint==1.3.1 On créé le répertoire de config : pi@raspberrypi:~/OctoPrint $ mkdir ~/.octoprint On rajoute le user 'pi' au groupe 'tty' : pi@raspberrypi:~/OctoPrint $ sudo usermod -a -G tty pi On rajoute le user 'pi' au groupe 'dialup' : pi@raspberrypi:~/OctoPrint $ sudo usermod -a -G dialout pi Maintenant on test si ça marche : pi@raspberrypi:~/OctoPrint $ cd /home/pi pi@raspberrypi:~/OctoPrint $ ~/OctoPrint/venv/bin/octoprint Starting the server via "octoprint" is deprecated, please use "octoprint serve" from now on. 2017-03-13 21:31:30,471 - octoprint.server - INFO - Starting OctoPrint 1.3.1 (master branch) 2017-03-13 21:31:30,548 - octoprint.plugin.core - INFO - Loading plugins from /home/pi/OctoPrint/venv/lib/python2.7/site-packages/OctoPrint-1.3.1-py2.7.egg/octoprint/plugins, /home/pi/.octoprint/plugins and installed plugin packages... 2017-03-13 21:31:31,954 - octoprint.plugins.discovery - INFO - pybonjour is not installed, Zeroconf Discovery won't be available 2017-03-13 21:31:31,957 - octoprint.plugin.core - INFO - Found 7 plugin(s) providing 7 mixin implementations, 4 hook handlers 2017-03-13 21:31:31,992 - octoprint.plugin.core - INFO - Loading plugins from /home/pi/OctoPrint/venv/lib/python2.7/site-packages/OctoPrint-1.3.1-py2.7.egg/octoprint/plugins, /home/pi/.octoprint/plugins and installed plugin packages... 2017-03-13 21:31:32,289 - octoprint.plugin.core - INFO - Found 7 plugin(s) providing 7 mixin implementations, 4 hook handlers 2017-03-13 21:31:32,295 - octoprint.filemanager.storage - INFO - Initializing the file metadata for /home/pi/.octoprint/uploads... 2017-03-13 21:31:32,296 - octoprint.filemanager.storage - INFO - ... file metadata for /home/pi/.octoprint/uploads initialized successfully. 2017-03-13 21:31:34,505 - octoprint.util.pip - INFO - Using "/home/pi/OctoPrint/venv/bin/python -m pip" as command to invoke pip 2017-03-13 21:31:36,668 - octoprint.util.pip - INFO - Version of pip is 9.0.1 2017-03-13 21:31:36,669 - octoprint.util.pip - INFO - pip installs to /home/pi/OctoPrint/venv/lib/python2.7/site-packages, --user flag needed => no, virtual env => yes 2017-03-13 21:31:36,671 - octoprint.plugin.core - INFO - Initialized 7 plugin implementation(s) 2017-03-13 21:31:36,677 - octoprint.plugin.core - INFO - 7 plugin(s) registered with the system: | Announcement Plugin (bundled) = /home/pi/OctoPrint/venv/lib/python2.7/site-packages/OctoPrint-1.3.1-py2.7.egg/octoprint/plugins/announcements | Core Wizard (bundled) = /home/pi/OctoPrint/venv/lib/python2.7/site-packages/OctoPrint-1.3.1-py2.7.egg/octoprint/plugins/corewizard | CuraEngine (<= 15.04) (bundled) = /home/pi/OctoPrint/venv/lib/python2.7/site-packages/OctoPrint-1.3.1-py2.7.egg/octoprint/plugins/cura | Discovery (bundled) = /home/pi/OctoPrint/venv/lib/python2.7/site-packages/OctoPrint-1.3.1-py2.7.egg/octoprint/plugins/discovery | Plugin Manager (bundled) = /home/pi/OctoPrint/venv/lib/python2.7/site-packages/OctoPrint-1.3.1-py2.7.egg/octoprint/plugins/pluginmanager | Software Update (bundled) = /home/pi/OctoPrint/venv/lib/python2.7/site-packages/OctoPrint-1.3.1-py2.7.egg/octoprint/plugins/softwareupdate | Virtual Printer (bundled) = /home/pi/OctoPrint/venv/lib/python2.7/site-packages/OctoPrint-1.3.1-py2.7.egg/octoprint/plugins/virtual_printer 2017-03-13 21:31:36,683 - octoprint.filemanager - INFO - Adding backlog items from all storage types to analysis queue... 2017-03-13 21:31:36,686 - octoprint.filemanager - INFO - Added 0 items from storage type "local" to analysis queue 2017-03-13 21:31:36,686 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/webassets... 2017-03-13 21:31:36,687 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/.webassets-cache... 2017-03-13 21:31:37,023 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance on raspberrypi for SSDP 2017-03-13 21:31:37,127 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from http://plugins.octoprint.org/plugins.json 2017-03-13 21:31:37,169 - octoprint.server - INFO - Listening on http://0.0.0.0:5000 2017-03-13 21:31:37,415 - octoprint.plugins.announcements - INFO - Loaded channel _important from http://octoprint.org/feeds/important.xml in 0.24s Si pas de gros message d'erreur ou de gros warning à l'écran vous devriez pouvoir accéder à Octoprint depuis votre PC : Ouvrez un navigateur et taper l'URL : http://votreip:5000 Vous devriez arriver sur le popup suivant : Bonne nouvelle, votre installation d'Octoprint fonctionne. Faire CTRL + C dans le terminal putty pour tuer le proccess. Maintenant nous allons voir pour démarrer automatiquement Octoprint au démarrage du Pi. 8- Démarrer Octoprint automatiquement Editer le fichier suivant : pi@raspberrypi:~ $ nano ~/OctoPrint/scripts/octoprint.default Retirer le # devant la ligne : #DAEMON=/home/pi/OctoPrint/venv/bin/octoprint Ce qui donne : DAEMON=/home/pi/OctoPrint/venv/bin/octoprint Copier le fichier init dans le init.d pour un autostart au boot du Pi pi@raspberrypi:~ $ sudo cp ~/OctoPrint/scripts/octoprint.init /etc/init.d/octoprint Lui donner les droits d'exécution : pi@raspberrypi:~ $ sudo chmod +x /etc/init.d/octoprint Copier le fichier Default dans le bon répertoire : pi@raspberrypi:~ $ sudo cp ~/OctoPrint/scripts/octoprint.default /etc/default/octoprint Ajouter Octoprint en démarrage automatique. pi@raspberrypi:~ $ sudo update-rc.d octoprint defaults Vérifier que ça fonctionne : pi@raspberrypi:~/OctoPrint $ sudo service octoprint start pi@raspberrypi:~/OctoPrint $ sudo service octoprint status ● octoprint.service - LSB: OctoPrint daemon Loaded: loaded (/etc/init.d/octoprint) Active: active (running) since Mon 2017-03-13 21:39:50 CET; 1s ago Process: 9869 ExecStart=/etc/init.d/octoprint start (code=exited, status=0/SUCCESS) CGroup: /system.slice/octoprint.service └─9875 /home/pi/OctoPrint/venv/bin/python /home/pi/OctoPrint/venv/bin/octoprint serve --port=5000 Mar 13 21:39:50 raspberrypi octoprint[9869]: Starting OctoPrint Daemon: OctoPrint. Mar 13 21:39:50 raspberrypi systemd[1]: Started LSB: OctoPrint daemon. Le service est "running" tout va bien, on reboot (encore ) pour vérifier : pi@raspberrypi:~ $ sudo reboot Une fois qu'il a reboot, normalement vous avez accès depuis votre navigateur. http://votreip:5000/ 9- Configurer Octoprint Lors de la première connexion, Octoprint vous demande si vous voulez indiquez un mot de passe pour l'interface web. C'est à votre convenance, si c'est juste en local "why not". Si vous voulez y accéder de l'extérieur "OBLIGATOIRE". Vous arrivez maintenant sur l'interface principal : Il faut configurer votre imprimante. Aller dans 'Settings' en haut à droite. Et vous rendre dans 'Printer profile' pour cliquer sur 'Add Profile' Indiquer les paramètres de votre imprimante, dans mon cas une SmartCub3D : De retour sur la page des imprimantes, cliquer sur l'étoile à droite de la ligne de votre imprimante. Ceci pour passer en imprimante par défaut. Faire "Save" en bas à droite. De retour sur la page principal, connecter votre imprimante. Toujours avec vos paramètres, ici encore pour la SmartCub3D : Et appuyer sur "Connect" Une fois connecter, les températures de votre imprimante devrais s'afficher sur l'interface et vous devriez voir un "Machine State: Operational" On va maintenant tester que l'imprimante répond au contrôle d'Octoprint. Vous rendre dans l'onglet "Control" : Tester les différents mouvement... Si c'est ok vous êtes prêt à imprimer, mais installons la Camera avant. 10- Installer la camera Installer les paquets nécessaires : pi@raspberrypi:~ $ sudo apt-get -y install subversion libjpeg8-dev imagemagick libav-tools cmake Revenir dans le répertoire du user pi : pi@raspberrypi:~ $ cd /home/pi/ Télécharger Mjpg Streamer : pi@raspberrypi:~ $ git clone https://github.com/jacksonliam/mjpg-streamer.git Cloning into 'mjpg-streamer'... remote: Counting objects: 2543, done. remote: Total 2543 (delta 0), reused 0 (delta 0), pack-reused 2543 Receiving objects: 100% (2543/2543), 3.41 MiB | 2.60 MiB/s, done. Resolving deltas: 100% (1578/1578), done. Checking connectivity... done. Aller dans son répertoire : pi@raspberrypi:~ $ cd mjpg-streamer/mjpg-streamer-experimental Paramétrer les 'Path' par défaut : pi@raspberrypi:~/mjpg-streamer/mjpg-streamer-experimental $ export LD_LIBRARY_PATH=. On compile : pi@raspberrypi:~/mjpg-streamer/mjpg-streamer-experimental $ make [...] [100%] Built target output_udp make[2]: Leaving directory '/home/pi/mjpg-streamer/mjpg-streamer-experimental/_build' make[1]: Leaving directory '/home/pi/mjpg-streamer/mjpg-streamer-experimental/_build' Si pas d'erreur on passe à la suite. Test de la camera, lancer la commande suivante : pi@raspberrypi:~/mjpg-streamer/mjpg-streamer-experimental $ ./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so" Vous devriez avoir l'Output suivant : MJPG Streamer Version.: 2.0 i: fps.............: 5 i: resolution........: 640 x 480 i: camera parameters..............: Sharpness 0, Contrast 0, Brightness 50 Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0 Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none' Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128 Rotation 0, hflip No, vflip No ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000 o: www-folder-path...: disabled o: HTTP TCP port.....: 8080 o: username:password.: disabled o: commands..........: enabled i: Starting Camera Encoder Buffer Size 81920 Vous devriez pouvoir accéder à votre camera depuis un navigateur Web : http://votreip:8080/?action=stream Cool non ? Bon par contre c'est chiant si il faut lancer un terminal et le garder ouvert pour la Camera. Pour pouvoir allumer ou éteindre la camera depuis l'interface Web d'Octoprint : Editer le fichier : pi@raspberrypi:~ $ nano /home/pi/.octoprint/config.yaml Remplacer : webcam: {} Par : webcam: stream: http://<your Raspi's IP>:8080/?action=stream snapshot: http://127.0.0.1:8080/?action=snapshot ffmpeg: /usr/bin/avconv Créer le répertoire scripts pi@raspberrypi:~ $ mkdir /home/pi/scripts/ Editer le fichier suivant : pi@raspberrypi:~ $ nano /home/pi/scripts/webcam Et copier dedans : #!/bin/bash # Start / stop streamer daemon case "$1" in start) /home/pi/scripts/webcamDaemon >/dev/null 2>&1 & echo "$0: started" ;; stop) pkill -x webcamDaemon pkill -x mjpg_streamer echo "$0: stopped" ;; *) echo "Usage: $0 {start|stop}" >&2 ;; esac Pour enregister CTRL + X Editer le fichier suivant : pi@raspberrypi:~ $ nano /home/pi/scripts/webcamDaemon Et copier dedans : #!/bin/bash MJPGSTREAMER_HOME=/home/pi/mjpg-streamer/mjpg-streamer-experimental MJPGSTREAMER_INPUT_USB="input_uvc.so" MJPGSTREAMER_INPUT_RASPICAM="input_raspicam.so" # init configuration camera="auto" camera_usb_options="-r 640x480 -f 10" camera_raspi_options="-fps 10" if [ -e "/boot/octopi.txt" ]; then source "/boot/octopi.txt" fi # runs MJPG Streamer, using the provided input plugin + configuration function runMjpgStreamer { input=$1 pushd $MJPGSTREAMER_HOME echo Running ./mjpg_streamer -o "output_http.so -w ./www" -i "$input" LD_LIBRARY_PATH=. $MJPGSTREAMER_HOME popd } # starts up the RasPiCam function startRaspi { logger "Starting Raspberry Pi camera" runMjpgStreamer "$MJPGSTREAMER_INPUT_RASPICAM $camera_raspi_options" } # starts up the USB webcam function startUsb { logger "Starting USB webcam" runMjpgStreamer "$MJPGSTREAMER_INPUT_USB $camera_usb_options" } # we need this to prevent the later calls to vcgencmd from blocking # I have no idea why, but that's how it is... vcgencmd version # echo configuration echo camera: $camera echo usb options: $camera_usb_options echo raspi options: $camera_raspi_options # keep mjpg streamer running if some camera is attached while true; do if [ -e "/dev/video0" ] && { [ "$camera" = "auto" ] || [ "$camera" = "usb" ] ; }; then startUsb elif [ "`vcgencmd get_camera`" = "supported=1 detected=1" ] && { [ "$camera" = "auto" ] || [ "$camera" = "raspi" ] ; }; then startRaspi fi sleep 120 done On rend les deux fichiers exécutable : pi@raspberrypi:~ $ chmod +x /home/pi/scripts/webcam pi@raspberrypi:~ $ chmod +x /home/pi/scripts/webcamDaemon On édite le fichier suivant : pi@raspberrypi:~ $ nano /home/pi/.octoprint/config.yaml Et on remplace : system: {} Par : system: actions: - action: streamon command: /home/pi/scripts/webcam start confirm: false name: Start video stream - action: streamoff command: /home/pi/scripts/webcam stop confirm: false name: Stop video stream On redémarre OctoPrint : pi@raspberrypi:~ $ sudo service octoprint restart Vous devriez voir apparaître dans l'interface le menu suivant : Cliquer sur 'Start' : Vous devriez voir votre Webcam dans l'Onglet 'Control' et l'onglet 'Timelapse' devrait apparaître (Si rien ne s'affiche faire F5 pour rafraîchir la page) 11- Le port 5000 c'est bien... A partir de maintenant vous devez pouvoir accéder à votre installation Octoprint depuis l'URL : http://votreip:5000/ Perso j'aime pas les :xxxx, on va donc le rediriger vers le port 80. On est sur un réseau local, le https ne sert à rien.Par contre si vous souhaitez ouvrir votre Octoprint sur Internet je vous recommande le 443 (https), sauf si vous avez un Reverse Proxy sécurisé en frontal de votre connexion. On install haproxy : pi@raspberrypi ~ $ sudo apt-get -y install haproxy On le configure : pi@raspberrypi:~ $ sudo nano /etc/haproxy/haproxy.cfg Effacer tout ce qui se trouve dans le fichier et le remplacer par : global maxconn 4096 user haproxy group haproxy daemon log 127.0.0.1 local0 debug defaults log global mode http option httplog option dontlognull retries 3 option redispatch option http-server-close option forwardfor maxconn 2000 timeout connect 5s timeout client 15min timeout server 15min frontend public bind *:80 use_backend webcam if { path_beg /webcam/ } default_backend octoprint backend octoprint reqrep ^([^\ :]*)\ /(.*) \1\ /\2 option forwardfor server octoprint1 127.0.0.1:5000 backend webcam reqrep ^([^\ :]*)\ /webcam/(.*) \1\ /\2 server webcam1 127.0.0.1:8080 On redémarre le service haproxy : pi@raspberrypi:~ $ sudo service haproxy restart Vous devriez pouvoir accéder à votre interface web depuis : http://votreip Et la webcam depuis : http://votreip/webcam/?action=stream ---- PS1 : Nano est donné pour exemple pour l'édition de vos fichiers. Vous pouvez utiliser Vim c'est bien aussi PS2 : Je viens de faire une fresh install en écrivant ce tuto, donc normalement vous devriez pas avoir de problème pour l'installation d'Octoprint. Je suis ouvert à tous commentaires. 12- Activer les mises à jour automatique et installer des plugins 13- Régler la caméra et activer les mises à jour système automatique Modifié (le) Juin 10, 2019 par Yo' Update chapter (Créateur) / Ajout d'un préfixe(Yo') 4 1
gisclace Posté(e) Aout 17, 2016 Posté(e) Aout 17, 2016 Très bon tuto ;-) Il faudrait refaire l'autre aussi claire (et complet) Il manque peut être juste le passage en azerty du clavier
dusters Posté(e) Aout 17, 2016 Auteur Posté(e) Aout 17, 2016 Ah oui... Comme je fais toutes mes install en SSH, j'y ai pas pensé Si besoin : http://www.soft-alternative.com/raspberry-pi-configurer-clavier-francais-raspbian.php
dusters Posté(e) Septembre 1, 2016 Auteur Posté(e) Septembre 1, 2016 (modifié) Hello, deux/trois complément : Pour activer l'update automatique depuis la page Web : Vous rendre dans Settings > Software Update et faire un clic sur la clef à molette : Remplir le champ vide par le chemin du répertoire ou nous avons installé Octoprint précédemment : /home/pi/OctoPrint Quand une mise à jour d'OctoPrint sera dispo, un popup vous indiquera comment faire l'update depuis la page web. Installer un plugins sur Octoprint Vous rendre dans Settings > Plugin Manager et cliquer sur le Bouton "Get More" en bas de page : La communauté propose un certain nombre de plugins, voici une liste non exhaustive de ce que je trouve utile pour mon utilisation : Active Filters : Permet de sauvegarder les filtres appliqués sur le terminal Autoscroll : Permet de mettre en pause le défilement automatique du terminal, quand vous cherchez un ligne. Print History Plugin : Vous donne un historique de vos impressions, temps, filaments consommés... TouchUI : Interface Mobile. Permet d'avoir une interface light sur votre mobile ou tablette. EEPROM Marlin Editor Plugin : Permet de modifier certain paramètre de l'EEPROM, sans devoir connecter l'imprimante à un PC. Modifié (le) Septembre 1, 2016 par dusters 1
dusters Posté(e) Septembre 13, 2016 Auteur Posté(e) Septembre 13, 2016 (modifié) Optimisation de la camera Raspberry : Petit rappel : Penser à faire un rpi-update et les updates système avant de brancher votre caméra. Les cameras V1 et V2 de Raspberry sont fournis avec un Focus large... Problématique si votre camera est proche du plateau de votre imprimante : L'objet est flou... Mais on peut faire le focus sur la Camera en tournant l'objectif en étoile à quatre branches... Deux méthodes une pince pour tourner l'objectif (meilleur moyen de bousiller la lentille, du vécu ). Ou bien avoir une imprimante 3D et imprimer des petits outils http://www.thingiverse.com/thing:1941802 http://www.thingiverse.com/thing:1570865 Les outils se prennent dans l'objectif et permet de le faire tourner sans rien abîmer, après quelque talonnements dans un sens puis dans l'autre : C'est beaucoup plus net, pas parfait. Mais avec de la patience on peut arriver à un truc vraiment propre. Autre point, de base les paramètres de mjpg-streamer sont de 10fps et d'une résolution de 640x480 Si vous avez un V2 en 1080p c'est bien dommage... Mais on peut les modifier Le module utilisé raspicam, permet de jouer sur les paramètres suivants : The following parameters can be passed to this plugin: [-fps | --framerate]...: set video framerate, default 5 frame/sec [-x | --width ]........: width of frame capture, default 640 [-y | --height]........: height of frame capture, default 480 [-quality].............: set JPEG quality 0-100, default 85 [-usestills]...........: uses stills mode instead of video mode [-preview].............: Enable full screen preview [-timestamp]...........: Get timestamp for each frame -sh : Set image sharpness (-100 to 100) -co : Set image contrast (-100 to 100) -br : Set image brightness (0 to 100) -sa : Set image saturation (-100 to 100) -ISO : Set capture ISO -vs : Turn on video stablisation -ev : Set EV compensation -ex : Set exposure mode (see raspistill notes) -awb : Set AWB mode (see raspistill notes) -ifx : Set image effect (see raspistill notes) -cfx : Set colour effect (U:V) -mm : Set metering mode (see raspistill notes) -rot : Set image rotation (0-359) -stats : Compute image stats for each picture (reduces noise for -usestills) -drc : Dynamic range compensation level (see raspistill notes) -hf : Set horizontal flip -vf : Set vertical flip Le détail des options est disponible ici : https://github.com/foosel/OctoPrint/wiki/MJPG-Streamer-configuration Pour les tester, désactiver votre camera via l'interface Web : "System > Stop Video Stream" Et quand vous êtes connecté en SSH taper la commande suivante : cd ~/mjpg-streamer/mjpg-streamer-experimental ./mjpg_streamer -i "./input_raspicam.so <vos paramètres>" -o "./output_http.so" Pour exemple : ./mjpg_streamer -i "./input_raspicam.so -q 75 -x 1296 -y 730 -awb tungsten -fps 30" -o "./output_http.so" Nous avons mis : "-q 75" : qualité à 75% "-x 1296 -y 730" : Résolution de 1296px par 730px en 16:9 "-awb tungsten" : Type de l'éclairage tungsten (c'est ce qui rend le mieux pour mes led) "-fps 30" : Nombre de frame par seconde à 30, permettant d'avoir une vidéo fluide à l'écran. Lancer la commande et vérifier le résultat à l'écran. Soit via l'onglet contrôle d'Octoprint soit via l'URL : http://<monip>/webcam/?action=stream Si ça ne vous convient pas faire CTRL+C dans votre terminal, modifier les paramètres et revérifier sur votre navigateur. On peut arriver à des trucs sympa Garder son système à jour Il est important de toujours garder son système à jour, surtout si il est ouvert sur internet. Pour cela : cd / sudo mkdir /scripts sudo vim /scripts/update Copier dans le fichier éditer les lignes suivantes : #/bin/bash DEBIAN_FRONTEND=noninteractive apt-get -y update && apt-get -y --force-yes dist-upgrade && apt-get -y autoremove && apt-get -y autoclean Sauvegarder avec la touche ECHAP et taper : :wq! Rendre exécutable le script : sudo chmod +x /scripts/update Maintenant lui dire de se lancer toutes les nuits : sudo crontab -e Et copier la ligne suivante : 0 3 * * * /scripts/update A partir de maintenant, votre système se mettra tout seul à jour toutes les nuits à 3h. Attention 1 : Certaine mise à jour demande un reboot, il faut penser à faire un reboot de temps en temps pour la prise en compte des updates. Attention 2 : Si vous lancez des impressions de nuit (c'est pas bien, faut pas laisser sans surveillance une imprimante). Certain update peuvent avoir un impact sur Octoprint ou la communication USB. Modifié (le) Avril 1, 2017 par dusters 1
synergy41 Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 Bonjour à tous, tout d'abord merci pour ce tuto... Donc j'ai essayer de le suivre à la lettre et ça ne fonctionne pas chez moi ??? Donc jusqu’à la phase " Configurer Octoprint " tout vas bien je vois bien l'image de ma caméra qui s'affiche... Mais une fois que je m'occupe de " 8- Démarrer Octoprint automatiquement " la plus rien ne fonctionne impossible de me reconnecter à "Mon adresse ip :5000" je précise que je passe par un routeur au quelle j'ai attribuer une adresse ip fixe à mon RASPBERRY PI 30. Si quelqu’un a une idée je suis preneur. Merci par avance. pascal
dusters Posté(e) Octobre 25, 2016 Auteur Posté(e) Octobre 25, 2016 Hum... Normalement la camera c'est après l'étape 8 Le service est-il bien lancé au démarrage ? Tape les commandes suivantes et donne les outputs : netstat -anpe | grep 5000 ps -ef | grep octoprint
synergy41 Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 merci de ta réponse rapide je regarde ça ce soir Oui effectivement j'ai parler de la caméra mais c'est octoprint qui ce lance
synergy41 Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 re donc il m'affiche ça pi 1049 1025 0 16:48 pts/0 00:00:00 grep --color=auto octoprint
dusters Posté(e) Octobre 25, 2016 Auteur Posté(e) Octobre 25, 2016 Le service est pas lancé. essaye de lancer à la main : /etc/init.d/octoprint Si pas d'erreur relance les deux commandes si dessus et donne l'output
synergy41 Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 bon je suis entrain de formater. Je reinstall et je te tiens au courant. Merci
dusters Posté(e) Octobre 25, 2016 Auteur Posté(e) Octobre 25, 2016 (modifié) Solution radicale... Modifié (le) Octobre 25, 2016 par dusters
synergy41 Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 (modifié) bon il y a du mieux, mais quand je coupe terminal "je suis sous MAC OS", je perd la caméra?? Tu a une idée? Modifié (le) Octobre 25, 2016 par synergy41 Capture d'écrans
dusters Posté(e) Octobre 25, 2016 Auteur Posté(e) Octobre 25, 2016 Pour la caméra si tu as bien suivi la procédure tu dois pouvoir la démarrer et la stopper depuis l'interface web. Non ?
synergy41 Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 oui j'ai bien l'onglet systéme " start video stream ;;;; stop video stream". je vois bien l'image lorsque je tape la commande " ./mjpg_streamer -i "./input_raspicam.so -q 75 -x 1296 -y 730 -awb tungsten -fps 30" -o "./output_http.so" mais après je fais ctrl + X et la plus d'image..
dusters Posté(e) Octobre 25, 2016 Auteur Posté(e) Octobre 25, 2016 Normal tu tue le process si tu clic sur start vidéo stream dans l'interface web, ta caméra doit afficher une image.
synergy41 Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 oui ça fonctionne mais si je ferme terminal j'ai plus d'image.
dusters Posté(e) Octobre 25, 2016 Auteur Posté(e) Octobre 25, 2016 Pourquoi tu lance toujours le terminal ? si tu as bien suivi le tuto, tu as plus besoin du terminal.
synergy41 Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 bon écoute j'ai rebooter mon PI et la ça fonctionne les mystères de l'informatique lol. Maintenant il me reste à mettre Octoprint en Français. Merci encore pour toni de ton aide
gisclace Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 Petite parenthèse, tu peux lancer le daemon de mjpg-streamer avec un nohup pour le lancer en tache de fond et le détacher du terminal : nohup ./mjpg_streamer -i "./input_raspicam.so -q 75 -x 1296 -y 730 -awb tungsten -fps 30" -o "./output_http.so
dusters Posté(e) Octobre 25, 2016 Auteur Posté(e) Octobre 25, 2016 il y a 5 minutes, synergy41 a dit : bon écoute j'ai rebooter mon PI et la ça fonctionne les mystères de l'informatique lol. Maintenant il me reste à mettre Octoprint en Français. Parfois dans le doute reboot Pour le passer en Français regarde les tutos de @gisclace
dusters Posté(e) Octobre 25, 2016 Auteur Posté(e) Octobre 25, 2016 il y a 4 minutes, gisclace a dit : Petite parenthèse, tu peux lancer le daemon de mjpg-streamer avec un nohup pour le lancer en tache de fond et le détacher du terminal : nohup ./mjpg_streamer -i "./input_raspicam.so -q 75 -x 1296 -y 730 -awb tungsten -fps 30" -o "./output_http.so C'est le principe des boutons "Systems" dans l'interface web 1
gisclace Posté(e) Octobre 25, 2016 Posté(e) Octobre 25, 2016 il y a 1 minute, dusters a dit : Parfois dans le doute reboot Et si ça marche pas, tu le shoot. 1
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant