Friday, April 5, 2024

Data Collection Plan for Total Solar Eclipse 2024

First of all, if you've been watching the weather forecasts, you may have concluded that the total solar eclipse passing through Dallas on Monday will be a bust. Well, don't give up hope, yet. Even though we got clouded out in 2017 on our trip to Marshall, Missouri, as you would see in my post from back then, I still managed to capture of view of totality through the clouds. All it takes is for the clouds to part a bit at just the right time or the clouds to be high altitude and thin for us to still be able to see totality. Regardless of the forecast, be sure to get outside to see what there is to see!

Even if we are clouded out, you'll still experience one aspect of a total solar eclipse: it will get dark! With that in mind, I expect to have a successful day whether I get to see the total eclipse or not. I have a bunch of microcontrollers (ESP32) with sensors that I'll be using to collect data that day. 

That said, you may find that my approach to data collection is a bit unorthodox. Here's part of my setup for data collection. Yes, that is a Nonni's biscotti box. :-D

Seriously, here's the type of data I'll be collecting:

- light levels for visible light and near infrared (lux)
- light spectrum levels in various wavelengths
- environment: temperature, humidity, air pressure
- sound level changes (dB)
- magnetic field changes

WARNING: you may be a geek if you keep reading beyond this point. 

TL;DR

The architecture I'm using builds on infrastructure I already have in place. I use Home Assistant running on a Raspberry Pi for my home automation, control and historical data. Home Assistant supports integrating data sensors using microcontrollers called an ESP32 via a system called ESPHOME. By attaching various sensor components to an ESP32 then configuring it in ESPHOME, it makes it simple to automatically collect sensor data in Home Assistant for storage, retrieval, monitoring and analysis. 

Here is an example of a historical data graph in Home Assistant. The beauty of this besides being able to quickly visualize data is that Home Assistant also makes it easy to download the data for analysis in other tools. 

My original plan was to set things up to collect data through three full days, the day before, of and after the eclipse. Given the prospect of clouds and, more importantly, the forecast for rain on Tuesday, I've scaled back to just trying to collect data in the hours around the eclipse. I considered creating weatherproof enclosures for the sensors but that would have turned a shoestring-budget project into something quite a bit more expensive. 

After things have wrapped up, I'll pull up history for all the sensor devices in Home Assistant and download the data for further analysis.

As for the details of the sensors I'm planning to deploy, let's start with the light sensors. You can see details of the code plus the specific sensors in this gist on github.com. For this sensor package, the ESP32 and the sensors are mounted on a breadboard that is in the bottom of the biscotti box.

The reason is that my goal is to measure changes in ambient light. For various (and technical) reasons, direct sunlight would be more challenging to measure with these sensors. Given we should see a drop in ambient light levels (and color levels) during totality even if it is cloudy, I think the data will be more predictable and meaningful just measuring ambient light. Pointing the sensors straight up and blocking them from direct sunlight should accomplish this. 

One thing you'll see in the ESPHOME code for each sensor package is that they generally report data back to Home Assistant once a minute but include a switch I can turn on that tells the sensor to send measurements every second (or faster). I have Home Assistant automations set up to flip the high speed data collection switch on for each sensor package a little while before the eclipse starts and turn it back off a little while after the eclipse ends. That way once I set things up Sunday evening or Monday morning, I can focus my attention on the eclipse, leaving the data collection to happen automatically. 

On one side of the outside of the box is another ESP32 mounted on a breadboard with a sensor to measure the environment. Here's the gist with the ESPHOME including details on the sensor.  It will collect data on temperature, relative humidity and air pressure. The code also derives absolute humidity and dew point. 

Based on things I have read including published eclipse science projects, we should certainly see a change in temperature as the Moon's umbra passes over us during totality. Relative humidity has an inverse correlation to temperature so I expect to see changes to it that are similar to the temperature changes (but inverted). I have no idea what to expect in terms of changes in absolute humidity, air pressure and dew point but it will be interesting to see if there are changes that match the timing of the eclipse. 

On the other side of the box is an ESP32 with a digital microphone. This one is set up to measure changes in sound levels throughout the eclipse. You'll see in the gist, this is based on a custom ESPHOME component. It provides sound levels in several forms but my interest is in just having the unfiltered (raw) sound levels. 

Measuring changes in sound levels that can correlate to the total phase of the eclipse may be challenging. Although it may "get quiet" in terms of reactions to the darkness by birds and insects, my guess is that loud expressions of joy during totality by folks gathered with us to observe the eclipse may offset any drop in sound levels by nature. 

The last sensor package I've put together was an afterthought. I had one more ESP32 and also had a sensor that is a magnetometer, one that measures changes in magnetic fields in 3 axis. See this gist for the ESPHOME code which includes details of the sensor. The ESP32 I'm using in this case also happens to be much smaller than the others which seemed like to a good idea for a sensor trying to measure changes in local magnetic fields. 

Based on my research, there have been changes in magnetic fields around Earth measured during past total eclipses but those measurements were performed with sophisticated equipment in the upper reaches of the atmosphere or in space. I don't have any reason to expect that I'll measure any changes that correlate to the timing of the eclipse with my simple magnetometer setup but I figure I'll do the data collection and see what happens. 

For this sensor package, I've mounted the sensor on top of a wooden yardstick with the ESP32 below and a Wi-Fi antenna below that. My plan is to have this mounted on a stake well away from structures and people to minimize other magnetic fields nearby. However, that means it's further to the Wi-Fi router, hence the extra antenna. I'm also using a power pack instead of using a power adapter plugged into AC power. This means the only limitation on where I can put this will be how far from the house I get before the Wi-Fi signal drops. 

Sometime next week when I have had time to review and analyze the data collected on Monday, I'll write up my conclusions and share them here. 

Just two days and a wake-up before show-time!

Stay tuned!



No comments:

Post a Comment