Welcome to the Cumulus Support forum.

Latest Cumulus MX V3 release 3.28.6 (build 3283) - 21 March 2024

Cumulus MX V4 beta test release 4.0.0 (build 4018) - 28 March 2024

Legacy Cumulus 1 release v1.9.4 (build 1099) - 28 November 2014 (a patch is available for 1.9.4 build 1099 that extends the date range of drop-down menus to 2030)

Download the Software (Cumulus MX / Cumulus 1 and other related items) from the Wiki

My Custom Webcam

Hardware/software/hints and tips/discussion/webcam links etc
W2SWR
Posts: 18
Joined: Thu 08 Mar 2012 2:31 am
Weather Station: WH-1090
Operating System: vista
Location: Little River, SC.

My Custom Webcam

Post by W2SWR »

Weather cam project
Image Image

I have created a weather cam that runs on a Raspberry PI mini PC and a Logitech HD C270 webcam that is overlay’ed with the current observations via Cumulus running on another (windows) pc.

These are more like notes than instructions.
YOU NEED TO KNOW; How to use wheezy linux (debian), How to set up Cumulus. to understand my instructions. Don’t ask me, google everything as I did.

This project requires the following:
Windows pc running Cumulus.
A web host with FTP capabilities to host your image and files.
A Raspberry Pi mini computer.
A webcam that successfully operates with the Raspberry PI (the C270 is plug-n-play)

Here is how I did it;
On the PI I installed:
fswebcam
imagemagick
libav-tools
ncftp

On the windows pc in C:\Cumulus\web\ I created a file called “overlay.sh”. This file needs to be processed by cumulus (see: cumulus help) and FTP to your web host in realtime mode.
Here it the script:

Code: Select all

#!/bin/sh
sleep 05
cd /home/pi/weathercam/
#places the icons on the image
composite -geometry +4+260 gauges.png rear.jpg \
rear3.jpg
#adds the trend arrows for temp and barrowmeter.
composite -geometry +129+282 <#temptrendtext>.png rear3.jpg \
rear2.jpg
composite -geometry +140+400 <#presstrendenglish>.png rear2.jpg \
rear4.jpg
#add the current readings
convert -size 75x20 rear4.jpg -pointsize 25 \
-draw "text 47,302 '<#temp>°F'" -fill white \
-draw "text 45,300 '<#temp>°F'" -fill black \
-draw "text 47,332 '<#hum>%'" -fill white \
-draw "text 45,330 '<#hum>%'" -fill black \
-draw "text 47,362 '<#wspeed> mph'" -fill white \
-draw "text 45,360 '<#wspeed> mph'" -fill black \
-draw "text 47,392 '<#wdir>'" -fill white \
-draw "text 45,390 '<#wdir>'" -fill black \
-draw "text 47,422 '<#press> in'" -fill white \
-draw "text 45,420 '<#press> in'" -fill black \
rear.jpg
sleep 3
./upload.sh
On the Raspberry PI, in the folder /home/pi I created a folder called weathercam. Then I created three files called mov.sh” , “runget.sh” and “upload.sh”. All files made as executable. Here is what I entered into the files:

Code: Select all

#runget.sh
#!/bin/sh
cd /home/pi/weathercam/
fswebcam -c /home/pi/weathercam/fswebcam.conf
wget http://host/path/to/your/overlay.sh
chmod +x overlay.sh
sleep 2
./overlay.sh

Code: Select all

#upload.sh
#!/bin/bash
rm overlay.sh*
ncftpput -t 30 -u username@yoursite.com -p password  yoursite.com / /home/pi/weathercam/rear.jpg
cp /home/pi/weathercam/rear.jpg /home/pi/weathercam/image.jpg
#If you have a weather underground PWS FTP account, then remove # from below.
#sleep 2
#ncftpput -y -t 60 -u yourCAM1 -p password webcam.wunderground.com / /home/pi/weathercam/image.jpg
sleep 2 
rm rear2.jpg 
rm rear3.jpg 
rm rear4.jpg 
rm image.jpg 
mv rear.jpg /home/pi/weathercam/images-today/0$(date +%H%M).jpg
 

