Así que he querido esto durante mucho tiempo, pero no estoy 100% seguro de cómo hacerlo. Básicamente quiero poder hacer que iTunes reproduzca una estación de radio cuando llegue a casa .
Estaba pensando en poder ejecutar un script cada diez segundos más o menos para ver si mi iPhone se ha unido a mi red inalámbrica, abriendo así iTunes y reproduciendo esa estación de radio. Después de que comienza a reproducirse, impide que el script vuelva a verificarse hasta 12 horas después. (Estoy dando un ejemplo de 12 horas ya que no quiero estar en casa y de repente tener música comenzando de repente sin ningún motivo).
Entonces, ¿por dónde debo empezar? ¿Estoy empezando en el lugar correcto? ¿Hay algo mejor que esto? ¡Necesito ayuda y dirección! Siento que lo que quiero es relativamente simple... :-/
Para empezar, puede consultar ControlPlane para activar iTunes cuando llegue a casa.
de http://www.controlplaneapp.com/about/ :
ControlPlane le permite crear perfiles de configuración, contextos en la jerga de ControlPlane, para su Mac en función de dónde se encuentre o de lo que esté haciendo. ControlPlane determina dónde se encuentra o qué está haciendo en función de una serie de fuentes de evidencia disponibles y luego reconfigura automáticamente su Mac en función de sus preferencias. Las fuentes de evidencia pueden incluir su ubicación actual, redes WiFi visibles, dispositivos USB conectados, aplicaciones en ejecución y más.
Sería útil si pudiera proporcionar un poco más de información sobre la funcionalidad esperada. Parece que tienes una Mac en tu casa, ¿permanece encendida todo el tiempo?
Se le ocurren un par de ideas, pero la forma en que las combine dependerá de lo que quiera que suceda específicamente.
Si tiene su iPhone con usted y se conecta automáticamente a su Wi-Fi, esa es probablemente la mejor manera de verificar si está en casa.
Primero, tenga en cuenta la dirección MAC Wi-Fi de su iPhone, que encontrará en Configuración → General → Acerca de → Dirección Wi-Fi .
Puede usar el arp -a
comando en Terminal (o un script) para imprimir la lista de direcciones conocidas de Mac en la red local, luego use grep
para verificar si la dirección de su iPhone está allí:
arp -a | grep -i IPHONE_MAC_HERE
Eso imprimirá la entrada ARP si una coincide con la dirección de su iPhone, y no imprimirá nada si no la hay.
Es importante tener en cuenta que esto solo puede funcionar de manera confiable si su iPhone está configurado para sincronizarse a través de Wi-Fi con su Mac. arp -a
solo enumera las direcciones con las que se ha comunicado recientemente: no sabe que su iPhone está allí a menos que hable con su Mac. Debido a que la sincronización Wi-Fi hace que el iPhone envíe un mensaje de identificación cuando se une a una red (para ver si alguna computadora con la que se sincroniza está en línea), se agregará a la tabla ARP de su Mac cuando regrese a casa, pero es posible que no si no tienes configurada la sincronización Wi-Fi.
Si no usa algo como Controlplane (mencionado en la respuesta de Kraymer ), AppleScript es la mejor manera de controlar la reproducción de iTunes.
Es bastante sencillo:
tell application "iTunes"
play playlist "Music"
end tell
Comenzará a reproducir su biblioteca principal. Cambie "Música" a cualquiera de los nombres de su lista de reproducción si tiene uno específico que desea reproducir. También puede agregar set shuffle of playlist "Music" to yes
en la línea antes de la play
línea si desea mezclar.
También puede iniciar la reproducción dentro de un script de shell:
osascript -e 'tell application "iTunes" to play playlist "Music"'
#!/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"'
Esta es una versión bastante simplista, pero debería ser un buen punto de partida para hacer algo más cercano a lo que quieres. Cuando ejecute el script, comprobará la dirección del iPhone (asegúrese de poner la correcta en el script) cada treinta segundos hasta que lo detecte, luego reproducirá iTunes.
launchd
la funcionalidad de OS X (que permite varias programaciones y repeticiones de secuencias de comandos) puede ser una buena idea. Hay muchos recursos sobre esto, tanto en Ask Different como en otros lugares.
launchd
podría ser responsable de ejecutarlo en un intervalo para verificar.Agregando a lo que todos los demás dicen, hay otra opción que puede considerar si no le importa dejar Bluetooth habilitado en su teléfono (y dado que los iPhones más nuevos usan Bluetooth 4.0, no será tan malo agotar su batería como encarnaciones anteriores). Este sitio web detalla una aplicación llamada Bluetooth Proximity Tasker, que le permite programar varias acciones cuando su sistema detecta su iPhone (u otro dispositivo habilitado para Bluetooth) con una cierta intensidad de señal.
No probé personalmente esta aplicación, pero probé otra que encontré hace uno o dos meses que pudo detectar mi iPhone y deshabilitar la protección con contraseña en mi iMac (aunque esa aplicación era gratuita y carecía de la opción de selección de fuerza personalizada).
Andrés Ferrer
jonathan