Forum des utilisateurs de Blockly(s)

Catégorie générale => Blablabla => Discussion démarrée par: SebCanet le Octobre 05, 2018, 06:33:03 PM

Titre: Blockly@rduino Electrified
Posté par: SebCanet le Octobre 05, 2018, 06:33:03 PM
Bonjour,
grâce à l'excellent travail de JP Fontaine de ce forum, j'ai intégré des modifs pour intégrer son travail dans Blockly@rduino (ou inversement) :
https://github.com/technologiescollege/BlocklyArduino_electrified (https://github.com/technologiescollege/BlocklyArduino_electrified)
Cela utilise le framework Electron pour encapsuler des pages web en logiciel de bureau.

Merci d'avance des tests, remontées, etc, notamment de toutes les cartes que j'ai intégrées pour être sûr que je n'ai pas fait d'erreur.
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 05, 2018, 06:43:18 PM
Pour ma part jai des messages erreurs lors du televersement
Error command failed :flash.bat atmega2560 com3 115200
Après il y a 10 messages
avrdude:stk500recv()programmer is not reponding
Avrdude stk500 getsync()attenpt 1of10 not sync resp=0x9f
Sinon top il y a tout les bloc quil me faut
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 06, 2018, 01:27:38 PM
Merci pour le retour, mais tu peux faire un copier/coller complet du message SVP.
Tu as eu quoi comme message à la vérification ?
Quelle carte tu utilises ?
A+
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 06, 2018, 05:33:28 PM
C'est un pb avec le programmateur en argument d'avrdude.
Dans le flash.bat il faut en fait 4 arguments.

Le pb semble être avec la Mega2560 dont voici l'argument :
avrdude -p m2560 -c stk500v2 -P /path/to/serial -b 115200 -F -U flash:w:/path/to/image.hex

Alors que pour la Mega128à c'est :
avrdude -p m1280 -c arduino -P /path/to/serial -b 57600 -F -U flash:w:/path/to/image.hex
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 06, 2018, 05:37:31 PM
Ouais, bon en fait faut que je fouille pour tous les cas de figures en compilation (vérifier le code) et en téléversement.
Je remonte mon travail sur Github mais ce n'est pas fini et pas fonctionnel...
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 06, 2018, 09:38:29 PM
Je mettrais une capture demain mais avec arduino 2560 et uno ont le même problème de televersement on dirait que blockly cherche un fichier mais quil ne le trouve pas
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 07, 2018, 12:22:02 PM
Il faut d'abord vérifier le code pour produire le ino.hex
Ensuite le téléversement est bon pour la UNO.
Le téléversement pour toutes les cartes n'est pas encore fonctionnel....pas le temps cet AM, je regarderai ça demain.
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 08, 2018, 07:18:09 PM
Ok donc pour le arduino uno jai créé un dossier ino dans ressource/compilation ca fonctionne bien mais pas pour l'Arduino mega 2560 toujours les message erreur mais pas les même
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 08, 2018, 07:32:10 PM
Capture 1 c'est avec le dossier ino quand je clique sur vérifié sur blockly
https://www.cjoint.com/doc/18_10/HJirDb60cBr_Capture.JPG
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 08, 2018, 07:35:15 PM
Capture 2 c'est le ino mais en televersement
https://www.cjoint.com/c/HJirHQ4t5er
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 08, 2018, 07:38:24 PM
Est capture 3 cest sans le ino
https://www.cjoint.com/c/HJirKcji4ar
Sinon pour le arduino uno depuis la création du dossier ino plus de problème
O top continuer comme cela et merci bien pour l'évolution du logiciel
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 08, 2018, 09:46:29 PM
Merci, aujourd'hui j'ai testé avec l'ide d'arduino sur une méga et voilà les options d'avrdude :
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cwiring -PCOM6 -b115200 -D -Uflash:w:C:\Users\admin\AppData\Local\Temp\build9c9ef3bdfe2fccb480bc6e4bac749e41.tmp/Blink.ino.hex:i
Donc peux tu changer dans \www\core_BlocklyArduino\blockly@rduino_boards.js à la ligne 107 "m2560" par "atmega2560"
et à la ligne 108 "stk500v2" par "wiring"
Et tu nous tiens au courant...
Et si quelqu'un a une carte de type léonardo ou yun peut il faire le test aussi merci

Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 08, 2018, 09:54:36 PM
Pb résolu : je passe par arduino-cli
Outil officiel, tout en ligne de commande, facile pour insérer des bibliothèques, faire des mises à jour, etc.
Toutes les infos : https://github.com/arduino/arduino-cli (https://github.com/arduino/arduino-cli)

