Affichage des articles dont le libellé est I-MakerFaire. Afficher tous les articles
Affichage des articles dont le libellé est I-MakerFaire. Afficher tous les articles

dimanche 19 mars 2017

Arduino, ATmega328pb, Raspberry Pi et le projet Arbalet.


Durant ma participation au MakerFaire de Nantes en juillet de l'année dernière (2016), j'avais Yoan Mollard en voisin de 'stand'.

Yoan est l'initiateur d'une surface pixelisée interactive opensource :





Il est bien-sûr possible de trouver de multiples sources de présentation de ce type d'étude sur Internet, mais le grand intérêt du travail de Yoan est que son projet est en cours d'industrialisation, ce qui permettra d'ici quelques mois d'offrir un kit de montage complet, et le plus simple possible.

Et moi, dans cette affaire? Et bien Yoan m'a contacté il y a quelques semaines pour développer certaines parties du projet et notamment une carte compatible Arduino directement insérable sur une carte Raspberry Pi. La carte Arduino qui se présente pour l'instant sous la forme d'une carte standard, sert à interfacer les commandes entre la Raspberry et les rubans de LEDs.

J'ai donc repris mon étude précédente à base de processeur ATmega328pb pour l'adapter aux nouveaux impératifs. En fait c'est assez simple, il a 'suffit' de retirer ce qui n'est pas utilisé comme le port RS485, l'alimentation à découpage etc etc... et d'adapter le PCB pour un assemblage sur une Pi. Après plusieurs réflexions sur la meilleur façon de faire, le résultat donne ceci : 

La carte 'Arduino' montée sur une Pi.
Tout le challenge de cette étude a consisté à implémenter le juste nécessaire de composants et de fonctionnalités pour répondre au cahier des charges, tout en permettant d'éventuelles extensions. Contrairement à ce que j'ai pu découvrir comme sujets équivalents sur le net, je ne me suis pas servi d'un des ports série de la Pi pour programmer l'Arduino de la carte d'extension.
  • D'une part parce que dans le projet Arbalet, les deux ports séries de la Pi sont utilisés. Le port série matériel est utilisé par le module BlueTooth et le port série 'logiciel', devenu le port série 'standard' de la Pi, est présenté sur son connecteur d'extension.
  • D'autre part parce que le port 'software' de la Pi, utilisé pour la communication avec la carte Arduino, impose de ne pas toucher à la fréquence de fonctionnement du processeur de la Pi. Sans compter qu'il aurait fallu aussi jongler avec les paramétrages de ce port pour tantôt programmer la carte Arduino, tantôt servir de lien de communication entre les deux systèmes.
Ayant eu par le passé, la possibilité d'expérimenter la programmation d'une carte Arduino en se basant sur un circuit d'interface FTDI FT230x très bon marché et de petite taille, j'ai choisi cette option pour simplifier les développements logiciels. 

D'autre part, cette carte d'extension comporte un connecteur de type industriel qui permet d'alimenter non seulement une partie de la carte Arduino, mais aussi la Raspberry Pi, ce qui règle le problème parfois épineux d'un branchement d'alimentation 'solide'.

De plus, pratiquement tous les ports non utilisées du processeur ATmega sont 'servis' sur deux connecteurs d'extension (dont je n'ai pas équipé la carte puisque inutiles dans le projet Arbalet initial), ce qui permettra d'utiliser ces 'extensions' pour d'autres projets.

Enfin, la simplicité de cette carte Arduino provient essentiellement de la disponibilité des DEUX ports série sur le processeur ATmega328pb. L'un d'entre eux est dédié à la programmation Arduino, via l'adaptation USB, l'autre sert de pont de communication avec la Raspberry.

Après le 'flashage' du bootloader compatible Arduino, le téléversement du 'fameux' sketch Blink fonctionne comme prévu. A la seule différence que je n'ai pas connecté la LED utilisateur sur la même broche du processeur que sur les cartes Arduino Uno, mais sur la pin n°7. Ce qui ne change rien à l'affaire...

vendredi 6 mai 2016

Maker Faire, EMU Drumulator, le nouvel Atmel ATmega328pb sous Arduino ... OUTATIME!

Hou là, pratiquement un mois sans publication!
Le temps passe vraiment vite....

