Indholdsfortegnelse:
- Trin 1: Klargør computeren
- Trin 2: Skriv og fejlret en PowerShell -fil
- Trin 3: Skriv og fejlsøg en batchfil
- Trin 4: Indpakning
Video: Send automatisk e -mail med foto fra batchfil ved hjælp af gammelt skrivebord og XP: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Jeg er meget heldig at have en fantastisk udsigt fra mit hjemmekontors vindue. Når jeg er væk, vil jeg se, hvad jeg mangler, og jeg er ofte væk. Jeg plejede at have mit eget websted og en hjemmevejrstation, der ville uploade alle ftp -data fra vejret og et foto taget ud af vinduet, men webstedsværtsudbyderen gjorde vedligeholdelse af webstedet besværligt, så efter mange år faldt jeg det. Jeg havde til hensigt at finde en erstatningsmetode til at kigge ud af vinduet f.eks. gratis websteder, blogs, e -mail … men i de fleste tilfælde blev automatiserede ftp -overførsler til disse potentielle løsninger blokeret. En ekstra komplikation er, at jeg ofte er væk i flere måneder ad gangen, så den løsning, der afgøres, skal være pålidelig.
Jeg blev inspireret af Instructables -forfatteren Olivi3r og hans Instructable til at skabe et sikkerhedskamera. Efter et par dages håndvridning fik jeg det til at fungere. Denne instruktør tilføjer et par vigtige detaljer.
Grundlæggende er målet at snappe et foto med webkameraet hver morgen og derefter sende billedet til mig selv via gmail som en vedhæftet fil. Dette vil ske som følger:
- Vekselstrøm tændes i 15 minutter ved hjælp af en 110VAC timer
- Computeren tændes
- Webcam -software tager et foto
- En Windows -batchfil udføres, der vil:
- Udfør en PowerShell -scriptfil, der sender e -mailen og vedhæftede filer
- Batchfilkommandoen lukker computeren
- Vekselstrømmen slukker
Advarsler: Jeg er ikke en Windows -programmør - spørg mig ikke, om det ikke virker. Jeg fik denne tilgang til at fungere ved at snorkle gennem internettet, indtil jeg fandt den nødvendige indsigt i fejlfinding af mine filer. For det andet ville jeg have, at dette skulle køre på en Windows XP -maskine, jeg er sikker på, at der er bedre løsninger på en Windows 10 -computer. Faktisk er der sandsynligvis bedre løsninger på en XP -maskine. Hvis du finder nogen, skal du sætte dem i kommentarerne. At køre denne fremgangsmåde på en bærbar computer kan være dicey, fordi computeren skal tænde, når vekselstrømmen er tændt. Instructables -kodeditoren har en grim vane med at indsætte og andre HTML -tags i koden (inklusive Olivi3rs kode). Jeg tror, jeg har redigeret alle disse ud, men pas på.. Til sidst ville Instructables "Full Preview" -knappen kun give mig en blank hvid side - så WYSIWYG!
Vi gør dette i 4 trin:
- Klargør computeren
- Skriv og fejlret et PowerShell -script
- Skriv og fejlsøg en batchfil
- Afslut det hele, og Bob er din onkel!
Trin 1: Klargør computeren
Grav først et gammelt skrivebord ud af skabet. Hvis det kører på Windows XP (SP3) - det vil fungere. Denne instruks er designet til XP, men tilgangen skal være den samme på Windows 10. Fyr den op og påkald BIOS (normalt F1, del eller F2 under opstartsprocessen). Find noget i stil med "Strømstyring", og skift det til "AC Power Recovery - ON". Dette får computeren til at starte op, når vekselstrømmen tændes. Test det.
Du bliver nødt til at deaktivere alle adgangskoder og logge på som administrator. Dette skyldes, at computeren skal afslutte opstartsprocessen uden opsyn. Gå til Kontrolpanel, Brugerkonti, og foretag de nødvendige ændringer, hvis det kræves.
Derefter har du brug for et webcam og et webcam -program, der snapper et billede og gemmer det. Jeg bruger Dorgem - enkelt og gratis. Konfigurer Dorgem til at tage et billede og gemme det på skrivebordet. Skift ikke billedets navn, når du tager et nyt billede, i stedet overskriv det sidste billede. I dette eksempel er billedet Pic.jpg. Bemærk også, at jeg gemmer billedet på skrivebordet. Dette er vigtigt, fordi bibliotekstien er let. Træk og slip Dorgem -ikonet i Windows STARTUP -mappen.
Nu - et par tricky bits:
Du skal ændre din Chrome -konto for at tillade mindre sikre apps. Goggle "krom mindre sikre apps" og vælg den første mulighed - sandsynligvis denne. Slå denne funktion til. Du får en e -mail -advarsel, der informerer dig om farerne ved denne indstilling. Du behøver muligvis ikke at gøre dette, hvis du bruger en anden e -mailserver, f.eks. Yahoo, AOL …
Dernæst skal du aktivere udførelsen af PowerShell -scripts. Hvis du kører Windows 10, er dette lettere - klik på Windows -ikonet (nederste venstre hjørne af skærmen), rul ned på listen over programmer til Windows PowerShell, udvid, højreklik på PowerShell og vælg "Kør som administrator". Dette åbner PowerShell -vinduet. I XP er processen lidt mere kompliceret - brug File Explorer, find PowerShell -biblioteket (noget som C: / Windows / system32 / WindowsPowerShell / v1.0), højreklik på PowerShell -ikonet og vælg "Pin to start menu". Nu har du adgang til PowerShell ved at klikke på ikonet Start (nederst til venstre) og klikke på PowerShell -ikonet. Klik på PowerShell -ikonet, i det vindue, der dukker op, skriver du følgende kommando:
sæt-eksekveringspolitik fjerndesignet
Du bliver bedt om at bekræfte ved at skrive "y".
bekræft, at du har ændret udførelsespolitikken ved at skrive:
udførelsespolitik
Okay! Din computer er klar.
Trin 2: Skriv og fejlret en PowerShell -fil
Kopier og indsæt denne tekst i Notesblok:
$ 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)
Gem denne fil på skrivebordet som "SendPic.ps1".
Foretag de nødvendige ændringer af; dig, bruger -ID og adgangskode. Normalt er dit bruger -ID det samme som din komplette Gmail -adresse.
Hvis du ikke bruger Gmail, skal du rote rundt på Internettet for at finde porten, der er knyttet til din Smtp -server og ændre "587" til den relevante port, f.eks. smtp.mail.yahoo.com og porten er 465.
I stedet for at bruge Notesblok er PowerShell -editoren tilgængelig.
Nu til den store - højreklik på SendPic PowerShell -filen og vælg "Kør med PowerShell". Hvis det virker, vil du modtage og e -maile om et par sekunder. Hvis det ikke gør det, skal du begynde fejlfinding.
Debugging
Opret en ny PowerShell -fil på dit skrivebord ved navn test1, der sender en e -mail uden vedhæftet fil:
$ 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", "adgangskode"); $ SMTPClient. Send ($ SMTPMessage)
Åbn filen med PowerShell -editoren ved at højreklikke på filen og vælge "Rediger". Ved at køre fra editoren kan vi læse de fejlmeddelelser, der blinker, når du dobbeltklikker på filen.
cd. / desktop
. / test1.ps1
Hvis dette mislykkes, skyldes det sandsynligvis et bibliotekproblem. Sørg for, at PowerShell peger på skrivebordskataloget. Kommandoprompten vil se sådan ud:
PS C: / Brugere / dig / Desktop>
Hvis det ikke gør det, skal du huske alle dine gamle DOS -kommandoer; cd, dir,. \, etc for at få PowerShell peget på skrivebordet. Prøv igen, hvis det ikke virker, skal du læse fejlmeddelelsen for at hjælpe med at opdage problemet
. / test1
Trin 3: Skriv og fejlsøg en batchfil
Åbn Notesblok og kopier følgende tekst:
PING localhost -n 180> NUL
powershell.exe. / SendPic.ps1 -lukning -s -t 100
PING -erklæringen er et rigtigt hack, der sender en kommunikationsanmodning hvert andet 180 gange. Forsinkelsen skal være lang nok til, at computeren kan starte op, etablere internetforbindelse og tage et webcam -foto. Nyere versioner af Windows understøtter TIMEOUT - meget renere.
Den næste erklæring udfører PowerShell -filen, der sender e -mailen med foto vedhæftet.
Den sidste erklæring får computeren til at slukke efter en forsinkelse på 100 sekunder. Denne tid er valgt som tilstrækkelig til at sende e -mailen.
Gem filen på dit skrivebord som SendPic.bat (ikke. TXT, som det vil ske, hvis du ikke tilføjer udvidelsen til filnavnet. Træk og slip filen i Windows STARTUP -mappen.
Dobbeltklik på ikonet for batchfil. Du skal modtage e -mailen. Whoa! For nemt. Ja, ja, meget kan gå galt.
Debugging
Problemet med fejlfinding af både denne.bat -fil og den tidligere.ps1 -fil er, at fejlene blinker alt for hurtigt til at blive læst. Du kan bremse det med:
PAUSE
PING localhost -n 180> NUL PAUSE powershell.exe. / SendPic.ps1 PAUSE -lukning -s -t 100 PAUSE
PAUSE venter på, at du trykker på ENTER -tasten. Læs fejlmeddelelsen. Igen er det sandsynligvis et bibliotekproblem. Når du har løst problemet, skal du fjerne PAUSE -udsagnene, ellers hænger programmet.
Hvis du vil afslutte batchfilen, mens den udføres, skal du klikke i det åbne cmd -vindue og indtaste ^C (Ctrl C).
Trin 4: Indpakning
Gamle stationære computere, der kører Windows, er ikke kendt for deres pålidelighed. Hvad er det første, du gør, når din computer pakker op? Sluk for strømmen! Så det er det, vi skal gøre. Find en AC Timer Switch på Walmart eller Amazon. De billige er mekaniske (mindre end $ 10), de dyrere er elektroniske (mere end $ 20). Programmer kontakten til at tænde for eksempel kl. 8.00 og slukke 15 minutter senere. Slut din computer til timeren.
Når timerkontakten sender strøm til din computer, startes følgende hændelsesfølge:
- BIOS registrerer vekselstrøm, computeren starter op
- Windows starter (uden login -adgangskode)
- Webcam -programmet starter og tager et billede
-
Batchfilkørsel starter
- Forsinkelse af færdiggørelse af opstartsproces, billedoptagelse og internetsignon
- Udfør PowerShell -fil for at sende e -mail med vedhæftet fil
- Forsinkelse af færdiggørelse af e -mail
- Luk computeren
Timerkontakten fjerner derefter strømmen fra computeren. Dette er nøglen til pålidelig uovervåget drift. Jeg har overlevet periodiske harddiskfejl, program -hangups og andre computerstoppere, men når systemet fejler, kommer det tilbage efter en strømcyklus.
Denne fremgangsmåde kan let tilpasses sikkerhedsovervågning, f.eks. Brug iSpy til at hente et kort videoklip, når der registreres bevægelse, og send en e -mail med en vedhæftet fil. Faktisk kan konceptet udvides til at sende en e -mail -advarsel efter påvisning af enhver begivenhed og med tilføjelse af en Arduino og de fysiske sensorer, der er tilgængelige i det univers - himlen er grænsen!
Anbefalede:
Jeg lavede et gammelt cd -drev til wifi -robot ved hjælp af Nodemcu, L298N motordrev og mange flere .: 5 trin
Jeg lavede et gammelt cd -drev til wifi -robot ved hjælp af Nodemcu, L298N motordrev og mange flere .: VX Robotics & Elektronik til stede
Optag og send billeder med ESP32-Cam ved hjælp af ESP8266 WeMos D1 R1 Wifi-processor med Uno: 7 trin
Optag og send billeder med ESP32-Cam ved hjælp af ESP8266 WeMos D1 R1 Wifi-processor med Uno: Tag billede ved hjælp af ESP32-Cam (OV2640) ved hjælp af ESP8266 WeMos D1 R1 WiFI-processor med Uno og send det til e-mail, gem til Google Drive og send det til Whatsapp ved hjælp af Twilio. Krav: ESP8266 WeMos D1 R1 WiFI -processor med Uno (https: // protosupplies
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores
Automatisk dyrefoder ved hjælp af et gammelt digitalt ur: 10 trin (med billeder)
Automatisk dyrefoder ved hjælp af et gammelt digitalt ur: Hej, i denne instruktive vil jeg vise dig, hvordan jeg lavede en automatisk dyrefoder ved hjælp af et gammelt digitalt ur. Jeg har også integreret en video om, hvordan jeg lavede denne feeder. Denne instruktive vil blive deltaget i PCB -konkurrencen, og som en fordel vil jeg
Smart styresystem til robotbiler ved hjælp af trinmotor fra gammelt diskette/cd -drev: 8 trin (med billeder)
Smart styresystem til robotbiler ved hjælp af trinmotor fra Old Floppy/CD Drive: Smart styresystem til robotbiler Er du bekymret for at lave et godt styresystem til din robotbil? Her er en fantastisk løsning ved bare at bruge dine gamle disketter/ CD/ DVD -drev. se det ud og få en idé om detBesøg georgeraveen.blogspot.com