L'intérêt est qu'en plus il n'y a pas à connaître plein de détails sur la carte.
Pour l'instant avant de téléverser il faut obligatoirement compiler.

JP regarde si mon arborescence a du sens et si ça te convient. Alors on part là dessus pour continuer à bosser autour d'Electron (il faut que je comprenne comment le compiler !).

Testé avec Uno : impeccable !
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 08, 2018, 10:47:23 PM
Je pensais "descendre" le dossier compilation d'un niveau pour faire apparaitre les 3 parties :
- electron (tous les fichiers+locales+resources)
- www
- compilation
Pour arduino-cli, il faut se méfier car ce midi j'ai testé une carte dagu et il ne l'a pas reconnu entièrement (il manquait peut être une mise à jour, mais comme je te le disait à la fin le dossier compilation gonfle très vite...
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 08, 2018, 10:59:12 PM
Pour avrdude, j'ai trouvé pour l'option du "programmer type" :
pour les CPU atmega328p et atmega8 (uno, nano, mini et ng) c'est : -c arduino
pour le CPU atmega32u4 (léonardo, micro et yun) c'est : -c avr109
pour le CPU atmega2560 (méga) c'est : -c wiring
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 09, 2018, 09:21:40 AM
Pour les mises à jour, je suis d'accord avec toi de bien afficher tous es dossiers au même niveau.
Pour les cartes Dagu, cela n'a pas d'importance je pense qu'elle ne sot pas reconnue car la ligne de commande force l'action. Leur système de détection est faillible, ils l'expliquent sur Github dans la FAQ en bas.
Je vais continuer mes tests pour voir si ça continue à augmenter. Il y a 30Mo de plus que pour ton travail, mais 80 de plus que pour MariaMole.
J'y vois surtout l'intérêt de l'outil officiel, les mises à jour qu'on peut déclencher depuis Electron. Pour les fichiers que tu as sélectionnés pour mettre dans le dossier Arduino, comment les as tu choisis ? Comment les mettre à jour ? Je me dis juste qu'il faut qu'on prof lambda puisse le faire seul, après peu importe le choix de l'outil.
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 09, 2018, 06:49:16 PM
Arduino/Genuino LEONARDO : ok
Arduino/Genuino MICRO : ok
Arduino/Genuino MINI ATmega328 : à tester
Arduino/Genuino NANO ATmega328 : ok
Arduino/Genuino Pro Mini 3.3V ATmega328 : à tester
Arduino/Genuino Pro Mini 5V ATmega328 : à tester
Arduino/Genuino UNO : ok
Arduino/Genuino YUN : à tester
LilyPad ATmega328P : à tester
Dagu RS027 : à tester
Dagu RS040 : à tester
mCore mBot : ok
Me Orion : à tester
DFRobot RoMeo v2 : ok
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 10, 2018, 09:33:29 AM
Pour la compilation j'ai copié les dossiers à partir de l'installation d'arduino 1.8
Sinon il y a un package  --> https://sourceforge.net/projects/winavr/
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 10, 2018, 06:40:53 PM
Salut  il y a quelque choses de particulier chez moi rien ne fonctionne ni arduino uno  ni le mega
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 10, 2018, 07:20:02 PM
Tu as bien utilisé la nouvelle version, supprimé l'ancienne ? Quel message d'erreur as tu ?
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 10, 2018, 09:20:59 PM
Oui j'ai téléchargé la dernière version se soir 18h30
Je télécharge le logiciel blockly sur le git...
Je connecte l'Arduino mega au pc je lance le blockly....exe
Je sélectionne ma carte arduino mega
Je fait un programme basic allumé la led de la carte pendant 50ms et l'etteind le même temps
Je vérifie le code   ok
Je televerse dans l'Arduino la il m'affiche un message erreur
Error: Command failed: arduino-cli.exe upload -p COM3 -- fqbn arduino:avr:mega:cpu=atmega2560.\tmp
Pareil pour arduino uno
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 11, 2018, 12:32:40 AM
Tu n'as pas cliqué sur "vérifier" avant....
D'où la question sur l'ergonomie : faut il imposer la vérification/compilation avant le téléversement ????
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 11, 2018, 07:57:15 AM
Bonjour si si j'ai bien cliquer sur vérifié et tout est ok. Mais pas le televersement
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 11, 2018, 02:44:49 PM
Et si tu te mets en ligne de commande et que tu tapes cette ligne :
arduino-cli.exe upload -p COM3 -- fqbn arduino:avr:mega:cpu=atmega2560 .\tmp

Et dans la dossier \arduino\tmp tu as quels fichiers ?
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 11, 2018, 06:36:20 PM
Un tuto a suivre pour lignes de commande sur arduino ?
Pour les fichiers dans tmp ba il ny a pas de dossier tmp ;-(
J'ai du loupé un truc je pense
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 11, 2018, 07:10:11 PM
Non, c'est ouvrir la ligne de commande de Windows.
Le dossier tmp est dans le dossier de Blockly@rduino\arduino\tmp
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 11, 2018, 07:57:40 PM
Il ny a pas de blockly@arduino dans le se que je télécharge via le lien vers GitHub.
Voici la structure des dossiers télécharger
https://www.cjoint.com/c/HJlr3lVH2lr
Je pense vraiment que jai louper un truc lol
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 11, 2018, 08:08:36 PM
La vérification https://www.cjoint.com/c/HJlsgnOckEr
Le televersement https://www.cjoint.com/c/HJlshJvoRmr
En vert mais il ne televerse paw
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 11, 2018, 11:18:41 PM
Peux tu utiliser un autre site pour déposer tes pièces jointes ? Mes antivirus/antimawlare clignotent comme des guirlandes noël !!!
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 12, 2018, 07:46:21 AM
Pas de soucis tu a un autre site plus sécurisé a me conseiller ?
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 12, 2018, 09:51:25 AM
http://www.noelshack.com/ (http://www.noelshack.com/)
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 12, 2018, 12:20:24 PM
(http://image.noelshack.com/minis/2018/41/5/1539339527-capture.png) (http://www.noelshack.com/2018-41-5-1539339527-capture.jpg)
(http://image.noelshack.com/minis/2018/41/5/1539339545-capture-1.png) (http://www.noelshack.com/2018-41-5-1539339545-capture-1.jpg)
(http://image.noelshack.com/minis/2018/41/5/1539339560-capture1.png) (http://www.noelshack.com/2018-41-5-1539339560-capture1.jpg)
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 12, 2018, 12:21:33 PM
Voilà capture envoyer jespert que sa ira mieux
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 12, 2018, 05:49:01 PM
dans le dossier Arduino, il faut créer le dossier 'tmp'  >:(
J'ai rajouté une fonction automatique pour ça.
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 12, 2018, 06:39:48 PM
Lol alors la pour le arduino mega au top tout fonctionne bien mais pour le uno le televersement ne fonctionne pas voila le message erreur
(http://image.noelshack.com/minis/2018/41/5/1539362310-capture-2.png) (http://www.noelshack.com/2018-41-5-1539362310-capture-2.jpg)
Continuez comme ca cest sur la bonne voie ;-)
Ps je vient juste de télécharger la nouvelle version !
Titre: Re : Blockly@rduino Electrified
Posté par: toucas le Octobre 12, 2018, 06:57:41 PM
Ok donc en remettent tous par défaut dans le gestionnaire de périphérique le uno fonctionne bien un grand merci pour cette nouvelle version bien joué les gars
Titre: Re : Blockly@rduino Electrified
Posté par: Bzhtitude le Octobre 20, 2018, 12:58:38 AM
Bonjour,

Beau travail !!!

Je viens d'installer la version électrifiée et de faire quelques tests :
I)test du "hello World !" :


void setup() {
  Serial.begin(9600);
}

void loop() {
    Serial.println("Hello World!");
    delay(1000);
}


1) Compilation OK ( il me manque les  résultats détaillés, mais je comprend ce choix)
2) Téléversement OK (même remarque)
3) Console série PAS OK... j'appuie sur connection et toujours RIEN.
4) En passant par la console de l'IDE, ça fonctionne.

II) Test fonction carré


