Python android robot?

Vous souhaitez développer un projet mais vous manquez de temps, de compétences ? Présentez votre projet ici pour trouver des participants...

Modérateur : Francois

michelw
Messages : 10
Enregistré le : mer. 8 mai 2019 15:20

Python android robot?

Message par michelw » jeu. 24 sept. 2020 10:50

Bonjour,
Je cherche à faire un projet simple qui allierait la conception d'un objet (robot ou autre...) qui soit programmable en python et dont l'interface de commande soit déportée sur un téléphone android sans faire de java si possible. Quelle carte interface me conseillez-vous, avez-vous un lien vers un tutoriel existant? En vous remerciant pour vos retours.

Bud Spencer
Raspinaute
Messages : 944
Enregistré le : lun. 15 août 2016 21:38

Re: Python android robot?

Message par Bud Spencer » ven. 25 sept. 2020 09:18

Développer une appli Android avec du python tu peux déjà oublier cette idée. Si tu ne veux pas faire de Java et que tu veux une vrai appli Android, il y a d’autre langage qui vont très bien pour ça (c++, c#, kotlin …).

L’autre solution, c’est développer une application serveur http en python sur le PI avec un framework dédié (Django, Flask, Bottle, Tornado … ) et des websocket puis d’utiliser le navigateur le l’Android (ou de n’importe quoi d’autre). Bien évidemment, ça t’oblige à coder la partie dynamique coté client en javaScript (ne pas trop compter sur wasm avec python …).

Est-ce une bonne idée ? Non ! Python est le pire langage que tu puisses choisir pour ce genre de chose, mais ça tu t’en rendras vite compte par toi-même 😉
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

michelw
Messages : 10
Enregistré le : mer. 8 mai 2019 15:20

Re: Python android robot?

Message par michelw » ven. 25 sept. 2020 09:36

Oui je suis d'accord avec vous, je m'attendais à ce type de réponse mais j’espérai un peu, probablement à tord.

Bud Spencer
Raspinaute
Messages : 944
Enregistré le : lun. 15 août 2016 21:38

Re: Python android robot?

Message par Bud Spencer » ven. 25 sept. 2020 10:41

Si tu ne te sens pas de t’investir dans l’apprentissage un vrai langage plus adapté pour ce genre de projet, je te recommande vivement du JavaScript avec NodeJS. Tu auras beaucoup moins de code à écrire qu’en python et que des avantages (performances, scalabilité, facilité d’exploitation …). Il faut prendre en compte que le fait de devoir coder du JavaScript te sera indispensable pour la partie client si tu veux du dynamisme et du temps réel. En utilisant NodeJS, tu n’utilises plus qu’un seul et même langage coté client et serveur avec en prime la possibilité d’écrire des ressources communes des 2 côtés. Rien ne t’empêche ensuite de faire appel à des subprocess écris en python coté serveur. Si tu ne l’as pas déjà fait, jette un coup d’œil là-dessus. Ca répond très bien aux besoins que tu as sans pour autant faire appel à des méthodes et des langages de programmation trop compliqué ou trop stricte.
Modifié en dernier par Bud Spencer le ven. 25 sept. 2020 17:36, modifié 1 fois.
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

michelw
Messages : 10
Enregistré le : mer. 8 mai 2019 15:20

Re: Python android robot?

Message par michelw » ven. 25 sept. 2020 12:59

Oui merci!

michelw
Messages : 10
Enregistré le : mer. 8 mai 2019 15:20

Re: Python android robot?

Message par michelw » jeu. 22 oct. 2020 11:59

Bonjour,
Mon cahier des charges se précise peu à peu. Je souhaite réaliser avec mes élèves un robot roulant style suiveur de ligne mais également pilotable à la "main" avec un téléphone android. Il devra être programmé en python.
J'ai donc pensé à une carte mico-python. Il s'en suit les questions suivantes:
Quelle carte choisir?
Faut-il la obligatoirement la coupler avec une carte raspberry ou android?
Si oui comment choisir entre ces deux cartes précédentes?
En remerciant ceux qui prendront le temps de m'éclairer car j'avoue que cela reste confus pour moi.

kartable
Messages : 65
Enregistré le : mer. 10 juin 2020 07:55

Re: Python android robot?

Message par kartable » jeu. 22 oct. 2020 12:52

Bonjour,

Peut être pouvez vous vous inspirer des nombreuses réalisations de ce type sur Youtube ? Il y a notamment ceci pour la partie "suiveur de ligne" et Python : https://www.youtube.com/watch?v=Q-yZHXz ... el=Speechi.

Pour la partie commande à distance, il y a des applications android telles que celle-ci : https://play.google.com/store/apps/deta ... tick&hl=fr mais on peut aussi avoir pour projet de créer sa propre commande joystick comme ici : https://www.youtube.com/watch?v=4GYGwT5 ... DIYBuilder (voir notamment à partir de la 5ème minute), mais on s'éloigne de la Raspberry pour Arduino, autant pour le matériel que pour le code. A voir si vous pouvez adapter le code en Python.

destroyedlolo
Raspinaute
Messages : 1430
Enregistré le : dim. 10 mai 2015 18:44
Localisation : Dans la campagne à côté d'Annecy
Contact :

Re: Python android robot?

Message par destroyedlolo » jeu. 22 oct. 2020 16:50

Salut,

En sortant du rapberry, il y a plein de kit de voitures programmables a base d'ESP pour quelques dizaines d'Euros chez les sites asiatiques.
J'en avais pris une pour mon gamin : Avec le programme de base, elle est commandable avec une applie Android, mais comme l'interface est documentée, ils montraient aussi des exemple en Scratch sur PC et donc pourquoi pas du Python.
Comme c'est un ESP, tu peux directement le programme en microPython ou dans pleins d'autres languages.

Et comme évolution ultime, rien de t’empêche de faire un truc hybride avec a la fois un progamme en local et a distance (genre comme les sondes martiennes).
  • BananaPI : Gentoo, disque SATA de 2 To
  • Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
  • Multimedia par DNLA
  • Et pleins d'idées ... et bien sûr, pas assez de temps.
Un descriptif de ma domotique 100% fait maison.

Bud Spencer
Raspinaute
Messages : 944
Enregistré le : lun. 15 août 2016 21:38

Re: Python android robot?

Message par Bud Spencer » ven. 23 oct. 2020 10:47

Une carte µPython ne change rien aux données du problème et ne ferait que rajouter des limites au projet. Tout ce que vous pourrez faire avec n’importe quelle carte µPython, vous pouvez aussi le faire avec un PI mais pas l’inverse. L’avantage d’utiliser un PI, c’est que vous allez pouvoir travailler avec le standard Python (qui est plutôt limité avec µPython) ce qui vous donne accès à de très nombreuses sources de documentations et d’exemples et vous aurez beaucoup plus de chance de trouver de l’aide quand vous serez ‘coincé’. Pour ce genre de projet, pas besoin d’un PI à 80€, un simple PI Zero W suffit.

Qu’elle que soit la carte, le problème reste toujours le même. Il sera impossible d’écrire une application Android en python pour piloter ce robot donc les seules solutions sont soit d’utiliser une application Android ‘existante’ (et de vous plier à ses contraintes) ou alors d’intégrer dans votre programme python une api capable de traiter des requêtes http pour utiliser le navigateur du smartphone comme client (ce que je vous expliquais plus haut). Comme d’habitude, tout reste une question d’ambition. Soit reprendre un truc qui existe déjà et le mettre en application sans comprendre tout ce qu’il fait ou alors profiter de l’opportunité du projet pour apprendre comment faire 😉
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

kartable
Messages : 65
Enregistré le : mer. 10 juin 2020 07:55

Re: Python android robot?

Message par kartable » sam. 24 oct. 2020 08:42

Avec tous ces conseils, j'espère que vous y voyez plus clair. Sinon reste à suivre un bon tutoriel comme celui-ci : https://projects.raspberrypi.org/en/pro ... -following dont la seule difficulté est qu'il est en anglais. Il est très éducatif et répond à vos critères sur le langage Python en partant sur la Raspberry comme matériel.

Après, la bonne question serait de savoir ce qu'il faut pour adapter le projet à une Arduino ou une ESP. Quels sont les avantages de travailler avec un matériel plutôt qu'un autre ? Quelles sont les limites ? Quels sont les langages adaptés à chacun ?

Répondre

Retourner vers « Projets »