About My Lantana Sky & Weather Camera

Actual photo of Hikvision sky and weather camera

This sky/weather cam looks north into the sky over Mesquite Park and the Larkspur pool in Lantana, TX. If you look closely in the photo above, you can see that I've added some sealant to the camera. Hopefully this will help keep water out of it because the first camera was taken out by rain water getting inside even though it was suppose to be weatherproof.

You can find this sky/weather cam (and others) on the Weather Underground app. Install and run the Weather Underground app and then go to the map. Make sure the "Webcams" layer is activated. You can find webcams and click on them for a time lapse.

Back to Lantana Sky & Weather CamWeather stationFavorites

Selected Stills

Here's a page with some selected still images from the Lantana sky and weather camera that I've collected.

Technical Details

The camera is a Hikvision DS-2CD2032-I HD PoE mini-bullet camera that is monitored by Blue Iris software running on an 8-core AMD FX-8350 Windows 10 computer. About every minute or so Blue Iris uploads via FTP a still JPG 1920x1086 resolution image from the camera to Weather Underground. The image is compressed to try to keep the file size around 150 KB due to Weather Underground requirements.

Forget everything you just read in the above (except for the computer being used). That was version 1. We are now on version 2 (as of 2018-10-18) with a new Hikvision 4MP DS-2CD2042WD-I PoE mini-bullet camera and I've changed the way images are handled. Blue Iris now saves a full-resolution (2688x1520) camera still to a folder and a batch script runs about every minute (via Windows Task Scheduler) to process the image by using ImageMagick to reduce the resolution to 1920x1086 with a JPG quality level of 75 to try to keep the image file size down to around 150 KB (if the image at quality 75 is significantly under 150 KB then it re-compresses the image with a higher quality level of 85). The batch script then uploads the image to a server (using pscp from PuTTY) and Weather Underground (via FTP using WinSCP). I believe this new method will allow for greater control and better reliability. UPDATE: In order to reduce the time from when an image is captured from the camera to when it is uploaded, a PowerShell script was developed to monitor the folder for new images and then to call the batch script to process the image as soon as a new image from Blue Iris is detected.

Forget some of the stuff you just read above. We are now on version 2.5 and things just keep getting better. Instead of Blue Iris posting (saving) an image every minute, the batch script that runs every minute (via Windows Task Scheduler) now gets the camera image file from Blue Iris through its web server by making a simple local URL request using wget. This avoids problems and issues like monitoring the folder for when Blue Iris posts the image and then having to make sure the image file is complete (not locked) before trying to process it. It also minimizes the delay from when the image is captured to when it is available on the server.

Forget some of the stuff you just read above. We are now on version 3 and things just keep getting better. Instead of using pscp, wget, and WinSCP, we're now just using the powerful curl utility and a new PHP script on the server. Using curl, the camera image file is now posted the the PHP script on the server which saves the image to the appropriate file.

The page that refreshes to see the latest image from the camera refreshes about every minute.

I have tried to adjust the camera settings to provide the best quality images for cloud monitoring/watching (i.e. good colors and avoiding blow-outs). I've also tried to adjust the settings to provide good images at night (i.e. so image is not too dark or too bright).

Interesting Stuff

2024-03-20: The camera is still holding up, even after a March 14th hailstorm that destroyed my roof (for the 3rd time). Hopefully there was no significant damage to the camera and it will keep on working. It did get knocked off target a bit but I adjusted it back.

2022-07-18: I haven't updated in awhile but I wanted to say that the current camera (the DS-2CD2042WD-I) has been excellent and is still holding up well. So far it is surviving the horrible Texas summer of 2022 and temps reaching almost 110 degrees (the real temp, not the heat index) <knock-on-wood>. I should also note that it survived the Texas winter disaster of February 2021 when my power was going on and off for days because Texas and ERCOT couldn't keep the power on.

2018-10-18: A new camera was installed in the morning (after adding some silicon sealant in hopes of better waterproofing). Back in business, and hopefully for much longer this time!

2018-10-17: Shortly after first installing a Hikvision DS-2CD2032-I camera in mid October 2018, it rained causing water to get inside the "weatherproof" camera and it stopped working. This ended up costing me hours of time (troubleshooting, research, and uninstalling and reinstalling the camera). I decided to buy a new camera, a DS-2CD2042WD-I, which should have better image quality. I plan on sealing some spots on it with a silicon sealant to help make sure water doesn't get into the new camera. The old camera was opened and the water removed, and it seems to be working again. I'm going to keep it as a backup (or for another use) and I'm going to seal some spots where I think water may have gotten in.

More Tech

Here's the script (process3.bat) I use that is run about every minute (as of 2024-03-20). @echo off set origfile=image2.jpg set infile=infile2.jpg set outfile=final2.jpg set outfilewu=image.jpg set hour=%TIME:~0,2% if "%hour:~0,1%" == " " set hour=0%hour:~1,1% V: cd \SkyCam IF EXIST "%origfile%" ( del %origfile% ) curl.exe "http://192.168.X.Y:8080/image/skycam?q=90&s=100&h=1520" -o %origfile% IF NOT EXIST "%origfile%" ( echo *** NO IMAGE *** echo *** %DATE% %TIME%: NO IMAGE ***>>"log.txt" EXIT ) IF EXIST "%infile%" ( del %infile% ) rename %origfile% %infile% magick.exe %infile% -resize 1920 -quality 85 -enhance -normalize %outfile% FOR /F "usebackq" %%A IN ('%outfile%') DO set size=%%~zA del %infile% curl.exe --max-time 10 --retry 3 --retry-delay 3 -F file=@%outfile% https://tetrion.com/skycam/skyuploadscript.php IF ERRORLEVEL 1 ( echo *** %DATE% %TIME%: Upload %outfile% FAILED with ERRORLEVEL %ERRORLEVEL% !!! *** echo *** %DATE% %TIME%: Upload %outfile% FAILED with ERRORLEVEL %ERRORLEVEL% !!! ***>>"log.txt" ) set oldfname=%DATE:~4,2%\sky%DATE:~4,2%%DATE:~7,2%%hour%%TIME:~3,2%.jpg set fname=%DATE:~4,2%\sky%DATE:~4,2%%DATE:~7,2%_%hour%%TIME:~3,2%.jpg IF EXIST "%oldfname%" ( del %oldfname% ) IF EXIST "%fname%" ( del %fname% ) move %outfile% %fname%
The above script (process3.bat) is called every minute by this script (continuous.bat) that is always running (as of 2024-03-20). @rem if not defined in_subprocess (cmd /k set in_subprocess=y ^& %0 %*) & exit ) V: cd \SkyCam :loop IF Exist stop.txt Goto EOF :loopnostop @rem call process3.bat cmd.exe /c process3.bat set /A tseconds = 69 + 100 - 1%time:~6,2% echo %time% , %time:~6,2% , %tseconds% timeout /t %tseconds% goto loopnostop :EOF echo Stopping pause

Back to Lantana Sky & Weather CamWeather stationFavorites

Checked with the best HTML validator