int i;
float carre(float x) {
  return x * x;
}

void setup() {
  Serial.begin(9600);
}

void loop() {
    for (i = 1; i <= 10; i=i+1) {
      Serial.println((carre(i)));
    }
    while(true);
}


1) Compilation OK
2) Téléversement OK
3) Console PAS OK

J'ai voulu sauvegarder au format B@ (j'aime bien le nom de l'extension :) )
1) Sauvegarde OK
2) Ouverture du fichier OK MAIS le type du paramètre de la fonction ne "tient" pas en retourne en char...

Je tentais le coup car je cherche depuis longtemps à modifier ça... mais je n'y arrive pas. Je pense que la solution est dans l'écriture et la lecture du XML. Cependant cette partie du code qui permet la génération du XML ainsi que sa lecture sont très obscurs pour moi.

Quelques questions :
* Cette version ne bouleverse pas la création des blocs il me semble, peut-on me confirmer ?
* Pourra-t-on avoir une option pour obtenir les "résultats détaillés" lors de la compilation et du téléversement?

PS  : J'ai vu que la bascule référence/fonction est là, je vais reprendre mon travail sur cette partie.




Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 20, 2018, 03:01:18 PM
Ah nom de Zeus ! La console a sauté ! Comme je suis en refonte pour simplifier j'ai cassé quelque chose...bref faut que je trouve.

