准备

1. 树莓派
2. 音响
3. 树莓派与手机在一个局域网中

思路

利用回家时手机会自动连接wifi实现

设置路由器 将自己手机的物理地址和ip绑定

我明天差不多19:00-19:30到家,编写程序19:00开始 半小时结束监听

开始

编写脚本:

import os
import sys
import time

ip = sys.argv[1]#第一个参数为文件名 第二个参数为第一个参数
start_time = (int)(time.time())
while True:
    result =os.system("ping -q -c 4 %s"%ip)#ping自己提前设置好ip -c 为次数,-q为只显示结果
    if result == 0:
        os.system("killall mplayer ")#关闭之前的播放操作,避免意外情况
        os.system("mplayer /home/pi/play_music/gohome.mp3")#播放音乐,gohome为提前下载好的音乐
        break
    else:
        now_time = ( (int)(time.time()) )
        print(now_time - start_time)
        if( now_time - start_time > 1800 ):
            break#监听半小时还没ping通,则退出程序
        #print("error")

编写定时任务:

crontab -e

定时任务的规则为 时间 + 动作
* * * * * do :分、时、日、月、周 执行的任务

其中时间可以用如下格式表示

按照我的需求编写如下:
00 19 * * 1-5 python3 /home/pi/play_music/play_music_after_work.py 192.168.199.211

每周一到周五19:00执行 python3 /home/pi/play_music/play_music_after_work.py 192.168.199.211

很是舒服了,每次回家都有高中放学的音乐