NoiseMeter: Difference between revisions

From RevSpace
Jump to navigation Jump to search
Line 136: Line 136:
^--- ????
^--- ????
   ^--- is 34 in slow mode, 33 in fast mode
   ^--- is 34 in slow mode, 33 in fast mode
       ^--- is 1 in hold mode, 0 in normal mode
       ^--- buttons pressed: 01 = hold, 04 = min, 08 = max
         ^--- always 04
         ^--- always 04?
             ^--- varies between 10, 11, 12, 13, 14, 15, 16, 17, 19, 1B
             ^--- varies between 10, 11, 12, 13, 14, 15, 16, 17, 19, 1B
</pre>
</pre>

Revision as of 20:40, 25 April 2024

Project NoiseMeter
File:NoiseMeter.jpg
Measuring audio noise as citizen science
Status Initializing
Contact bertrik
Last Update 2024-04-25

Introduction

This project is about measuring environmental audio noise as citizen science.

For example, noise can be:

  • road traffic noise (cars, mopeds, etc)
  • air traffic noise,
  • industrial noise, like building activities

Existing sound/noise meter projects:

This project page considers a kind of clone of the Amsterdam Sounds project.

Other interesting stuff:

Hardware

Nano33 IOT

Nano33 IOT pinout

Hardware is a nano33 iot board.

Connections
SPH0645 nano33 iot Remark
SEL - leave unconnected
LRCK A2 (16) - I2S FS sample clock
DOUT D4 (4) - I2S SD data
BCLK A3 (17) - I2S SCK bit clock
GND GND
3V 3v3

Software

The software is based on Arduino, a kind of clone of the Amsterdam Sounds project, modified to use WiFi (instead of LoRa), written by Rene Kuijf.

My modifications consist of a platformio configuration, for easy building.

See AdamSoundsInflux-slim-nano-33 github repo for the source code.

Casing

Microphone protection

To protect the microphone, use a membrane, like:

Junction box

Simple junction boxes sold by Gamma:

A downward pointing hole can be used for an 868 MHz LoRaWAN antenna.

Sensor.community casing

See https://sensor.community/docs/dnms/dnms-noise-measuring-dn40-result.jpg

Dimensions:

  • microphone is on a half inch (12.7 mm OD) white polystyrene pipe, 115 mm long
  • main piece is 25mm, length 160mm
  • some other connecting piecess

"RIVM" test casing

Exact dimensions unknown, see photo on this page: https://samenmeten.nl/nieuws/citizen-science-geluidmetertest-op-rivm-terrein

My guess:

  • microphone is on a 10mm diameter pipe, length 100mm
  • main case is a 40mm diameter pipe, length 200mm

Experiments

Uni-T UT353 BT noise meter

This thing has bluetooth.

serial interface

Interpreting serial port data on Linux is not straightforward, since Linux treats a serial port as a terminal so by default it does terminal-specific stuff to the data. The data below may have been corrupted by the Linux tty subsystem trying to escape/unescape certain byte sequences.

There is an internal serial interface (9600 bps). Use the following to configure the serial port on linux

 stty -F /dev/ttyUSB0 raw 9600 -echo

Then dump using

 cat /dev/ttyUSB0 |hexdump -C

When in bluetooth mode, there is data going over this interface:

01 fc 12 13 aa bb 10 05 3b 20 20 34 34 2e 31 64 42 41 3d 34 00 04 14 
01 fc 12 13 aa bb 10 05 3b 20 20 34 30 2e 34 64 42 41 3d 34 00 04 13 
01 fc 12 13 aa bb 10 05 3b 20 20 33 39 2e 30 64 42 41 3d 34 00 04 17 
01 fc 12 13 aa bb 10 05 3b 20 20 33 38 2e 35 64 42 41 3d 34 00 04 1b 
01 fc 12 13 aa bb 10 05 3b 20 20 33 38 2e 34 64 42 41 3d 34 00 04 1a 
01 fc 12 13 aa bb 10 05 3b 20 20 33 38 2e 38 64 42 41 3d 34 00 04 1e 
01 fc 12 13 aa bb 10 05 3b 20 20 33 39 2e 31 64 42 41 3d 34 00 04 18 
01 fc 12 13 aa bb 10 05 3b 20 20 33 38 2e 39 64 42 41 3d 34 00 04 1f 
01 fc 12 13 aa bb 10 05 3b 20 20 33 39 2e 35 64 42 41 3d 34 00 04 1c 
01 fc 12 13 aa bb 10 05 3b 20 20 33 39 2e 32 64 42 41 3d 34 00 04 19 

