Sorry, you must be logged in to use the shoutbox!

Auteur Sujet: Outil coordonné pour la compilation et l'upload arduino  (Lu 406 fois)

philippej

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Outil coordonné pour la compilation et l'upload arduino
« le: décembre 16, 2018, 10:09:57 pm »
Bonjour,

Tout d'abord bravo pour les outils blockly que vous développez. Je me demandais si vou seriez intéressés de réfléchir à un outil commun utilisé par les différents générateurs de code arduino qui s'occuperait côté utilisateur  de la compilation et de l'upload du code?

J'ai fait une proposition ici : http://forum.arduino.cc/index.php?topic=585497.0

Et mon idée est de contacter les différents projets que cela pourrait intéresser de mutualiser les énergies, dont le vôtre :-)

Qu'en pensez-vous ?

philippej

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #1 le: décembre 17, 2018, 10:25:22 am »
Je me répond à moi même car entretemps j'ai vu une série d'outils qui font plus ou moins ce que je propose.

- https://github.com/nbremond77/rDuino-Compiler-Uploader-Server
- https://github.com/BlocklyDuino/BlocklyDuino/blob/gh-pages/arduino_web_server.py
- https://github.com/technologiescollege/Blockly-rduino-communication

Mais donc la spécificité de ma propositon c'est d'utiliser le fraichement sorti arduino-cli qui est plus léger à télécharger, installe-détecte les cartes, installe les libraries et garde le tout à jour. Et syncho avec l'ide arduino éventuellement installée aussi.

Je pense que le projet blockly@arduino gagnerait à rester modulaire avec un petit agent à installer, et un générateur de code purement en js/html statique que l'on peut héberger n'importe ou (y compris sur les pc des enfants). Pas un gros package electron long à mettre à jour en gros :-/

Voilà l'état de mes réflexions.

SebCanet

  • Administrator
  • Sr. Member
  • *****
  • Messages: 487
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #2 le: décembre 18, 2018, 02:09:26 pm »
Bonjour,
je suis parti sur arduino-cli (https://github.com/technologiescollege/BlocklyArduino_electrified) car il représente le nouveau noyau sur lequel Arduino semble vouloir faire reposer ses solutions (IDE, éditeur en ligne).
Là où il est facile d'utilisation c'est qu'on peut utiliser la ligne de commande, là où toutes les autres solutions s'appuyaient sur un IDE complet (500Mo) ou bien avec un ensemble de fichiers qu'ils avaient récupéré morceau par morceau. Cette fois c'est clair, documenté.

Pour les outils que vous listez je les connais bien  ;D

Pour l'agent à installer, je suis mitigé car ça ne correspond plus aux pratiques actuelles d'avoir trop de modules séparés à lancer. Tout d'abord ne rien avoir à installer, juste décompresser. Ensuite plus personne ne regarde la barre des tâches avec les icones des applis en service. Et à l'usage pour le hors ligne, autant simplifier et TOUT avoir hors ligne plutôt que page web + résident, car le pb est l'accès web. Hors pour travailler dans plein d'endroits différents, le hors ligne c'est plus simple.

Sinon je vais essayer de bosser sur une version optimisée par Qt, je trouve aussi qu'Electron est lourd.

Merci des remontées.

philippej

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #3 le: décembre 22, 2018, 11:41:30 am »
Je suis en train de travailler sur un "proof of concept" en python ici : https://github.com/philippejadin/arduino-cli-agent

Pour l'instant on a un petit start.exe de 4 mb (qui contient tout ce qu'il faut y compris python) + l'exe arduino-cli

Quand on lance start.exe, il crée un petit serveur local qui (bientôt) va appeller arduino cli pour faire tout le boulot. Du coup ça marche autant depuis un site statique en local que depuis une version hébergée n'importe où.

Il n'y a rien à installer (c'est portable) et super léger.

Quand cela fonctionnera, je referai un message ici.

SebCanet

  • Administrator
  • Sr. Member
  • *****
  • Messages: 487
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #4 le: décembre 30, 2018, 01:59:46 pm »
Super idée ! Merci du taff là dessus.
Autant je trouve Electron sympa et super pour faire un truc tout en un, autant je trouve toujours les mêmes défauts :
- consommation de ressources,
- nécessité de système mis à jour,
- quid des mises à jour quand ça ne sera plus à la mode ?
- programmation spécifique à Electron, à refaire en cas de changement de plate forme.

Bref je continue à jeter un oeil pour maintenair mon vieux AIO, un exe simple qui coordonne tout :
- serveur python pour téléversement,
- serveur python pour supervision
- détection automatique de carte Arduino,
- multilingue,
- navigateur K-Meleon super léger

