Arduino original ou clone

Petit avis personnel en passant, car j’ai souvent cette question sans réelle réponse à apporter. Je ne compte pas, dans cet article, vous donner une réponse « prête à l’emploi », mais plutôt des pistes de réflexions.

Je suis principalement un utilisateur de clone, même si j’abandonne doucement l’arduino au profit des ESP.

Arduino, clone ou contrefaçon ?

Arduino est une plateforme logiciel et matériel, simple à utiliser et open-source. Mais cela n’autorise pas n’importe quoi.

Il est donc parfaitement autorisé d’utiliser les sources pour produire des boards dites « Arduino compatible ».

Le souci, c’est la contrefaçon, la copie pur et simple de la carte jusqu’à son design, impression, …

Cela peut être trompeur et vous pouvez régulièrement tomber sur des copies de mauvaise qualité utilisant des composants moins chers ou retirant certains composants.

La qualité des clones (ne parlons pas des contrefaçons) est très variable.

Il existe de très bons clones vendus en tant que tels. Parfois un petit souci de driver la carte utilisant, pour une raison de réduction de coût, un CH341.

Les clones permettent un accès très bon marché et facile à l’univers des microcontrôleurs.

Pourquoi un vrai Arduino alors ?

Pourquoi alors payer jusqu’à 10x plus cher ma carte ?

Si vous en avez les moyens et l’envie. Acheter un vrai Arduino c’est supporter le développement open-source des cartes, de l’IDE,… Notez aussi qu’Arduino supporte énormément d’événements, l’éducation et autres projets open-source.

Je pense personnellement que sans cette plateforme beaucoup d’entre nous n’auraient pas eu un accès aussi simple à « l’électronique » et aux microcontrôleurs.


Sources & ressources :

Image par Omer Iqbal de Pixabay

Installation de Raspberry Pi OS

Je vous propose 2 méthodes pour flasher vos cartes SD pour vos Raspberry Pi.

La méthode via Etcher (Balena Etcher) et une méthode via l’outil Raspberry Pi Imager.


Méthode Etcher

Sélectionnez le fichier .img (ou .zip, …) de l’image du système.

Sélectionnez la carte SD cible.

C’est parti! Etcher est en train de flasher votre carte SD et va ensuite passer à sa vérification.

Et voilà! Vous pouvez maintenant insérer votre carte SD dans votre Raspberry Pi.


Méthode Raspberry Pi Imager

Cette méthode est plus simple, il n’est pas nécessaire de télécharger l’image du système.

Cliquez sur « CHOOSE OS » afin de choisir l’os que vous souhaitez installer.

Il est aussi possible, comme dans Etcher, de choisir un autre OS que vous aurez préalablement téléchargé.

Configuration de l’ACL Mosquitto

Après l’introduction à MQTT et son installation. Passons à la découverte et la configuration de l’ACL (Access Control List – Liste de contrôle d’accès).

Par défaut Mosquitto autorise la connexion sans login / mot de passe. J’ai parlé de ce point dans l’article sur son installation.

Une fois connecté chaque utilisateur (ou client) peut écrire ou écouter n’importe quel topic sans aucune restriction. C’est ici que l’ACL intervient !

Configuration acl_file

Dans le fichier de configuration de votre Mosquitto, il est nécessaire de configurer l’emplacement de votre acl_file.

acl_file /etc/mosquitto/acl

« Lexique »

  • # – Wildcard, il donne accès à tout le topic de façon récursive.
  • + – Wildcard, il donne accès à tout le topic sur le même niveau.
  • $SYS – est réservé au broker, il communique ses statistiques, … Vous pouvez laisser l’accès en lecture ou non aux clients via un pattern par exemple.
  • user – Permet de définir l’utilisateur concerné.
  • topic – Permet de définir le topic concerné.
  • pattern – Permet de définir un topic à tous utilisateurs ou clients.
  • read – Permet de lire le topic.
  • write – Permet d’écrire sur le topic.
  • readwrite – Permet de lire et d’écrire sur le topic.
  • %c – ID du client.
  • %u – Nom de l’utilisateur.

Il est possible de connecter plusieurs clients avec un ID différent avec le même utilisateur. Dans un premier temps limitez-vous à un client = un utilisateur car cela peut vite poser des soucis.


Clients & Users

Dans l’exemple suivant l’utilisateur cuisine à le droit d’écrire et de lire dans tout le topic maison/cuisine et à aussi le droit de lire tout le topic maison.

L’utilisateur toto lui à uniquement le droit de lire maison/cuisine/temperature.

user cuisine
topic readwrite maison/cuisine/#
topic read maison/#

user toto
topic read maison/cuisine/temperature

Patterns

Dans l’exemple suivant tous les utilisateurs peuvent lire les informations du broker $SYS. Chaque client et utilisateur ont le droit d’écrire et de lire dans « leur espace ». Donc l’utilisateur toto à son topic maison/user/toto de façon récursive, pareil pour l’utilisateur cuisine.

pattern read $SYS/#
pattern readwrite maison/id/%c/#
pattern readwrite maison/user/%u/#

Ressource : https://mosquitto.org/man/mosquitto-conf-5.html