La foire de Paris bat son plein en ce moment. Le Maker Faire y a élu domicile depuis l'année dernière, ce qui impose l'achat du billet d'entrée à la foire pour pouvoir y assister. En même temps, il faut bien louer les infra-structures et payer les 3000€ (ou dollars je ne sais plus bien) réclamés par la boîte américaine qui coordonne les Maker Faire de la planète!


Personnellement je n'y ai pas retrouvé l'ambiance de l'édition 2014 au 104. Le 'milieu' se 'professionnalise' comme cela était prévisible et devient petit à petit un salon 'avant vente' d'entreprises plus ou moins établies. Même si j'ai réussi à dénicher quelques 'amateurs', mais rien de fantastique. L'esprit n'y est plus.

Pour cela, je vous conseille de vous tourner vers les OBC, les Open Bidouilles Camp, qui eux, conservent plus l'esprit débrouillardise et entraide et ou ni les grandes entreprises, ni la puissance publique n'a pour l'instant imposé sa doctrine : pour votre bien et votre sécurité.

Pour imager la chose :


Intel, à la mode Microsoft : ambiance jeune et dynamique, avec beaucoup de bruit.

L'important est de se montrer et de marquer les esprits. Intel en pleine recherche de débouchés aujourd'hui, s'étant fait voler le marché des 'smart'-bidules ou l'architecture ARM et les fondeurs chinois ont raflé la mise (voilà ce que c'est quand on s'endort sur ses lauriers et que l'on se contente de faire des acquisitions/développements à seuls but destructeur de concurence à la mode Microsoft!), après avoir officiellement laissé tomber le marché des PC de bureau (si si, je vous assure. Fallait prendre des actions AMD, maintenant c'est déjà trop tard!) essaie d'investir le monde de l'IOT (l'Internet des trucs!) :


Hum, plein de bidules amusants, programmables à la mode Arduino. En fait un assemblage d'éléments disparates de techno. Intel, pas prévu pour ça à la base, mais mis ensembles pour faire croire que... Évidemment, le bidouilleur en herbe sera tenu bien à l'écart de la technologie propriétaire utilisée pour arriver au résultat apparent.

Mais bon, le but n'est pas de faire plaisir au Vulgum, mais de pénétrer les nouveaux marchés. Rien de tels que du bon vieil entrisme au sein de l’Éducation National, toujours à la mode Crosoft :


Vous voyez ce que je veux dire?

Et d'ailleurs, un de nos grands bâtisseur national était aussi présent avec ce slogan :



Hum : du béton, des tours, des grues... et encode du béton. En pleine crise et séquence économique planifiée associée sur le développement durable, les bâtisseurs écrivaient : "on ne pourra plus construire comme avant" (le moniteur). Non, c'est sur! Finissons-en avec l'artisanat, il faut voire les choses en grand maintenant!

Séquence publicitaire pour la ville de... :


Vous avez reconnu? Non? Mais si, les machines de l'île. Comment ça, vous n'êtes pas allé à Nantes? Hum.....

Bref : quelques 'amateurs' quand même :


Sur le thème instrument de musique : un clavier portable de faible poids mais largement jouable (j'ai essayé) fabriqué en imprimante 3D.

Et puis un amateur pur et dur :


En fait, une machine analogique utilisant une RaspBerry PI en guise d'interface numérique associée à quelques potentiomètres électroniques pour réagir aux commandes M.I.D.I. Le type fait ça pour son plaisir, avec même pas une intension de commercialisation!

Et sinon? A l'atelier est arrivée récemment une Drumulator :


Je me suis dit que cela pourrait être une bonne compagne pour l'Emulator 1.
La machine plante mais au moins elle démarre. Un petit coup d’œil à l'intérieur m'indique que cette boîte à rythme a été ouverte et 'bidouillée' 'un certain nombre' de fois. C'est sur, il y aura un peu de travail pour la refaire partir normalement!

Et puis question développement, j'en suis à la phase des premiers tests d'une interface intelligente destinée à s'intercaler entre un automate de type Controllino et un écran LCD couleur graphique tactile  :

Avec au premier plan, un processeur mort au champ de bataille!
J'ai choisi un processeur Atmel de type ATmega328. Et, pour satisfaire mon objectif, j'ai opté pour la toute nouvelle version de ce processeur, à savoir la version 'pb', équipée d'un double port série.

Je souhaiterais que ce montage soit programmable avec l'interface Arduino, comme l'est l'automate Controllino. Histoire de proposer un ensemble cohérent.

La chaîne de développement est classique : Atmel Studio 7.0 et carte de programmation AvrDragon.

Écrit comme ça, cela paraît simple! ERREUR!!! L'installation du logiciel Atmel peut ne pas être simple du tout et causer bien des problèmes, notamment si le Windows utilisé ne possède pas les bonnes mise à jour.

Le processeur 328pb inaugure aussi une nouvelle implémentation de la circuiterie d'oscillation, et plus particulièrement celle dédiée à l'oscillateur externe. De nouvelles limitations et de nouvelles précautions de design doivent être prises en compte!

Mais bon, au bout d'un certain temps, le 'Hello World' embarqué fonctionne avec un quartz externe de 16MHz:



Ca ne se voit pas comme ça, mais la LED verte en bas à gauche clignote bien ;-) Et en bonus celle d'en bas à droite aussi, mais cette LED est l'indication d'émission série. Parce qu'en plus mon montage émet quelques caractères à 9600 bauds. Méthode fiable pour vérifier que le processeur fonctionne bien à 16MHz!

Update 13/05/2016 : Après quelques tests et modifications, j'ai réussi à faire fonctionner cette carte sous l'environnement de développement Arduino. Pour l'instant il n'y a rien d'officiel à ce sujet sur le site Arduino, mais après avoir effectué quelques recherches sur Internet, j'ai pu trouver le bootloader adapté à ce processeur ATmega328pb.

Après quelques adaptations de fichiers pour faire reconnaitre cette carte dans l'environnement Arduino, et le remplacement du compilateur GCC par une version plus récente supportant ce processeur, le système fonctionne normalement et se programme comme d'habitude sous l'environnement Arduino (uniquement Windows pour l'instant), de la même façon que l'automate Controllino : cool!

