Installer OctoPrint sur une Orange PI One pour piloter son imprimante 3D
Pour mettre en place une solution à moindre coup pour piloter mon imprimante 3D DAGOMA Discovery 200, je me suis procuré une Orange PI One. Cout de la carte 12,50 € port compris. Pour faciliter la mise en place, je pensais mettre la solution (image) toute prête d’OctoPrint pour Raspberry directement su l’Orange PI. Que_neni, Orange PI n’est pas 100% compatible avec le Raspberry. Sur le site, divers OS sont proposés pour cette carte.
Après les essais à partir de Raspbian, Lubuntu,Debian et fedora qui n’ont pas aboutis, j’ai opté pour l’ubuntu 15.04.
voici la démarche pour mettre en place Octoprint.
I] la carte Orange PI
lien: ici
la carte Orange PI est une carte de développe (comme le RaspBerry) dont voici les caractéristiques.
Spécifications matérielles |
||
CPU | H3 Quad-Core Cortex-A7 H.265/hevc 4 K | |
GPU |
Mali400MP2 GPU @ 600 MHz
Prend en charge OpenGL ES 2.0
|
|
Mémoire (SDRAM) | 512 MB DDR3 (partagé avec GPU) | |
Stockage à bord | TF carte (max. 64 GB)/MMC Card Slot | |
Réseau de bord | 10/100 Ethernet RJ45 | |
Vidéo d’entrée | Un CSI connecteur d’entrée de l’appareil photo:Prise en charge 8-bit yuv422 CMOS capteur interfacePrend en charge le protocole CCIR656 pour NTSC et PAL
Prise en charge de sm pixel caméra capteur Prise en charge vidéo Capture solution jusqu’à p @ 30fps |
|
Audio d’entrée | NO | |
Sorties vidéo |
Prise en charge HDMI sortie avec HDCP Prise en charge HDMI CEC Prise en charge HDMI 30 fonction |
|
Audio de sortie | HDMI | |
Source d’alimentation |
DC entrée, USB OTG d’entrée ne pas alimenter
|
|
USB 2.0 ports | Un USB 2.0 Host, un USB 2.0 OTG | |
Boutons | Bouton d’alimentation | |
Faible-niveau périphériques |
40 Pins d’en-tête, compatible avec Raspberry pi b +
|
|
GPIO (1×3) Pin | UART, sol. | |
LED | Puissance LED et LED d’état | |
Clé | Puissance | |
Systèmes d’exploitation supportés | Android, debian, pi d’image | |
Interface définition |
||
Produit taille | 69mm 48mm | |
Poids | 36g | |
Orange pi est une marque déposée de la Shenzhen logiciel Limitée |
II] Installation Octoprint sur un ORANGE PI One (ou PC)
distribution Ubuntu pour Orange PI One (identique au Orange PI PC).
lien de nombreuses distributions: ici
1) utiliser l’image « OrangePI-PC_Ubuntu_Vivid_Mate.img.xz»
voici le lien qui explique comment mettre un OS sur la carte SD : ici
une fois votre OrangePI opérationnelle et branchée sur un réseau local (avec serveur DHCP pour donner une adresse IP à l’Orange).
lancer un scan réseau si vous n’avez pas d’écran sur votre carte. J’utilise Angry IP Scanner
se logger en ssh (putty pour windows ) avec le compte : orangepi mot de passe : orangepi
2) comme le propose la fenêtre ci-dessus, il faut redimensionner la partition system à la taille de la SD. Par défaut, la partition fait 2,2Go
sudo fs_resize
puis rebooter
sudo reboot
3) créer un nouvel utilisateur
sudo adduser pi
le mettre dans le group « sudo »
sudo adduser pi sudo
essayer le nouveau compte
su pi
pi@OrangePI:/home/orangepi$
le compte se connecte bien
exit pour sortir de ce compte et revenir sur le compte orangepi
encore une fois pour sortir
4) Installation d’OctoPrint
le site utilisé pour l’installation d’Octoprint est : ici
se logger avec le compte pi en ssh
lancer les commande ci-dessous pour installer les composant de Python 2.7 et Octoprint dans un environnement virtuel
commencer par faire
sudo apt-get update
puis la solution mise sur le site
cd ~
sudo apt-get install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint
virtualenv venv
./venv/bin/pip install pip –upgrade
./venv/bin/python setup.py install
mkdir ~/.octoprint
mettre des droits au compte
sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi
puis faire un test en lançant
~/OctoPrint/venv/bin/octoprint
reprendre les paramétrages de votre imprimante (voir le site:)
5) mettre OctoPrint en démarrage automatique
éditer les fichiers suivants et apporter les modifications signalées
sudo nano ~/OctoPrint/scripts/octoprint.init
sudo nano ~/OctoPrint/scripts/octoprint.default
6) mettre les menu pour arrêter l’Orange pi à partir de l’interface Octoprint
préparer l’utilisateur pi de commander un arrêt du système.
pi@raspberrypi ~ $ sudo -s
root@raspberrypi:/home/pi# cat > /etc/sudoers.d/octoprint-shutdown
pi ALL=NOPASSWD: /sbin/shutdown
^D → (Ctrl + D)
root@raspberrypi:/home/pi# exit
editer le fichier config.yaml
sudo nano ~/.octoprint/config.yaml
mettre le texte ci-dessous à la fin du fichier (si vous n’avez pas paramétré votre imprimante) ou juste au dessus de température si votre imprimante est déjà paramétré.
system:
actions:
- name: Shutdown
command: sudo shutdown -h now
action: shutdown
confirm: You are about to shutdown the system.
- name: Reboot
command: sudo shutdown -r now
action: reboot
confirm: You are about to reboot the system
Ctrl + O pour enregistrer
Ctrl + X pour sortir
7) installer la librairie WIRINGOP pour gestion des gpio(s)
le lien : ici
à partir de ce site, installer la librairie de gestion des gpio de la carte
git clone https://github.com/zhaolei/WiringOP.git -b h3
puis l’installer
cd WiringOP
chmod +x ./build
sudo ./build
lire l’état des entrées sorties de la carte
gpio readall
voici le résultat
nous allons mettre la broche gpio 1 en sorti et au niveau 1
gpio mode 1 out
gpio write 1 1
il suffit de commander un relai pour piloter ce que l’on veut
8) mettre dans le menu system le démarrage et l’arret de l’imrpimante
voir ensuite les informations sur le site de DomoChris ici
modifier de nouveau
sudo nano ~/.octoprint/config.yaml
Ctrl + O pour enregistrer
Ctrl + X pour sortir
rebooter l’O_PI
sudo reboot
ou redémarrer unique le service octotoprint
sudo service octoprint restart
9) forcer la sorti gpio1 en out et niveau 0 au démarrage
nous allons modifier les fichiers
etc/init.d/octoprint
/etc/default/octoprint
et rajouter sur les 2 fichiers
gpio write 1 0
gpio mode 1 out
sudo nano etc/init.d/octoprint
sudo nano /etc/default/octoprint
10) Branchement
III] Conclusion
cette solution permet de piloter votre imprimante 3D à distance à faible coup
orange PI ≈ 12,52 € ici
Alimentation 5V 2A ≈ 3,50€ ici
Relais( 1 relai) ≈ 1€ ici
divers (4093 , résistance 1 kΩ etc …. ) ≈ 5€
Bonjour,
Pour commencer, merci pour ce tutoriel qui est très bien fait car complet, ce qui est plutôt rare !
Ensuite, n’étant pas spécialiste en électronique, je ne comprends pas bien à quoi sert le 4093 et pourquoi le relais ne suffit-t-il pas ?
Dernière question, comment faire pour ajouter un bouton on/off qui permettrait d’allumer l’imprimante manuellement ?
Merci par avance.
Bonjour,
il est vrai qu’il n’y a pas l’information. Elle est vraiment manquante puisque je ne me souviens plus la raison. je vois 2 causes possibles …. bien que
- 1) – inverser la sortie (mais je pense qu’elle est faisable « logiciellement »).
- 2) – les sorties sont peut-être en 3v3 et le relai en 5V….
désolé de ne pas pouvoir vous donner la raison mais vous pouvez effectuer des tests pour compléter.
Cordialement
Bonjour,
J’en ai parlé avec un membre de mon hacklab (le L@bx à Bordeaux) qui est ancien prof d’électronique et pour lui, c’est dû au voltage, donc le 2)
.
Du coup, j’utilise ce montage pour allumer l’imprimante et j’ai ajouté un second relais pour la lumière (bandeau LED initialement prévu pour des voitures) piloté par l’une des autres portes logiques.
Par contre, j’ai un nouveau problème, le port USB qui maintient la carte de l’imprimante allumée même lorsqu’elle est éteinte électriquement… Je poursuis donc mes investigations.
Encore merci pour ce post !
Bonjour
Super tuto qui m’a permis d’installer tout ça sur un orangePi zero h2+
merci
Pour faire simple, j’ai installé au préalable :
une armbian spécial OrangePi Zero h2+
ici https://www.armbian.com/orange-pi-zero/
bonjour
j’ai une orange pi one mais je ne sais pas quelle image je dois mettre dessus
merci de m’aider