Forum Sensor.Community

Getting noise data into sensor.community

Marcel Meek has developed an environmental noise sensor that picks up audio, analyses the audio into intensities per frequency band and sends the data over LoRaWAN. His project can be found here:

Some interesting features:

  • Measures a spectrum instead of a single LAeq value (+ min/max), so you have more details about the type of noise, can apply more fine-grained correction factors.
  • Uses LoRaWAN instead of WiFi for telemetry. Some cities have pretty good coverage now from TheThingsNetwork. There is no dependency on a master particulate matter sensor node.
  • Uses off-the-shelf components, an ESP32 board with integrated LoRa transceiver, like the TTGO LoRa32 v1 or the Heltec LoRa32 v2

I think that is a fantastic idea for a citizen science project, so I have written a kind of forwarder that picks up his data and can forward it to sensor.community. Currently my forwarder emulates a sensor.community node with a DNMS module. My code can be found at:

It sends data like this:

2021-09-05 14:00:42,258 INFO  SensComUploader:57 - Sending for esp32-216015141040444 to pin 15: '{"software_version":"https://github.com/bertrik/noiseforwarder","sensordatavalues":[{"value_type":"noise_LAeq","value":"32.4"},{"value_type":"noise_LA_min","value":"30.5"},{"value_type":"noise_LA_max","value":"42.8"}]}'
2021-09-05 14:00:42,760 WARN  SensComUploader:62 - Request failed: Forbidden

The data is currently refused because the node is not registered. I could of course register it, but I would not want to send data before verifying with sensor.community first if this is OK.

Our Dutch National Institute for Public Health and the Environment (National Institute for Public Health and the Environment | RIVM) picks up the sensor.community data and combines it with other sources to display on their national citizen science map. So if we can get the data into sensor.community, that would be the ideal situation.

Who should I talk to about this within sensor.community?
I am having trouble getting a reply by e-mail, my plan is to join the weekly online video call next wednesday.

1 Like

Very interesting. I would love to see this or something similar being integrated as Noise seems to cause illness.

@bertrik I have seen that the project is also measuring min, max, and average levels for dB(A) for an interval. So we could easily integrate these values. Could you suggest a short name for this sensor (instead of DNMS)? This way we could include the data in a short time.
We are only measuring dB(A) as this is the value all regulations are based on…

@ricki-z Thanks for your reply. I don’t know a nice short name for the sensor yet, I’d like input from Marcel too, but he is on holiday for a week. We’ll come back to that, OK?
We’re also thinking about the best way to present the measurements done against reference microphones.

What I’ve done so far, is emulate the interface used for DNMS, so indeed we’re sending min,max,avg(Leq) levels in dB(A). The sensor was registered at devices.sensor.community as DNMS for now. I’ve marked it as ‘indoor’ for now (even though it is outdoor) to indicate the experimental state.

I see RIVM is already picking up the data, it’s the one in the city of Apeldoorn, Netherlands on their map at Samen Meten - Dataportaal
(select “Geluid/geluidniveau” on the left)

I will try to add the other dB values to the list of possible values. The names should be similar to the db(A) values.
But I’m unsure about the frenquency values. We may be able to save the JSONs as a string. But this is a large amount of data that needs to be saved. This would result in a faster growing database and archive …