Je voulais regarde du côté de Qt pour faire un système multi plate forme, mais je crois que leur widget web utilise aussi Chrome (donc lourd). Là c'est impossible pour moi de reprendre le boulot là dessus mais grâce à ton travail je repartirai sur K-Meleon + Pyhton + arduino-cli.

philippej

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #5 le: décembre 30, 2018, 07:53:19 pm »
Entretemps j'ai un peu creusé et nodejs, electron etc c'est vraiment une bel écosystème. Surtout avec le package arduino-cli du projet xod.io qui permet de "facilement" appeler arduino-cli depuis une application javascript.

Du coup pour tout faire converger, il devrait être possible de faire un petit client léger en nodejs qui peut aussi être "compilé" en exe mais sans electron et donc pas lourd. Enfin c'est juste une idée, je suis en train de me former à tout ce bazard et c'est pas évident car ça va **très** vite...

SebCanet

  • Administrator
  • Sr. Member
  • *****
  • Messages: 487
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #6 le: décembre 31, 2018, 11:35:10 am »
C'est hyper séduisant, c'est sûr. Nickel, tout intégré, facilitant, etc. MAIS c'est lourd.

Par contre à "petit client léger en nodejs qui peut aussi être "compilé" en exe mais sans electron et donc pas lourd" j'applaudis des 2 mains et des pieds aussi si c'est possible, afin de rallier le monde moderne à celui de la sobriété (travers de vieux qui a connu le PC à 640ko de RAM et qui se battait avec le DOS pour optimiser le système).

Merci mille fois de tes efforts !

philippej

  • Newbie
  • *
  • Messages: 11
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #7 le: janvier 02, 2019, 04:58:10 pm »
Alors voilà le résultat des efforts des derniers jours :
https://github.com/philippejadin/blockly-arduino


Je suis parti du code de J-P Fontaine afin d'expérimenter un maximum ce qu'il y a moyen de faire avec electron et arduino-cli. Et ça fonctionne depuis quelques minutes! (en tout cas sur linux avec une arduino uno).


Voici quelques points importants pour le développement electron avec quelques liens pour expliciter :


* il faut un fichier package.json dans la racine du projet. Celui-ci est correct par exemple : https://github.com/philippejadin/blockly-arduino/blob/master/package.json

* le but de ce fichier est qu’un nouveau développeur qui débarque sur le projet puisse faire simplement “npm install” et que tout les modules JS soient installés proprement. Ensuite juste faire “npm start” pour lancer l’application

* le fichier index.html fonctionne aussi bien en standalone (dans n’importe quel navigateur) qu’en electron. Il y a quelques éléments “conditionnels” qui le permettent:

* chargement correct des javascripts ici https://github.com/philippejadin/blockly-arduino/blob/master/index.html#L9

* inclusion du script spécifique à electron ici : https://github.com/philippejadin/blockly-arduino/blob/master/index.html#L218

* le projet utilise le wrapper arduino-cli : https://www.npmjs.com/package/arduino-cli

* c’est ici que ça se passe : https://github.com/philippejadin/blockly-arduino/blob/master/renderer.js

* un fichier .gitignore permet de ne pas “pourrir” le git avec des fichiers dont on a pas besoin. La règle c’est de ne mettre aucun fichier généré automatiquement / ou téléchargé / ou des binaries dans le git. Cela exlut par exemple le dossier node_modules qui doit être téléchargé par chaque développeur avec npm. Le gitignore est ici : https://github.com/philippejadin/blockly-arduino/blob/master/.gitignore [/li][/list]





Enfin pour tester tout cela, le readme explique comment l’installer : https://github.com/philippejadin/blockly-arduino#development


C’est plus ou moins la procédure standard pour n’importe quelle application electron. J’ai ajouté un peu de doc afin de ne pas perdre du temps avec des mauvaises versions d’outils par exemple. Je n’ai testé presque que sous linux pour info.


Par la suite, on pourra fournir des exécutables installables pour chaque plateforme, générés automatiquement, et proposés en téléchargement dans les release de git (PAS dans le repository git donc :-)).

Les impatients qui voudraient tester peuvent déjà tenter un petit :
npm run-script build
qui créera un dossier dist contenant l’exécutable prêt à être distribué (quasiment :-) )


Retours bienvenus :-)

jbe

  • Jr. Member
  • **
  • Messages: 58
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #8 le: janvier 03, 2019, 11:34:42 pm »
Bonjour,
Pourriez vous rappeler les deux adresses pour ouvrir Blockly dans une fenêtre Arduino.

