You are currently viewing Octoprint sur Android avec Octo4a

Octoprint sur Android avec Octo4a

  • Auteur/autrice de la publication :
  • Publication publiée :6 novembre 2021
  • Post category:Actualité

Vous ne pouvez pas mettre la main sur un Raspberry Pi ? Utilisez simplement votre vieux téléphone pour faire fonctionner OctoPrint !

Si vous avez essayé d’acheter un Raspberry Pi récemment, vous aurez remarqué que c’est en fait assez difficile à faire en ce moment.

Par exemple, pour le Raspberry Pi 4 de 4 Go qui se vendait auparavant aux alentours de 50 dollars, l’offre la moins chère qui les a effectivement en stock commence à demander des prix de scalpeur plus proches de 100 dollars.

Donc, si vous voulez utiliser OctoPrint et que vous avez encore besoin d’une alimentation de qualité et d’un câble USB, d’une webcam et d’une carte SD, vous pourriez finir par dépenser près de 150 dollars.

Mais si je vous disais qu’il y a un moyen moins cher. Et si vous pouviez faire fonctionner OctoPrint sur votre vieux téléphone Android que vous avez déjà sous la main ? Ou, en fait, vous pouvez facilement acheter un téléphone ou une tablette flambant neuf pour le prix d’un seul Raspberry Pi et qui sera déjà équipé d’une brique d’alimentation, d’un câble USB et d’une caméra intégrée bien meilleure que celle que vous obtiendrez avec n’importe quelle webcam. Et cela va également vous donner un moyen de contrôler OctoPrint sans avoir à sortir un appareil supplémentaire.

Aujourd’hui, nous allons donc essayer Octo4a, qui vous permet d’exécuter une configuration complète d’OctoPrint, y compris le support des plugins et tout le reste, sur à peu près n’importe quel téléphone Android. La seule chose dont vous avez besoin est un adaptateur USB comme celui-ci, qui coûte cinq dollars.

Utilisez vos vieux téléphones

Donc, pour le test d’aujourd’hui, je ne vais pas utiliser mon Pixel 5 quotidien, car je ne veux pas que cela soit lié à une imprimante pendant des heures. À la place, je vais utiliser un Xiaomi Poco F2 que j’avais précédemment, il a un processeur à 8 cœurs cadencés à presque 3 GHz, ainsi que 8 Go de RAM, donc il est facilement plus rapide que n’importe quel Raspberry Pi. Malheureusement, c’est le deuxième téléphone Xiaomi qui est mort de façon aléatoire. Celui-ci ne se charge tout simplement plus, mais il est techniquement en bon état, mais le Xiaomi 9T que j’avais avant ce jour-là a éteint son écran et ne l’a jamais rallumé, alors celui-là est fini. Heureusement, cependant, nous pouvons assez facilement contourner la fonction de charge cassée sur le Poco F2 Pro, alors faisons-le rapidement.

L’arrière est déjà enlevé, donc tout ce que j’ai à faire est de retirer la protection en plastique, de défaire les connecteurs comme des petits legos, et de souder un petit chargeur Li-Ion PCB directement sur les bornes de la batterie à l’arrière. Si vous voulez tenter quelque chose comme ça, assurez-vous de savoir ce que vous faites ou demandez à quelqu’un qui le sait, parce que court-circuiter ou endommager une cellule au lithium comme ça peut être catastrophique assez facilement.

Alors voilà, un Xiaomi Poco F2 “parfaitement” utilisable. Je veux dire, je suppose que vous pourriez l’utiliser comme ça, il est déjà abominablement lourd tel quel.

En tant que deuxième téléphone, pour savoir à quel point un téléphone est vieux et faible, je vais également ajouter ce Google Samsung Galaxy Nexus. Ce truc date de 2011, a un processeur dual-core de 1,2 GHz et 1 Go de RAM. En termes de performances, il devrait être à peu près comparable à un Raspberry Pi 2, qui n’est déjà pas exactement le matériel recommandé pour faire fonctionner OctoPrint, surtout lorsque vous commencez à utiliser des plugins. Et comme solution intermédiaire, je vais aussi prendre un LG G6, qui était déjà un téléphone très abordable à l’état neuf, mais que vous pouvez maintenant obtenir d’occasion pour presque rien. 2. quelque GHz quadcore, 4GB de RAM. Cela devrait être comparable ou même un peu plus rapide qu’un Raspberry Pi 4.

