Commons

Home

Pictures

Commons, including commons in my blog, any mentions of c0mm0ns in my family tree and commons in Folkestone.

Blog / forum etc:

RE: Linksys WVC54G wireless camera, btinternet SMTP and gmail

Pictures

I have a similar problem and I got tired of fighting with it. Most of these cameras also will send a screen shot to an ftp server so I wrote a vbscript that polls the server and then sends an email using my workplace smtp server. Obviously, you need an external ftp and smtp server that will accept your requests, and I run the script on my workstation at work. I am a beginner at script writing and I am sure that a real programmer could come up with a more elegant solution, but I was able to get the script to work well enough so that I feel more secure leaving my house unoccupied. I loop the script once a minute and send the email to my work address that is automatically forwarded to my blackberry with the first and last images as attachments. The ftpdownload function that I found online is unchanged. The script runs until it finds a specially named text file in the working folder. (I have a separate script to create that file sitting on my desktop.) All images are saved to an archive folder for later review if necessary.

Function FTPDownload(sSite, sUsername, sPassword, sLocalPath, sRemotePath, _

sRemoteFile)

'This script is provided under the Creative Commons license located

'at http://creativecommons.org/licenses/by-nc/2.5/ . It may not

'be used for commercial purposes with out the expressed written consent

'of NateRice.com

Const OpenAsDefault = -2

Const FailIfNotExist = 0

Const ForReading = 1

Const ForWriting = 2



Set oFTPScriptFSO = CreateObject("Scripting.FileSystemObject")

Set oFTPScriptShell = CreateObject("WScript.Shell")

sRemotePath = Trim(sRemotePath)

sLocalPath = Trim(sLocalPath)



'----------Path Checks---------

'Here we will check the remote path, if it contains

'spaces then we need to add quotes to ensure

'it parses correctly.

If InStr(sRemotePath, " ") > 0 Then

If Left(sRemotePath, 1) <> """" And Right(sRemotePath, 1) <> """" Then

sRemotePath = """" & sRemotePath & """"

End If

End If



'Check to ensure that a remote path was

'passed. If it's blank then pass a "\"

If Len(sRemotePath) = 0 Then

'Please note that no premptive checking of the

'remote path is done. If it does not exist for some

'reason. Unexpected results may occur.

sRemotePath = "\"

End If



'If the local path was blank. Pass the current

'working direcory.

If Len(sLocalPath) = 0 Then

sLocalpath = oFTPScriptShell.CurrentDirectory

End If



If Not oFTPScriptFSO.FolderExists(sLocalPath) Then

'destination not found

FTPDownload = "Error: Local Folder Not Found."

Exit Function

End If



sOriginalWorkingDirectory = oFTPScriptShell.CurrentDirectory

oFTPScriptShell.CurrentDirectory = sLocalPath

'--------END Path Checks---------



'build input file for ftp command

sFTPScript = sFTPScript & "USER " & sUsername & vbCRLF

sFTPScript = sFTPScript & sPassword & vbCRLF

sFTPScript = sFTPScript & "cd " & sRemotePath & vbCRLF

sFTPScript = sFTPScript & "binary" & vbCRLF

sFTPScript = sFTPScript & "prompt n" & vbCRLF

sFTPScript = sFTPScript & "mget " & sRemoteFile & vbCrLf

sFTPScript = sFTPScript & "mdel " & sRemoteFile & vbCrLf

'sFTPScript = sFTPScript & "ls" & vbCrLf

sFTPScript = sFTPScript & "quit" & vbCRLF & "quit" & vbCRLF & "quit" & vbCRLF

sFTPTemp = oFTPScriptShell.ExpandEnvironmentStrings("%TEMP%")

sFTPTempFile = sFTPTemp & "\" & oFTPScriptFSO.GetTempName

sFTPResults = sFTPTemp & "\" & oFTPScriptFSO.GetTempName

'Write the input file for the ftp command

'to a temporary file.

Set fFTPScript = oFTPScriptFSO.CreateTextFile(sFTPTempFile, True)

fFTPScript.WriteLine(sFTPScript)

fFTPScript.Close

Set fFTPScript = Nothing

oFTPScriptShell.Run "%comspec% /c FTP -n -s:" & sFTPTempFile & " " & sSite & _

" > " & sFTPResults, 0, TRUE



Wscript.Sleep 1000



'Check results of transfer.

Set fFTPResults = oFTPScriptFSO.OpenTextFile(sFTPResults, ForReading, _

FailIfNotExist, OpenAsDefault)

sResults = fFTPResults.ReadAll

'WScript.Echo(sResults)

fFTPResults.Close



oFTPScriptFSO.DeleteFile(sFTPTempFile)

oFTPScriptFSO.DeleteFile (sFTPResults)



If InStr(sResults, "226 Transfer complete.") > 0 Then

FTPDownload = True

ElseIf InStr(sResults, "File not found") > 0 Then

FTPDownload = "Error: File Not Found"

ElseIf InStr(sResults, "cannot log in.") > 0 Then

FTPDownload = "Error: Login Failed."

Else

FTPDownload = "Error: Unknown."

End If



Set oFTPScriptFSO = Nothing

Set oFTPScriptShell = Nothing

End Function

'Set up array

Dim fileAttach()

'On Error Resume next

'Check date and see if download folder exists

