{"id":383,"date":"2023-09-12T23:31:43","date_gmt":"2023-09-12T22:31:43","guid":{"rendered":"http:\/\/knowhere.myqnapcloud.com\/WordPress\/?p=383"},"modified":"2023-11-15T23:33:44","modified_gmt":"2023-11-15T23:33:44","slug":"diy-all-sky-camera-weather-station","status":"publish","type":"post","link":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/2023\/09\/12\/diy-all-sky-camera-weather-station\/","title":{"rendered":"DIY All Sky Camera + Weather Station"},"content":{"rendered":"\n<p>I&#8217;ve been wanting to build one of these for a long time. Some of the parts I&#8217;ve even had for a number of years already. But not until recently have I had a place to install one. So here&#8217;s my take on the subject.<\/p>\n\n\n\n<p>It is a Raspberry Pi 3B + Raspberry Pi HQ camera based system with a DIY nichrome wire dew heater. Everything will be powered from a PoE splitter which gives me max 5V \/ 2.4A.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"762\" height=\"1024\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201318-762x1024.jpg\" alt=\"\" class=\"wp-image-384\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201318-762x1024.jpg 762w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201318-223x300.jpg 223w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201318-768x1032.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201318-1143x1536.jpg 1143w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201318.jpg 1275w\" sizes=\"auto, (max-width: 762px) 100vw, 762px\" \/><\/figure>\n\n\n\n<p>Camera and lens are attached to the box with an adapter I 3D printed. Around this is a 3D printed bracket that holds the thin nichrome wire dew heater. It&#8217;s about 20cm long 0.2mm thick and draws about 400mA at 5V. Seems to warm up nicely but not too hot to melt the plastic.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"687\" height=\"1024\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201421-687x1024.jpg\" alt=\"\" class=\"wp-image-385\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201421-687x1024.jpg 687w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201421-201x300.jpg 201w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201421-768x1144.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201421-1031x1536.jpg 1031w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201421.jpg 1295w\" sizes=\"auto, (max-width: 687px) 100vw, 687px\" \/><\/figure>\n\n\n\n<p>I&#8217;m using one of these pipe shelf brackets to attach it to my garage wall. It also serves the purpose of the cable entry to the box. The box itself is IP65 rated and I&#8217;ve tried to seal everything up as good as I could with neoprene gaskets and silicone.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"906\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201805-1024x906.jpg\" alt=\"\" class=\"wp-image-401\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201805-1024x906.jpg 1024w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201805-300x266.jpg 300w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201805-768x680.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230824_201805.jpg 1305w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p> Also what&#8217;s not shown in the pictures above is one of these pressure compensation valves (IP68) I added to the bottom of the box:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.electricalcounter.co.uk\/custom\/upload\/images\/products\/1\/600x600\/WIS_10102369.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Out of curiosity I thought I&#8217;d check what the effect of the dew heater would look like on a thermal camera. Here&#8217;s a picture before turning it on:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/1692913581875_100-768x1024.jpg\" alt=\"\" class=\"wp-image-386\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/1692913581875_100-768x1024.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/1692913581875_100-225x300.jpg 225w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/1692913581875_100.jpg 1080w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p>And here&#8217;s after about 10-15 minutes of full power:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/1692914822203_100-768x1024.jpg\" alt=\"\" class=\"wp-image-387\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/1692914822203_100-768x1024.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/1692914822203_100-225x300.jpg 225w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/1692914822203_100.jpg 1080w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p>I also decided to add a DS18B20 temperature sensor inside the dome so I can control the dew heater better as I&#8217;m also adding an ambient temperature \/ humidity + pressure sensors:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230826_213819-1024x576.jpg\" alt=\"\" class=\"wp-image-389\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230826_213819-1024x576.jpg 1024w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230826_213819-300x169.jpg 300w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230826_213819-768x432.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230826_213819-1536x864.jpg 1536w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230826_213819-2048x1152.jpg 2048w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230826_213819-1920x1080.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>For the sensors I designed and printed a sensor screen. Probably an overkill but at least it looks kinda cool \ud83d\ude09<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"844\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_172901-1024x844.jpg\" alt=\"\" class=\"wp-image-390\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_172901-1024x844.jpg 1024w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_172901-300x247.jpg 300w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_172901-768x633.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_172901.jpg 1493w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The sensor screen is hanging off the bottom of the box like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"712\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_181051-1024x712.jpg\" alt=\"\" class=\"wp-image-392\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_181051-1024x712.jpg 1024w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_181051-300x208.jpg 300w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_181051-768x534.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_181051-1536x1067.jpg 1536w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230827_181051.jpg 1878w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The wiring inside is a bit messy but it works. I also added an STP55NF06 Mosfet in series with the dew heater so I could control it&#8217;s power with PWM from the RPi3.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"685\" height=\"1024\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230828_223525-685x1024.jpg\" alt=\"\" class=\"wp-image-393\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230828_223525-685x1024.jpg 685w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230828_223525-201x300.jpg 201w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230828_223525-768x1148.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230828_223525-1028x1536.jpg 1028w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230828_223525.jpg 1284w\" sizes=\"auto, (max-width: 685px) 100vw, 685px\" \/><\/figure>\n\n\n\n<p>Had to jump through a number of hoops but I managed to write an INDI driver for this. I couldn&#8217;t find libraries \/ examples on how to read the sensors connected to the GPIO via C++ so I wrote a python script that uses various python libraries in order to read them. The script dumps all the sensor data into a json file periodically. I&#8217;ve set this to run as a systemd service so it&#8217;s always running. My INDI driver then reads the json file and updates the UI properties etc. Then in order to control the dew heater with PWM I had to install pigpio and run it as a daemon. The INDI driver connects to it and issues the desired PWM duty cycle commands. Bit clunky but it works \ud83d\ude42<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"937\" height=\"1016\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/indi_driver.png\" alt=\"\" class=\"wp-image-394\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/indi_driver.png 937w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/indi_driver-277x300.png 277w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/indi_driver-768x833.png 768w\" sizes=\"auto, (max-width: 937px) 100vw, 937px\" \/><\/figure>\n\n\n\n<p>I also decided to add an external 500GB NVMe storage with a USB adapter to both increase the storage capacity and reduce the I\/O on the SD card. I&#8217;ve setup <a href=\"https:\/\/github.com\/aaronwmorris\/indi-allsky\">indi-allsky<\/a> to use this drive for its database and image \/ timelapse storage. It&#8217;s not the speediest thing with the USB 2,0 connection of the RPi3 but neither is the SD card. Does the job though.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"693\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230907_013040-1024x693.jpg\" alt=\"\" class=\"wp-image-395\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230907_013040-1024x693.jpg 1024w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230907_013040-300x203.jpg 300w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230907_013040-768x520.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230907_013040-1536x1040.jpg 1536w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230907_013040.jpg 1927w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Finally I installed all this to the edge of the roof of my garage:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"888\" height=\"1024\" src=\"..\/..\/..\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230908_182759-888x1024.jpg\" alt=\"\" class=\"wp-image-396\" srcset=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230908_182759-888x1024.jpg 888w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230908_182759-260x300.jpg 260w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230908_182759-768x885.jpg 768w, https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-content\/uploads\/2023\/09\/IMG_20230908_182759.jpg 1177w\" sizes=\"auto, (max-width: 888px) 100vw, 888px\" \/><\/figure>\n\n\n\n<p>After a bit of tinkering with the <a href=\"https:\/\/github.com\/aaronwmorris\/indi-allsky\">indi-allsky<\/a> config and some python and php scripting I managed to get it to upload the data to my website. The All-Sky data can be found <a href=\"..\/..\/..\/the-eye-on-the-sky\/\" data-type=\"page\" data-id=\"353\">here<\/a> and the <a href=\"..\/..\/..\/weather-dashboard\/\" data-type=\"page\" data-id=\"419\">weather<\/a> data here.<\/p>\n\n\n\n<p>At some point in the future I&#8217;d like to add wind speed and direction sensors and rain detector as well.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been wanting to build one of these for a long time. Some of the parts I&#8217;ve even had for<\/p>\n<p><a href=\"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/2023\/09\/12\/diy-all-sky-camera-weather-station\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\">DIY All Sky Camera + Weather Station<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":396,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","ngg_post_thumbnail":0,"footnotes":""},"categories":[7],"tags":[14,18,9,19],"class_list":["post-383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diy-astonomy","tag-3d-printed","tag-allsky","tag-diy","tag-weather"],"modified_by":"nightowl","_links":{"self":[{"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/posts\/383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/comments?post=383"}],"version-history":[{"count":11,"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/posts\/383\/revisions"}],"predecessor-version":[{"id":532,"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/posts\/383\/revisions\/532"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/media\/396"}],"wp:attachment":[{"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/media?parent=383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/categories?post=383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ironmountain.halley-arctic.ts.net\/WordPress\/wp-json\/wp\/v2\/tags?post=383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}