Note Known

Home

Pictures

Note Known, including note known in my blog, any mentions of nöte knöwn in my family tree and note known 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

Free Jim Bob CD

Sep24

Pictures

Jim Bob is touring in October, and there's free CD's to be had each night...

Jim Bob is touring in October, and there's free CD's to be had each night... the first 10 people to visit the t-shirt stall each night will receive a free copy of "Acoustic Party 7", featuring solo acoustic versions of:


  • Candy Floss

  • Carry On Alone

  • Sealed With a Glasgow Kiss

  • When You Were My Woman

  • Cinderella Reversed

  • Every Time a Church Bell Rings

  • A Bad Day


And those dates are:
  • Jim Bob @ Birmingham Glee Club (Thu 16 Oct)
  • Jim Bob @ Glasgow 13th Note Cafe (Fri 17 Oct)
  • Jim Bob @ Frome St John's Hall (Sat 18 Oct)
  • Jim Bob @ Winchester Railway (Sun 19 Oct)
  • Jim Bob @ Northampton Soundhaus (Wed 22 Oct)
  • Jim Bob @ Lock 17 (the venue formerly known as Dingwalls), with special guest Louis Eliot (Thu 23 Oct)
  • Jim Bob @ Worcester Marrs Bar (Fri 24 Oct)
  • Jim Bob @ Ivybridge Rugby Club - a benefit for Ivybridge Youth Action Group, Rampless Riders, St Luke's Hospice, in trubte to Jim's sister Vicky (Sat 25 Oct)
  • Jim Bob @ Cheltenham Playhouse Theatre (Sun 26 Oct)
  • Jim Bob @ Manchester Night and Day (Tue 28 Oct)
  • Jim Bob @ The Maze, Nottingham (Wed 29 Oct) [info / details]
  • Jim Bob @ Sheffield Casbah (Thu 30 Oct)




If you'd like to know when Jim Bob tickets become available
click here if you're a popex member or join up here (it's free), pick Jim Bob as your favourite band and say "yes" to the gig mail... Then you'll receive a mail as soon as tickets go on sale.

:: :: Comment / reply

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

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

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

Google the site here

Google
Web this site