Skip to content

📝 Blog

[Micro:bit] découverte de la microbit V2 et premier projet

Voici un peu plus de détail sur la nouvelle version de la carte micro:bit qui sortira au mois de novembre.

J'essaie de vous montrer concrĂštement les changements de cette magnifique carte.

Dans la foulée, un petit projet sonore qui permet de voir l'environnement MakeCode tel qu'il se profile.

Dites moi ce que vous souhaiteriez que je teste d'ici la sortie officielle de la carte.

[AtomFly] test de fonctionnement

Une fois déballé, il faut maintenant se préoccuper de l'installation des outils nécessaires.
Il y a une documentation de quick start sur le site de M5Stack que je vous résume et complÚte ici.

La premiÚre étape est simple, et déjà faite dans mon cas. Il s'agit d'installer l'IDE Arduino.

Il faut ensuite ajouter l'url de Board Manager suivante dans les préférences: https://dl.espressif.com/dl/package_esp32_index.json

Du coup, il est alors possible d'installer le support ESP32 proprement dit depuis le Board Manager.

Puis, il faut ajouter les librairies pour la gestion de l'Atom Lite, de la led et des capteurs : M5Atom, FastLED, Adafruit_BMP280, Adafruit VL53L0X.

La derniÚre étape consiste à aller récupérer le code de test sur le github de M5Stack.

Petite précision : le fichier de projet Arduino est le fichier AtomFLY.ino et il doit se trouver dans un répertoire AtomFLY. Laissez dans ce répertoire les 2 autres fichiers .cpp et .h

Lorsque vous ouvrez le projet AtomFLY, vous pouvez déjà tester votre installation logicielle en utilisant la compilation (bouton Verify).
Choisissez la carte M5Stick-C dans la catégorie ESP32.

Vous apercevez quelques messages au sujet de pragma dans la librairie FastLed.
Ca n'empĂȘche pas le programme de fonctionner et c'est confirmĂ© sur le forum

Raccordez votre Atom Fly en USB et uploadez le code.
En prenant soin de vos doigts, débranchez l'USB C, puis branchez la batterie.
Vous pouvez alors appuyer sur le bouton une fois en retirant rapidement votre doigt : le premier moteur tourne puis s'arrĂȘte.
La mĂȘme manipulation fait tourner chaque moteur, puis les 4 ensemble.

Il est également possible de faire tourner le programme juste avec l'USB C, les moteurs ne tourneront pas mais la console série vous affihera les informations de l'accéléromÚtre.

Tout cela est visible en détails dans une petit vidéo que je vous ait préparé.

Je souhaite une bonne expĂ©rimentation et je vous dis Ă  bientĂŽt pour d'autres articles et vidĂ©os oĂč je vous montrerai ce que je code.

[AtomFly] découverte d'un drone

Comme la liste des projets Ă  faire est infinie, autant en rajouter un.
C'est ce que s'est dit Philippe en commandant une série de drones AtomFly :)

Le principe est d'avoir un petit drone complet, trĂšs simple dans sa conception, mais sans aucun code pour le faire voler.

Un exemple de code est fourni pour connaßtre la façon d'accéder aux moteurs et aux capteurs, mais c'est tout : c'est le AtomFly Challenge !

Je vous ait fais une petite vidéo de découverte de l'engin, la suite sera pour les outils et le test de fonctionnement.

Cahier de vacances - exercism

Petit changement de programme aujourd’hui.
Je voulais vous parler d’un site proposant des exercices dans diffĂ©rents langages dont Go : Exercism.io

Outre le cÎté sympa des exercices, classés par difficulté et progressifs, il y a un aspect communautaire trÚs intéressant.
Vous pouvez choisir d’avoir un retour sur votre code en le soumettant aux mentors. Le procĂ©dĂ© est bien fait et les retours toujours bien ciblĂ©s. Il est mĂȘme possible de soumettre des modifications et avoir les retours Ă  nouveau.
Cerise sur le gateau, quand un exercice est publiĂ© par quelqu'un, ses commentaires sont accessibles et une discussion peut dĂ©marrer. Vous pouvez profiter de l’expĂ©rience de chacun, des erreurs ou amĂ©liorations suggĂ©rĂ©es.

