Étape 4: Calibrer le microphone
L’idée est de définir les paramètres dans rain.py afin que
- Il donne aussi précise que possible un mesurage de toute pluie qu’il y a
- Il n’enregistre aucune pluie lorsqu’il n’y a aucune
- il ne dit pas il y a beaucoup de pluie, quand il n’y a seulement le vent
Il y a 3 paramètres à définir.
mm_per_million. Permet de régler la sensibilité. Un plus grand nombre ici rend la pluie estimer plus grand.
quiet_noise. Cela définit le seuil au-dessous duquel on présume qu’il n’y a pas de pluie.
wind_noise. Cela définit le seuil qu’il utilise quand il pense que c’est venteux.
Vous pouvez les trouver à autour de la ligne 16 de rain.py.
Tout d’abord, nous avons besoin de régler les niveaux de bruit. Bien qu’il soit calme, regardez à la lecture dans la bande de fréquences plus élevée - celui juste avant le]. Si vous obtenez quelque chose comme
actual from program3.8mm 2.6mm4.1mm 7.5mm11mm 8.5mm 6mm 7.2mm
C’est ensuite la 158, 167, 164 que vous regardez. J’ai trouvé que quiet_noise devrait être environ 10 fois cela. Donc, vers 1600. J’ai trouvé que wind_noise doit être quiet_noise 2 fois, jusqu'à 3200.
Ensuite, nous avons besoin de mesurer quelques précipitations réelles et comparer avec les estimations du programme python. Idéalement vous serait recueillent des données d’une période de précipitations à des rythmes différents. Il n’est pas évident que l’intensité sonore augmente linéairement avec la pluie ou que la pluie légère fera la même intensité sonore cumulée que la même quantité de pluie. Cependant mes données (limitées) suggèrent qu’il est juste à dans un facteur de 2 environ. En aucun cas, c’est parfaitement exact, mais assez bon pour décider du moment d’éteindre le système d’irrigation !
J’ai utilisé une vaisselle bol et une éprouvette graduée. Laissez-le jusqu'à ce que la pluie est tombée, puis vider l’eau dans l’éprouvette graduée et éteindre à nouveau le bol. Noter le volume d’eau chaque fois et l’estimation correspondante dans le programme python. Dans le programme python, régler le paramètre « mm_per_million ». Donc si vous mesurez 10mm de pluie dans le cylindre et le programme python donne 2mm, vous devez multiplier les « mm_per_million » par 5.
J’ai eu ces mesures récemment :
#!/bin/sh /usr/bin/python -u /home/pi/rain.py >> /run/shm/rain_py.log 2>&1
Ensuite, le mieux est de laisser tourner pendant quelques jours de calme, vent, pluie et tant vent et pluie. Idéalement vous permettant également de mesurer les précipitations de temps en temps. Ensuite, regardez attentivement le fichier /run/shm/rain1.csv. Vous pouvez voir les valeurs enregistrées toutes les 5 minutes ainsi que la pluviométrie cumulée estimée (remise à zéro chaque jour à minuit) et le niveau de vent. Vous devrez revenir en arrière et régler les paramètres. Il m’a fallu une semaine ou 2 avant que je sois heureux avec les résultats.
Bonne chance!