strdate = date

strdate = Split(strdate,"/")

strFolderName = strdate(2) + strdate(0) + strdate(1)

strFTPFolder = "/camera/snapshot/"

Set objFSO = CreateObject("Scripting.FileSystemObject")

'Create archive folder and reset working folder

If Not objFSO.FolderExists("C:SecurityCam") Then

objFSO.CreateFolder("C:SecurityCam")

End If

If Not objFSO.FolderExists("C:SecurityCamArchive") Then

objFSO.CreateFolder("C:SecurityCamArchive")

End If

If Not objFSO.FolderExists("C:SecurityCamWorkingFolder") Then

objFSO.CreateFolder("C:SecurityCamWorkingFolder")

Else 'delete any subfolder

objFSO.DeleteFolder("C:SecurityCamWorkingFolder")

objFSO.CreateFolder("C:SecurityCamWorkingFolder")

End If

strArchiveFolder = "C:SecurityCamArchive\" + strFolderName

If Not objFSO.FolderExists(strArchiveFolder) Then

objFSO.CreateFolder(strArchiveFolder)

End If

loops = 0

Do While True

'Check for stop request

Set objFExists = CreateObject("Scripting.FileSystemObject")

If objFExists.FileExists("C:SecurityCamWorkingFolderStop FTP Monitor.txt") Then

'WScript.Echo(" Script Ended. Loops= " & loops)

WScript.Quit

End if

'Move files from working folder if it exists

strWorkingFolder = "C:SecurityCamWorkingFolder\" + strFolderName

If objFSO.FolderExists(strWorkingFolder) Then

Set objFolder = objFSO.GetFolder(strWorkingFolder)

Set filecoll = objFolder.Files



If filecoll.Count > 0 Then

objFSO.CopyFile strWorkingFolder + "*.*", strArchiveFolder, True

objFSO.DeleteFile strWorkingFolder + "*.*", True

End if

Else

Set objFolder = objFSO.CreateFolder(strWorkingFolder)

End if

Call FTPDownload("yourftpsite.com", "ftpusername", "password", strWorkingFolder, strFTPFolder + strFolderName,"*.*")

Set filecoll = objFolder.Files

If filecoll.Count > 0 then

ReDim fileAttach(filecoll.Count - 1)

Set objShell = CreateObject ("Shell.Application")

Set objFolder = objShell.Namespace ("C:SecurityCamWorkingFolder\" + strFolderName)

x = 0

For Each strFileName in objFolder.Items

fileAttach(x) = objFolder.GetDetailsOf(strFileName, FILE_NAME)

x = x + 1

Next





strMailBody = "Living Room Camera has had a motion detect event!"

strFileAttach = strWorkingFolder + "\" + fileAttach(0)

Set myMail=CreateObject("CDO.Message")

myMail.Subject="Camera Event"

myMail.From="joeblogs@anywhere.com"

myMail.To="joesecurity@sillywalks.com"

myMail.TextBody= strMailBody

myMail.AddAttachment strFileAttach

If x > 1 then

strFileAttach = strWorkingFolder + "\" + fileAttach(x - 1)

myMail.AddAttachment strFileAttach

End if

myMail.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/sendusing")=2

myMail.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtpserveraddress"

myMail.Configuration.Fields.Item _

("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25

myMail.Configuration.Fields.Update

myMail.Send

set myMail=nothing

End if

loops = loops + 1

WScript.sleep(60000)

loop

:: 31 Oct :: :: Comment / reply

BBC NEWS | Politics | Stags should pay for embassy help

Apr20
Recommended / related

What on earth is this all about? I've been on lots of stag do's abroad (and have another two lined up, woo!) and no-one in any of our parties has been in trouble with the law. Where do they get this 24% figure from? Who did their research, was it the same people who did Family Fortunes?

Britons on stag and hen parties abroad should be charged more often when they call on UK diplomats to bail them out of trouble say MPs.

People have been charged for help in only 323 out of 84,000 cases by consulates using existing powers, says the Commons Public Accounts Committee.

Foreign Office research suggests 24% of people on stag and hen parties face problems abroad.

Officials say it is difficult to charge people who may be drunk without cash.


Surely that's the perfect reason to get drunk and spend all your money then, if it's going to be difficult to charge you! Wait, do they mean money, or criminal charges..?

UPDATE: I broke some of the styling on here, specifically the mouseover popup jobs, and it might not be clear what is a quote and what is not, I should have left well enough alone... Anything that gives the impression of being a techy mumbling to hisself is probably original, the something new and interesting every day will be the copied and pasted bits then.

:: Comment / reply

Chaos in the house!

Sep15

Pictures

Looks like there are going to be new measures in place following today's storming of the House of Commons by pro fox killing types. I think they could do with a complete overhaul, and rather than bringing in the police or MI5 or Point 4 (ha), why not a completely new agency? I suggest handing over all operations to "Fathers for Justice", they seem very organised, and it might help take their minds off their domestic situations.

on again tonight, and chilli for tea, ace.

:: :: Comment / reply

Also there's an xml feed of commons, a JSON feed, and a KML feed of commons , search my commons venue info, commons on Your Folkestone.

Hope you found what you're looking for, if not please leave a message about "commons".

Add commons as a venue here, help me out, and the next person.

Google the site here

Google
Web this site