You have selected an invalid widget to be created. Please select a valid widget to be created.
Clear Sky Sensor Box
- Channel ID: 111706
- Author: antiath
- Access: Public
An attempt to a weather station for astronomy purposes. Temperature (°C), Relative Humidity (%), Rain detection (0 : wet, 1: dry), Cloud detection (°C,< -25: clear,>-10: overcast), custom Sky quality meter (Mag/arcsec²),Dewpoint, Windspeed (km/h)
weather station, astronomy, sky quality meter
weather station, astronomy, sky quality meter
Export recent data
| Clear Sky Sensor Box Channel Feed: | JSON XML CSV |
| Field 1 Data: Température | JSON XML CSV |
| Field 2 Data: Humidité | JSON XML CSV |
| Field 3 Data: Pluie | JSON XML CSV |
| Field 4 Data: Couverture nuageuse | JSON XML CSV |
| Field 5 Data: Pollution Lumineuse ( SQM) | JSON XML CSV |
| Field 6 Data: Vitesse du vent | JSON XML CSV |
| Field 7 Data: Point de rosée | JSON XML CSV |
| Field 8 Data: Obs.Humidity | JSON XML CSV |
Field 4 Chart IFrame
<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/111706/charts/4?bgcolor=%23ffffff&color=%23d62020&days=1&dynamic=true&type=line"></iframe>
Field 5 Chart IFrame
<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/111706/charts/5?bgcolor=%23ffffff&color=%23d62020&days=1&dynamic=true&type=line"></iframe>
Field 3 Chart IFrame
<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/111706/charts/3?bgcolor=%23ffffff&color=%23d62020&days=1&dynamic=true&type=line"></iframe>
Field 6 Chart IFrame
<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/111706/charts/6?average=20&bgcolor=%23ffffff&color=%23d62020&days=1&dynamic=true&type=line"></iframe>
Field 2 Chart IFrame
<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/111706/charts/2?bgcolor=%23ffffff&color=%23d62020&days=1&dynamic=true&type=line"></iframe>
Field 1 Chart IFrame
<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/111706/charts/1?bgcolor=%23ffffff&color=%23d62020&days=1&dynamic=true&type=line&yaxismax=40"></iframe>
Field 7 Chart IFrame
<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/111706/charts/7?bgcolor=%23ffffff&color=%23d62020&days=1&dynamic=true&type=line"></iframe>
Correction Humidity IFrame
<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/apps/matlab_visualizations/285694"></iframe>
Field 8 Chart IFrame
<iframe width="450" height="260" style="border: 1px solid #cccccc;" src="https://thingspeak.com/channels/111706/charts/8?bgcolor=%23ffffff&color=%23d62020&days=1&dynamic=true&type=line"></iframe>
I´ve build a Allsky-Cam with a Raspberry PI3 and would love to upgrade it with a SQM.
Can you tell me what Hardware and what Scripts did you use ?
Thanks in advance !
So I don't think my code would be that helpfull, especially since I designed part of the electronics myself ( for ex, the rain detector had no control circuitry and no obvious way to read it so I had to design that ). Plus it is not documented enough to be released to the public and written for an arduino nano, not for a raspberry pi.
Nevertheless, here is the hardware:
- Brain : Arduino nano ( + an esp8266 to send data through wifi)
- Temperature : waterproof DS18S20 placed in its own radiation shield to protect it from the sun. It uses the Onewire library and has multiple tutorials on how to use it.
- Humidity : HIH4030 ( quite pricey but it gives an easy to use analog output, the conversion formula is given by the datasheet)
- Cloud detector : a MLX90614 infrared sensor to measure the temperature of the sky. It is controlled with a variant of i2C if I recall correctly. There are also a bunch of tutorials to use this one. Here's the Adafruit library I use : https://github.com/adafruit/Adafruit-MLX90614-Library
-Rain detector : a capacitive rain sensor by Telecontrolli ( they don't manufacture mine anymore but they got e new one apparently , https://www.radiocontrolli.com/en/component/62/capacitive-rain-sensor)
- The sky quality meter is based on TLS237 with a ir-cut filter and a led lens to limit the FOV of the sensor. T
- For general luminosity : an old and simple LDR ( light sensitive resistor) I got in stock.
Is used this website as an inspiration : https://sourceforge.net/projects/arduinomysqmskyqualitymeter/
For the cloud detector: here's a technical document used by the companiues who build the various weather stations for astronomers ( ex : AAG cloudwatcher) : https://lunatico.es/aagcw/TechInfo/SkyTemperatureModel.pdf
Here you go. Hope this helps.
The rest is unchanged and working well but I just corrected the firmware. The previous version was attempting a temperature compensation for the rain and cloud detector with complicated equations. I disabled those corrections and went for something simpler. For the rain it's just basicaly outputing a value scaled to be readable without any compensation. And for the cloud detector, I just sustract the sky temperature and the ambiant temperature. It's still not correct since we can clearly see the temperature dependance but it less weird than it was before.
I also finally implemented in the code the activitation of the heating element inside those rain sensors. For now it is heating at a third of the maximum power available, as soon as the diffrence between Dew point and ambiant temp is less than 5°C. I will probably change the code to heat at maximum power in the end as the transistor is perfectly capable of handling this.
I recently acquired a genuine SQM device from Unnihedron and promptly compared the output of my own. It turns out that my diy SQM is bang on, so I guess my calibration procedure ( doing photometry of the background sky with a telescope) was correct. And since the SQM is performing good enough during the day, this means I don't need the LDR anymore so I removed it. Plus it was actually not really waterproof.
For the future, I plan on making a whole new pcb as the current one is pretty beat up by the recent soldering jobs . I will switch to an optical rain sensor RG-11 from Hydreon and also add a windspeed sensor.
The temperature/humidity sensor also failed on me...
So to remedy all this, I firstly switched the code to record the internal temperature probe of the cloudsensor. It is exposed to the elements so it should be fairly accurate ( maybe 1 ou 2 degres too high wich is fine). I'll replace the broken one with V2 of the weather station.
For the rain sensor, I just leave it in place and remove ist internal cable.? It is now replaced with an optical rain sensor from Hydreon. Hopefully, it'll be more relaible.
I also added a little cup anemometer I had since many years.
I also completely changed the brain of the device so this required a whole new firmware. Instead of an arduino it is now based an ESP32 wich is able to run a server in addition to publish to Thingspeak. This allows me to code a server compatible with the new Alpaca protocole from ASCOM. Any ASCOM client can now fetch the data from the station directly on the local network.
There ios also a separate teensy 3.2 ( i had one laying around begging to be used) wich is dealing with the Sky quality meter and the anemometer. They both require a frequency counter and it turns out that the ESP32 is really bad at this sort of stuff... Since I already had a circuit board build around the esp32, I decided to keep it anyway. The teensy 3.2 is on the other hand a relly good frequency counter so it gatters the data and send it to the ESP32 through i2C.
The hardware list of the new station is:
- Brain : ESP32 + a separate teensy 3.2 for frequency based sensors ( SQM + wind sensor)
- Temperature : SHT31
- Humidity : SHT31
- Cloud detector : MLX90614
-Rain Sensor : Rydreon RG11
- Wind sensor : cheap cup anemometer with a hall effect switch.
- SQM : TSL237