Since rjrumfel and A Tanzarian asked about the sensor devices I've assembled and am trying to deploy, I thought I would talk about them here in this thread.My goal is to detect atmospheric gravity waves, particularly in winter storms. https://en.wikipedia.org/wiki/Gravity_wave This effort is part of my atmospheric science research. We're interested in these waves because they're generated by interesting weather. Their long range propagation tells us some things about the temperature structure of the lower atmosphere and they sometimes interact with other features inside winter storms (this is the part we're really interested in because the details aren't well known).I've added high resolution pressure sensors (Adafruit BMP388) to some Raspberry Pi Zeros to log atmospheric pressure measurements. The pressure perturbation from these waves is typically only a tenth of a millibar (hPa). The BMP388 is sensitive to pressure changes as small as 0.8 Pa. I've been sending these sensors out to friends, family, and colleagues to try and build a network. I'm going to send out about eight more soon. With a network of these sensors spread a few kilometers apart we can use the collective measurements to identify the waves and estimate their speed, direction, wavelength, and amplitude.Right now, I log the date, time, pressure, temperature, and for some of the early devices I assembled that use BME280 sensors, relative humidity. I do this every second. The Pi Zeros connect to local WiFi. The data is written to CSV. Every 5 minutes the devices use rsync to push their data to one of my lab servers. My whole lab sits on a VLAN on the NCSU network and is behind a pfSense firewall that I administrate. Since the devices are typically on residential WiFi, they keep their addresses updated with DuckDNS, a dynamic DNS service. I use the FQDNs from DuckDNS to populate the whitelist on my firewall that lets the rsync connections through.I'm still in the testing phase with these. I'm trying to make sure the software is robust, that the dataflow works, etc... There's a whole list of things I'd like to do but don't necessarily have the time to figure out. Mainly cloud type stuff that would allow for better real time analysis and monitoring.Here's some pictures of the assembly and a little bit of the data.https://photos.app.goo.gl/ZqQqZAree73y32nD6
1/16/2019 11:38:05 AM
That's awesome! Thank you for sharing!What sort of signal analysis are you using to identify the waves? Are there other phenomena that could produce similar pressure transients?How are you synchronizing time across the Pis? Plain ol' NTP? How critical is accurate time-keeping to your calculations?
1/17/2019 12:43:42 AM
Signal analysis is still an open question. We're not really to that point yet.There are other things that can produce signals like the ones we're looking for but it's really not a long list and looking at the broader weather context will rule things out pretty quick.NTP. It provides sub-second accuracy which is good enough. These aren't gravitational wave moving at the speed of light. Typical propagation speeds are on the order of a few 10s of meters per second and the wave lengths are typically several km. Given that the Pi doesn't have it's own RTC, I may add on in future hardware revisions.I saw this going through data last night. Blew my mind. This is Raleigh on 13 January 2019. Last Sunday.https://photos.app.goo.gl/niSUeZYmW6EEk3vy6
1/17/2019 12:14:44 PM
Great information, very interesting. Thanks for sharing. Are you a professor at state? Grad student?
1/17/2019 2:58:35 PM
^ Research staff. Like faculty without the pay or job security. At least I don't have to teach!The doppler radial velocity data for the 13 January case:https://photos.app.goo.gl/zCrsmzX5BSo2F43H8
1/17/2019 3:16:11 PM
That Doppler gif is awesome.What's the distribution of the Pi's you have deployed now?I assume the differences in 'base' pressure are due to differences in elevation?Any thoughts on why the outlier Pi (7?) responds so differently?
1/17/2019 6:45:06 PM
PiZero_001 is the outlier. It's at my boss's house in north Raleigh. The offset is purely due to elevation differences between her house and mine. The other Pis are in my house so they all cluster together. I've not added any offsets to this group so you're seeing the variation in the sensors as they come from Adafruit. If I apply some offsets to co-calibrate the sensors, they're sensitive enough to show if one is sitting on my desk versus my floor.The question of why the Pi at my bosses house is seeing a different wave form is still open. Did she see something different or is her sensor misbehaving? We're putting a second sensor at her house to tomorrow help answer that question. I've also put a sensor in Jordan Hall as of Tuesday.You know the adage about a man with two watches not knowing the time.... At one point I had 11 pressure sensors recording on my office desk.[Edited on January 18, 2019 at 12:09 AM. Reason : needed editing]
1/18/2019 12:06:28 AM
Will the sensors pickup changes in pressure due to HVAC inside or changes in dynamic pressure outside (e.g., the wind)?What's the difference in elevation between your house and your boss' house? An almost 5 hPa difference seems like a lot. Then again, there's almost a 1 hPa difference between two Pis sitting together in your house.
1/18/2019 4:47:42 PM
I've not noticed any pressure perturbations due to HVAC. Maybe in an energy star building it would be an issue. Since the sensors also record temperature, I can see when the HVAC cycles on and off.The sensors are kept inside to mitigate dynamic pressure perturbations from wind.As for the difference in elevation, based on the differences in pressure I'd say around around 45 meters but from looking at topo maps it looks like it's closer to 30 meters. PiZero_001, PiZero_002, and millerPi were calibrated to match but I can see from the data that there has been some drift. PiZero_002 is in my garage on the first floor so it should read a little higher than millerPi. For this application, the absolute accuracy isn't as important as the relative accuracy.
1/18/2019 5:32:18 PM
This is pretty awesome!I'd be interested in hosting one of these for you if you need volunteers. I've already got a Davis station here in Cary that has been reporting to WxUG for years. PM me if you'd like.]
1/22/2019 2:06:32 PM
Anybody who's good with Fusion or some other 3D modeling package want to bang out a simple custom Raspberry Pi Zero case for me? Something good for 3D printing.I need something were I can mount the Pi and the Sensor with enough room to make the wiring simple. I've played with this myself, but I don't have the experience to know if I'm handling the ports for the micro USB and other terminals correctly.
1/22/2019 3:07:32 PM
Is anything here a useful starting place?https://www.thingiverse.com/search?q=raspberry+pi+zero
1/22/2019 4:03:31 PM
Maybe I'll start from one of those and see if I can't adapt it.
1/22/2019 4:27:17 PM
awesome thread
1/24/2019 10:51:00 AM
You guys are a lot easier to impress than the Adafruit forums.
1/24/2019 4:24:00 PM
That's because they suck and we don't. Add that to your research findings.
1/24/2019 6:37:51 PM
I'm disappointed these aren't the same kind of gravity waves from 2 black holes merging
1/24/2019 7:25:36 PM
Sensors for that are a little beyond my research budget.
1/25/2019 10:07:25 AM
I second the hosting comment. I'm just outside of Charlotte, so I'd be willing to host. I've got access to some other buildings where I could probably set them up as well
2/21/2019 10:46:05 PM
You are too far away from my other sensors at the moment. We're friends with some faculty at UNCC, so if we expand our network to Charlotte, I'll keep you in mind.
2/22/2019 1:48:44 PM
You have a gitlab or something?Can we participate? This looks like a very important project. [Edited on June 6, 2019 at 12:22 AM. Reason : I want to see if my p33n causes a gravity wave]
6/6/2019 12:22:24 AM
You misspelled GitHub mannnnnn[Edited on June 6, 2019 at 12:26 AM. Reason : I have it on good authority that your p33n is too small to be measured by any modern instruments ]
6/6/2019 12:23:50 AM
I don't have the code or schematics up anywhere. It's all dirt simple though. To make the sensor you have to connect 4 wires (I2C stuff) from the Adafruit break out board to the Pi Zero. Then I just have a few python scripts. One is a script in the crontab that updates with DuckDNS which I use to populate a firewall whitelist so these can push the data back to me. I then have a rsync crontab script that does the pushing. Then the script that polls the sensor every second and writes data to CSV files.If your interested in tinkering, let me know and I'll send you a shopping list and all the code you would need to get started.I have a to-do list:I'd like to figure out how to configure the WiFi on a Raspberry Pi in a fashion similar to a Chromcast. At the moment, if I give one of these to someone, I get them to give me their WiFi into which I put in the the /etc/wpa_supplicant.config file. It makes relocating them a lot of work. I either have to move them to or spoof a known WiFi network or else hook up a monitor, mouse, and keyboard.I'd also like to experiment moving data - likely via MQTT - to a application like Thingsboard so I can do better real-time monitoring.Hardware wise, I'd like a solar/battery powered versions. Raspberry Pis suck for that because they can't do the deep sleep stuff like microcontroller can so they use too much power. So I would have to rework things for an Arduino or similar device. Then that leaves a communication challenge. I either have to stay under a WiFi umbrella or do something different. We haven't been placing these close enough together for LoRa to be cost effective unless there were already 3rd party gateways present. Cellular just costs too much. I don't know how utilities like power companies deal with that cost where all their new meters call home via cellular. I should also work in an RTC. Sometimes if there are connectivity issues, I can't pull NTP time and I start logging with incorrect timestamps.
6/6/2019 9:53:05 AM
How densely would you deploy these if cost were no object?
6/13/2019 7:55:32 PM
^^ have you looked at aws iot?the front end dashboard is done for you, don't have to worry about any kind of firewall, and you can get the wifi workflow you want if you install something like greengrass on an rpi or use something much lower power with amazon's freertos distro. you just need to generate a cert for each new device. communication is over mqtt or https
6/15/2019 2:17:34 PM
^^ Every few kilometers? I'd just place one on every cell phone tower and call it a day.^ I know it exists and it sounds useful. I just need some time to learn about this stuff. What I need is a really ambitious undergrad I can hire.
6/17/2019 4:29:43 PM
Can you use pressure sensors to detect your butt?
6/20/2019 11:38:35 AM
There's a joke here about LIGO and your mom's butt but it's late and I'm tired.
6/21/2019 1:28:30 AM
I have the one I have in Jordan Hall transmitting in real-time to Adafruit IOhttps://io.adafruit.com/millercommamatt/dashboards/pressure-display
9/6/2019 2:24:58 PM
I finally have some realtime plots working
4/23/2020 3:45:12 PM