Dividing into "frames", starting with 01 fc 12 aa bb:

01 fc 12 13 aa bb 10 05 3b 20 20 34 34 2e 31 64 42 41 3d 34 00 04 14 => "44.1dBA"
01 fc 12 13 aa bb 10 05 3b 20 20 34 30 2e 34 64 42 41 3d 34 00 04 13 => "40.4dBA"

<---------header--------->
01 fc 12 13 aa bb 10 05 3b
                           <------------ascii------->
                                  X  X  .  X  d  B  A
                                                      <--- footer-->
                                                      3d 34 00 04 ??
footer
3d 34 XX 04 YY
^--- ????
   ^--- is 34 in slow mode, 33 in fast mode
      ^--- buttons pressed: 01 = hold, 04 = min, 08 = max
         ^--- always 04?
            ^--- varies between 10, 11, 12, 13, 14, 15, 16, 17, 19, 1B


Each frame is 23 (x017) bytes long

BLE interface

This thing has a bluetooth interface. FCC report on the bluetooth part: https://fcc.report/FCC-ID/2AWEE-8762-01/4740558

In short, as I interpret the BLE configuration:

  • a "Generic Attribute Profile" service, like all BLE devices have
  • a service related to bluetooth parameters, also looks fairly standard, and not related to the measurements themselves
  • a "Device information" service
  • a custom vendor-specific service, where I suspect the noise-meter specific data is

In raw format:

  • service 00001801-0000-1000-8000-00805f9b34fb: Generic Attribute Profile
    • ...
  • service: 0000ff12-0000-1000-8000-00805f9b34fb: Unknown
    • characteristic: 0000ff01-0000-1000-8000-00805f9b34fb Unknown
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb Characteristic User Description "Data In"
    • characteristic: 0000ff02-0000-1000-8000-00805f9b34fb Unknown
      • descriptor: 00002902-0000-1000-8000-00805f9b34fb Client Characteristic Configuration
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb Characteristic User Description "Data Out"
    • characteristic: 0000ff03-0000-1000-8000-00805f9b34fb Unknown
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb Characteristic User Description "Baud Rate"
    • characteristic: 0000ff04-0000-1000-8000-00805f9b34fb Unknown
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb Characteristic User Description "Link Interval"
    • characteristic: 0000ff05-0000-1000-8000-00805f9b34fb Unknown
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb Characteristic User Description "Pair code"
    • characteristic: 0000ff06-0000-1000-8000-00805f9b34fb
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb "BT Name"
    • characteristic: 0000ff07-0000-1000-8000-00805f9b34fb
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb "Pair Code En"
    • characteristic: 0000ff08-0000-1000-8000-00805f9b34fb
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb "Adv interval"
    • characteristic: 0000ff09-0000-1000-8000-00805f9b34fb
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb "TX Power"
    • characteristic: 0000ff0a-0000-1000-8000-00805f9b34fb
      • ... "MCU Delay"
    • characteristic: 0000ff0b-0000-1000-8000-00805f9b34fb
      • ... "Mode Control"
    • characteristic: 0000fff0-0000-1000-8000-00805f9b34fb
      • ... "Factory Set"
    • characteristic: 0000fff1-0000-1000-8000-00805f9b34fb
      • descriptor: 00002901-0000-1000-8000-00805f9b34fb "Reset"
  • service: 0000180a-0000-1000-8000-00805f9b34fb Device Information
    • ...
  • service: 0000d0ff-3c17-d293-8e48-14fe2e4da212 Vendor specific
    • characteristic: 0000ffd1-0000-1000-8000-00805f9b34fb Write
    • characteristic: 0000ffd2-0000-1000-8000-00805f9b34fb Read, typically 40C1F6049BD7
    • characteristic: 0000ffd3-0000-1000-8000-00805f9b34fb Read, typically 01901468
    • characteristic: 0000ffd4-0000-1000-8000-00805f9b34fb Read, typically 21100048
    • characteristic: 0000ffd5-0000-1000-8000-00805f9b34fb Read, typically ...?
    • characteristic: 0000ffd8-0000-1000-8000-00805f9b34fb Write
    • characteristic: 0000fff1-0000-1000-8000-00805f9b34fb Read, typically 0501000700080000F00F0000
    • characteristic: 0000fff2-0000-1000-8000-00805f9b34fb Write
    • characteristic: 0000ffe0-0000-1000-8000-00805f9b34fb Read, typically 00 00 00 01 01 00 00 00 01 90 14 68 21 10 00 48