Pour l'instant, j'ai installé dans tools, le dossier BlocklyArduinoPlugin.
Et  je vois bien dans le menu outils du logiciel Arduino, BlocklyArduino.

Mais après il me manque le dossier à ajouter dans le fichier tool. Il y en a tellement sur le net, que l'on se perd.
Ensuite, pour mes collégiens, on va programmer le robot Alphabot ( détecteur ultrason, codeur dans les roues, capteur de ligne... et tout ceci pour environ 80€.

SebCanet

  • Administrator
  • Sr. Member
  • *****
  • Messages: 487
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #9 le: janvier 08, 2019, 03:16:43 pm »
Merci beaucoup philippej pour tout ce boulot !
Je peux t'inclure dans le groupe Github pour que tu pousses les modifs directement pour écraser mes conneries.

Pour répondre à jbe :
- ben oui c'est pas clair, va falloir que je nettoie tout ça et mes sites web...
- la page d'accueil (https://github.com/technologiescollege/BlocklyArduinoIDEPlugin) et le pdf (https://github.com/technologiescollege/BlocklyArduinoIDEPlugin/blob/master/Blockly%40rduino_Plugin_Installation.pdf) ne sont pas assez clairs ? Ce qui est sûr c'est que c'est mal documenté et que j'ai besoin d'aide là dessus... Mais en plus souple il y a la version Electron : https://github.com/technologiescollege/BlocklyArduino_electrified
- pour des débutants en Alphabot, on peut créer des 'kits' tout fait comme quand tu sélectionnes la carte 'micro feux Jeulin'.

jbe

  • Jr. Member
  • **
  • Messages: 58
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #10 le: janvier 09, 2019, 04:13:04 pm »


Voir sur l'image l'organisation des fichiers pour insérer Bockly comme Outils d'Arduino.
Je trouve bien dans le menu Outils d'Arduino, Blockly@rduino.
Mais quand je veux le lancer, une fenêtre s'ouvre mais rien ne s'insert dedans.

En revanche quand je vais de le répertoire \tool\Blockly@rduino, et je je clique sur Blockly@rduino ( Application), le logiciel se lance bien.
C'est comme si le pluggin ne trouvait pas son chemin.

Que puis je corriger ?

Merci.


SebCanet

  • Administrator
  • Sr. Member
  • *****
  • Messages: 487
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #11 le: janvier 09, 2019, 06:18:04 pm »
En fait tu as dézippé le Blockly@rduino_Electron, c'est à dire le tout en un à dézipper, qui comprend tout et se lance tout seul.

Pour être en plugin depuis l'EDI Arduino, dans le dossier \tools\BlocklyArduinoPlugin\tool\Blockly@rduino, tu n'y dézippes que Blockly@rduino simple, le contenu de https://github.com/technologiescollege/Blockly-at-rduino

jbe

  • Jr. Member
  • **
  • Messages: 58
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #12 le: janvier 09, 2019, 09:12:40 pm »
MERCI. Cela fonctionne. Télécharger sans copier coller ... c'est super pratique.

Pour information:
J'ai demandé l'installation officiel de Blockly@rduino sur les postes en technologie dans ma salle.
Ensuite cela se diffusera peut être dans le département si on gagne le concours. Dans les autres collèges ils sont sur le logiciel MakeBlock.

Bon courage pour la suite, car d'après ce que j'ai lu, vous allez intégrer le logiciel Arduino dans Blockly.


SebCanet

  • Administrator
  • Sr. Member
  • *****
  • Messages: 487
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #13 le: janvier 10, 2019, 09:52:39 am »
Tant mieux si ça marche. Ayant été prof en collège, je préfère les solutions sans install pour la portabilité, la possibilité de copier-coller pour disposer du logiciel, et que les élèves l'aient sur une clé USB pour bosser en dehors de la séance.

J'utilisais mBlock jusqu'en 4ème, puis Blockly@rduino en 3ème : ça les sort de leur zone de confiance, s'ils en ont marre de Scratch au moins ils passent à autre chose, et on se rapproche du code, point utile pour aborder SNT en 2nde en ayant quelques connaissances générales.

jbe

  • Jr. Member
  • **
  • Messages: 58
    • Voir le profil
Re : Outil coordonné pour la compilation et l'upload arduino
« Réponse #14 le: janvier 13, 2019, 07:19:01 pm »
Peut on avec cette version intégré à Arduino, fixer la langue et le type de carte par défaut ?
Il me semble que l'on pouvait le faire "avant".

Cordialement.