Bonjour
-> Utilise : une carte dotée d'un ESP32 , un microphone sur bus I2S (modèle INMP441), 5 fils, alimentation 5V
-> Présente en ligne, via ThingSpeak, l'évolution du niveau sonore, en dBA

Résultat en extérieur (période de confinement, peu de circulation) et en intérieur calme



Dans mon quartier une association de riverains, en bordure d'une départementale 4 voies très fréquentée agit depuis plus de 10 ans pour réduire les importantes nuisances sonores (réduction de vitesse à 70 km/h obtenue, compléments nécessaires, peut être un mur anti bruit en particulier au niveau d'une ecole maternelle dont la cour de récréation est peu utilisable)
J'avais dans l'idée de leur donner un 'sonomètre connecté' qui, par une mise en ligne en temps réel du niveau sonore, les aiderait à renforcer leurs effectifs en mettant en évidence sur leur site la situation en temps réel et souligner des épisodes particuliers.
Après avoir entrevu la piste du 'hacking' d'un sonomètre du marché (on trouve des réalisations pour certains modèles) je suis récement tombé sur un excellent code de sonomètre pour ESP32 sous IDE Arduino utilisant divers modèles de microphones I2S dont le mien, INMP441 de TDK

J'ai présenté le microphone INMP441 ( sortie sur bus I2S) dans ce fil :
https://forum.arduino.cc/index.php?topic=670448.0Le code, d'Ivan Kostoski est içi (utilisation explicite de RTOS)
https://github.com/ikostoski/esp32-i2s-slmhttps://hackaday.io/project/166867-esp32-i2s-slmAprès acquisition du son (micro sur bus I2S) il applique deux filtres numériques dont celui de la pondération "A" Toutes les secondes il délivre le niveau sonore en dBA (
cf Wikipedia)
J'ai eu très peu de choses à faire pour envoyer vers ThingSpeak le niveau sonore (à une cadence compatible avec la gratuité du service >15s)
Je met mon code en PJ vu la taille, dans celui-ci la visualisation sur écran OLED est désactivée, les paramètres d'accès à la box et à ThingSpeak sont à éditer…...
Toute carte à ESP32 convient. A noter que les signaux I2S, dans le cas de l'ESP32, ne sont pas figés sur broches particulières.
Utilisant içi
une carte "Mini32" au format des D1 Mini j'ai choisi une disposition qui me permettra de faire un 'shield INMP441' utilisable sur D1 Mini(ESP8266) ou ESP2
// I2S pins - Can be routed to almost any (unused) ESP32 pin.
// SD can be any pin, inlcuding input only pins (36-39).
// SCK (i.e. BCLK) and WS (i.e. L/R CLK) must be output capable pins
//
// Below ones are just example for my board layout, put here the pins you will use
//
#define I2S_WS 18
#define I2S_SCK 23
#define I2S_SD 19
// I2S peripheral to use (0 or 1)
#define I2S_PORT I2S_NUM_0
Reste à faire : étalonner avec un authentique sonomètre, retoucher au besoin le code, tester sur ESP8266