Innehållsförteckning:
- Steg 1: Förbered datorn
- Steg 2: Skriv och felsök en PowerShell -fil
- Steg 3: Skriv och felsök en batchfil
- Steg 4: Förpackning
Video: Skicka automatiskt e -post med foto från batchfil med gammalt skrivbord och XP: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Jag är mycket lyckligt lottad som har en fantastisk utsikt från mitt hemkontorsfönster. När jag är borta vill jag se vad jag saknar och jag är ofta borta. Jag brukade ha en egen webbplats och en hemväderstation som skulle ladda upp alla väderdata via ftp och ett foto som togs ut genom fönstret, men webbhotellleverantören gjorde underhållet av webbplatsen betungande, så efter många år tappade jag den. Jag tänkte hitta en ersättningsmetod för att titta ut genom fönstret t.ex. gratis webbplatser, bloggar, e -post … men i de flesta fall blockerades automatiska ftp -överföringar till dessa potentiella lösningar. En ytterligare komplikation är att jag ofta är borta i flera månader i taget, så vilken lösning som än bestäms måste vara pålitlig.
Jag inspirerades av Instructables -författaren Olivi3r och hans Instructable för att skapa en säkerhetskamera. Efter någon dag med handvridning fick jag det att fungera. Denna instruktionsbok lägger till några viktiga detaljer.
I grund och botten är målet att ta ett foto med webbkameran varje morgon och sedan skicka fotot till mig själv via gmail som bilaga. Detta kommer att ske enligt följande:
- Nätströmmen slås på i 15 minuter med en 110VAC -timer
- Datorn startar
- Webbkameraprogramvara tar ett foto
- En Windows -batchfil körs som kommer att:
- Kör en PowerShell -skriptfil som skickar e -postmeddelandet och bilagan
- Batchfilkommandot stänger av datorn
- Nätströmmen stängs av
Varningar: Jag är inte en Windows -programmerare - fråga mig inte om det inte fungerar. Jag fick detta tillvägagångssätt för att fungera genom att snorkla via Internet tills jag hittade den insikt som behövs för att felsöka mina filer. För det andra ville jag att detta skulle köras på en Windows XP -maskin, jag är säker på att det finns bättre lösningar på en Windows 10 -dator. Faktum är att det förmodligen finns bättre lösningar på en XP -maskin. Om du hittar några, skriv dem i kommentarerna. Att köra detta tillvägagångssätt på en bärbar dator kan vara jobbigt eftersom datorn måste slås på när nätströmmen slås på. Instructables kodredigerare har en otäck vana att infoga och andra HTML -taggar i koden (inklusive Olivi3rs kod). Jag tror att jag har redigerat alla dessa, men se upp.. Slutligen skulle Instructables "Full Preview" -knappen bara ge mig en tom vit sida - så WYSIWYG!
Vi kommer att göra detta i 4 steg:
- Förbered datorn
- Skriv och felsöka ett PowerShell -skript
- Skriv och felsök en batchfil
- Avsluta allt och Bob är din farbror!
Steg 1: Förbered datorn
Gräv först ett gammalt skrivbord ur garderoben. Om det körs på Windows XP (SP3) - det kommer att fungera. Denna Instructable är utformad för XP men tillvägagångssättet bör vara detsamma i Windows 10. Slå på det och aktivera BIOS (vanligtvis F1, del eller F2 under startprocessen). Hitta något som "Power Management" och ändra det till "AC Power Recovery - ON". Detta gör att datorn startar upp när nätströmmen slås på. Testa det.
Du måste inaktivera alla lösenord och logga in som administratör. Detta beror på att datorn måste slutföra uppstartsprocessen utan uppsikt. Gå till Kontrollpanelen, Användarkonton och gör lämpliga ändringar om det behövs.
Därefter behöver du en webbkamera och ett webbkameraprogram som tar en bild och lagrar den. Jag använder Dorgem - enkelt och gratis. Ställ in Dorgem för att ta en bild och lagra den på skrivbordet. Ändra inte bildens namn när du tar en ny bild, skriv istället över den sista bilden. I det här exemplet är bilden Pic.jpg. Observera också att jag lagrar bilden på skrivbordet. Detta är viktigt eftersom katalogsökvägen är enkel. Dra och släpp Dorgem -ikonen i mappen STARTUP i Windows.
Nu - ett par knepiga bitar:
Du måste ändra ditt Chrome -konto för att tillåta mindre säkra appar. Goggle "krom mindre säkra appar" och välj det första alternativet - förmodligen det här. Slå på den här funktionen. Du får ett e -postmeddelande som informerar dig om farorna med denna inställning. Du kanske inte behöver göra detta om du använder en annan e -postserver, t.ex. Yahoo, AOL …
Därefter måste du aktivera körningen av PowerShell -skript. Om du kör Windows 10 är detta enklare - klicka på Windows -ikonen (nedre vänstra hörnet av skärmen), rulla ner i listan över program till Windows PowerShell, expandera, högerklicka på PowerShell och välj "Kör som administratör". Detta öppnar PowerShell -fönstret. På XP är processen lite mer komplicerad - använd File Explorer, hitta PowerShell -katalogen (något som C: / Windows / system32 / WindowsPowerShell / v1.0), högerklicka på PowerShell -ikonen och välj "Pin to start -meny". Nu har du tillgång till PowerShell genom att klicka på Start -ikonen (nedre vänster) och klicka på PowerShell -ikonen. Klicka på PowerShell -ikonen, i fönstret som dyker upp skriver du följande kommando:
uppsättning-körningspolicy fjärransignerad
Du kommer att bli ombedd att bekräfta genom att skriva "y".
bekräfta att du har ändrat körningspolicyn genom att skriva:
genomförandepolicy
Ok! Din dator är klar.
Steg 2: Skriv och felsök en PowerShell -fil
Kopiera och klistra in den här texten i Anteckningar:
$ EmailTo = "[email protected]"
$ EmailFrom = "[email protected]" $ Subject = "View" $ Body = "x" $ SMTPServer = "smtp.gmail.com" $ SMTPMessage = New-Object System. Net. Mail. MailMessage ($ EmailFrom, $ EmailTo, $ Subject, $ Body) $ attachment = New-Object System. Net. Mail. Attachment ("C: / Documents and Settings / Administrator / Desktop / pic.jpg") $ SMTPMessage. Attachments. Add ($ attachment) $ SMTPClient = New-Object Net. Mail. SmtpClient ($ SmtpServer, 587) $ SMTPClient. EnableSsl = $ True $ SMTPClient. Credentials = New-Object System. Net. NetworkCredential ("userID", "password"); $ SMTPClient. Send ($ SMTPMessage)
Spara den här filen på skrivbordet som "SendPic.ps1".
Gör lämpliga ändringar av; du, användar -ID och lösenord. Vanligtvis är ditt användar -ID samma som din fullständiga Gmail -adress.
Om du inte använder Gmail måste du rota runt på Internet för att hitta porten som är associerad med din Smtp -server och ändra "587" till lämplig port, t.ex. smtp.mail.yahoo.com och porten är 465.
I stället för att använda Anteckningar är PowerShell -redigeraren tillgänglig.
Nu för den stora - högerklicka på SendPic PowerShell -filen och välj "Kör med PowerShell". Om det fungerar får du ett e -postmeddelande på några sekunder. Om det inte gör det måste du börja felsöka.
Felsökning
Skapa en ny PowerShell -fil på ditt skrivbord med namnet test1 som skickar ett e -postmeddelande utan bilaga:
$ EmailTo = "[email protected]"
$ EmailFrom = "[email protected]" $ Subject = "test" $ Body = "x" $ SMTPServer = "smtp.gmail.com" $ SMTPMessage = New-Object System. Net. Mail. MailMessage ($ EmailFrom, $ EmailTo, $ Subject, $ Body) $ SMTPClient = New-Object Net. Mail. SmtpClient ($ SmtpServer, 587) $ SMTPClient. EnableSsl = $ True $ SMTPClient. Credentials = New-Object System. Net. NetworkCredential ("userID", "Lösenord"); $ SMTPClient. Send ($ SMTPMessage)
Öppna filen med PowerShell -redigeraren genom att högerklicka på filen och välja "Redigera". Genom att köra från redigeraren kan vi läsa de felmeddelanden som blinkar när du dubbelklickar på filen.
cd. / skrivbord
. / test1.ps1
Om detta misslyckas beror det troligen på ett katalogproblem. Se till att PowerShell pekar på skrivbordskatalogen. Kommandotolken kommer att se ut ungefär så här:
PS C: / Users / you / Desktop>
Om det inte gör det måste du komma ihåg alla dina gamla DOS -kommandon; cd, dir,. \, etc för att få PowerShell att peka på skrivbordet. Försök igen, om det inte fungerar, läs felmeddelandet för att upptäcka problemet
. / test1
Steg 3: Skriv och felsök en batchfil
Öppna Anteckningar och kopiera följande text:
PING localhost -n 180> NUL
powershell.exe. / SendPic.ps1 avstängning -s -t 100
PING -uttalandet är ett riktigt hack som skickar ut en kommunikationsbegäran varannan 180 gånger. Fördröjningen bör vara tillräckligt lång för att datorn ska starta upp, upprätta internetanslutning och ta en webbkamerafoto. Nyare versioner av Windows stöder TIMEOUT - mycket renare.
Nästa uttalande kör PowerShell -filen som skickar e -postmeddelandet med foto bifogat.
Det sista uttalandet får datorn att stängas av efter 100 sekunders fördröjning. Denna tid väljs som tillräcklig för att skicka e -postmeddelandet.
Spara filen på skrivbordet som SendPic.bat (inte. TXT som kommer att hända om du inte lägger till tillägget till filnamnet. Dra och släpp filen i mappen STARTUP i Windows.
Dubbelklicka på ikonen för batchfilen. Du bör få e -postmeddelandet. Oj! Alltför lätt. Ja, mycket kan gå fel.
Felsökning
Problemet med felsökning av både denna.bat -fil och den föregående.ps1 -filen är att felen blinkar alldeles för snabbt för att läsa. Du kan sakta ner det med:
PAUS
PING localhost -n 180> NUL PAUSE powershell.exe. / SendPic.ps1 PAUSE -avstängning -s -t 100 PAUSE
PAUSE väntar på att du trycker på ENTER -knappen. Läs felmeddelandet. Återigen är det förmodligen ett katalogproblem. När du har åtgärdat problemet, ta bort PAUSE -uttalandena, annars hänger programmet.
Om du vill avsluta batchfilen medan den körs, klicka i det öppna cmd -fönstret och skriv ^C (Ctrl C).
Steg 4: Förpackning
Gamla stationära datorer som kör Windows är inte kända för sin tillförlitlighet. Vad är det första du gör när datorn packas upp? Stäng av strömmen! Så det är vad vi ska göra. Hitta en AC Timer Switch på Walmart eller Amazon. De billiga är mekaniska (mindre än $ 10), de dyrare är elektroniska (mer än $ 20). Programmera omkopplaren så att den slås på till exempel 08:00 och stängs av 15 minuter senare. Anslut din dator till timeruttaget.
När timeromkopplaren skickar ström till din dator initieras följande händelseföljd:
- BIOS upptäcker nätström, datorn startar upp
- Windows startar (utan inloggning med lösenord)
- Webbkameraprogrammet startar och tar en bild
-
Batchfilkörning startar
- Fördröjning för slutförande av startprocessen, bildtagning och internetinloggning
- Kör PowerShell -fil för att skicka e -post med bilaga
- Fördröjning för slutförande av e -post
- Stäng av dator
Timerkontakten tar sedan bort strömmen från datorn. Detta är nyckeln för tillförlitlig obevakad drift. Jag har överlevt intermittenta hårddiskfel, programhängningar och andra datorstopp, men när systemet misslyckas kommer det tillbaka efter en strömcykel.
Detta tillvägagångssätt kan enkelt anpassas till säkerhetsövervakning, till exempel, använd iSpy för att ta ett kort videoklipp när rörelse detekteras och skicka ett e -postmeddelande med en videofilm. Faktum är att konceptet kan utökas till att skicka en e -postvarning vid upptäckt av en händelse och med tillägg på en Arduino och de fysiska sensorer som finns i det universum - himlen är gränsen!
Rekommenderad:
Skicka data från Arduino till Excel (och plotta det): 3 steg (med bilder)
Skicka data från Arduino till Excel (och planera det): Jag har sökt i stor utsträckning efter ett sätt som jag kan plotta min Arduino -sensoravläsning i realtid. Inte bara plotta, utan också visa och lagra data för ytterligare experiment och korrigeringar. Den enklaste lösningen jag har hittat var att använda excel, men med
Gör USB -hubb från gammalt tangentbord? ♻: 3 steg (med bilder)
Skapa USB-hubb från gammalt tangentbord? ♻: As-Salaamu-Alaikum! Jag har ett gammalt tangentbord som inte använts och det var också lite fel på tangenterna. Så jag bestämde mig för att göra bra ut det. Jag tog dess kretskort och konverterade det till "USB Hub". Det var lätt
Laddningsbart LED -ljus / fackla från gammalt LiIon -batteri: 15 steg
Laddningsbart LED-ljus / fackla från gammalt LiIon-batteri: hej jag har gjort några laddningsbara lampor från billiga ebay-komponenter och LI-jonbatterier från gammal elektronik
Hur man gör ett automatiskt roterande äggfack från PVC och trä: 5 steg
Hur man gör ett automatiskt roterande äggfack från PVC och trä: Om du har sett hönan vända dit ägg kan du märka att det tenderar att rotera ägget helt med fötterna, det är den vanligaste och effektivaste tekniken, det vänder embryot inuti ägget och don har inte lämnat någon chans att hålla sig inuti skalet därför
Bärbar dator från gammalt kamerastativ: 4 steg
LAPTOP -SKRIFT FRÅN GAMLET KAMERATRIPOD: Laptopbord från kamerastativ. Fungerar längs din säng, stol, vad som helst