Hackable n°31 est chez votre marchand de journaux

Les vacances sont terminées et l’automne est déjà là, mais ce n’est pas une raison pour arrêter de s’amuser tout en apprenant. Au programme donc, pour ce numéro de la rentrée, de l’intelligence artificielle… avec une carte Arduino !

Qui a dit qu’il fallait une puissance de calcul phénoménale et du matériel spécialisé pour créer et utiliser un réseau de neurones ? Vous pouvez non seulement expérimenter cette technologie avec une simple carte Arduino UNO mais, en plus, obtenir un résultat concret et parfaitement applicable en pratique.

Dans ce numéro, nous ferons connaissance avec les bases, la terminologie et les principes sur lesquels reposent le fonctionnement d’un réseau de neurones. Nous explorerons la mise en oeuvre sur carte Arduino (sans trop de mathématiques) et apprendrons à notre réseau à différencier une couleur froide d’une couleur chaude (notion, sentiment et impression typiquement humains). Mais comme Hackable se met un point d’honneur à rester pratique et concret, nous mettrons ce réseau à l’épreuve grâce à un module capteur de couleur i2c en lui présentant des objets du quotidien (spoiler alert : ça fonctionne vraiment !)

Mais ce numéro 31 n’est pas qu’IA, nous y traitons bien des sujets et domaines, parmi lesquels un fantastique article de J.M. Friedt, E. Carry et O. Testault, qui saura ravir les amateurs de radio puisqu’il sera question de la création d’antennes, de la modélisation à la fabrication par une imprimante 3D.

Nous ferons également un tour du côté du reverse engineering de puces, de la programmation assembleur sur 6502, de la domotique, du hack de mémoire flash ESP8266 (SPIFFS) ou encore de la révolution RISC-V qui pointe son nez.

Au sommaire de ce numéro de 128 pages nouvelle formule :

  • Actualités
    • p.04 : Le Module du moment : Convertisseur HDMI vers VGA
    • p.06 : La liberté jusqu’au cœur du processeur avec RISC-V
  • Arduino & Microcontrôleurs
    • p.28 : Capteur autonome ESP8266 : problèmes et évolution
    • p.40 : Créer, écrire, lire et décoder une image SPIFFS d’un ESP8266
    • p.48 : Arduino MKR Vidor 4000 : un Arduino pas comme les autres
  • Nouvelle rubrique : Robotique & IA
    • p.60 : Découvrez les réseaux de neurones avec Arduino
  • Radio & Fréquences
    • p.80 : Petites antennes réalisées par impression additive : de la conception à la visualisation des diagrammes de rayonnement (en vrai et en virtuel)
  • Hack & Upcycling
    • p.98 : Rétro-ingénierie matérielle : accéder au silicium
    • p.108 : Rétro-ingénierie matérielle : comprendre le silicium
  • Rétro Tech
    • p.116 : Programmation avec le 6502

Ce numéro 31 de Hackable est déjà disponible chez votre marchand de journaux et dans notre boutique en ligne.

Hackable 31 ainsi que tous les magazines actuellement en vente chez votre marchand de journaux peuvent désormais être commandés sans frais de port (France métro. uniquement). Si vous ne le trouvez pas en kiosque, il ne vous coûtera donc pas plus cher dans la boutique en ligne.

N’hésitez pas à vous abonner à la version papier pour ne rater aucun numéro.

NOUVEAU : Il est désormais possible de lire Hackable directement dans votre navigateur grâce au nouveau format FlipBook. Ce numéro 31, ainsi que tous les anciens numéros sont disponibles à la vente sous cette forme. Vous pouvez également vous abonner au magazine à ce format. N’hésitez pas à tester gratuitement ce nouveau mode de lecture sur la boutique en ligne via l’exemplaire offert de Linux Pratique 104.

Vous pouvez également accéder à l’ensemble des numéros publiés via un abonnement à notre plateforme de lecture en ligne ConnectCe numéro, ainsi que tous les précédents, est d’ores et déjà lisible en ligne sur Connect.

