|
Post by Jason on Oct 3, 2020 5:33:25 GMT -8
 I've been lurking around here for about six months without properly introducing my weather station. I diverged pretty dramatically from the source code provided for the weather station. I rewrote the orchestration aspects of the weather station in Python 3 while continuing to leverage the drivers written by SwitchDoc Labs that I manually upgraded to Python 3. I rewrote a lot of the software because I wanted to store my readings in PostgreSQL, expose an API that could read the sensors directly and talk to the database to obtain daily, weekly, monthly, and yearly totals for rainfall, etc., and utilize MQTT to capture telemetry from the station including weather readings and basic board telemetry because I'm a huge Node-RED fan. I also wanted my weather station to run asynchronously. As a result, I built my weather station to run as a web application utilizing the Python library aiohttp. The attached image shows the basic structure of the web application. I'm having a bit of trouble getting the lightning sensor to cooperate with me so my weather station is still on the bench next to me. However, I'm hopeful I can solve my problems sometime soon so I can get the kit outside. My station is located in North Carolina so I'm very concerned about heat as well. Thanks, Jason Weather Station Gryphon
|
|
|
Post by SDL on Oct 3, 2020 10:03:03 GMT -8
|
|
|
Post by Jason on Oct 4, 2020 5:59:26 GMT -8
The challenge with heat isn’t strictly limited to the board. The intensity of the sunlight here throws off the temperature sensor by 20-25F in direct sunlight during the summer. I purchased a Stevenson-like enclosure for the temperature sensor so will need to test that as well.
I’d be delighted to write an article, however, I’d really like to get my setup working first. I’m disappointed that I’ve not been able to capture reliable readings on the lightning strikes with the simulator.
Jason
|
|
|
Post by SDL on Oct 5, 2020 16:58:43 GMT -8
Jason,
Good job on the Stevenson enclosure. Helps a lot. We usually mount our temperature sensors underneath a deck or out of the sun.
What is the current problem with the simulator? I do understand it is a bit flaky.
BP
|
|
|
Post by Jason on Oct 7, 2020 5:01:32 GMT -8
The lightning simulator appears to be working fine. The challenge I'm having is detecting all of the simulated strikes. I'm fairly certain I have too much electronics nearby. Need to move it to the bench in my garage to continue testing.
Jason
|
|
|
Post by storm017 on Oct 7, 2020 18:44:37 GMT -8
|
|
|
Post by Jason on Oct 16, 2020 8:22:41 GMT -8
Unfortunately no. My issue is more around consistently detecting the strikes. I can run the test script and consistently detect them. Stop and restart the script, and not detect any without changing anything on the lightning simulator.
Thanks,
Jason
|
|
|
Post by SDL on Oct 18, 2020 8:17:43 GMT -8
Does the lightning detector ever fail during a detection run? In terms of not reading the I2C interface.
BP
|
|
|
Post by Jason on Oct 21, 2020 12:42:23 GMT -8
Not that I've seen. I've even gone so far as to run the test scripts testSDL_Pi_TCA9545.py and testAS3935.py simultaneously to see if they would interfere with each other. Both run smoothly :-)
Thanks,
Jason
|
|
|
Post by SDL on Oct 21, 2020 13:03:03 GMT -8
Try turning off the power between starting and stopping the scripts and report back. I wonder if something is not being initialized.
BP
|
|
|
Post by Jason on Oct 31, 2020 9:15:32 GMT -8
Some interesting results. Following a cold restart, the script throws "Remote I/O Error" from the I2C mux for the initialization of the BME680 sensor. If I run BME680/read-all.py immediately after the error is thrown on my app, the read-all.py script also throws a "Remote I/O Error." If I run testSHT30.py and then run BME680/read-all.py, I get readings from the pressure sensor. I'm going to have to investigate why initializing the pressure sensor following a reboot throws that error.
Thanks,
Jason
|
|
|
Post by SDL on Oct 31, 2020 9:45:47 GMT -8
Bizzarre. I await your results.
BP
|
|
|
Post by Jason on Nov 22, 2020 11:24:20 GMT -8
Hooray! I finally got some time to sit and tinker. Unfortunately, my tinkering continues to puzzle me. Let me explain. I disassembled my weather station and went back to the bench. Currently, the only things connected to my RPi are my PiGrover and PiWeather. Following a cold boot, I SSH to my RPi and attempt to run BME680/read-all.py which produces a "Remote I/O Error". I'm going to reformat the SD card in my RPi and start from scratch :-).
Thanks,
Jason
|
|
|
Post by Jason on Nov 22, 2020 12:06:01 GMT -8
Sigh...now I'm really concerned. I've reformatted the SD card with a clean installation of Raspberry Pi OS and updated the OS. SSH, camera, and I2C interfaces have been enabled. I've installed pigpio and enabled the daemon, and installed python-smbus. Executing testSDL_Pi_TCA9545.py shows me all relevant connections minus the connection for the sunlight sensor. Finally, I attempted to execute BME680/read-all.py only to receive the "Remote I/O Error". Is it possible that my PiWeather board has become defective?
Jason
|
|
|
Post by Jason on Nov 22, 2020 12:20:45 GMT -8
One last comment. I can run testSHT30.py and testTSL2591.py successfully. I can not run BME680/read-all.py without receiving a "Remote I/O Error".
Jason
|
|