Connectez votre téléphone à votre imprimante et gardez-le chargé.

La question suivante est bien sûr de savoir comment se connecter à l’imprimante, car ces téléphones n’ont pas vraiment de port USB auquel on peut brancher des choses. Sauf qu’ils en ont un. Les téléphones Android prennent généralement en charge ce que l’on appelle l’USB-OTG (USB on-the-go). Avec un simple adaptateur comme celui-ci, vous pouvez transformer le port USB du téléphone en un port hôte USB complet.

Vous pouvez en fait brancher toutes sortes de choses sur ce port, y compris des hubs USB, des clés USB, des adaptateurs Ethernet ou des webcams si vous le souhaitez. Il s’agit donc d’une opération plug-and-play très simple. Vous branchez l’adaptateur, vous branchez le périphérique de votre choix et le tour est joué.

Mais vous avez peut-être remarqué un petit problème à ce sujet : Comment garder votre appareil chargé ? En effet, dans l’état actuel des choses, vous utilisez la seule possibilité d’alimenter le téléphone en électricité, à savoir le port USB intégré. Avec le POCO, bien sûr, nous avons déjà contourné ce problème en contournant complètement le circuit de charge normal, mais pour les appareils normaux, vous pouvez vous procurer un petit câble en Y pour environ 5 dollars, qui vous donne le port hôte USB, mais vous permet aussi de brancher votre chargeur normal.

Assurez-vous que le câble que vous achetez permet réellement de recharger le téléphone, car certains ne font qu’alimenter l’appareil que vous connectez. Pour les appareils plus récents dotés d’un port USB-C, grâce aux ordinateurs portables qui n’ont plus de ports, vous pouvez maintenant trouver assez facilement ces adaptateurs pour environ 10 dollars, qui vous donnent à nouveau le port hôte, un port de charge USB-C et souvent aussi HDMI, ce qui ne va probablement pas fonctionner sur un téléphone, mais vous pouvez aussi les obtenir avec un port Ethernet câblé intégré si vous ne voulez pas compter sur le WiFi, et ces ports Ethernet fonctionneront avec votre téléphone Android.

Vous pourriez également utiliser un palet de chargement sans fil et le fixer à l’arrière de votre téléphone, mais j’ai le sentiment que ce n’est probablement pas la meilleure solution.

Puisque nous allons utiliser la caméra intégrée du téléphone comme webcam, nous avons également besoin d’un moyen de la monter à un endroit pratique, et vous pouvez tout à fait imprimer un support ou utiliser la solution que vous auriez utilisée pour une webcam. J’ai jeté un coup d’oeil dans mon bac de montage de caméra et j’ai choisi cette super pince, ce bras magique et ce support de téléphone à ressort, et maintenant je peux le positionner comme je veux.

Télécharger, installer et configurer Octo4a

Passons au logiciel, et c’est en fait la partie la plus facile. Tout ce que vous avez à faire est de télécharger l’apk pour Octo4a depuis github et de l’installer. Un apk est essentiellement un fichier d’installation pour Android. Maintenant, votre téléphone va vous demander si vous voulez vraiment l’installer.

En général, vous obtenez vos applications Android dans les magasins Google Play, mais en raison de la façon dont Octo4a fonctionne, il ne peut pas être distribué par le magasin Play. Là, les applications sont au moins quelque peu vérifiées pour savoir si elles font des choses malveillantes ou non. Si vous “sideload” un apk, vous ne recevez plus aucune de ces vérifications, et c’est essentiellement la même chose que d’exécuter un logiciel que vous avez téléchargé sur votre ordinateur Windows, Mac, Linux, BSD, Solaris, ou TempleOS. J’ai écrit quelques courriels à Filip, le créateur d’Octo4a, et il a l’air d’être un type sympa, mais juste au cas où il s’avérerait qu’il ne l’est pas – ne m’en voulez pas. Octo4a est un logiciel libre, donc même si ce n’est pas une garantie que l’apk est bon aussi, c’est au moins un très bon signe.

Une fois que vous avez installé et ouvert Octo4a, il va récupérer une nouvelle version de tous les fichiers dont OctoPrint a besoin pour fonctionner ainsi qu’OctoPrint lui-même. Il y a quelques choses que vous pouvez – et devriez – configurer avant de commencer à plonger dans OctoPrint. Allez dans l’onglet “settings” et cliquez sur “download dependencies” – les plugins comme Octolapse ont besoin de quelques fichiers supplémentaires pour fonctionner, et si vous ne cliquez pas sur cette chose, vous aurez un problème lorsque vous essayerez d’installer Octolapse. Ensuite, allez-y et configurez votre caméra. J’aime utiliser une résolution de 1920×1080 tout en limitant le nombre d’images par seconde à 15. Cela permet d’économiser beaucoup de bande passante et de puissance de traitement, mais vous obtenez tout de même une image très nette pour vérifier vos impressions et pour les time-lapses.

