回答

收藏

BBB+监控家长是否在看电视

#其他 #其他 1520 人阅读 | 0 人回复 | 2017-09-25

为了远程监控家里的老式电视机,需要用到yeelink智能物联平台来接受检测数据。
那么怎么监控这种不智能的机器呢,它又不能上网。
根据家里的长辈的习惯,开电视机必开盒子,关电视机必关盒子!检测电视机盒子是否开机就等同于电视机是否在开,也等同于家长在看电视。
电视机盒子的开关状态=家长看电视机的状态,所以我只要检测盒子任何一个部位是否通电即可,直接用电视盒子上的USB接口给BBB供电,然后检测这个状态即可,来看看我的电视盒子

图片有点黑,大致就是电视机盒子一个USB线连接到BBB。这样盒子一开机,BBB就自动上传数据。
为了把数据传到yeelink平台,需要注册账号,增加设备,添加传感器,获取apikey(俗称通讯密钥),device id(设备号),sensor id(传感器号)


然后呢 我们参考一个Python脚本,此处我们直接借鉴树莓派上传cpu的Python脚本即可。
#coding=utf-8
import time
import json
import requests
#yeelink api配置
api_url='https://api.yeelink.net/v1.0'
api_key='api_key' #请填入专属的api key
api_headers={'U-ApiKey':api_key,'content-type': 'application/json'}
raspi_device_id=19283
cpu_sensor_id=33814
#得到CPU温度
def get_cpu_temp():
    cpu_temp_file = open( "/sys/class/thermal/thermal_zone0/temp" )
    cpu_temp = cpu_temp_file.read()
    cpu_temp_file.close()
    return float(cpu_temp)/1000
#上传CPU温度到yeelink
def upload_cpu_temp_to_yeelink():
    url=r'%s/device/%s/sensor/%s/datapoints' % (api_url,raspi_device_id,cpu_sensor_id)
    strftime=time.strftime("%Y-%m-%dT%H:%M:%S")
    print "time:",strftime
    cpu_temp=get_cpu_temp()
    print "cpu_temp:",cpu_temp
    data={"timestamp":strftime , "value": cpu_temp}
    res=requests.post(url,headers=api_headers,data=json.dumps(data))
    print "status_code:",res.status_code
def main():
    while True:
        upload_cpu_temp_to_yeelink()
        #休眠60秒
        time.sleep(60)
if __name__ == '__main__':  
    main()
这段脚本 几处需要修改,APIKEY ,DEVICE_ID,SESSOR_ID,,在树莓派中有相应的CPU温度文件 读取后除以、1000即可得到摄氏温度。此时我不想传单一数据,于是开始寻找BBB的 CPU温度文件,百度之后尽然没有任何结果,最后找到一个网站有这样的介绍

然后找到了脚本

此时我是很开心的,这是一个通俗易懂的bash。然后我cat 了这个文件一下!,尽然没有!!!连路径都不对。那我不得不自己造一个文件

不错 就是一个里面有10这个数字的文件。只要通电BBB就会不断上传,那么yeelink就可以看到数据,如果不同点yeelink就是0,
此时我运行 写好的watch_tv.py
命令式 python watch_tv.py .

然后在yeelink上观察一下

准确收到数据 ,此时我们可以认为电视机已经开机(虽然我开了,实际上并没有人看电视,但是我如果上班 观察这个数据后 就能断定家长在看电视),(*^__^*) 嘻嘻……到了这里并没有完全搞定,还需要让BBB自定执行脚本watch_tv.py
,这个需要用crone软件来搞定,这个没有任何难度,小编我就先写到这里
关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条