Bygg en Rhizotron! (SoilCam) (7 / 9 steg)
Steg 7: Tips / Tweaks / felsökning
Flip / floppa bilder vertikalt eller horisontellt
Den Scanning delen av skriptet
Auto kombinera videoklipp
Manuellt kombinera videoklipp
Bilder med högre upplösning
Det gick inte att skanna problem
Programvara information
Dela videoklipp
Flip / floppa bilden vertikalt eller horisontellt
Är dina bilder vänt upp och ner, eller floppade horisontellt?
Ansluta till Pi / logga in
# cd ~/SoilCam/
# nano soilcam.sh - c
Tryck "Ctrl W" för att söka efter ett ord, skriv "scanimage" sedan slå till den gå in nyckeln.
Scrolla till höger, titta för texten "-flip" och "-flop"
"-flip" vänder bilden vertikalt
"-flop" flops bilden horisontellt
Om bilden är upp och ner i din sökning, ta bort den "-flip" kommandot, sedan
Tryck "Ctrl-X" om du vill spara, klicka på "y" för att bekräfta och tryck "enter" för att bekräfta om filnamn och exit.
Vilken del av skriptet startar skanningen?
/usr/bin/scanimage--mode färg--tiff format--upplösning 300 - x 210 -y 295 | / usr/bin/konvertera - flip - flop - $imgloc1 / $fil
Vi först köra programmet scanimage, detta är vad kommunicerar med vår scanner. Vi berättar det vi vill att det ska göra en färg skanna i formatet TIFF bild. Vi anger du en upplösning på 300 rader per tum, och regionen vi ska skanna bör omfatta 210 mm på X-axeln (sida till sida) och 295 på Y-axeln. (Uppifrån och ned för scanner). Efter att vi rör (skicka) data (bild) från genomsökningen använder den "|" karaktär den programvara verktyg "Konvertera", där vi berättar den för att rotera den, flop det horisontellt, och slutligen spara den som en jpeg. $imgloc1 texten är en variabel att när skriptet körs ersätts med katalogen vi vill spara bilden i (~/public_html/images/original). $file texten är en annan variabel som får ersättas med prefixet "sc_" följt av aktuellt datum och tid.
Automagiskt kombinera videoklipp
Dagliga videor kan kombineras till en månatlig video genom att köra kommandot:
#./soilcam.sh - c
Detta kommando är avsett att köras varje dag, och kommer att fungera om du antingen schemalägga det som en cronjob crontab -e, eller ändra skriptet soilcam.sh för att anropa funktionen combinevideo i slutet av funktionen processvideo.
Vad - c gör: ser ut för någon fil i katalogen ~/public_html/videos/ som börjar med "sc_" (således utan någon tillfällig video arkivera du skapade), följt av gårdagens datum i år/månad form. Till exempel: om idag är 24 maj 2016, det ser ut för någon fil på sc_201605*.ts. Detta fungerar bra om du kör processen dagligen. Men om videor inte är kombineras för ett par dagar till en ny månad, skriptet kommer inte gå tillbaka och sammanställa videor från en föregående månad. (se nästa avsnitt för att kombinera manuellt)
Månatliga videor lagras i katalogen ~/public_html/videos/combined/
Dagliga *.ts filer tas bort när kommandot körs! Det kommer inte ta bort .mp4 arkivera.
# katt filename1.mpeg.ts >> filename2.mpeg.ts
Detta kommer att kombinera två mpeg.ts filer. Katten "conkattenates" en fil till en annan, att lägga till den första filen kallas till slutet av den andra filen. Vi använder .ts format eftersom det fungerar bra med detta beteende. Jag tror inte samma operation kommer att arbeta med en .mp4 fil. Men MP4-filer är lätta att spela på nästan alla moderna datorer! Så måste vi ändra vår kombinerade filens slutliga format genom att skriva:
# avconv -y - isync -i filename2.mpeg.ts - c kopiera filename2.mp4
Vad händer om du vill kombinera en hel katalog med filer? En enkel ögla för oftast fungerar bra och utnyttjas i skriptet soilcam.sh. Kolla in filen soilcam.sh för ett exempel på detta. Bläddra nedåt (nästan till botten) och titta på avsnittet "combinevideo". Se denna länk för mer info om för loopar
Följa dessa instruktioner kan bryta den soilcam.sh skriften, men bör inte vara svårt för att fixa:) jag har inte testat detta med den senaste versionen av skriptet:)
Jag har hittat att skanning med 300 DPI fungerar bra, men det finns så mycket mer kan du se om du kan skanna med högre upplösning! Först, se vilka resolutioner som skannern stöder genom att skriva
# scanimage -h
Som kommer att rapportera tillbaka en massa kommandon som scanimage och särskilda skannern stöder. Kom ihåg:
-De flesta skannrar stödja endast några särskilda resolutioner, till exempel: (150, 300, 600, 1200, 2400).
-Högre upplösning skannar ta längre tid att skanna, vilket innebär snabbare flytta objekt kommer att bli mer suddig.
-Högre upplösning scanningar använda mer diskutrymme. En 300 DPI (punkter per tum) JPG-bild kan ta upp 3 eller 4 MEGABYTE data. Inte mycket om du inte tar en genomsökning varje 15 minut för en månad raka. Det är cirka 8 Gigabyte data. Nu ser du varför vi vill ha ett större SD kort; ) En 600 DPI scan kunde lätt ta upp 4 x detta belopp!
Redo att ändra resolutioner? Öppna soilcam.sh skriptet i din favorit editor.
# nano./soilcam.sh
Tryck Ctrl-W att söka termen "scanimage" och tryck sedan på Ange
Använd högerpilen för att rulla över tills du ser texten "--upplösning 300", ändra den "300" till din önskad upplösning.
Slå till Ctrl-X, sedan Y och sedan på Enter för att spara och avsluta.
Felsökning / olika scanner / Script inte startar en genomsökning
Först hitta skannern på den här sidan, se till att det är listad som kompatibel. Om det inte finns där, gör en google-sökning för din skannermodell och "linux" eller "scanimage". Se om andra människor har haft framgång.
Om du tycker att det är förenligt, men soilcam.sh manus inte är finns några snabba saker vi kan kontrollera.
1. typ "scanimage -L", om ingen skannrar identifierades, kontrollera de följande två artiklarna.
3. är den USB-kabel ansluten till skannern?
4. är USBkabeln då ansluten till en powered USB-hubb, som sedan är ansluten till din Pi?
5. är skannern påslagen (de flesta USB-enda skannrar har inte på/av-strömbrytare)
6. typ "sudo scanimage -L".
-Om detta fungerar, prova att köra skriptet med sudo: "sudo./soilcam.sh -s"
--Om det fungerar, prova att lägga pi användaren till gruppen scanner igen "sudo usermod - a -G scanner pi"
7. kommandot som vi använder för att inleda en scan kan innehålla argument som inte är kompatibla med skannern. Vi för närvarande kör kommandot: "/ usr/bin/scanimage--mode färg--format tiff--upplösning 300 - x 210 -y 295"
-typ "scanimage--hjälp" att få en lista över giltiga kommandon för din skanner.
-Kontrollera om:
--"--upplösning" vi satt till 300, vissa skannrar kan inte stödja denna resolution.
--"--mode färg" vissa skannrar stöder kanske inte detta kommando.
--"-x" och "-y", som på 210 och 295 respektive. Vissa skannrar kan inte stödja detta kommando, eller kan inte skanna ut till 295mm
Scanimage
Vi använder SANE ("Scanner Access Now Easy") för att kommunicera med våra scannrar. Du kan hitta information om SANE här: http://www.sane-project.org/docs.html, eller genom att skriva "man sane" eller "man scanimage". Namnet på det program som vi använder kallas "scanimage". Lära sig några grundläggande kommandon för scanimage (typ "scanimage -h" i din terminal) gör att du till för att göra högre upplösning skannar, skanna specifika områden, etc.
ImageMagick
Är en svit av bild redigerande program, mer information om detta kan hittas här: http://www.imagemagick.org/, eller genom att skriva "man konvertera". Vi använder främst verktyget konvertera (typ "konvertera -h" i din terminal) om du vill ändra storlek på och placera en tidsstämpel på bilden. Det klarar av mycket mer!
AVConv / AV-Tools
Är en svit av video bearbetningsprogram, vi använder den för att bearbeta jpg-bilder till en timelapse video. Mer information om programvaran kan hittas här: https://libav.org/avconv.html, eller genom att skriva "man avconv"
Det skulle vara bra att dela dina bilder eller filmer, och det finns ett oändligt antal sätt att göra detta. Jag har hittills ladda upp videoklipp till youtube och märka dem med ordet "SoilCam". Du kan enkelt använda en webbläsare manuellt ladda upp videoklipp från din Raspberry Pi till Youtube. Men det finns ett antal program som kan göra detta i ett mer händer utanför vägen. Hittills har jag använt youtube-ladda upp skriptet:
1. chef över till: https://github.com/tokland/youtube-upload
2. Följ deras instruktioner för att ladda ner och installera
3. Följ deras instruktioner för att installera lämpliga autentiseringsinformationen
4. Använd kommandot "./soilcam.sh -u" ladda upp videon som var bearbetas igår (detta inte fungerar om du försöker detta den första dagen du har din scanner setup), och första gången du kör detta kommando måste du gå till en URL för ytterligare autentisering. Jag är inte super klart på denna del, du kan behöva göra detta igen då.
5. När du har bekräftat att den manuella processen fungerar. Använda CRON att ladda upp den tidigare dagar video automagiskt. Skriv "crontab -e" i ditt terminal för att öppna den cron redaktören. Lägga till kommandot "15 0 *** /home/pi/SoilCam/soilcam.sh -u" i slutet. Detta kör den uppladdning delen av skriptet varje dag 15 minuter efter midnatt.
6. du kommer förmodligen vill redigera några av beskrivningen / titeluppgifter:
CD ~ /
Nano soilcam.sh - c
Tryck "ctrl-w" att starta en sökning, leta efter "youtube-upload" tryck enter. Sedan slå ctrl-w och in igen.
Ändra titel, kategori, taggar, och om det behövs referenser/hemligheter fält.
Tryck "ctrl-x" om du vill spara, klicka på "y" för att bekräfta och tryck "enter" för att spara med samma filnamn och exit.
Dela bilder
EJ FASTSTÄLLT! Om du lägger dem på alla sociala medier, märka dem #Soilcam? :) jag inte har delat mycket av originalbilderna. Jag har kort lagrat några på google drive och S3. Eventuellt imgur? Hmmmm. Vad tror du?