"MAIS le type du paramètre de la fonction ne "tient" pas en retourne en char... " tu as un exemple s'il te plaît ?

Cette version ne bouleverse pas la création des blocs : vrai.
Bascule référence/fonction : ok.
Résultats détaillés : c'est l'option "--debug" de la doc (https://github.com/arduino/arduino-cli (https://github.com/arduino/arduino-cli)) mais tu es sûr du résultat ? Il cause beaucoup...
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 20, 2018, 04:14:52 PM
Pour la console as tu le message "démarrage de la communication série" qui s'affiche ?
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 20, 2018, 04:23:41 PM
Le type du paramètre qui ne tient pas : je crois bien que ça n'a jamais fonctionné même dans l'ancienne version (sans la partie electron)
Titre: Re : Blockly@rduino Electrified
Posté par: Bzhtitude le Octobre 20, 2018, 04:43:32 PM
Citation de: fontaine.jp le Octobre 20, 2018, 04:23:41 PM
Le type du paramètre qui ne tient pas : je crois bien que ça n'a jamais fonctionné même dans l'ancienne version (sans la partie electron)

En effet, ça n'enregistre pas le type du paramètre... . J'ai l'impression que chez BlocklyDuino ils ont des pistes https://github.com/BlocklyDuino/BlocklyDuinoReboot/blob/master/blocks/procedures.js
mais je n'arrive pas à intégrer leurs modifications aux tiennes... j'essaie mais comme je ne comprend pas bien ce que je manipule, le résultat ne fonctionne pas.

Citation de: fontaine.jp le Octobre 20, 2018, 04:14:52 PM
Pour la console as tu le message "démarrage de la communication série" qui s'affiche ?

non, j'ai un caractère lorsque j'ouvre la console un caractère non imprimable (carré) j'ai bien vérifié les vitesses ... ceci dit ça fonctionne du 1er coup dans l'IDE arduino.
un petit pdf pour montrer ce que je vois.

Citation de: SebCanet le Octobre 20, 2018, 03:01:18 PM
Résultats détaillés : c'est l'option "--debug" de la doc (https://github.com/arduino/arduino-cli (https://github.com/arduino/arduino-cli)) mais tu es sûr du résultat ? Il cause beaucoup...

je joins un PDF pour montrer les différences ;)
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 20, 2018, 05:10:50 PM
Il y a un problème d'accès au fichier je regarde ça
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 25, 2018, 09:25:41 PM
La console est réparée  :P
Il faut déplacer les fichiers de la console et changer les chemins dans main.js et les fichiers déplacés
C'est en ligne bientôt
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 25, 2018, 09:54:19 PM
Bzhtitude tu m'as donné un lien mais dans le bloc de procédure les arguments n'ont pas de types, donc je ne vois pas de "quelle piste" il s'agit !
Merci pour les tests et remontées diverses
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 26, 2018, 11:41:53 AM
Merci pour la "réparation" car je ne vois vraiment pas quel lien j'ai foutu en vrac....
Sinon je pense qu'avec cette unification des interfaces (grand merci à toi), le choix matériel/fonction, le choix de la police, l'usine à blocs, je peux déclarer que Blockly@rduino passe en v3 dès que tu auras envoyé la correction.
J'ai rajouté dans le dossier arduino une doc extraite du github de arduino-cli.
Pour Electron je me dis qu'il faut :
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 29, 2018, 12:47:14 PM
Pour la console c'est ok
Pour la mise à jour je regarde ça.
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 29, 2018, 11:07:37 PM
Merci pour la console ! Je crois comprendre les pb liés à Electron...
A propos d'Electron, en quoi est ce utile pour le "block factory" ? Je n'ai pas creusé, alors je propose rapido mais le plus simple serait de rester sur du HTML/js pur sans avoir recours à du node.js. Ou peut être que la ligne d'appel à Electron à la fin du html n'est pas utile ?

J'ai un peu remodifié le nommage des fichier, qu'en penses tu ?

En vue de la supervision à re-venir et de la cohérence avec l'EDI Arduino, pourquoi ne pas proposer un choix de port COM dès la config globale ?
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Octobre 30, 2018, 12:34:57 PM
En effet il n'y a pas besoin de node.js pour le block factory c'était juste comme ça car je ne savais pas trop où le mettre du coup on peut le mettre dans les onglets : supervision, code, blocs ? comme ça il fera partie du module blockly@rduino.
Pour le com ce n'est pas forcément utile de le mettre au démarrage car si on ne connecte la carte qu'à la fin du programme (juste avant de téléverser) il faudra de toute façon le redemander.
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Octobre 30, 2018, 11:01:23 PM
Je le garderais bien en outil, car ce n'est pas dans la logique "câblage - supervision - blocs - code" d'un utilisateur. Je le vois plus comme un outil pour expert souhaitant aller plus loin. Des avis, des souhaits ?

Pour le COM je le voyais dans la config globale car sans lui la supervision ne peut pas fonctionner. Et puis il n'est pas nécessaire pour le reste (contrairement au choix de la carte), on peut valider la configGlobale sans lui, et au moment du code s'en souvenir et revenir dessus. Dans le pire des cas, comme pour le niveau des catégories, il est possible de doubler la liste : une dans la config globale, une dans l'onglet "code". Ca simplifierait ? Ou alors un seul au départ ?

Voir ma remontée sur Github pour tests.
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Novembre 12, 2018, 10:09:44 PM
Salut,
j'ai progressé sur la mise à jour automatique :)
mais comme je ne comprends rien à github  :'( je n'arrive pas à mettre tout ça en ligne car j'ai peur de faire une boulette.
Pour terminé il faudrait que github héberge les fichiers (comme l'image en pièce jointe).
Tu peux essayer de faire ça, j'ai essayé sur mon compte et ça ne fonctionne pas.
A+
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Novembre 13, 2018, 09:49:07 AM
Salut,
tu deviens le roi d'Electron ! J'ai vu aussi qu'il faut le déclarer lors de la création d'Electron depuis node.Js, mais je n'ai pas le temps de creuser en ce moment. Sinon il y a Electron-builder : https://www.electron.build/ (https://www.electron.build/)

Tu peux mettre à jour ton Github et je prendrai les modifs pour les intégrer (merci beaucoup !!!).

A+
Titre: Re : Blockly@rduino Electrified
Posté par: fontaine.jp le Novembre 13, 2018, 10:51:34 AM
J'utilise bien electron-builer mais il faut maintenant lui mettre à disposition un fichier .exe et un .yml pour qu'il fasse la mise à jour.
La question est comment envoyer ces fichiers sur github ?
J'ai essayé mais sur la page https://github.com/technologiescollege/BlocklyArduino_electrified/releases je n'arrive pas à y déposer les fichiers que je souhaite.
Si tu n'as pas le temps ce n'est bien grave, ça peut attendre.
A+
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Novembre 13, 2018, 11:06:41 AM
Pour pousser sur un dépôt Github, je passe par leur client graphique : https://desktop.github.com/ (https://desktop.github.com/)
En plus convivial tu as : https://fr.atlassian.com/software/sourcetree (https://fr.atlassian.com/software/sourcetree)

Tu mets à jour simplement un dépôt en rajoutant le fichier en local puis en demandant au logiciel une synchro avec le dépôt en ligne.
Titre: Re : Blockly@rduino Electrified
Posté par: philippej le Décembre 18, 2018, 03:59:22 PM
Bonjour,

Voilà j'ai donc fait mon petit travail de découverte du projet, ai envoyé l'un ou l'autre mail et voici où j'en suis :

- nous aimerions mon collègue et moi utiliser blockly@arduino pour notre projet de fablab à destination des enfants et ados ( https://fablabke.castii.be/ )
- je dois dire que la version de jp-fontaine ici : http://lesormeaux.net/blockly-arduino/start.html nous tente bien par sa simplicité, par contre elle n'est pas encore sur github et nous aimerions travailler tous sur la même codebase pour ne pas dupliquer les efforts et ne pas devoir systématiquement merger des améliorations d'un projet vers l'autre.

Alors, comment procéder?
Proposition :

- nettoyer à fond le github blockly@rduino pour ne garder que la partie html/js/css / créer une branche master stable et une branche dev pour tout le travail dev
- voir comment le build peut être fait que ce soit avec electron ou autre pour ceux qui veulent cette fonctionnalité là. Le contenu d'un build electron ne doit pas se retrouver sur git, il doit à mon avis généré dans un dossier "build" qui n'est pas envoyé sur git (grâce à .gitignore) et qui est régénéré chaque fois que l'on fait une release (un zip complet prêt à l'usage disponible sur git). Si vous voulez je me renseigne sur comment faire ça proprement
- différentes versions du fichier index.html dont celle simplifiée de jp-fontaine comme ça tout le monde est content
- éventuellement un fichier de config simple à modifier pour pouvoir déployer comme on veut blockly@rduino

Nous on est chauds pour travailler là dessus, on a vraiment besoin d'un outil comme cela et vous êtes les plus dynamiques (et en plus francophones :-))

Voilà, merci pour le boulot et à merci pour vos retours
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Décembre 18, 2018, 10:48:31 PM
Bonjour,
c'est super de savoir que les projets se répandent et que les enfants jouent avec des trucs créatifs.
JP a fait un super travail, aussi bien dans le code rajouté que dans le nettoyage de ce que j'ai accumulé à l'arrache sans prendre le temps de me poser malheureusement...

Réponses rapides :
- nettoyer à fond le github blockly@rduino : bren j'aimerais bien prendre le temps de faire ça...j'ai commencé en utilisant Netbeans mais il en reste beaucoup à faire.
- build à part : ben oui avec plaisir, le pb est que je ne sais pas du tout comment faire avec Electron. Et qu'il manque dans Electron actuellement l'option de téléchargement de Blockly@rduino pour séparer l'exe des pages web.
- différents HTML : c'est plus compliqué que ça, car ça induit d'autres fonctions aussi, donc des js différents (j'ai enlevé le système de sélection afin d'alléger le contenu, comme ça chaque html ne charge que les js dont il a besoin)
- fichier de config : pas vraiment exploitable en mode web.

J'aimerais bien pouvoir bosser dessus, mais en plusieurs années de boulot, le logiciel est utilisé dans de nombreux pays et par de nombreux établissements scolaires/associations, je n'ai reçu que 50€ de dons alors je ne suis pas prêt de me mettre à mi-temps  :P

Sinon il y a aussi l'idée des niveaux que je n'ai pas pris le temps de développer pour l'interface aussi. Tout comme la réflexion de ce qui est disponible : https://framacalc.org/=Blocklyrduino (https://framacalc.org/=Blocklyrduino)

Bref j'ai un boulot à bien plus que plein temps, besoin d'autoformation permanente  suivant que je fais du js, java ou autre. Mais toute aide et remarque est la bienvenue ! De même que de la documentation sur le wiki  ;D
Titre: Re : Re : Blockly@rduino Electrified
Posté par: philippej le Décembre 19, 2018, 12:19:27 PM
Je comprends c'est hyper énergivore les projets de ce type, j'en sais quelque chose avec ceci : https://agorakit.org :-)

On va voir alors comment avancer, peut être que partir du code de jp fontaine est plus simple pour notre usage. Je vais me renseigner sur electron mais a priori il y a moyen de faire ça proprement. Tu (on peut se tutoyer ?) es sur windows ou linux?

Pour arduino-cli, un chouette projet est ici : https://github.com/xodio/xod/tree/master/packages/arduino-cli
C'est un wrapper js du cli arduino...

Xod en général est extrêment intéressant, à tester absolument (cfr. xod.io)
Et leur chaine de compilation et de packaging de l'application pourrait être réutilisée.

Voili voilà. J'ai pris contact avec JP Fontaine afin de retravailler son code, ensuite on verra si/comment merger le tout.
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Décembre 30, 2018, 02:27:46 PM
Pour Electron j'ai répondu sur un autre post. C'est chouette mais je ne suis pas trop chaud pour me lancer à fond dedans.

XOD est le seul outil fonctionnel, moderne, mis à jour qui n'exploite pas la logique des blocs, ça fait du bien de revoir des liens et d'autres idées.

Pour merger les projets, il faudrait qu'on soit plus rigoureux, plus calés sur le génie logiciel, et avoir la volonté de maintenir la modularité nécessaire pour la mutualisation. Hélas ce n'est pas le cas...(enfin pas du tout le mien).

Par exemple il faudrait davanatage encore décomposer les js pour bien détailler le rôle de chacun, et non pas avoir un gros fichier js (pire : compressé) qui contient tout. Mais là aussi ça demande de reprendre le boulot à la base (d'où mon idée de repartir à la base de BlocklyDuino), surtout que le head;load.js permet de ne pas avoir de limites de chargement. En plus en ne chargeant que les js utiles ça allège la page.
Titre: Re : Blockly@rduino Electrified
Posté par: philippej le Décembre 30, 2018, 07:58:20 PM
Je vais essayer de synthétiser tout cela et de faire une proposition qui permettrait de travailler sur plusieurs fronts. Un peu de git, de scripting et de réorganisation devrait permettre cela :-)

Petit exemple pour charger tous les js depuis une application nodejs/electron : https://github.com/electron/electron-api-demos/blob/master/main.js#L87
Celui-ci charge tous les fichiers js de cette application exemple. Avec ç aon charge tous les js de tous les blocs d'un coup!
Titre: Re : Blockly@rduino Electrified
Posté par: SebCanet le Décembre 31, 2018, 11:32:25 AM
"on charge tous les js de tous les blocs d'un coup"

Justement ce serait à éviter car dans les collèges et associations il reste plein de vieux bouzins et plus y'a de js et plus la page est lourde...
Titre: Re : Blockly@rduino Electrified
Posté par: philippej le Janvier 02, 2019, 04:36:38 PM
En fait dans l'idéal, il y aurait un outil pour faire sa toolbar avec les blocs que l'on veut, choisis depuis une sorte de bilbiothèque (qui comprendrait les blocs déjà installés + une biblio en ligne, rêvons un peu), et cet outil génèrerait la bonne liste de JS à importer.

Mais il y a une règle d'or en développement : premature  optimization is the root of all evil (voir ici : http://wiki.c2.com/?PrematureOptimization )

Donc on s'occupe de cela après que tout fonctionne et entre temps on profite des automatismes possibles  :-)