Un projet est-il facilement recompilable, après quelques années ?
Bonne question, je dois justement reprendre un projet PIC. Le compilateur est gratuit, téléchargeables depuis le site de Microchip. Pour modifier un projet de 2012, je dois ré-installer le soft permettant d’apporter une modification mineure.
Certes, j’ai les sources, mais pas/plus l’environnement de développement : en effet, j’ai changé de PC entretemps. Allons-y…
Essai # C’est le projet « barrette intelligente » (http://microclub.ch/2011/03/25/projet-barrette-livrable/) dont j’aimerai retoucher le soft. En effet, le système comporte une prise électrique « master », qui pilote une ou plusieurs autres prises. Et mon nouveau PC (un ACER Aspire VN7) qui est justement branché sur la prise « master » a un nouveau mode de consommation : il prend du courant, puis travaille quelques secondes sur la batterie, et reprend du courant… Ma lampe de bureau, branchée sur une prise « slave » clignote ! Pas très utilisable. Je me dis qu’une tempo au déclenchement un peu plus longue va régler le problème.
Dans les publications d’Elektor, je me suis laissé tenter par la proposition de deux ouvrages:
C programming with Arduino, de Warwick A. Smith, 343 pages Embedded Linux Control Center, de Hans Henrik Skovgaard, 450 pages Les deux sont dans la catégorie « learn » (il y a « design » et « share » ). Et vous l’aurez compris, ils sont en anglais. Petite revue et opinion.
1 – C programming with Arduino # Avec Arduino, vraiment? # ‘est la question qu’on peut se poser avec le premier livre; mais le préambule du titre est « AVR Microcontrollers and ATMEL Studio for… »; et c’est bien le cas. Juste pour voir si je vais apprendre des ficelles, des trucs et des astuces pour programmer en C des Arduino, je l’ouvre au milieu, et je tombe sur (p. 174) les spécification du format pour la fonction printf(), et la largeur des champs comme printf(« %5d\n », 123); // padded with 0
J’ai développé un logiciel avec l’environnement Arduino.
Je désire mettre ce logiciel dans un hardware personnalisé donc pas sur une carte Arduino.
Comment trouver l’emplacement où se trouve le fichier hex compilé ?
Voici la marche à suivre :
1 Ouvrir l’environnement Arduino, sous l’onglet « fichier » sélectionner l’option « Préférences » :
2 Cocher l’option « compilation » :
3 Compiler le logiciel. Dans la fenêtre de sortie, repérer le répertoire du fichier hex :
Le champ d’application # Dans un article précédent, je montrais le besoin d’activer une DHCP pour utiliser pleinement un Arduino Yun.
Le présent article répond à quelques questions légitimes de l’utilisation et des possibilités de cette plateforme bi-processeur. Voici rapidement les caractéristiques du Yun. C’est un hardware similaire au Leonardo, équipé du CPU Atmel ATmega32U4, mais il comprend – c’est ici l’essentiel – un second CPU Atheros AR9331, qui tourne un Linux. OpenWrt est adapté pour le Yun, appelé Linino. L’OS est sur une flash de 16 Mb ; il en utilise 9 Mb. Il a des connexions Ethernet ; Wifi et USB-A supplémentaires ; un port pour mini carte SD. L’alimentation se fait en 5V, pas de régulateur. Soit par la mini USB, soit par les pins 5V et VCC. La partie Arduino communique avec le Linux via le serial1.
Introduction # Attention – section LAN modifiée
Lors du dernier festival de robotique à l’EPLF (https://festivalrobotique.epfl.ch/ ) , comme un leitmotiv résonnait les mots « Raspberry Pi » Ainsi que plusieurs amis du MICROCLUB, nous nous décidons d’acquérir un de ces modules, qui a les caractéristiques suivantes (http://www.raspberrypi.org/ ):
Prix $35 (avec alimentations, câbles boîtier, carte SD, ça revient à CHF 60.-)
Taille du print: carte de crédit, 85.6 x 54 mm (avec boîtier… compter un peu plus!!)
Alimentation 5V, via USB, mais 700 mA (3.5 W)
CPU ARM à 700 MHz (hackable à 1 Ghz…)
Mémoire RAM 512 Mb
Mémoire FLASH par SD Card, minimum 2 Go (j’ai mis 8 Go)
Graphique : 1920×1200, capable de décoder du MP4 (H264); sorties HDMI et PAL/NTSC
Audio: jack 3.5 mm et HDMI
LAN: 10/100 MB, RJ45
Ports: 3 x USB2
Qu’est ce qu’est Arduino? # Une plateforme de développement hard et soft, souple, bon marché, aux sources multiples, facile à mettre en oeuvre, bien documentée, bref l’environnement idéal pour débuter dans le domaine de l’embarqué (embedded in english). Vous désirez utiliser de l’électronique et de la microprogrammation? Piloter un moteur, activer un buzzer? afficher des informations, lire une température, une pression? C’est de prime abord passablement difficile.
Microclub aide les jeunes intéressés par la robotique et l’électronique # Les jeunes sont attirés par la robotique et par les possibilités qu’apportent l’électronique et les microcontrôleurs. Mais réaliser une idée n’est pas facile, souvent par manque de matériel, de documentation en français et de contact avec des spécialistes. Il est donc évident que les jeunes ont besoin d’un encadrement et de ressources.
Depuis de nombreuses années, les ordinateurs les plus puissants sont formés de très nombreux processeurs calculant en parallèle. Le record actuel est tenu par le “Roadrunner” d’IBM qui comprend 6′948 Opteron bicœurs et 12′960 processeurs PowerXCell 8i d’IBM, contenant chacun 8 unités de calcul en flux (”Stream Processing Unit”, SPU).
“Roadrunner” peut effectuer 1 petaflops, soit un million de milliards d’opérations arithmétiques par seconde et vaut des millions d’euros. Vous pouvez aujourd’hui assez facilement disposer dans votre PC du millième de cette puissance pour quelques centaines d’euros seulement.
Barette secteur écologique – le hardware à choisir
Il s’agit maintenant de savoir sur quel hardware le logiciel va être développé. Après une scrutation du catalogue Conrad, qui propose C-Control (trop gros, trop ciblé) un kit Java (pas assez de I/O) et différents kits PIC ou Atmel (pas assez WEB), j’étudie ce que Lextronic propose (http://www.lextronic.fr/R350-module-netmedia.html ) et parmi la kyrielle des propositions, nous trouvons les produits intéressants qui conviendraient.
L’idée # M’est venue en pensant à tous ces périphériques connectés plus ou moins intelligemment sur le secteur, que l’on pouvait faire mieux. Mieux que laisser ce bazar enclenché ou au mieux, enclenché/déclenché par le PC de bureau.
Un simple (!) horloge fait déjà mieux. Mais est-ce suffisant?
horloge-electronique L’utilité # Par exemple, vous avez un PC, lampe de de bureau, chargeurs divers, imprimante, modem VDSL et routeur wi-fi.
Si le PC est allumé, tout est enclenché. Par contre, s’il est éteint, la lampe de bureau doit être éteinte. Les chargeurs devraient être enclenchés comme le PC, mais avec au moins un minimum de 6H par jour (horloge + tempo). Par contre, l’imprimante (réseau?) ainsi que le VDSL et le wi-fi restent allumés jusqu’à 23h. Sauf s’il y a du trafic internet: un portable est peut-être toujours actif, par exemple.
L’horloge pour ce bazar pourrait être 17h-23h les jours de semaine, 8h-24h00 samedi, 9h-23h dimanche. Le tout programmable, bien sûr. Par contre si quelqu’un utilise le PC la journée, le reste s’enclenche aussi et serait maintenu tant qu’il y a du trafic sur le net. Ou par un bouton qui lance une tempo de, mettons 1h, puis surveille le trafic réseau LAN pour les prolongations.
A peine s’est-on habitués à l’idée d’avoir des processeurs à double coeur dans nos PC que les quadruple coeurs (Intel Core 2 Quad ou AMD Opteron Quad Core) débarquent dans les PC haut de gamme, et bientôt sur nos bureaux.
Si le double coeur apporte sans conteste un gain de confort (un coeur pour Windows, un autre pour l’application …), il faut reconnaitre que très peu d’applications sont capables de tirer parti du gain de performance qu’apportent théoriquement deux unités de calcul. Que dire pour quatre ?