9 berichten aan het bekijken - 1 tot 9 (van in totaal 9)
  • Q:
    Bijdrager
    Statio

    Hulp gezocht: Apple Script voor re-boot script i.c.m. een time-lapse

    Hi allen!

    Wij hebben hulp nodig bij het ontwikkelen van een script, dat in het geval dat een Mac opnieuw wordt opgestart bij een stroomstoring/crash een programma opnieuw laat opstarten en binnen dat programma een aantal functies gaat uitvoeren.

    Het geval is dat we voor een klant een constructie aan het bouwen zijn dat er een time-lapse voor 5 jaar wordt aangezet om de ontwikkeling van een projectgebied vast te leggen. Het kantoor van de klant is tegenover de bouwplaats dus alles staat warm en droog. De camera wordt aangestuurd via Nikon Control Pro die de beelden via tethering automatisch naar een Dropbox folder plaatst die wij op kantoor leeghalen.

    Nu hebben we sowieso al voor een MacBook en een UPS gekozen om enige veiligheid in te bouwen in het geval van narigheid maar indien de MacBook toch opnieuw wordt opgestart willen we graag een script als back-up hebben die de camera opnieuw triggert via de Nikon Camera Control Pro 2 software.

    Wie weet er een oplossing? Ik hoor graag meer!

    Alvast dank!

    Bijdrager
    fred44nl

    het automatisch opstarten van een programma kun je instellen in Systeemvoorkeuren – Gebruikers en groepen – Inloggen.

    Bijdrager
    Statio

    Hi Fred, zover waren wij ook al :wink:. Het gaat specifiek om het opnieuw aanzetten van de time-lapse op de camera, wat enkele commands binnen een programma vergt.

    Bijdrager
    iMad

    Lunar Eclipse Maestro

    Is dit misschien iets?

    Bijdrager
    APIcoder

    Mogelijk dat ik jullie kan helpen.

    AppleScript gebruik ik vooral voor automatiseren van Indesign Scripts en Systeembeheer.

    Ik nu ben bezig met een AppleScript ( Shell Script ) om een remote Mac Mini Server te beheren.

    Na een herstart ( na stroomstoring ) moeten een aantal Systeem instellingen worden geactiveerd.
    ( Vergelijkbaar met het eerste deel van jullie benodigde oplossing. )

    Ook is het mogelijk om via het web opdrachten te geven, handig als je niet via Remote Management bij je computer kan komen.

    Stuur anders een PB.

    Bijdrager
    Waffle ಠ_ಠ

    Doe jezelf een plezier en probeer het zelf te leren. Spelenderwijs kom je er vanzelf. AppleScript leent zich hier ook heel makkelijk toe, het is namelijk totaal niet moeilijk te begrijpen. Met een kleine Engelse woordenschat, kennis van basale interpunctie en een aantal hele simpele programmeerconcepten kom je al een heel eind.

    Met een klein beetje geluk biedt NCP zelf al een AppleScript-library. Open het library-dialoog (zal wel bibliotheek zijn in de Nederlandse versie, of druk gewoon op command+shift+L). Druk op plus en selecteer de Nikon Control Pro.app. Als je vervolgens een nieuw venster met allerlei uitleg krijgt biedt NCP een AppleScipt library. Dat is altijd handig ter referentie of om stukjes sample code uit te halen.
    In het ergste geval moet je terugvallen op GUI-scripting, wellicht met iets als

     
    tell application "click button "knop om in te drukken" of window 1 of application process "Nikon Camera Control Pro"
     

    of

     
    tell application "Nikon Control Pro"
    	activate
    	tell application "System Events"
    			keystroke "c" using  {command down, shift down}
    	end tell			
    end tell
     

    Nu zal het bovenstaande waarschijnlijk niets uitvoeren in NCP omdat ik geen idee heb hoe dat programma in elkaar zit, maar je zult vast zelf al wel merken dat AppleScript allemaal niet zo ingewikkeld is.

    Kleine toelichting van de voorbeelden:
    In het eerste voorbeeld wordt aangenomen dat er in de UI een knop bestaat met de tekst “knop om in te drukken”. Deze zal zodra deze regel van het script wordt uitgevoerd even worden ‘ingedrukt’ door de virtuele AppleScript-‘muis’.
    In het tweede voorbeeld wordt NIkon Control Pro eerst geopend (of naar de voorgrond gehaald). Vervolgens wordt er een toetscombinatie getoetst door het virtuele AppleScript-‘toetsenbord’, in dit geval command+shift+c (wellicht is dat het menucommando voor capture?).

    Nog een tip: gebruik Automator. Maak in Automator een nieuwe workflow en druk op de rode knop voor ‘opnemen’. Open dan NCP, voer de nodig acties uit en klik in het Automator-venster op de stopknop. Sla dat als .app op en voeg het toe aan de login items.

    Bijdrager
    prenkema

    Wellicht een paar kleine opmerkingen op het hierboven genoemde, uitstekende advies.

    Heb het zojuist even gecheckt en NCP is niet scriptable, dus je zal het met UIscripting moeten doen, zie macautomation website
    Handig hulpmiddel hierbij is de “accessibility inspector”, deze krijg je mee geïnstalleerd als je xcode download en installeert, om namen en structuren van de menu’s te kunnen doorgronden.

    zojuist gevonden, en iets handiger dan de inspector : UIBrowser, 30 dagen trial (aanschaf $55.00) . Deze maakt de juiste applescript code voor je, applescript is soms een niet helemaal 1 op 1 hoe het element heet en hoe je het dan aan moet spreken.

    Belangrijk is ook om het ontwikkelde applescript op te slaan als applicatie en deze dan in login items toe te voegen.

    Ook moet je er voor zorgen dat de gebruiker(s) automatisch inloggen, anders zal je altijd eerst aan moeten melden, en gebeurd er dus helemaal niets.

    P.S. Ben benieuwd naar het eindresultaat.

    Bijdrager
    Le Big Mac

    Ik gebruik geen Nikon Control maar tether met Capture 1 Pro. Met bv. de volgende code maak ik 12 opnames met een tussenpauze van 5 seconden
    Zo hoef ik op de camera geen timelaps-parameters in te geven. Wellicht kan je het script aanpassen voor Nikon Control.

     
    tell application "Capture One" --> NB: kijk in Hulpprogramma's > Activiteitenweergave naar de juiste naam voor Nikon Control
    	reopen
    	activate
    end tell
    repeat 12 times --> of 1000000000x voor jou
    	tell application "System Events"
    		tell process "Capture One" --> NB: vervang door de juiste naam voor Nikon Control
    			set frontmost to true
    		end tell
    		keystroke "k" using command down --> NB: maak een opname
    	end tell
    delay 5 --> NB: pauzeer x seconden voor de volgende opname
    end repeat
     

    Als je exposure-bracketing wil, kan je dat op de camera instellen en in het script een extra repeat inbouwen.

    Sleutelbeheerder
    Night

    Zoals Steve Jobs al pleegde te zeggen: “We have an app for that…”

    Zoals dit bijvoorbeeld: http://www.murgaa.com/macro-recorder-mac/

    Maar beter zou het zijn om Apple’s eigen LaunchD te gebruiken.
    Met als hulp bv. Lingon.

    Heb je er ook aan gedacht wat er gebeurt als je Mac in slaap valt?

9 berichten aan het bekijken - 1 tot 9 (van in totaal 9)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.