Dans le cadre de mon cahier de vacances, j’ai commencĂ© la partie en Go, toujours depuis ma droplet et avec Working copy comme outil de synchro (avec un repository GitLab associĂ©).
La procédure est assez simple.

  1. installer l’outil ligne de commande de exercism
  2. J’ai choisi de lancer le premier exercice depuis ma droplet avec l’outil exercism. Un rĂ©pertoire est alors créé.
  3. Sur Gitlab, je crĂ©e un repository dĂ©diĂ©, je le laisse en privĂ© pour le moment 😅
  4. J’ai ajoutĂ© une clĂ© SSH de ma droplet sur gitlab pour pouvoir pousser le code initial.
  5. Pour ajouter ce code initial, j’ai suivi les instructions donnĂ©es lors de la crĂ©ation du repository, je les met ci dessous pour rappel.

git config —global user.name "votre nom"git config —global user.email "votre email"cd "votre rĂ©pertoire"git initgit remote add origin git@gitlab.com:<votre utilisateur>/<votre repository>.gitgit add .git commit -m « Initial commit »git push -u origin master

Me voilà paré pour suivre mon process maintenant maitrisé et décrit dans un précédent article.

J’ai dĂ©jĂ  pas mal appris de petit dĂ©tails sur la façon Go de rĂ©soudre des problĂšmes.

A votre tour !

Cahier de vacances - arguments

Pour l’étape suivante, je vais m’intĂ©resser au sujet de l’issue #2 : passer des arguments Ă  mon outil.

Comme vu dans un article prĂ©cĂ©dent, je crĂ©e tout d’abord la branche et la MR depuis GitLab.

En guise d’API de test, je vous propose d’utiliser l’API du site OpenWeather qui nĂ©cessite une ApiKey.
Pour ce qui est de rĂ©cupĂ©rer cette clĂ©, je vous renvoie vers une de mes vidĂ©os oĂč j’en parle.

Dans un premier temps, je vĂ©rifie que ma requĂȘte fonctionne.
Il suffit de reprendre le code précédent et faire un appel comme décrit dans un de mes exemples IoT.

http://api.openweathermap.org/data/2.5/weather?q={city name},{state code},{country code}&appid={your api key}

Je peux maintenant ajouter la gestion des arguments passés à Dobby.
Je devrais d’ailleurs dire, une premiùre gestion des arguments.
En effet, je vais tout d’abord utiliser le package flag.
Il est assez simple à appréhender, je vous montre ça tout de suite.

var urlPtr = flag.String(« url », « », « Url que Dobby va appeler pour vous. »)
var apiKeyPtr = flag.String(« apikey », « », « ApiKey a utiliser pour appeler votre url. »)
flag.Parse()

Ce package permet de définir des arguments en indiquant leur nom, une valeur par défaut et une description.
Il faut ensuite demander un parsing de ces arguments pour obtenir des pointeurs sur ces valeurs (oui, pas la valeur en direct, il faut que je me rĂ©habitue Ă  cette façon de penser des annĂ©es 70 et du C 😇 )

L’appel se fait alors de cette façon, en se rappelant que les arguments sont rĂ©cupĂ©rĂ©s par des pointeurs.

response, err := http.Get(*urlPtr + « &appid=« + *apiKeyPtr + « &units=metric »)

Pour lancer dobby, on peut continuer en mode ‘go run’

~/Dobby/src# go run dobby.go -url=http://api.openweathermap.org/data/2.5/weather?q=Chamonix -apikey=<votre Api Key>

Me voilĂ  Ă©quipĂ© d’un systĂšme d’arguments, qui fournit Ă©galement des services comme une aide en ligne avec l’argument ‘-h’

~/Dobby/src# go run dobby.go -h
Usage of /tmp/go-build863761866/b001/exe/dobby:
-apikey string
ApiKey a utiliser pour appeler votre url.
-url string
Url que Dobby va appeler pour vous.
exit status 2

Pas mal non ?

Je ne dĂ©veloppe pas plus, je pense passer Ă  un package plus complet par la suite. Je verrais alors de quoi j’ai besoin.

En cadeau, la vue de mon bureau du jour 😇
Lien vers Google Photo en attendant que j’ajoute le plugin pour Ghost. https://photos.app.goo.gl/eTozFE2ea4DWhwnh9