Bon, ça n'est pas tout ça, mais il faut s'y remettre :

N'est-ce pas Dave?

mardi 24 juin 2014

Maker Faire Paris 21 et 22 juin au CentQuatre.

Après le mini 'Maker Faire' de Saint Malo qui s'est déroulé en 2013, le CentQatre accueillait à Paris la première réunion d'envergure de ce genre les 21 et 22 juin. Pour la petite histoire, il est amusant de se remémorer que le CentQuatre, devenu depuis sa réhabilitation la place d'un dynamisme culturel fortement encré dans l'actuel, fût de 1874 à 1998 un haut lieu des Pompes Funèbres!


Je passerai sur l'organisation de la manifestation qui m'a semblé tout à fait correcte, et les différents ateliers proposés, permettant à un large public d'y trouver son compte. L'impression 3D y était bien évidemment largement représentée ainsi que la plateforme Arduino, omniprésente, mais pas que. Des ateliers divers tant dans la forme que dans l'activité proposée ont sans doute permis à bien des visiteurs de se découvrir un intérêt pour le faire soi-même. Démystifier le sujet fait sans aucun doute parti des missions de ce genre de manifestation. L'inévitable atelier soudage était donc bien présent. Au delà du côté anecdotique que peut présenter l'assemblage de deux diodes et d'une pile sur un morceau de circuit imprimé, l'aspect gratifiant d'un montage réalisé et fonctionnel pour qui n'a jamais été confronté qu'à la surface tactile de son 'smart phone' permet au moins d'appréhender ce qui peut pousser les 'Makers' à faire...


En ce qui me concerne, parmi la multitude de produits proposés j'en ai sélectionné trois qui me semblent tout à fait intéressants pour qui souhaite non pas acquérir un produit fini, mais développer sa propre solution.

Le premier produit concerne la commande de machines de type CNC ou imprimante 3D ou pourquoi pas de lignes automatiques quelconques puisqu'il s'agit de commander de façon générale des moteurs pas à pas selon un script bien précis. J'ai donc nommé la Smoothie Board.


Cette carte est en mesure de piloter jusqu'à 5 axes plus d'éventuels autres actionneurs de forte puissance. Elle comporte moult accessoires permettant sa commande, un port Ethernet, une carte SD, un port USB, etc... Les informations détaillées sur ce produit se trouvent à cette adresse : http://smoothieware.org/smoothieboard .
Il s'agit d'un produit Français, développé en partie par Arthur Wolf avec lequel j'ai pu échanger lors de mon passage sur son 'stand'. Je possède depuis fort longtemps une fraiseuse Profiler d'Elektor que je n'ai jamais mise en fonction. La partie commande de cette fraiseuse amateur est totalement propriétaire et hors date. La perspective de donner vie à cette machine avec une carte Open Source permettant de surcroît l'utilisation de logiciels de commande eux-aussi Open Source et 'Up to Date' me semble tout à fait intéressante.

