Un iTunes automatico?

3

Quindi ho desiderato questo per un molto molto tempo, ma non sono sicuro al 100% come farlo. Fondamentalmente voglio essere in grado di riprodurre su iTunes una stazione radio quando torno a casa .

Stavo pensando di poter eseguire uno script ogni dieci secondi circa per vedere se il mio iPhone si è unito alla mia rete wireless, aprendo in tal modo iTunes e riproducendo quella stazione radio. Dopo aver iniziato a giocare, uccide lo script dal controllo di nuovo fino a 12 ore dopo. (Sto dando un esempio di 12 ore dal momento che non voglio essere a casa già e improvvisamente ho improvvisamente iniziato la musica senza motivo).

Quindi dove dovrei iniziare? Sto addirittura iniziando nel posto giusto? C'è qualcosa di meglio di questo? Ho bisogno di aiuto e direzione! Sento quello che voglio è relativamente semplice ...: - /

    
posta James M. 03.11.2012 - 07:40
fonte

3 risposte

1

Per cominciare, puoi dare un'occhiata a ControlPlane per attivare iTunes quando torni a casa.

dal link :

ControlPlane allows you to build configuration profiles, contexts in ControlPlane lingo, for your Mac based on where you are or what you are doing. ControlPlane determines where you are or what you are doing based on a number of available evidence sources and then automatically reconfigures your Mac based on your preferences. Evidence sources can include your current location, visible WiFi networks, attached USB devices, running applications and more.

    
risposta data 03.11.2012 - 08:37
fonte
1

Sarebbe utile se tu potessi fornire un po 'più di informazioni sulla tua funzionalità prevista. Sembra che tu abbia un Mac in casa tua: rimane sempre?

Un paio di idee ti vengono in mente, ma il modo in cui le metti insieme dipenderà da cosa specificamente vuoi che accada.

Controllo della posizione

Se hai il tuo iPhone con te e si connette automaticamente al Wi-Fi, probabilmente è il modo migliore per verificare se sei a casa.

Per prima cosa, nota l'indirizzo MAC Wi-Fi del tuo iPhone, che troverai in Impostazioni → Generale → Informazioni su → Indirizzo Wi-Fi .

Puoi usare il comando arp -a in Terminale (o uno script) per stampare l'elenco dei Mac degli indirizzi conosciuti sulla rete locale, quindi usare grep per verificare se l'indirizzo del tuo iPhone è lì dentro:

arp -a | grep -i IPHONE_MAC_HERE

Questo stamperà la voce ARP se corrisponde all'indirizzo del tuo iPhone e non stamperà nulla se non lo è.

È importante notare che questo può funzionare in modo affidabile solo se l'iPhone è impostato per la sincronizzazione tramite Wi-Fi con il tuo Mac. arp -a elenca soltanto gli indirizzi con cui ha recentemente comunicato: non sa che il tuo iPhone è presente a meno che non comunichi con il tuo Mac. Poiché la sincronizzazione Wi-Fi fa sì che l'iPhone invii un messaggio di identificazione quando si collega a una rete (per vedere se tutti i computer con cui si sincronizza sono online), verrà aggiunto alla tabella ARP del tuo Mac quando torni a casa, ma potrebbe non se non hai impostato la sincronizzazione Wi-Fi.

Esecuzione script di riproduzione di iTunes

Se non usi qualcosa come Controlplane (menzionato nella risposta di kraymer ), AppleScript è il modo migliore per controllare la riproduzione di iTunes.

È piuttosto semplice:

tell application "iTunes"
    play playlist "Music"
end tell

Avvierà la riproduzione della tua libreria principale. Cambia "Music" in uno qualsiasi dei nomi della playlist se ne hai uno specifico che vuoi riprodurre. Puoi anche aggiungere set shuffle of playlist "Music" to yes sulla riga prima della riga play se desideri mischiare su.

Puoi anche avviare la riproduzione all'interno di uno script di shell:

osascript -e 'tell application "iTunes" to play playlist "Music"'

Script di esempio

#!/bin/bash

iPhoneMAC='78:a3:e4:4C:8f:a9' # From Settings > General > About > Wi-Fi Address

# Check if the iPhone is in the ARP table
arp -a | grep -i $iPhoneMAC > /dev/null # Silence output

# Repeat check every 30 seconds, if the iPhone address isn't detected
while [[ $? == 1 ]]; do 
    sleep 30
    arp -a | grep -i $iPhoneMAC > /dev/null
done

# Once the iPhone is detected, play music
osascript -e 'tell application "iTunes" to play playlist "Music"'

Questa è una versione piuttosto semplicistica, ma dovrebbe essere un buon punto di partenza per fare qualcosa di più vicino a ciò che desideri. Quando esegui lo script, controlla l'indirizzo dell'iPhone (assicurati di inserire quello corretto nello script) ogni trenta secondi finché non lo rileva, quindi riprodurrà iTunes.

Miglioramenti suggeriti

  • È un affare one-shot, una volta rilevato l'iPhone, riproduce la musica e interrompe il controllo. Avrai voglia di capire quale logica vuoi dietro (cioè dovrebbe avviarsi una volta al giorno della settimana, quindi suona quando torni a casa dal lavoro, o la vuoi giocare ogni volta che entri in casa).
  • Eseguirlo tramite la funzionalità launchd di OS X (che consente varie pianificazioni e ripetizioni di script) può essere una buona idea. Ci sono molte risorse su questo intorno, sia su Ask Different che altrove.
    • Se lo fai in questo modo, potresti non aver bisogno della funzionalità di loop, launchd potrebbe essere responsabile per eseguirlo a intervalli da controllare.
  • Una sorta di meccanismo per evitare controlli non necessari una volta che sei tornato a casa e la musica ha suonato. Potrebbe essere un lungo sonno una volta che suona la musica, o qualcosa di un po 'più intelligente, basato su quando vuoi che controlli.
risposta data 03.11.2012 - 20:21
fonte
1

Aggiungendo a ciò che dicono gli altri, c'è un'altra opzione da prendere in considerazione se non ti dispiace lasciare Bluetooth abilitato sul tuo telefono (e dato che i nuovi iPhone usano Bluetooth 4.0, non sarà così male con il drenaggio la batteria come incarnazioni precedenti). Questo sito web descrive un'app denominata Bluetooth Proximity Tasker, che consente di eseguire script di varie azioni quando il tuo sistema rileva il tuo iPhone (o altro dispositivo abilitato Bluetooth) con una certa potenza del segnale.

Non ho provato personalmente questa app, ma ne ho provata un'altra che avevo trovato un mese o due fa che riusciva a rilevare il mio iPhone e disabilitare la protezione della password sul mio iMac (sebbene quell'app fosse entrambi gratuiti e privi dell'opzione di selezione della forza personalizzata).

    
risposta data 04.11.2012 - 09:53
fonte

Leggi altre domande sui tag