LinkIt One

Bonjour à tous comment allez-vous?
Aujourd’hui je vais vous parler d’une carte que j’ai depuis un an et que j’avais volontairement laissée de côté, car le software n’était pas assez abouti, voire complètement inutilisable… J’étais prêt à faire un article assassin pour cette carte, mais je me suis dit qu’écrire un article sans avoir retesté les solutions mises à disposition du client au bout d’un an ne ce faisait pas…

Effectivement, il y a plus ou moins un an lors de sa mise à la vente, j’étais très enthousiaste à propos du LinkIt One issu de la collaboration de Seeedstudio et MediaTek. Malgré un prix de 80€, les fonctionnalités intégrées de la carte donnaient l’eau à la bouche 😵 :

  • WiFi 802.11 b/g/n avec une antenne combinée pour le Bluetooth
  • Bluetooth 4.0 avec une antenne combinée pour le WiFi
  • GPS classe 12 avec une antenne
  • Carte SD jusqu’à 32Go en class 10
  • GSM/GRPS 850/900/1800/1900 MHz avec une antenne
  • Jack audio 3 broches pour support micro
  • Batterie 3,7V + port sur la carte

Elle est maintenant vendue à 60€, vous pouvez l’acheter ici :

SeeedStudio produit les cartes, MediaTek réalise les schémas et fournit les logiciels adéquats. Du coup, le processeur et les puces utilisées ne sont pas forcément très open source, les datasheets sont bien, mais si elles étaient plus complètes cela serait mieux. On voit que MediaTek n’est pas vraiment/trop là pour partager son savoir… 😔

Les datasheets des puces principales sont disponibles ici :

La carte dispose d’un processeur Aster plus communément dénommé MT2502A, basé sur une plateforme ARM7 à 260MHz avec 4MB de RAM et couplé à 16MB de stockage flash partagé pour recevoir les programmes et le firmware… Elle dispose également d’un MT5931 pour gérer le WiFi (apparemment c’est aussi cette puce qui gère le Bluetooth) et d’un MT3332 pour le GSM/GRPS et GPS. Enfin, la carte SD est piloté directement par le SPI.

linkit_one_switch
Configuration des interrupteurs pour envoyer du code

C’est pourquoi si l’on veut charger du code il faut bien s’assurer de la position des interrupteurs sur la carte. Effectivement, si le processeur est occupé à jouer avec la carte SD, il ne verra jamais que vous essayez de lui envoyer du code…

Vous pourrez trouver toutes les autres informations sur le Wiki :

Pins Out Linkit One
Pins Out Linkit One

Attention, les pins du LinkIt One fonctionnent en 3V, les seuls ports qui peuvent supporter du 5V sont les ports analogues. Les ports digitaux peuvent supporter 1mA en 3V tous les shields ne sont donc pas compatibles…

Malheureusement, les fichiers nécessaires pour coder sur cette carte n’étaient disponibles que pour Windows… Ce qui en soit ne me pose pas spécialement de problèmes… Mais quand je voulais upgrader le firmware de ma carte, le logiciel fourni par MediaTek plantait immanquablement avec un code d’erreur inconnue et non référencée!!! 😡 (Je n’ai pas fait de screens à l’époque…)

Au début, je m’étais dit que cela pouvait venir de moi qui n’avais pas mis les interrupteurs dans les bonnes positions ou du fait que j’utilisais ma machine virtuelle Windows et que le pilote USB de la carte n’aimait pas cela…😇

Mais non non, après avoir essayé avec un « vrai » Windows le programme pour l’upgrade plantait toujours… Et comme le firmware n’était pas à jour, la carte refusait plus ou moins de faire quoi que ce soit… 😭

Même l’installation des pilotes USB pour Windows permettant la visualisation des deux ports UART (l’un pour l’envoi du code, l’autre pour un retour Serial) fonctionnait très bien sur ma machine virtuelle… 😬

linkit_one_win_port

Ce qui était bien dommage, car sinon l’installation ne requerrait et ne requiert toujours qu’une version spécifique de l’Arduino IDE (1.5.7). Ainsi qu’un fichier d’installation fournit par MediaTek durant lequel la seule étape de configuration compliquée était d’indiquer où la version spécifique de l’Arduino IDE était installée sur votre PC… Afin de voir s’afficher LinkitOne dans le menu Type de carte dans l’Arduino IDE ainsi que tous les exemples mis à notre disposition :

J’étais donc bloqué : je disposais de l’IDE et du compilateur,  des deux canaux de communication, mais la carte en face ne comprenait pas ce que j’essayais de lui dire… 😑

[quote]Comme disent les Anglais Bummer… 👻[/quote]

Un an après, les choses vont beaucoup mieux outre le prix en baisse, un pilote pour OSX a fait son apparition (je ne l’aie pas testé) et tout fonctionne sur Windows même sur ma machine virtuelle… Les devs ont vraiment bien bossé, le bug USB du firmware a été corrigé… 👏👌

Toutefois, une manipulation des interrupteurs est aussi nécessaire si vous voulez upgrader le firmware. À ma grande surprise, il faut faire les choses suivant un certain ordre qui n’est indiqué nul part pour que l’upgrade fonctionne… 😈 Donc voici l’ordre qui fonctionne bien :

  1. Vérifier que vous avez bien accès à internet
  2. Lancer le programme Linkit Firmware Updater en tant qu’Administrateur
  3. Connecter la carte via USB en mode normal après avoir installer les pilotes USB
  4. Appuyer sur le gros bouton vert
  5. Quand il demande le reboot, appuyer sur le bouton reset de la carte
  6. Pendant que le bouton reset de la carte est enfoncé, passer l’interrupteur le plus à gauche sur la position MS
  7. Relâcher le bouton reset de la carte
  8. Regarde l’upgrade du Firmware ce faire!!!

J’ai enfin pût upgrader facilement mon firmware sur ma machine virtuelle 😅 :

linkit_one_up_done
Firmware Upgrade Done!!!!

Certains exemples ne fonctionnent toujours pas comme prévu, mais cela ce limite au Bluetooth, car cette fonctionnalité est intégrée à la puce qui gère le WiFi et il semble que faire cohabiter les deux dans la même puce n’était peut-être pas une bonne idée, sinon tout fonctionne bien et facilement depuis l’Arduino IDE… ✅

Du coup, je me retrouve avec une super carte dont je ne sais que faire… Il va falloir que je trouve… 😺

@Bientôt Anders

Une réponse sur “LinkIt One”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.

Traduction :