Les deux produits suivants concernent l'Internet des Choses... Pour résumer de façon simple ce concept, on peut dire que l'objectif de ce type de produit est de permettre la commande de systèmes distants par l'intermédiaire du réseau Ethernet et, par extension, du réseau Internet.
Depuis très longtemps, les machines automatiques sont en mesure de communiquer entre-elles. Le plus souvent par l'intermédiaire de réseaux simples et plus ou moins propriétaires. La démocratisation de la technologie, associée à un prix de production devenu très bas, permet aujourd'hui d'étendre de façon importante le champ d'applications de ce type de produit. Et notamment pour tout ce qui concerne l'automatisation des bâtiments et le 'reporting' de mesures.

Passer d'un réseau propriétaire simple sur du RS485 au réseau Internet n'est pas une mince affaire. Vient s'inviter dans le processus de développement, le protocole TCP/IP et la 'fameuse' pile associée. Cette 'pile' n'est en fait qu'un ensemble de bouts de programmes qui se parlent entre-eux de façon verticale. Un bout de code produisant un résultat qui sera exploité par un autre bout de code placé au dessus et ainsi de suite jusqu'à l’obtention des données réelles à exploiter par l'application, d’où la dénomination de 'pile'. Précisons pour ne pas être que simpliste, que cette pile répond aux spécifications du modèle OSI et qu'elle est tout sauf simple à développer.

La tendance actuelle consiste donc à utiliser un ensemble de logiciels contenant cette pile déjà programmée apte à fournir tous les services de transport de l'information. Et si ces logiciels peuvent, de plus, offrir un cadre d’exécution permettant l'utilisation de ces ressources réseau, pourquoi hésiter. Linux offre toutes ces possibilités sous la forme d'un système d'exploitation 'prêt' à l'emploi.


Tout n'est pas si simple. Pour implémenter une version de Linux, il convient de disposer d'un matériel suffisamment puissant et disposant des ressources mémoire nécessaires. Il faut souvent adapter le noyau Linux à la plateforme processeur utilisée et développer un mécanisme simple pour commander des entrées/sorties physiques, Linux n'étant pas vraiment prévu pour cela à la base. Mais le prix du matériel, l'adaptabilité du noyau Linux et son système d'entrées/sorties sur fichier, ainsi que la compétence de développeurs souvent issus du milieu du libre, ont permis d'arriver à des solutions devenant viables et peu onéreuses. Soyons clairs, ces systèmes ne seront 'jamais' aussi simples à utiliser qu'une carte Arduino de base, mais avec un peu de bonne volonté et de patience, cela devient aujourd'hui tout à fait réalisable.

Première solution éditée par la société Suisse Dog Hunter, le système de développement Linino One dont le concept semble se rapprocher très fortement de la carte Arduino Yum, carte à laquelle la société à contribué au développement. Le système est composé d'une carte principale dotée d'un processeur d'entrées/sorties ATmega32u4, connecté à un système fonctionnant sous OpenWRT, une version particulière de Linux sur processeur Qualcomm d'architecture Mips.

Décodage : L'ATmega32u4 est un processeur 8 bits de la société Atmel, compatible avec les processeurs du même constructeur que l'on trouve sur la première carte Arduino, la UNO. OpenWRT est le système d'exploitation Linux mais adapté à l'embarqué. Qualcomm est le fabricant du processeur dédié ici au système OpenWRT et enfin Mips est l'architecture de processeur sur laquelle est basée le circuit Qualcomm.

Une offre 'spéciale salon' était pratiquée par Dog Hunter incluant la carte Linino One accompagnée de ses accessoires DogRJ45 et DogUSB. Je n'ai pas résisté à la tentation : 


L'offre 'spéciale' MakerFaire.

Les objets Linino + DogRJ45 + DogUSB.

Le tout assemblé.
Il ne reste plus qu'à expérimenter sur le sujet...

Deuxième solution, cette fois éditée par l'agence d'innovation Nodesign.net. Il s'agit du projet WEIO. Je n'ai pas pu pour l'instant, obtenir plus d'informations techniques sur le contenu de la carte, mais celle-ci, contrairement à beaucoup d'autres solutions du même type, semble intégrer directement un serveur HTML fournissant, par l'intermédiaire de pages WEB, tout le nécessaire pour programmer l'appareil, notamment par la mise à disposition d'un environnement complet de développement en ligne, le Web Dev. Le système se programme en HTML5 et Python.


