Pub

Affichage des articles dont le libellé est ESP32-D1-R32. Afficher tous les articles
Affichage des articles dont le libellé est ESP32-D1-R32. Afficher tous les articles

jeudi 25 mai 2023

Nouvelle version m5sc-rfxp-0-6-1.ino

Une nouvelle mise à jour du logiciel RFXperiment pour le M5Stack Core vient de sortir, il s'agit de la version 0.6.1 du 25/05/2023.

Cette version apporte une nouvelle fonction de surveillance qui produit une alarme si la carte contrôleur ESP32-D1-R32 où sont connectés les récepteurs ne publie plus ses données dans le temps imparti (la carte ESP32-D1-R32 publie normalement ses flux de mesure de réception en MQTT toutes les 30 secondes).
Auparavant, le M5Stack Core était simplement en attente des données et les traitait quand elles arrivaient. Mais un souci récent survenu sur mon réseau Wifi ayant bloqué la publication des données, il m'est apparu nécessaire que le M5Stack Core soit en mesure d'afficher une alerte quand il attend trop longtemps lorsque la carte ESP32-D1-32 devient muette pour une raison quelconque.

J'ai fait aussi quelques modifications cosmétiques pour améliorer un peu l'aspect général de l'affichage principal.

D'autre part, j'ai décidé de n'utiliser plus que quatre couleurs pour les niveaux de réception sur une échelle de valeurs allant de 0 à 5.
(valeur 0 : gris ; valeur > 0 et < 1.5 : rouge ;  valeur >= 1.5 et < 3.5 : orange ; valeur >= 3.5 et <= 5 : vert)

Voilà ce que ça donne sur cette nouvelle version :





à plus !

*** 73 de Guy - F8ABX ***

mercredi 17 mai 2023

RFXperiment : corrections de bugs

Finalement, ce qui devait être l'ultime version 0.6.0e a dû être modifiée afin de corriger un bug dans des arrondis de valeurs. La dernière version du code source sur le M5Stack Core est "m5sc-rfxp-0-6-0f.ino" du 14/05/2023.





Sur la carte ESP32-D1-R32 où les deux récepteurs Panasonic RF-2400D sont connectés, j'ai aussi modifié le code pour corriger le même bug. Le code source est maintenant "esp32-rfxp-4-4-2.ino" (modifié le 15/05/2023).





*** 73 de Guy F8ABX ! ***

vendredi 30 juillet 2021

Radio Signal Monitor / RXperiment (7) Epilogue !

 Encore un tout dernier article sur le sujet ! 😀

J'ai arrêté le Radio Signal Monitor, le montage fait avec le circuit TEA5767 car j'ai constaté des défauts rédhibitoires avec ce circuit :
 - trop peu de sensibilité, même avec une antenne télescopique rallongée.
 - une sélectivité trop mauvaise qui amène à recevoir les signaux indésirables de stations sur des fréquences adjacentes.
 - des mesures de niveau de réception finalement incohérentes par rapport aux observations faites en parallèle sur d'autres récepteurs. Ce qui pose question sur les niveaux qui étaient mesurés.

