Journal Viper : Viper Is Python Embedded in Realtime

Posté par . Licence CC by-sa
20
23
mar.
2015

Bonjour,

Un journal pour présenter un projet s'appelant Viper (Viper Is Python Embedded in Realtime). Ce projet ambitionne de faire un environnement de développement python pour différents microcontrôleur (arduino due, UDOO, …).

Leur idée est de mettre en place une machine virtuelle python qui traduit le code python en langage C sur ChibiOS. Ils ont conçu une IDE dans un navigateur et une bibliothèques permettant de simplifier le travail de dialogue avec les entrées/sorties des cartes compatibles.

Le principal avantage est de pouvoir faire du multi-thread simplement. Par exemple activer deux sorties numériques avec des fréquences différentes, cela semble trivial mais pour avoir eu à le faire, c'est un peu chiant en arduino ..

C'est donc un joli projet qui permettrait encore d'abaisser le coût d'entrée dans IoT (Internet of Things).

Ce projet étant en pleine campagne de financement participatif, il me semblait intéressant d'en parler brièvement ici.

  • # FreeRTOS

    Posté par . Évalué à 3.

    A signaler aussi qu'il existe FreeRTOS qui semble egalement fournir un environnement threadé pour micro-controleurs, dont les arduino. D'après ce que j'ai en discuter avec des collègues, c'est environnement très simple a prendre en main.

    Par contre, je n'ai jamais eu de retours sur arduino, je sais pas ce que ca vaut.

    • [^] # Re: FreeRTOS

      Posté par . Évalué à 1.

      Il y aussi RIOT qui est fait par l'INRIA (Cocorico) et qui supporte beaucoup de plate-formes.

      Mais pour en revenir au projet, ce que je trouve intéressant c'est l'utilisation de python qui associé à ses décorateurs permet de facilement créer les abstractions nécessaires pour les types de processeurs (virgule flottantes ou pas, instructions vectorisées, …) et surtout que c'est destiné à fonctionner sur plusieurs cartes dont les raspberry à terme, donc le même code partout. Sans oublié que l'aspect multi-thread va simplifier les commandes de plusieurs actionneurs par exemple.

  • # Autre solution pour du Python embarqué

    Posté par (page perso) . Évalué à 6.

    MicroPython, qui cible un sous-ensemble de Python3 pour du fonctionnement sur de l'embarqué (et sur le Micro Python Board :-).

    Des décorateurs autour des fonctions permettent d'indiquer comment générer le code cible (interprété, ARM simple, ARM avec optimisation).

    Python 3 - Apprendre à programmer en Python avec PyZo et Jupyter Notebook → https://www.dunod.com/sciences-techniques/python-3

  • # Ça manque de code

    Posté par . Évalué à 3.

    Ils n'ont même pas un petit début de prototype d'implémentation quelque part ? Sur leur site, je n'ai rien trouvé (à part une pub pour leur kickstarter et une boite d'inscription à une liste de spam, il n'y a pas grand chose), et sur le kickstarter, en survolant, je n'ai pas trouvé de lien non plus. Pourtant il y a des images de code sur celui-ci.

    Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.

    • [^] # Re: Ça manque de code

      Posté par . Évalué à 1.

      Je me suis fait la même réflexion. La seule capture d'écran fait rêver d'un arduino programmable en python, mais on ne sait pas si il est prévu de pouvoir utiliser les librairies C/C++ existantes pour l'arduino. Par ailleurs, rien sur l'espace mémoire rom/ram, sans doute supérieure à du code C/C++ homemade, or c'est un point super important pour ces bébêtes.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.