Python android robot?
Modérateur : Francois
Python android robot?
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.
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.
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: Python android robot?
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
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).
Re: Python android robot?
Oui je suis d'accord avec vous, je m'attendais à ce type de réponse mais j’espérai un peu, probablement à tord.
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: Python android robot?
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).
Re: Python android robot?
Oui merci!
Re: Python android robot?
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.
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.
-
- Raspinaute
- Messages : 1586
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Python android robot?
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).
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.
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: Python android robot?
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
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).
Re: Python android robot?
Merci pour vos réponses, effectivement ce tutoriel répond à mes demandes python et raspberry. C'est complètement adapté à mon besoin actuel.