菜单

树莓派-智能镜子

2017年4月13日 - 嵌入式, 编程

最近有人问我是否能够制作一个智能的镜子,能够显示时间,温度,当天的天气预报什么的,我想了一下,这个似乎在github上看到过这个项目,非常的简单:https://github.com/HackerHouseYT/Smart-Mirror

是通过python脚本实现的,我看脚本的内容思路就是通过darksky.net的后台dev的API调用数据,然后通过读取json数据中的温度相关信息,然后获取图标ID,通过事先定义好的图标ID然后找到相应的图片,展示在TK的窗口中。

其中需要用到一个API的token,需要去darksky去注册一下,很简单,而且1000次查询是免费的,每天超过1000次后,收费也是10000次1美金,基本上用不到那么多。

The first 1,000 forecasts per day are free. Then, $0.0001 per forecast.

太良心了,我都想捐赠1美金了。

实际上我一个月也就用25次。

言归正传,除了API token以外,还需要三个信息,一个是你的Longitude,就是你经度坐标,还有一个是attitude 就是态度。。哦,不是,是Latitude纬度坐标,最后一个是你需要使用的默认语言类型。

实际上,API请求只需要三个参数就够了。

https://api.darksky.net/forecast/这里就是你的API的token/37.8267,-122.4233

其中的

https://api.darksky.net/forecast/[key]/[latitude],[longitude]

纬度和经度自己用GPS或者百度查,我在闵行这边上班,所以看到的经度和纬度就是上面显示的。

然后通过python去获取数据,得到的Json数据很多,慢慢从字典里分出来,然后进行图标的映射,再通过TK的模块展示到屏幕上,就完成了,如果没有输入纬度和经度的话,就通过当前的ip地址找到你近似的位置,然后查到气象信息,这个步骤比较慢。

我建议用GPS模块采集到数据后,实时更换当前的经纬度,然后再请求,获取最新的天气信息。

最终怎么做成镜子呢? 就是去买一块和自己屏幕大小一致的单面镜,就是传说中的偷窥镜,经常看到有报道说房东在单面镜后面放摄像机偷拍啥的,就是那个镜子,只是在我们的这个项目中,显得非常高大上,将屏幕的亮度调高,然后写个开机自动运行脚本,将采集的信息通过TK展示出来,然后由于单面镜的缘故,你看不到屏幕,但是屏幕后端高亮的字符就会透过镜面展示出来,显得非常高档,豪华,如果再加上一个镜框,树莓派又非常小巧,可以嵌在洗手间里面,另外可以通过将TODO list展示到屏幕上,实现每天的计划提醒是不是很有趣?可以去买个19寸的液晶屏,拆了做。也是非常大气!

好了,然而并没有图片,因为我只是在树莓派+5寸触摸屏上尝试了一下。

 

 

 


 

 

 

发表评论