Code: Select all

#mov.sh
#!/bin/bash
 cd /home/pi/weathercam/images-yesteday 
rm *.jpg 
cd /home/pi/weathercam/images-today 
cp -fr *.jpg /home/pi/weathercam/images-yesterday/ 
sleep 5 
a=1 
for i in *.jpg; do 
new=$(printf "%04d.jpg" ${a}) #04 pad to length of 4 
mv ${i} ${new} 
let a=a+1 
done 
avconv -r 10 -i %04d.jpg rear.mp4 
sleep 3 
ncftpput -DD -t 30 -u username@yoursite.com -p password  yoursite.com / /home/pi/weathercam/images-today/rear.mp4 
rm *.jpg

Another file called “fswebcam.conf” needs to be created to drive the camera. Remove the ## to use other options:

Code: Select all


device /dev/video0 
resolution 640x480 
##set brightness=52% 
##set contrast=15% 
##set saturation=19% 
font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf:18 
##overlay /home/pi/weathercam/your custom logo.jpg 
title "Hometown, USA." 
subtitle "Looking Northwest" 
timestamp "%m-%d-%Y %H:%M (%Z)" 
##info "additional info" 
jpeg 90 
save /home/pi/weathercam/rear.jpg  
palette MJPEG


Save these images to your weathercam folder:
http://w2swr.com/downloads/index.php?fo ... FtLWZpbGVz
gauges.png Falling.png Rising.png Steady.png

Now create two subfolders in /home/pi/weathercam/
images-today
images-yesterday


Last thing you need to do is edit your PI’s crontab and add the following:

Code: Select all