Je conserve donc maintenant en fonction et en ligne uniquement le montage que j'avais nommé « RXperiment2 ». Ce bricolage est composé d'une radio Panasonic RF2400D dont la LED « Tuning » est connectée à une carte microcontrôleur ESP32-D1-R32 par l'intermédiaire d'un optocoupleur fait-maison (pour éviter d'injecter des parasites dans le récepteur radio) plus une adaptation de niveau pour une entrée analogique sur l'ESP32 (je rajouterai un schéma en fin d'article).

Les mesures de réception de RXperiment2 sont en ligne ici :
 https://io.adafruit.com/guyvano/dashboards/rxperiment2 

RXperiment2 n'est pas parfait non plus, mais néanmoins il fait le job avec une meilleure sensibilité et une meilleure sélectivité. J'ai rallongé l'antenne télescopique du récepteur d'une trentaine de centimètres afin d'avoir environ la dimension d'un quart d'onde sur la bande FM.

Les avantages du récepteur Panasonic RF2400D pour ce bricolage :

 - Son prix à moins de 40 Euros.
 - L'accès facile à la LED « Tuning ».
 - Son fonctionnement sur secteur.
 - La réception FM et MW. Sur la gamme de fréquences MW, outre le monitoring de stations en ondes moyennes, le montage peut aussi servir de détecteur d'orage !

Le principal défaut du récepteur :

 - Un affichage analogique de la fréquence, délicat à régler sur une fréquence précise.

Néanmoins, on peut s'aider d'un autre récepteur à affichage numérique pour repérer une station faible sur laquelle se régler et faire l'écoute en parallèle lors de la syntonisation.

Lorsqu'on ne peut se baser sur la réception faible sur la fréquence écoutée, on peut s'aider d'un kit main libre Bluetooth si ce dernier intègre aussi un petit émetteur FM que l'on peut régler la fréquence souhaitée, la syntonisation précise du récepteur sera alors grandement facilitée. J'utilise cette méthode car je possède un kit main libre Plantronics K100 (l'inconvénient du Plantronics K100 : un incrément de fréquence par pas de 200 kHz avec la décimale des MHz toujours impaire).

Autres défauts du montage RXperiment :

- Comme on se base sur l'allumage de la LED 
« Tuning » du récepteur radio, le principe de la mesure du niveau de réception n'est pas la mesure du niveau linéaire et progressif du signal reçu mais une mesure élaborée à partir d'une information binaire : un signal reçu dépasse un certain seuil (ou pas). La mesure qui est publiée sur Internet correspond au pourcentage d'un nombre de fois où la LED Tuning a été trouvée allumée pendant un intervalle de mesures. C'est donc une mesure de durée de réception d'un signal fort. Mais néanmoins, je trouve que ce principe de mesure se prête finalement assez bien au type d'observations envisagées : la détection des réceptions sporadiques.

- Un autre défaut, lié à l'optocoupleur en parallèle sur la LED Tuning du récepteur, il a été fait-maison avec une LED et une photorésistance trouvée dans un starter-kit Arduino. Il y a un petit temps de réaction pour la photorésistance à changer de valeur lorsqu'elle est illuminée. En conséquence, les impulsions brèves de la LED Tuning du récepteur ne sont pas détectées, à moins qu'elles ne se répètent rapidement. Mais ce défaut n'est pas rédhibitoire.


Schéma de l'interface récepteur / microcontrôleur :



(montage initial)



Edit 29/08/2021 : Le remplacement de la résistance de 220 k par 100 k et 47 k en série permet d'avoir un niveau plus proche de zéro lorsque la photorésistance n'est pas illuminée par la LED de l'optocoupleur. Schéma modifié :


(remplacé 220k par 100k + 47k en série)

Edit 03/09/2021 : publication des valeurs brutes de niveaux

Depuis quelques temps, au lieu de pourcentages, je publie les niveaux bruts mesurés aux entrées analogiques des microcontrôleurs, ou plus précisément les valeurs moyennes de 30 mesures effectuées pendant 30 secondes (une mesure de niveau chaque seconde pour chaque récepteur). Ce ne sont donc plus des pourcentages de durée d'allumage des LED "Tuning" mais des moyennes de niveaux des 30 dernières mesures. Cela permet de voir plus finement des variations sur des niveaux plus faibles. Etant donné que les DAC des ESP32 sont sur 12 bits, la valeur des niveaux sur les entrées analogiques vont de 0 à 4095 au maximum. Dans la pratique, la valeur maxi peut être inférieure à 4095 car suivant le modèle de récepteur, le courant maximum fourni à la LED de l'optocoupleur n'est pas toujours suffisant pour illuminer fortement la photodiode. C'est le cas notamment pour le récepteur Panasonic RF2400D, où la valeur maximale du niveau sur l'entrée analogique du microcontrôleur plafonne vers 3200. Mais en fait, ce n'est pas vraiment gênant et c'est bien suffisant pour apprécier un ordre de grandeur, car ce ne sont pas les valeurs absolues qui importent mais plutôt leurs variations.

Voici un exemple de réception avec trois récepteurs différents en utilisant ce principe :



Pour connaître l'état des réceptions en cours :
consultez le document web : 
https://bit.ly/RXperiment


pour des infos complémentaires ou plus récentes
sur le sujet, 
suivez-moi sur Twitter  : @guyvano
(+ hashtag #RXperiment)


**** Cordiales 73 ! Guy - F8ABX - 30/07/2021, 29/08/2021, 03/09/2021 ****

samedi 26 juin 2021

Radio Signal Monitor / RXperiment (6) suite et fin du sujet

 La version mk4 du Radio Signal Monitor FM, soudée sur un shield de prototypage est en service !





La suppression des fils volants et de la breadboard élimine de nombreux parasites générés par le montage lui-même.
Le niveau plancher de réception est revenu à zéro, alors qu'un était presque toujours à un sur le prototype en fils volants. De l'importance, comme toujours, en radio : des liaisons courtes ! Mais bon, pas toujours évident à respecter lorsqu'on réalise un proto.





Le Radio Signal Monitor FM publie ses données à l'URL suivante :

  https://io.adafruit.com/guyvano/dashboards/rsmfm


Ceci clôt la série d'articles sur le Radio Signal Monitor / RXperiment.

A bientôt, et faites de beaux montages !


****  73 de Guy F8ABX - 26/07/2021 ****
Twitter: @guyvano 
https://twitter.com/guyvano


vendredi 25 juin 2021

Radio signal monitor / RXperiment (5)

 Je suis en train de tester la version mk4 de mon Radio Signal Monitor, comme indiqué précédemment, avec le circuit TEA5767. Il fonctionne beaucoup mieux que le VMA444 (Si4703) : meilleure sensibilité en réception, pas d'effet de main, prises d'antenne et d'écouteurs séparés.
J'ai rallongé l'antenne télescopique fournie avec le circuit avec du fil de fer car d'origine, elle ne fait que 24 cm ! La longueur totale de l'antenne est maintenant d'environ 70 cm.
Le TEA5767 n'a pas de décodeur RDS, c'est dommage, mais on a la possibilité d'avoir la force du signal reçu de 0 à 15, et c'est bien l'essentiel compte tenu de la finalité du montage.

Pour voir la force des signaux reçus, c'est ici : https://io.adafruit.com/guyvano/dashboards/rsmfm

A l'heure où j'écris cet article, c'est la fréquence 106,9 MHz qui est monitorée. Il n'y a pas de station locale sur cette fréquence, le but est de détecter des épisodes de propagation exceptionnelle des ondes radio (sporadiques E, propagation troposphérique exceptionnelle). Lors de ces épisodes, des stations lointaines sont captées.

Avec cette version 4, le niveau de réception est mesuré et transmis à la plateforme IOT d'Adafruit toutes les 30 secondes environ.
Si vous avez un compte sur cette plateforme, connectez-vous car le rafraîchissement des données sera alors automatique, sinon la page web du tableau de bord (dashboard) reste statique et il vous faudra la rafraîchir manuellement.

C'est toujours une carte microcontrôleur ESP32-D1-R32 qui assure le traitement et les communications, avec le TEA5767 en I2C, et en Wifi avec la plateforme IOT d'Adafruit en utilisant le protocole MQTT.
Un ordinateur est seulement requis pour le développement et le téléchargement du logiciel dans le microcontrôleur, après ça se débrouille tout seul. 

Si cette version mk4 fonctionne comme prévu, la fonction de baromètre connecté y sera transférée (circuit BMP280 en I2C) et la version mk3 qui tourne actuellement en parallèle pourra alors être arrêtée. La version mk3 mobilise un récepteur
hacké Sony que je souhaiterais démobiliser !


*** 73 de Guy F8ABX - 25/06/2021 ***


dimanche 6 juin 2021

Radio signal monitor / RXperiment (4)

edit 11/06/2021 : le décodage du RDS est actuellement désactivé en attendant la mise en service d'un autre circuit en remplacement de l'actuel, trop peu performant.

 L'affichage du RDS a été rajouté au projet Radio signal monitor / RXperiment.

voir en bas de la page : https://io.adafruit.com/guyvano/dashboards/rxperiment
ou à la page dédiée au log RDS : https://io.adafruit.com/guyvano/dashboards/rds

Une première version tourne actuellement en test avec un circuit Velleman VMA444 (circuit intégré Si4703) mais le résultat est assez décevant car le décodage du RDS n'est vraiment pas performant, même pour les stations locales puissantes. Il y a donc peu de chances que le circuit décode le RDS des stations reçues dans des conditions plus difficiles.

 



Actuellement, le nom de la station est envoyé au site IO Adafruit entre crochets [ ] selon un cycle de 30 secondes environ et la fréquence est rappelée tous les 10 cycles, sans crochet.

Une prochaine version sera réalisée avec un circuit à base de TEA5767, en espérant que le décodage du RDS sera meilleur et plus rapide.

Actuellement, le RSM* est réglé sur 101,3 MHz. C'est une fréquence sur laquelle il n'y a pas de station locale.
Le but est de détecter les phénomènes de propagation troposphérique exceptionnels, d'afficher un graphique des signaux reçus et si possible d'afficher le nom des stations reçues, dans la mesure où leur RDS est décodable.


(*) RSM : abrégé pour Radio Signal Monitor / RXperiment , le nom du projet ESP32 en cours.


.**** 73 de Guy F8ABX - 06/06/2021 ****

jeudi 20 mai 2021

Radio signal monitor / RXperiment - mon nouveau projet ESP32 (3)


 Attention : RXperiment / Radio signal monitor est désormais accessible via la plateforme IOT Adafruit. Les données sont transmises en MQTT à cette plateforme, les données ne sont plus transmises via APRS-IS.

Voici les nouveaux liens :

Le graphique du monitoring en cours : https://io.adafruit.com/guyvano/dashboards/rxperiment
   ( ou https://bit.ly/radiosignalmonitor )


copie d'écran de la page web :





La relève de la pression atmosphérique (QNH) est aussi transmise à la plateforme Adafruit :
https://io.adafruit.com/guyvano/dashboards/qnh
  ( ou https://bit.ly/barofareins )


copie d'écran de la page web :





Ce changement de plateforme a pour objectifs l'amélioration de la fiabilité dans le transfert des données et une meilleure sécurité.



**** 73 de Guy F8ABX - 20/05/2021 ****

lundi 10 mai 2021

Radio signal monitor / RXperiment - mon nouveau projet ESP32 (2)

Le câblage des composants :




Le raccordement à la carte microcontrôleur :




La version actuelle de RXperiment mk3 :

Les composants sont désormais soudés sur un shield de prototypage pour Arduino (compatible avec la carte ESP32-D1-32). Seul l'optocoupleur a été modifié, sa LED jaune a été remplacée par une LED rouge plus lumineuse pour un meilleur éclairement de la photorésistance.








Télémétrie publiée sur https://aprs.fi/telemetry/a/F8ABX-10 
 
  Graphique 1 : QNH (pression atmosphérique ramenée au niveau de la mer).
  Graphique 2 : Temp (température au niveau du montage).
  Graphique 3 : Hsnsr (H sensor : champ magnétique mesuré par la sonde à effet Hall du microcontrôleur).
  Graphique 4 ; Band (bande de fréquence, 0 : OFF, 1 : LF/LW, 2 : MF/MW, 3 : HF/SW, 4 : VHF/FM).
  Graphique 5 : RXprm (qualité de la réception en %)
     C'est le pourcentage du temps d'allumage de la LED "tune" du récepteur Sony, sur un échantillon de 256 mesures pendant 5 minutes.





réception sur 153 kHz pendant 24 heures.
La nuit, la station roumaine Antena Satelor est reçue. 




Etat de la réception en cours sur https://bit.ly/RXperiment
(pour avoir des précisions sur le monitoring en cours : la fréquence précise, la date et l'heure de début)


La pression atmosphérique est aussi publiée sur
 https://www.wunderground.com/dashboard/pws/IFAREI3


Et un grand merci à Peter Buchegger OE5BPA pour son « APRS-IS library for ESP32 » qui permet de publier simplement des données sur APRS-IS !
  info ici :  
https://www.arduino.cc/reference/en/libraries/aprs-is-lib/


*** 73 de Guy F8ABX - 10/05/2021 ***



jeudi 22 avril 2021

Radio signal monitor / RXperiment - mon nouveau projet ESP32 (1)

 Voici ma nouvelle réalisation autour d'un récepteur multi-bandes Sony, avec un circuit ESP32-D1-R32 avec quelques composants additionnels sur une planche à contacts pour prototypage.


Le but est d'évaluer le niveau relatif d'un signal reçu par la radio et de publier les résultats sous forme de données télémétriques avec d'autres informations via le réseau APRS-IS .
On peut voir ces donnés sur : https://aprs.fi/telemetry/a/F8ABX-10 

Il est transmis : la pression atmosphérique (QNH), la température (Temp) et le champ magnétique (Hsnsr) au niveau du circuit, la bande où se trouve la fréquence écoutée (Band) et bien sûr le niveau de réception (RXprm) puisque c'est ce qui m'intéresse au départ, c'est le 5ème et dernier graphique en bas de la page web dont l'URL est donné plus haut.

Le récepteur Sony ICF-SW7600G a subi un petit "hack" consistant à placer deux fils en parallèle sur sa LED rouge "Tune" afin de récupérer une tension directement liée au niveau de réception HF. A la suite de tests, comme une connexion directe sur une entrée analogique du microcontrôleur injectait trop de parasites dans le récepteur, il a fallu ajouter un couplage indirect. Après des essais non concluants par couplage magnétique avec le capteur à effet Hall intégré au microcontrôleur, j'ai finalement choisi un couplage par optocoupleur... Mais n'ayant pas d'optocoupleur, j'en ai fabriqué un, avec les composants que j'avais sous la main : une LED jaune et une photorésistance, le tout bien isolé de la lumière ambiante avec du chatterton.



avec les moyens du bord...



et voilà un optocoupleur !

A noter que la photorésistance n'est pas trop réactive lors de brèves impulsions. Une amélioration sera apportée prochainement.

Néanmoins pour l'instant, le circuit fait le travail demandé !


tests de réception sur la gamme de fréquences MW.


Méthode de mesure du signal :

Le niveau de réception est donné en pourcentage :
Sur une durée de 5 minutes, on effectue 256 mesures. A la fin de la période de collecte des mesures, on calcule le pourcentage que représente les valeurs qui ont dépassé un certain seuil. Ce seuil a été déterminé expérimentalement et correspond environ à la moitié de la tension mesurée lors d'une réception optimale.

Codification des bandes de fréquences (Band) + bits 1234 dans la télémétrie :

Band # 0 = OFF : pas de réception en cours (bits 0000).
Band # 1 = RxLF : réception en cours en LF/LW (bits 1000).
Band # 2 = RxMF : 
réception en cours en MF/MW (bits 0100).
Band # 3 = RxHF : 
réception en cours en HF/SW (bits 0010).
Band # 4 = RxVHF : réception en cours en VHF/FM (bits 0001).

Le circuit et le logiciel étant actuellement en test, je donnerai plus de détails sur cette réalisation dans un prochain article.
En attendant, vous pouvez voir les résultats publiés sur 
https://aprs.fi/telemetry/a/F8ABX-10 

Suivez aussi l'état de la réception en cours sur bit.ly/RXperiment
Vous saurez ainsi précisément sur quelle fréquence est le récepteur et depuis quand.


**** Cordiales 73 ! Guy F8ABX 22-28/04/2021 ****