Kit DIY RAC2 – RAdiation Counter v2 (ou Geiger)
Il y a déjà 20 mois, j’annonçais un nouveau produit permettant de donner le niveau de radiation des rayons bêta et gamma, le RAC.
Le but de ce détecteur étant de disposer d’API pour échanger les données avec une box domotique et ainsi construire des règles d’alertes en cas de dépassement d’un seuil.
Sans remettre en cause la fiabilité, l’exactitude ou le type de rayons capter par la carte, le projet peut avoir un réel intérêt, preuve en est sur le forum eedomus où j’ai été surpris par l’engouement de ce sujet.
Aussi, j’ai décidé de faire dans un premier temps de faire une version DIY (Do It Yourself – Faire Soi Même), pour être plus précis je propose un programme embarqué dans un ESP8266 qui s’interface à une carte RadiationD v1.1 CAJOE que vous achetez indépendamment sur Amazon, eBay, AliExpress, Banggood … (choisissez une carte déjà assemblée si non vous devrez jouer du fer à souder), de ce fait je n’assure pas de garantie sur la carte et de son tube, seules les mises à jour software de mon programme sont gratuites dès que vous avez acquis le kit DIY RAC2.
Le principe de fonctionnement du RAC2 peut paraitre simple, je vous l’accorde pour les experts, mais pas forcément pour tous, le kit est donc réalisé pour une connectique ultra simple, avec un programme accessible très facilement par tous.
NOTA : N’étant pas un expert en physique nucléaire, je ne peux pas vous expliquer quels sont les rayons captés par le tube J305B qui équipe de base cette carte.
La carte est soit disant étalonnée pour ce tube et pour certains rayons, mais elle n’a aucune certification par un organisme agréé.
D’autres tubes peuvent être montés mais nécessite très certainement un nouvel étalonnage.
Posez vos questions sur le forum eedomus, il y a des personnes très avisées sur le sujet qui vous répondront.
Le Kit et sa connectique
Ultra simple, un ESP8266 avec le logiciel embraqué, des mises à jour en auto update du firmware, une led affichant les seuils du vert au rouge dont on peut régler les limites et intensité, un câble pour la connectique vers la carte et le tube dont vous faites l’acquisition séparément, un câble USB et son alimentation 5 volts 2 Ampères.
Vous branchez l’ESP8266 avec la carte à tube, mettez le tout dans une boite, branchez l’alimentation, faites la configuration WiFi et certains paramètres, créez un capteur http sur votre box domotique, puis suivez les valeurs sur votre box.
ATTENTION, ne mettez pas l’ESP8266 et la carte à tube en contact avec du métal au risque de griller l’électronique.
Actuellement en version 0.99g, le RAC2 possède une fonction de mise à jour automatique qui télécharge une nouvelle version si elle existe sur mon serveur.
Bien sûr dans le respect de votre vie privée, aucune information sur l’usage qu’il en est fait ainsi que les éléments de votre réseau informatique ne sont transmis.
Tous mes développements possèdent une interface web adaptative (PC, smartphone, tablette) que j’améliore régulièrement.
Principe de calcul
Si le nombre d’impacts sur le tube est cpm (coups par minute) et un taux d’échantillonnage de 10 minutes (Sample rate), nous pouvons appliquer la formule suivante :
(cpm / Sample rate) * 8.12037037037 = nSv/h (nanoSievert par heure)
Nota : toutes les valeurs du RAC sont exprimées en nSv (nanoSievert).
Rappel des unités de mesures :
- Sv = Sievert
- mSv = milliSievert
- µSv = microSievert
- nSv = nanoSievert
- 1 Sv = 1.000 mSv = 1.000.000 µSv = 1.000.000.000 nSv
Références :
Wikipédia, IRSN, reportage ARTE Sécurité nucléaire : le grand mensonge, forum eedomus, article précédent.
La configuration
Pour accéder au RAC2, on peut lui donner un nom (“rac2” par défaut), suivant les caractéristiques de votre réseau cela peut-être “rac2.local”, par le service “bonjour” si votre PC Windows en est équipé, ou bien par son adresse IP une fois dans votre réseau WiFi.
Une adresse IP fixe est préférable avec une box une box domotique.
Une fois la carte à tube connectée, alimentez le RAC avec son adaptateur 5 volts, au bout de 5 secondes la led va s’allumer en bleu.
Synoptique du fonctionnement
Premier démarrage du RAC2
Rechercher le réseau WiFi (mode AP) commençant par « RAC2- » suivi par 6 caractères (représentant les 6 derniers caractères de l’adresse MAC), exemple :
Connectez-vous à celui-ci avec le mot de passe tout en minuscule « rootxxxxxx » ou xxxxxx représente les 6 derniers caractères de l’adresse MAC, exemple pour le réseau WiFi ci-dessus : root3b7cd6
Ouvrez un navigateur internet et saisissez comme adresse url « http://192.168.4.1 ».
Vous pouvez maintenant configurer l’accès du RAC dans votre réseau WiFi :
Sélectionnez votre réseau WiFi SSID dans la liste ou saisissez-le si il est caché (le fait de saisir un SSID est prioritaire), puis entrez votre mot passe réseau WiFi.
Une fois les paramètres fixés, cliquez sur « Apply », si ceux-ci sont corrects, vous aurez l’indication « Success » puis un bouton rouge « Reboot ».
Cliquez sur « Reboot », le RAC redémarre de lui-même et affichera la page d’information avec son adresse IP.
Etat et informations
La page s’affiche d’elle-même, mais par la suite pour l’afficher, saisissez l’adresse suivante http://rac2/info dans votre navigateur :
Configuration IP du LAM
Dans la barre URL de votre navigateur, après l’adresse IP du RAC, remplacez /info par /network, puis validez :
Nota : si par mégarde vous perdez l’adresse IP, sachez que vous avez 3 moyens d’accéder au RAC suivant votre réseau :
- http://adresse_ip/network
- http://rac2/network
- http://rac2.local/network
Vous pouvez modifier le nom du RAC2 dans le champ « Name of device », attention celui-ci doit être unique dans votre réseau, les espaces dans le nom sont interdits et seront remplacés par des « _ » , il ne peut faire plus de 15 caractères, et plus tard vous pourrez y accéder avec le lien http://nouveau_nom/…
Préférez DHCP sur OFF avec une adresse IP fixe unique.
Vous pouvez mettre un port autre que 80 et dans ce cas pour accéder au RAC vous taperez l’adresse http://rac2:numéro_du_port/…
Validez vos paramètres avec « Apply » puis « Reboot », le RAC affichera la page /info
Configuration du serveur de temps NTP
Saisissez l’adresse suivante http://rac2/ntp dans votre navigateur.
Saisissez soit un serveur de temps NTP public comme « time.nist.gov » ou une adresse IP, un NAS, votre box ADSL/Fibre si elle fait serveur temps.
Un NAS Synology, une Livebox ou une Freebox font serveur temps, dans ce cas le RAC se mettra à l’heure plus rapidement.
« UTC+01 » pour la France et « DST » sur « ON » pour gérer les heures été/hiver.
Validez vos paramètres avec « Apply » puis « Reboot », le RAC affichera la page /info
Configuration des paramètres
Saisissez l’adresse suivante http://rac2/config dans votre navigateur.
« Auto update » permet de définir si le RAC doit rechercher automatiquement les mises à jour au démarrage (ON par défaut).
« Led brightness » permet de définir la luminosité de la led par défaut (5 par défaut).
« Min value nSv/h (green) » permet de définir le seuil en-dessous duquel la led sera verte (100 par défaut).
« Max value nSv/h (red) » permet de définir le seuil au-dessus duquel la led sera rouge (450 par défaut).
« Sample rate » permet de définir en minutes le taux d’échantillonnage et donc le calcul des radiations (10 mn par défaut).
« Factor » définit la valeur du coefficient multiplicateur pour obtenir des nSv (8.12037037037 par défaut).
Validez vos paramètres avec « Apply » puis « Reboot », le RAC affichera la page /info
Mise à jour manuelle du frimware
Saisissez l’adresse suivante http://rac2/update dans votre navigateur :
Sélectionnez le fichier qui vous est fourni, puis cliquez sur Update.
Le RAC redémarrera automatiquement après la mise à jour et affichera la page /info
ATTENTION : un fichier non fournit par mes soins peut rendre hors d’usage votre RAC, idem si une coupure de courant se produit pendant la mise à jour.
Reset WiFi du RAC
Le RAC est alimenté, débranchez-le.
Alimentez le RAC, au bout de 5 secondes, la led s’allume en bleu, débranchez-le, attention vous n’avez que 5 secondes.
Alimentez de nouveau le RAC et suivez la procédure de connexion au RAC.
Nota : Au lieu de débrancher le RAC et de le rebrancher, vous pouvez utiliser l’API reboot.
Modifier le réseau WiFi du RAC déjà configuré
Saisissez l’adresse suivante http://rac2/wifi dans votre navigateur.
C’est la même page que pour le premier démarrage.
API de la version 0.99g (27/10/2019)
Pour récupérer les valeurs du RAC, il suffit d’envoyer une commande http à partir de votre box domotique ou bien d’un navigateur internet par un PC, smartphone ou tablette.
Dans les exemples qui vont suivre, nous utiliserons le nom “rac2” qui peut être remplacé par l’adresse IP.
Pour les utilisateurs de la box domotique eedomus, il existe un plugin développé par merguez07 et RAR69 sur le store qui permet de récupérer les valeurs de façon automatisée en créant des capteurs http.
Merci à eux pour leur travail, forum eedomus.
http://rac2/api/getRadiation
Cette API renvoie une structure JSON des valeurs courantes :
{
“timeDate”: “03:30:00 03/11/2019”, // heure et date de la mesure
“timeStamp”: 1572751800, // date et heure au format linux
“value”: 133.17, // valeur de radiation en nSv/h
“average_value”: 119.00, // valeur moyenne de radiation en nSv/h sur les 24 dernières heures
“sum_value_day”: 424.15, // valeur cumulée en nSv sur la journée
“sum_value_month”: 6142.25, // valeur cumulée en nSv sur le mois
“sum_value_year”: 14987.77, // valeur cumulée en nSv sur l’année
“factor”: 8.120370370370 // facteur de conversion pour obtenir des nSv
}
http://rac2/api/getLogRate
Cette API renvoie une structure JSON pouvant contenir 480 valeurs d’historique :
{
“result”: [
{
“timeDate”: “04:00:00 03/11/2019”, // heure et date de la mesure
“timeStamp”: 1572753600, // date et heure au format linux
“count”: 147, // nombre de fois où le tube a été touché sur la durée
“timeCount”: 600, // durée de la mesure en secondes
“value”: 119.37 // valeur de radiation en nSv/h sur la durée de mesure
},
{
… // valeurs précédentes
}
]
}
http://rac2/api/getLogDay
Cette API renvoie une structure JSON pouvant contenir 90 jours d’historique :
{
“result”: [
{
“timeDate”: “00:10:00 02/11/2019”, // heure et date de la mesure à partir de 0h ou de la première mesure
“timeStamp”: 1572653400, // date et heure au format linux
“count”: 21330, // nombre de fois où le tube a été touché sur la durée
“timeCount”: 86400, // durée de la mesure en secondes
“value”: 2886.79 // valeur de radiation en nSv sur la durée
},
{
… // valeurs précédentes
}
]
}
http://rac2/api/getLogMonth
Cette API renvoie une structure JSON pouvant contenir 36 mois d’historique :
{
“result”: [
{
“timeDate”: “00:10:00 01/11/2019”, // heure et date de la mesure à partir de 0 heure pour le 1er du mois ou de la première mesure
“timeStamp”: 1572567000, // date et heure au format linux
“count”: 46427, // nombre de fois où le tube a été touché sur la durée
“timeCount”: 189600, // durée de la mesure en secondes
“value”: 6283.41 // valeur de radiation en nSv sur la durée
},
{
… // valeurs précédentes
}
]
}
http://rac2/api/getLogYear
Cette API renvoie une structure JSON pouvant contenir 5 années d’historique :
{
“result”: [
{
“timeDate”: “19:10:00 28/10/2019”, // heure et date de la mesure à partir de 0 heure au 1er janvier ou de la première mesure
“timeStamp”: 1572289800, // date et heure au format linux
“count”: 111922, // nombre de fois où le tube a été touché sur la durée
“timeCount”: 463111, // durée de la mesure en secondes
“value”: 15147.47 // valeur de radiation en nSv sur la durée
},
{
… // valeurs précédentes
}
]
}
http://rac2/api/version
Cette API renvoie une structure JSON :
{
“product”: “RAC2”, // nom du produit
“version”: “0.99g”, // version
“device”: “RAC2”, // nom du device donné dans la page de configuration
“uptime”: “5 days 10 hours 2 minutes” // en service depuis
}
http://rac2/api/set?auto_update=[ yes | no]&brightness=n&min=n&max=n&rate=n&factor=n
Nota : L’ordre des mots clés n’a pas d’importance. Tous les mots clés ne sont pas forcément nécessaires.
- auto_update, permet d’automatiser les mises à jour au démarrage du RAC (on par défaut)
- brightness=n, de 1 à 255, permet de fixer la luminosité de la led (5 par défaut)
- min=n, de 0 à 65536, valeur minimale de radiation en nSv pour la led de couleur verte (100 par défaut)
- max=n, de 0 à 65536, valeur maximale de radiation en nSv pour la led de couleur rouge (450 par défaut)
- rate=n, valeur 3/5/10/15/20/30 en minutes du taux d’échantillonnage (10 par défaut)
- factor=n, de 1 à 15, facteur multiplicateur pour obtenir des nSv/h (8.12037037037 par défaut)
http://rac2/api/reboot
Permet de redémarrer le RAC à distance.
Si le RAC est en auto-update et qu’une nouvelle version du fimware est disponible, elle sera automatiquement chargée et installée.
La box domotique
Sur eedomus par exemple, il suffit de créer un capteur de type http pour aller chercher toutes les 10 minutes la valeur de radiation :
Nota : Sur eedomus les contributeurs merguez07 et RAR69 ont écrit un plugin dans le store qui permet de récupérer les valeurs de façon automatisée en créant des capteurs http. Merci à eux pour leur travail, forum eedomus.
Roadmap des versions futures
Une page d’accueil protégée par mot de passe.
Un menu pour enchainer les différentes pages de configuration.
Conclusion
Voilà pour cette présentation du RAC2.
Elle est encore perfectible et s’améliorera au fil du temps.