Une chose qui m’est arrivée parfois, c’est que lorsque j’avais le téléphone en orientation portrait et que je le faisais pivoter en paysage alors qu’Octo4a était déjà en cours d’exécution, il montrait en fait une coupe portrait de votre image, donc lorsque vous configurez votre téléphone, orientez-le correctement, puis activez le serveur de caméra dans Octo4a.

Si vous le souhaitez, vous pouvez également activer “start on boot”, ou même activer l’accès SSH à l’environnement OctoPrint, mais vous n’en aurez probablement pas besoin.

Dans tous les cas, vous pouvez maintenant ouvrir votre navigateur préféré sur votre ordinateur, le pointer vers l’adresse et le port qu’Octo4a vous indique et vous devriez obtenir l’interface OctoPrint que nous connaissons et aimons tous.

Maintenant, honnêtement, à partir de maintenant, la configuration est fondamentalement la même que pour une installation normale d’OctoPrint sur un Raspberry Pi. Passez par l’assistant de configuration, choisissez un mot de passe, etc.

Comme je l’ai dit, c’est une version complète, elle peut exécuter des plugins, vous pouvez faire des time-lapses, tout ça. Pour le reste de la configuration, je vous renvoie à ma dernière vidéo sur OctoPrint, dont le lien figure à la fin de cette vidéo.

Pour l’instant, il y a encore quelques détails que nous allons devoir régler dans Android pour que Octo4a et OctoPrint fonctionnent de manière fiable. La première chose à faire est d’ajuster les options d’économie d’énergie. Les appareils les plus récents avec des versions personnalisées d’Android, comme les appareils Xiaomi, ont des mesures d’économie d’énergie très agressives une fois que l’écran s’éteint, et ce qui peut arriver, c’est qu’Octo4a, et avec lui OctoPrint, soient complètement suspendus, ce qui, comme vous pouvez le deviner, n’est pas génial quand il s’agit d’imprimer. L’endroit où vous trouverez ces paramètres dépendra de votre appareil, mais vérifiez dans la liste des applications les paramètres d’Octo4a, assurez-vous qu’il est réglé sur une utilisation ” illimitée ” de la batterie et non sur ” optimisée ” ou autre ; Ensuite, passez par le menu batterie dans les paramètres et, encore une fois, assurez-vous de désactiver toutes les options “adaptatives”, “optimisées” ou “intelligentes” pour l’ensemble de l’appareil et vérifiez également spécifiquement pour Octo4a. Si votre appareil dispose d’un menu de paramètres d’assistant intelligent spécifique au fabricant, il peut souvent cacher d’autres paramètres d’alimentation qui pourraient perturber les choses.

Octo4a vous demande aussi automatiquement si vous voulez modifier l’un des paramètres pour lui permettre de toujours fonctionner en arrière-plan et vous devriez certainement appuyer sur “autoriser” ici. L’écran suivant, qui ouvre les paramètres de la batterie, ne fait pas encore grand-chose, mais si vous avez creusé dans les menus et modifié tout ce que vous pouviez, vous devriez être bon ici.

Mais si vous rencontrez toujours des problèmes avec une gestion de l’énergie trop agressive, vous pouvez essayer d’activer l’option qui permet de laisser l’écran allumé lorsque le téléphone est branché, ce que vous pouvez faire dans les options de développement d’Android, mais gardez à l’esprit que si votre téléphone a un écran OLED et qu’il va laisser l’écran allumé, il va probablement avoir des brûlures assez méchantes après seulement quelques semaines d’utilisation. Si vous faites cela, réglez-le au moins sur une luminosité minimale.

Performance

Alors, à quoi ressemble l’utilisation d’OctoPrint sur un téléphone ? Eh bien, c’est à peu près comme prévu. Commençons par les performances. J’ai testé le temps qu’il faut pour télécharger un gros fichier gcode de 60MB pour avoir une idée générale de la façon dont les choses fonctionnent, et il y a de réelles différences.