# Builds and uploads an image every 5 mins on the fives.
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/pi/wundercam/runget.sh
#Builds and uploads a timelaps mp4 every night.
56 23 * * * /home/pi/wundercam/mov.sh
#dumps the trash each night
41 23 * * * rm /home/pi/.local/share/Trash/files/*
41 23 * * * rm /home/pi/.local/share/Trash/info/*
I hope you were successful.
Mike, W2SWR
Image
Image
Bridger
Posts: 60
Joined: Fri 01 Jun 2012 4:58 pm
Weather Station: Davis Vantage Vue
Operating System: Windows 11 Home
Location: New Forest. UK
Contact:

Re: My Custom Webcam

Post by Bridger »

Mike, thanks for posting your scripts, they have encouraged me to have a go myself. I had no experience with the Raspberry Pi, or coding, so it has taken a little time and much Googling.
I have made a couple of changes to your scripts with apologies if they are not as elegant as they could be.
To try and preserve the Pi's SD card my camera operates only during daylight hours using <#isdaylight> webtag.

The file daylightget.sh is run from cron at 5 minute intervals.

Code: Select all

#daylightget.sh
#!/bin/sh
#gets daylight.sh
cd /home/pi/weathercam/
rm daylight.sh*
wget http://www.host/path/daylight.sh
chmod +x daylight.sh
sleep 2
./daylight.sh


Then this if it's daylight it runs runget.sh.

Code: Select all

#daylight.sh
#!/bin/sh
#checks Cumulus for daylight
daylight=<#isdaylight>
if [ $daylight -eq 1 ]
	then
	./runget.sh
fi
I am also using the Humidity field in the image overlay to display the last hour's rain using <#rhour>, it displays relative humidity when there has been no rain in the last hour.

Code: Select all

#!/bin/sh
sleep 05
cd /home/pi/weathercam/
#is it raining?
a="0.0"
rain="<#rhour>"
raining="<#rhour>mm in last hour"
notraining="<#hum>%"
if [ "$rain" = "$a" ]
then
	itsraining=$notraining
else
	itsraining=$raining
fi
#places the icons on the image
composite -geometry +4+260 gauges.png rear.jpg \
rear3.jpg
#adds the trend arrows for temp and barometer.
composite -geometry +125+282 <#temptrendtext>.png rear3.jpg \
rear2.jpg
composite -geometry +155+400 <#presstrendenglish>.png rear2.jpg \
rear4.jpg
#place logo in bottom rh corner.
#composite -geometry +540+340 sign.png rear4.jpg \
#rear5.jpg
#add the current readings
convert -size 75x20 rear4.jpg -pointsize 20 \
-draw "text 47,302 '<#temp>°C'" -fill white \
-draw "text 45,300 '<#temp>°C'" -fill black \
-draw "text 47,332 '$itsraining'" -fill white \
-draw "text 45,330 '$itsraining'" -fill black \
-draw "text 47,362 '<#wspeed> mph'" -fill white \
-draw "text 45,360 '<#wspeed> mph'" -fill black \
-draw "text 47,392 '<#wdir>'" -fill white \
-draw "text 45,390 '<#wdir>'" -fill black \
-draw "text 47,422 '<#press> hPa'" -fill white \
-draw "text 45,420 '<#press> hPa'" -fill black \
rear.jpg
sleep 3
./upload.sh

The camera is installed in a stripped out security light (about £4 from Screwfix) and mounted on the garage wall. The Raspberry Pi is in the garage and accessed via WiFi.


Image Image
Thanks again. Peter
Sadgit
Posts: 192
Joined: Sun 04 Jan 2009 5:56 pm
Weather Station: Vantage Vue
Operating System: Windows 7
Location: Middlesbrough, England

Re: My Custom Webcam

Post by Sadgit »

I love this place. I am looking to do this on my intel NUC running windows 7, but just wanted to say thanks, gives me some ideas about the overlay.
RussP
Posts: 3
Joined: Thu 02 Jan 2014 9:12 pm
Weather Station: OS WMR 88
Operating System: Win 8.1
Location: Lytham St. Annes

Re: My Custom Webcam

Post by RussP »

Just like to thank W2SWR and Bridger for sharing the scripts for their set-ups.

I've got it up and running on a Pi2 with a Logitech c270

The changes I've made :
1. I'm also passing and displaying the temperature from my pond, so had to modify overlay.sh and gauges.png

2. I'm storing the /images-today, /images-yesterday, /movies folders on a USB pen drive instead of on the SD card. The scripts I've left on the SD card

3. After the .mp4 has been made I copy it to a folder called movies and give it a file name as that days date. That way I keep a file for each day.

Currently have a problem where fswebcam has an error after x period of time, and the only way to get it working again is to unplug/plug back in the camera or reboot the Pi. So for the time being I've just created a cron job to reboot the Pi every 30 mins.


To Do.
1. Decide on final position of the camera. I have a broken halogen light similar to the one Bridger shows, so may do similar. Currently points out my bedroom window.

2. merge the individual daily videos to create a single monthly video, and then a yearly video.

3. Get a second camera and have that pointing at my pond, and duplicate the scripts to do the same for this camera.

Image
User avatar
KetteringUK
Posts: 49
Joined: Sat 25 Jul 2009 2:25 pm
Weather Station: Maplin N96GY
Contact:

Re: My Custom Webcam

Post by KetteringUK »

Thanks for sharing - Using Logitech 9000 with a few mods on the scripts

Image

Looking forward to trying Cumulus MX on the Pi2
User avatar
philpugh
Posts: 381
Joined: Tue 24 May 2011 8:34 am
Weather Station: See Signature
Operating System: Debian 11 (RPi4)
Location: Antrobus, Cheshire, UK
Contact:

Re: My Custom Webcam

Post by philpugh »

What a great site. Just started playing with my RasPiCam and not satisfies with the crude overlays I have managed so far. Will be trying this out soon. Also love the idea of the unused security light housing. Have a couple lying around as I have replaced them with LED security lights.
Phil Pugh
GW1000 + WH65/WH57/WH31; HP2551 + WS68/WH40A; GW2001 WittBoy
cumulusutils generating website
http://goosegate.uk/
User avatar
philpugh
Posts: 381
Joined: Tue 24 May 2011 8:34 am
Weather Station: See Signature
Operating System: Debian 11 (RPi4)
Location: Antrobus, Cheshire, UK
Contact:

Re: My Custom Webcam

Post by philpugh »

OK. Another method using a Raspberry PiCam. Based on the original post (thanks Mike/W2SWR).

My earlier attempts used Python and I decided to continue down this path. At present I am not too interested in keeping the images or making a time-lapse movie - but these can be added later so I based the processing on Mike's "overlay.sh" code - which seemed to do all the processing I needed.

I have a RPi 2 running CMX, Apache and MySQL and second RPi 2 with a PiCamera on it. I also run a NAS server onto which I store the SQL tables and use as a file storage for other stuff.

The outline is CameraPi takes an image every minute, does some simple image manipulation with ImageMagic as I want a thumbprint image for a link of my main weather web page. The processed overlay.sh is downloaded from the NAS box and called from the Python program which adds a simple opaque box area and writes CMX data onto the image.

There are three files.

1/ camdataT.txt is the template file processed as a realtime file by CMX to produce camdata.sh (my version of Mikes original overlay.sh)

2/ overlayphoto.py which is the Python script. This is run on CameraPi every minute as a cron task. It calls camdata.sh to do the majority of the image processing. It produces an output image weather.jpg at 70% quality as I have a very slow internet connection.

3/ bottom.png is a simple shaded box area so that the data can be read more easily - created on PC by Inkscape.

All three - with my site particulars removed, are in the attached rar file. If you are really desperate have a go!

Clicking on my signature banner should take you to my webserver - but I host it myself on the CMX Pi system and we have one of the slowest broadband connections imaginable - 0.5Mbps download/0.25Mbps upload on a good day!! In a couple of years we may be able to get 2Mbps we are told!! So be patient when browsing!
You do not have the required permissions to view the files attached to this post.
Phil Pugh
GW1000 + WH65/WH57/WH31; HP2551 + WS68/WH40A; GW2001 WittBoy
cumulusutils generating website
http://goosegate.uk/
jules
Posts: 2
Joined: Sat 30 Jun 2012 7:25 pm
Weather Station: Vantage Pro2
Operating System: Mac OS Lion
Location: UK

Re: My Custom Webcam

Post by jules »

i would like to do something similar, but before getting a logitech webcam with raspberry pi, i need to know if a powered usb hub is needed as well with the c270. i cant see any mention if this.
what other logitech webcams in the mid price range would also work?
thanks
RussP
Posts: 3
Joined: Thu 02 Jan 2014 9:12 pm
Weather Station: OS WMR 88
Operating System: Win 8.1
Location: Lytham St. Annes

Re: My Custom Webcam

Post by RussP »

I run the c270 (well I did till a redecorated my bedroom, must look at how to set the pi2 up again without cables running across the floor)

I had it running via a powered hub, mainly due to also having a USB stick that I store the c270 images to. I cannot say how reliable it would be just plugged direct to the pi.

One problem I was having was that it would lose the camera from time to time. Sometimes it would be hours then other times after a few minutes of a reboot. Only way to get it back was a reboot. So I had a script to reboot the pi every hour.
logo9
Posts: 2
Joined: Thu 04 Aug 2016 2:56 pm
Weather Station: 1080
Operating System: Rpi3b
Location: NJ

Re: My Custom Webcam

Post by logo9 »

I'm using a Rpi3b running weewx... I love the overlays but I don't want to run my home (windows) computer full time. Is there any way I can do overlays with just the pi?
Thanks for any info!!!
J


W2SWR wrote:Weather cam project
Image Image

I have created a weather cam that runs on a Raspberry PI mini PC and a Logitech HD C270 webcam that is overlay’ed with the current observations via Cumulus running on another (windows) pc.

These are more like notes than instructions.
YOU NEED TO KNOW; How to use wheezy linux (debian), How to set up Cumulus. to understand my instructions. Don’t ask me, google everything as I did.

This project requires the following:
Windows pc running Cumulus.
A web host with FTP capabilities to host your image and files.
A Raspberry Pi mini computer.
A webcam that successfully operates with the Raspberry PI (the C270 is plug-n-play)

Here is how I did it;
On the PI I installed:
fswebcam
imagemagick
libav-tools
ncftp

On the windows pc in C:\Cumulus\web\ I created a file called “overlay.sh”. This file needs to be processed by cumulus (see: cumulus help) and FTP to your web host in realtime mode.
Here it the script:

Code: Select all

#!/bin/sh
sleep 05
cd /home/pi/weathercam/
#places the icons on the image
composite -geometry +4+260 gauges.png rear.jpg \
rear3.jpg
#adds the trend arrows for temp and barrowmeter.
composite -geometry +129+282 <#temptrendtext>.png rear3.jpg \
rear2.jpg
composite -geometry +140+400 <#presstrendenglish>.png rear2.jpg \
rear4.jpg
#add the current readings
convert -size 75x20 rear4.jpg -pointsize 25 \
-draw "text 47,302 '<#temp>°F'" -fill white \
-draw "text 45,300 '<#temp>°F'" -fill black \
-draw "text 47,332 '<#hum>%'" -fill white \
-draw "text 45,330 '<#hum>%'" -fill black \
-draw "text 47,362 '<#wspeed> mph'" -fill white \
-draw "text 45,360 '<#wspeed> mph'" -fill black \
-draw "text 47,392 '<#wdir>'" -fill white \
-draw "text 45,390 '<#wdir>'" -fill black \
-draw "text 47,422 '<#press> in'" -fill white \
-draw "text 45,420 '<#press> in'" -fill black \
rear.jpg
sleep 3
./upload.sh
On the Raspberry PI, in the folder /home/pi I created a folder called weathercam. Then I created three files called mov.sh” , “runget.sh” and “upload.sh”. All files made as executable. Here is what I entered into the files:

Code: Select all

#runget.sh
#!/bin/sh
cd /home/pi/weathercam/
fswebcam -c /home/pi/weathercam/fswebcam.conf
wget http://host/path/to/your/overlay.sh
chmod +x overlay.sh
sleep 2
./overlay.sh

Code: Select all

#upload.sh
#!/bin/bash
rm overlay.sh*
ncftpput -t 30 -u username@yoursite.com -p password  yoursite.com / /home/pi/weathercam/rear.jpg
cp /home/pi/weathercam/rear.jpg /home/pi/weathercam/image.jpg
#If you have a weather underground PWS FTP account, then remove # from below.
#sleep 2
#ncftpput -y -t 60 -u yourCAM1 -p password webcam.wunderground.com / /home/pi/weathercam/image.jpg
sleep 2 
rm rear2.jpg 
rm rear3.jpg 
rm rear4.jpg 
rm image.jpg 
mv rear.jpg /home/pi/weathercam/images-today/0$(date +%H%M).jpg
 

Code: Select all

#mov.sh
#!/bin/bash
 cd /home/pi/weathercam/images-yesteday 
rm *.jpg 
cd /home/pi/weathercam/images-today 
cp -fr *.jpg /home/pi/weathercam/images-yesterday/ 
sleep 5 
a=1 
for i in *.jpg; do 
new=$(printf "%04d.jpg" ${a}) #04 pad to length of 4 
mv ${i} ${new} 
let a=a+1 
done 
avconv -r 10 -i %04d.jpg rear.mp4 
sleep 3 
ncftpput -DD -t 30 -u username@yoursite.com -p password  yoursite.com / /home/pi/weathercam/images-today/rear.mp4 
rm *.jpg

Another file called “fswebcam.conf” needs to be created to drive the camera. Remove the ## to use other options:

Code: Select all


device /dev/video0 
resolution 640x480 
##set brightness=52% 
##set contrast=15% 
##set saturation=19% 
font /usr/share/fonts/truetype/freefont/FreeSansBold.ttf:18 
##overlay /home/pi/weathercam/your custom logo.jpg 
title "Hometown, USA." 
subtitle "Looking Northwest" 
timestamp "%m-%d-%Y %H:%M (%Z)" 
##info "additional info" 
jpeg 90 
save /home/pi/weathercam/rear.jpg  
palette MJPEG


Save these images to your weathercam folder:
http://w2swr.com/downloads/index.php?fo ... FtLWZpbGVz
gauges.png Falling.png Rising.png Steady.png

Now create two subfolders in /home/pi/weathercam/
images-today
images-yesterday


Last thing you need to do is edit your PI’s crontab and add the following:

Code: Select all

# Builds and uploads an image every 5 mins on the fives.
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/pi/wundercam/runget.sh
#Builds and uploads a timelaps mp4 every night.
56 23 * * * /home/pi/wundercam/mov.sh
#dumps the trash each night
41 23 * * * rm /home/pi/.local/share/Trash/files/*
41 23 * * * rm /home/pi/.local/share/Trash/info/*
I hope you were successful.
Mike, W2SWR
Image
logo9
Posts: 2
Joined: Thu 04 Aug 2016 2:56 pm
Weather Station: 1080
Operating System: Rpi3b
Location: NJ

Re: My Custom Webcam

Post by logo9 »

I'm using a Rpi3b running weewx... I love the overlays but I don't want to run my home (windows) computer full time. Is there any way I can do overlays with just the pi?
Thanks for any info!!!
J

EDIT: I got it to run on a Rpi3b as a stand alone (Pi only) program. Lots of head scratching for a non-programer!

https://www.wunderground.com/webcams/JW2030/3/show.html
User avatar
Peristeri Center
Posts: 9
Joined: Sun 31 May 2009 12:03 pm
Weather Station: TFA Matrix II 3510.49
Operating System: Peppermint OS 8 (Linux).
Location: Athens-Peristeri GREECE
Contact:

Re: My Custom Webcam

Post by Peristeri Center »

Hey all.

I see it's an "old" topic but i like this overlay. Unfortunately the link to download png images, is "dead" :groan:
Can someone direct me on an active link, for download that images?

Thank's in advance.
N.B.
Bridger
Posts: 60
Joined: Fri 01 Jun 2012 4:58 pm
Weather Station: Davis Vantage Vue
Operating System: Windows 11 Home
Location: New Forest. UK
Contact:

Re: My Custom Webcam

Post by Bridger »

Are these what you are looking for?
You do not have the required permissions to view the files attached to this post.
User avatar
Peristeri Center
Posts: 9
Joined: Sun 31 May 2009 12:03 pm
Weather Station: TFA Matrix II 3510.49
Operating System: Peppermint OS 8 (Linux).
Location: Athens-Peristeri GREECE
Contact:

Re: My Custom Webcam

Post by Peristeri Center »

YES
I look for that. I didn't a reply !
Thank you Peter.
User avatar
Peristeri Center
Posts: 9
Joined: Sun 31 May 2009 12:03 pm
Weather Station: TFA Matrix II 3510.49
Operating System: Peppermint OS 8 (Linux).
Location: Athens-Peristeri GREECE
Contact:

Re: My Custom Webcam

Post by Peristeri Center »

Thank you, Peter, soooooo.......much.

Now is up and running.

http://peristeri.altervista.org/webcam.htm
Post Reply