La carte WEIO semblerait contenir, outre un module wifi basé sur un processeur Qualcomm AR9331, le même type de processeur que celui du projet Dog Hunter présenté ci-dessus, un circuit s'occupant des entrées/sorties, visiblement de la famille LPC11uXX de chez NXP. Il s'agit d'un processeur de type ARM Cortex-M0 en 32 bits et 50Mhz, contrairement au processeur 8 bits d'Atmel pour la solution Dog Hunter. Il est possible d'obtenir plus d'informations sur ce produit à cette adresse : we-io.net. A noter que WeIO va lancer une campagne de crowd funding durant le mois de juillet. Il est prévu la disponibilité des cartes WeIO pour le mois de septembre.

Cette plateforme de développement semble prometteuse tant en terme de fonctionnalités qu'en ergonomie de développement et mérite de s'y intéresser. Il s'agit d'un projet développé en France...

Le côté sombre de la force.

Lors de ce Maker Faire, d'autres acteurs, moins 'friendly' étaient présents, notamment Intel avec la promotion de la plateforme Galiléo.


Il s'agit ici d'un avis personnel, mais je ne peux m'empêcher de regarder avec grande méfiance l'arrivée de cet acteur dans le milieu du 'DIY'. Non pas qu'il ne soit pas intéressant qu'Intel propose tout son savoir faire et son expertise en terme de processeur, cela pourrait être à la limite regrettable qu'il ne le fasse pas, mais la force commerciale et l'artillerie technique que serait à même de mettre en place cette société pour très rapidement truster le marché et tuer tout ce qui fait l'âme du DIY, à savoir la compétence personnelle et le foisonnement actuel d'idée et de réalisations est à prendre en grande considération.

Pour ne pas brusquer les âmes sensibles, rien de tel que de se présenter masqué :


Les 'connaisseurs' reconnaitront sur la table un TRS80 modèle 100 et sur le trépied une carte Galiléo. Cette photo a été prise, comme la précédente, sur le 'stand' Intel. Certes le TRS80 fait parti des machines mythiques des années 80 (année de sortie en 1983). Il était équipé d'un processeur Intel 80C85, un très bon produit de l'époque. Mais n'oublions pas qu'au même moment, était déjà sorti l'IBM PC qui, associé très tôt à Microsoft, à détruit en l'espace de quelques années tout le foisonnement informatique du début des années 80. Pour le bien de tous? Pas sur.

Nombre de concepteurs, d'inventeurs, de bidouilleurs ont vu disparaître toute possibilité d'activité professionnelle et ont été contraints à accepter des postes subalternes sous payés, voire de tout abandonner pour aller 'planter des choux' au fin fond de je ne sais ou. Tout le monde n'a pas été perdant, le commerce de là haute technologie inutile, puérile, avilissante ne s'est jamais aussi bien porté qu'aujourd'hui. Intel et Microsoft valent des milliards de dollars. Et vous? De quoi vivez vous?

Vous êtes prévenus. Si vous souhaitez reproduire le modèle actuel, arrivé à son terme, de l’ingénierie informatique ou le diplôme fait loi, ou la standardisation des matériels n'apporte plus qu'ennui et lassitude, et ou finalement, déclassé par une technologie dont vous n'êtes pas acteur, vous vous réfugiez dans la fonction publique en solution de dernier secours, n'hésitez pas!

Et Elektor dans tout ça?

Et bien non. Force est de constater qu'Elektor n'était pas présent à cette Maiker Faire. Par contre, j'ai pu discuter avec Denis Bodor, le rédacteur en chef de la revue Open Silicium et de la toute récente parution : Hackable Magazine, dont le premier numéro était disponible en avant première! A mon humble avis, ces deux revues forment un duo très intéressant pour qui veut débuter et évoluer dans le monde de l'électronique numérique créative.

Conclusion?

Tout un nouveau marché semble être sur le point d'émerger. Les grands acteurs de l'électronique numérique s'en sont, eux aussi, rendu compte. Ce marché ne va pas être simple, sans doute. La concurrence va jouer. Mais que ce soit celle des idées et non pas uniquement celle de la puissance économique.

Les prochains Maker Faire?

Du 5 au 6 juillet à Hanovre.
Du 3 au 5 octobre à Rome.

Bon voyage.