Le Poco F2, l’appareil ayant la plus grande puissance brute, termine premier avec seulement trois secondes jusqu’à ce que le téléchargement soit terminé.

Le LG G6 et le Raspberry Pi 4 arrivent à 10 et 11 secondes, ce qui est certes plus lent, mais reste parfaitement utilisable.

Le Galaxy Nexus prend 2 minutes et 30 secondes. Je veux dire, si vous utilisez simplement le téléchargement en arrière-plan de votre slicer et que l’impression démarre automatiquement, c’est probablement bien, mais à moins que vous n’imprimiez que des petites pièces simples, cela va probablement être assez pénible à long terme. Tout ceci a été testé à 2m d’un point d’accès WiFi 5 et après avoir laissé au téléphone et à OctoPrint le temps de se calmer après le démarrage.

En ce qui concerne les temps de chargement des sites Web, les trois téléphones et le Raspberry Pi ont été presque instantanés, donc je ne sais pas s’il y a une mise en cache ou si l’interface d’OctoPrint est simplement bien optimisée, mais vous sentez toujours la différence dans le temps que prennent, par exemple, les menus de paramètres pour s’enregistrer et dans la rapidité générale.

Le Galaxy Nexus n’est peut-être pas encore disqualifié, mais comme il utilise une version plutôt ancienne d’Android (Cyanogenmod avec Android 4.4), l’ensemble de l’expérience a été plutôt bogué. J’ai réussi à faire fonctionner l’alimentation de l’appareil photo et à connecter l’imprimante en même temps, mais entre les plantages de l’application, le fait de ne pas voir l’interface USB de l’imprimante et les pannes générales, l’utilisation n’a pas été très agréable. Mais bon, cette chose a dix ans. J’ai l’impression que tout ce qui est un peu plus récent pourrait fonctionner.

Et si nous regardons l’expérience que vous obtenez avec le LG G6, vieux de quatre ans et demi, et le Poco F2 Pro de l’année dernière, c’est à peu près impeccable. La seule chose que j’ai pu trouver est qu’avec le Poco, vous ne pouvez pas utiliser ces adaptateurs passifs, et vous devez utiliser un dock dongle avec l’alimentation branchée. Le G6 fonctionne sans être branché, le Poco non, cela pourrait être dû au circuit de charge cassé, mais une fois que vous avez compris cela, c’est littéralement comme toute autre installation OctoPrint. L’interface est rapide, fiable, les plugins fonctionnent, et avec des choses comme OctoLapse qui a maintenant accès aux caméras principales des téléphones, vous obtenez des time-lapses vraiment croustillants. C’est une très bonne expérience.

J’ai essayé de voir s’il y aurait des problèmes lorsque vous faites des choses dans l’interface utilisateur, ou que vous téléchargez des fichiers pendant qu’une impression est en cours, mais c’est vraiment fluide partout.

En prime, vous pouvez même ouvrir un navigateur sur le téléphone, le faire pointer sur localhost:5000 et vous obtenez l’interface complète d’OctoPrint, ou une interface adaptée aux mobiles si vous utilisez le plugin Touch UI. Vous pouvez même utiliser une tablette et en faire l’écran tactile principal de votre imprimante.

Je pense que l’Octo4a est une très bonne solution, à tel point qu’honnêtement, si vous cherchez juste à faire fonctionner OctoPrint, je préférerais acheter un téléphone Android bon marché maintenant plutôt que de m’embêter avec le Pi, d’imprimer un boîtier pour cela, d’essayer différents câbles USB parce que certains ne sont pas fiables et ainsi de suite. Octo4a fonctionne bien, il est assez facile à configurer, dans le meilleur des cas, vous n’avez même pas besoin d’acheter quoi que ce soit pour lui et donner une seconde vie à un appareil usagé. J’aime ça.

Si vous aimez ça aussi, n’oubliez pas de soutenir OctoPrint et Octo4a – ce sont des projets qui offrent leur travail gratuitement, alors montrez-leur votre appréciation si vous les trouvez utiles.

Produits présentés (sur Amazon) :

Câble en Y MicroUSB

Station d’accueil pour clé USB-C

Chargeur approprié

Raspberry Pi4 ?

Pince pour téléphone

Bras magique

Superclamp

💙 Vous aimez les vidéos ? Soutenez mon travail sur Patreon ! Les liens vers les produits sont des liens d’affiliation – je peux recevoir une commission sur les achats admissibles (sans frais supplémentaires pour vous).

Tout mon matériel vidéo