9 commentaires sur “Hackable n°31 est chez votre marchand de journaux

  1. Bonjour,

    ça sent effectivement la nouvelle formule qui se confirme. Avec un niveau d’information à cheval entre Hackable, et Open Silicium.
    Ce virage reste surprenant quand on relis les anciens numéros.
    Mais la diversité des sujets fait, que j’ai vraiment l’impression de découvrir de nouvelles choses à chaque nouveau numéro. Rester enfermé sur Rpi, et arduino était le truc à ne pas faire. Chapeau d’avoir osé remettre en question l’ancienne formule.

    J’ai bordé avec appréhension (peur d’être largué) l’article sur le Risc-V.. qui a fait appel à des souvenirs d’assembleur, vieux de plus de 15 ans.
    Une fois la première partie (nécessaire) avalée, j’ai dévoré le reste avec une curiosité débordante, avec l’impression d’une promenade de santé. Qui donne envie de remettre les mains dans l’assembleur. Très beau boulot cet article.

    Je vais continuer ma lecture ce WE. Notamment la partie IA (donc certain schéma sont issue d’un HS de l’année dernière)

    PS : Denis, le JS des années 2000 qui plantait et n’était pas géré correctement suivant le navigateur… c’est de l’histoire ancienne.
    Je n’aimais pas le JS, et je commence à le réaborder sous un autre regard. Je suis convaincu que vous arriverez à lui trouver une petite place dans plein de projets futurs ;)

    • Merci pour ces sympathiques commentaires.
      Oui RISC-V est encore un peu jeune et la partie la plus intéressante pour le moment est de « bas niveau ». Mais ne doutons pas un instant que cette architecture va dramatiquement changer la donne d’ici quelques mois et là, nous aurons encore d’autres choses à raconter.
      Concernant l’IA… heu… des schémas provenant de précédent HS ?!? Je ne crois pas non, sinon je ne me serai pas amusé à les faire avec InkScape ;)
      Après, je comprend tout à faire que la ressemblance puisse faire douter, un petit réseau de neurones reste un petit réseau de neurones comme les autres.
      Et pour terminer sur le point le plus « émotionnel », je n’ai pas de problème avec la stabilité des moteurs JS. C’est davantage une question d’affinité (ou de non-affinité plutôt) avec le langage lui-même, sa logique, sa syntaxe. La vérité c’est que j’utilise JS par besoin, comme pour la sonde de température reposant sur Chart.js et Papa Parse, mais le C par plaisir et par amour :)

      • Alors toutes mes excuses pour le schéma IA. (J’avais juste un souvenir, et je viens de vérifier).
        Il ressemble, mais le votre est plus complet, et en couleur.

        Je n’ai toujours pas fini de le lire, car.. c’est un sujet qui nécessite d’avoir tout ses neurones actifs.. et c’est incompatible avec une lecture de chevet :D

        Pour le JS, je comprend : c’est structurellement bordelique.

        Pour ma part, depuis quelques années, mon langage préféré est le python, à cause de sa concision. J’ai eut une période C (pur).
        Un ami nous a montré qu’on pouvait coder des projets Arduino.. en python. Faudrait que je retrouve le site en question, ça peut éventuellement faire l’objet d’un article :)

        • Article IA fini.
          Et bah…. Comme tout les articles power by Denis Bodor, tous les sujets compliqués sont transformés en quelque chose de limpide :)
          C’est bien la première fois que j’arrive à comprendre comment grossièrement un réseau de neurone fonctionne.
          La conclusion de l’article est juste magique : « ça marche, et je ne sais pas pourquoi » :D

  2. Bonjour !

    Merci poru ce magazine que je découvre pour la premiére fois. J’y est pris beacoup de plaisirs.

    Un peu largué sur Risc-V, mais ca va venir :-)

    J’ai une petite interrogation sur l’article concernant le Deep Learning. Comment avez vous choisi le nombre de couche, et le nombre de neurone par couche (Dans le cas de l’article 2 couche caché de 12 neurones chacun) ?

    Merci a toute l’équipe du magazine,
    Yoann

    • Le choix du nombre de couches et de neurones a été fait de façon totalement arbitraire sur une base purement pédagogique/démonstrative. Je me suis également posé la question concernant la démarche à adopter pour déterminer ces valeurs et il faut avouer que la littérature sur le sujet n’est pas claire et explicite. C’est souvent totalement dépendant de la situation et de l’objet de la construction du réseau. La conclusion (très peu satisfaisante) est généralement : un nombre suffisamment grand pour que le réseau fonctionne et suffisamment petit pour éviter une baisse des performances.
      Certains considèrent qu’une base de départ consiste en la règle suivante : une couche cachée est généralement suffisante et, le nombre de neurones de cette couche peut être la moyenne du nombre de neurones de la couche d’entrée et celle de sortie. Ensuite, on ajuste en fonction des résultats obtenus.
      Sinon, si vous êtes anglophone, une discussion très intéressante sur le sujet se trouve ici : https://stats.stackexchange.com/questions/181/how-to-choose-the-number-of-hidden-layers-and-nodes-in-a-feedforward-neural-netw

  3. Bonjour M. Bodor, concernant le contenu du dernier numéro, même si les sujets évoqués me rappellent tout une époque… je trouve pour ma part qu’il contient ce trimestre ci un peu trop d’articles technologiques de fond que je lis en général dans un second temps et pas assez de gourmandises comme des hacks « appliqués ». Bon article sur l’application d’IA à dériver à souhait sur d’ autres applications…

    Pour amener ma remarque à l’édifice concernant l’excellent projet de la sonde autonome à ESP8266, j’ai sur ma réalisation un comportement bien différent de celui que vous évoquez.
    Comme seule différence avec le code publié, j’ai dû juste inhiber l’appel à wire.begin car cela ne compilait pas.
    J’ai d’abord eu du mal à considérer que le paramétrage de mon esp était fait correctement car j’avais bien une page web en grille servie mais pas de courbes dessus… Et toutes mes vérifications semblaient montrer
    que tous les fichiers étaient bien là et qu’il y avait bien des données collectées.

    Par hasard j’ai réussi à afficher mes courbes en titillant sur la page le rectangle de couleur d’une des courbes, immédiatement après avoir cliqué sur la flèche circulaire de rafraîchissement de la page du navigateur.
    A ma grande surprise cela fait apparaître les trois courbes qui s’affichent normalement tant que l’on ne coupe pas ou ne rafraichit pas la page du navigateur.
    Après plus de deux mois depuis la dernière mise sous tension je n’ai par contre aucun soucis de corruption des données tel que vous le présentez dans ce dernier numéro de hackable….

    • Le problème que vous évoquez semble lié à Chart.js et à la version du moteur JavaScript du navigateur. Il est fait quelques mentions de ce type de problèmes, sous diverses formes, dans la liste des bugs encore ouverts sur la page GitHub du projet (https://github.com/chartjs/Chart.js/issues). Pour analyser le problème, le plus simple est d’utiliser les outils développeurs embarqués dans le navigateur et en particulier la console permettant de voir les avertissements et erreurs JS, puis d’éventuellement partager le problème avec les autres utilisateurs sur GitHub.

Les commentaires sont fermés.