Commons
Home
Pictures
Commons, including commons in my blog, any mentions of c0mm0ns in my family tree and commons in Folkestone.
Blog / forum etc:
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
mark :: 31 Oct :: 2008 :: Comment / reply
Apr20
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.
2006 :: Comment / reply
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.
Indiana Jones on again tonight, and chilli for tea, ace.
pauly :: 2004 :: 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

