文章目录

  • Magirror——基于pygame的树莓派魔镜
    • (一)功能概览
    • (二)环境要求
      • 1.硬件要求
      • 2.基础软件要求
      • 3.pip包
      • 4.HTTPS API接口
        • 聚合数据(需要注册账号)
        • 心知天气(需要注册账号)
        • 知乎日报
        • 百度热搜
        • 一言
    • (三)环境配置
      • 1.配置API秘钥相关信息
        • 修改Function/Weather.py
        • 修改Function/Fun.py
      • 2.自定义数据
        • 写入自己的课表信息
        • 自定义一言句子类型
      • 3.树莓派换python3
    • (四)运行
    • (五)组装
    • (六)常见问题
    • (柒)所以可以捐赠鼓励一下吗?
    • (六)常见问题
    • (柒)所以可以捐赠鼓励一下吗?

Magirror——基于pygame的树莓派魔镜

先放上原创项目地址,求Star!Github仓库地址

首先,为什么要用pygame?

——GitHub上已经有一个MagicMirror的项目了,star数也很高。我去试着装了一下,无奈环境配了好几天都没弄好,毕竟作者是外国人,网络情况什么的(你懂得)和国内不大一样,又是装nodejs又是装electron,各种坑。于是我就萌发了用pygame来写一个魔镜的想法,只要你的设备支持完整的python(不包括MicroPython)就能运行!真的是有手就行!

把这个镜子完整的做出来,送给女生真的是很好康的桌面摆件呢

版本v1.2.0(不定期更新版本)

(一)功能概览



目前把软件部分写好了,原子镜还没上,包装也没开始做。不过这些应该都是小事,而且我还想扩展一些智能家居,传感器,语音助手之类的IO设备功能,于是就没有做包装。

  1. 显示天气,生活指数

  2. 显示今明两天课表信息

  3. 显示当日热点

  4. 推送高质量知乎日报,可以扫描QR码阅读

  5. 历史上的今天

  6. 一段让人心动的句子

    以上数据除时间实时刷新外,每到整点刷新一次

  7. 基于blinker的智能家居控制(开发中)

  8. 语音聊天机器人(开发中)

(二)环境要求

1.硬件要求

1.装好官方raspbian系统的树莓派

2.一块1080p的小屏幕 推荐淘宝链接

3.单向透光原子镜(魔镜的灵魂!没了这块镜子你的魔镜只能是一块屏幕) 推荐淘宝链接

2.基础软件要求

python3

pygame 2.0.1 ( 通过pip 安装)

3.pip包

requests

pillow

MyQR

skimage

4.HTTPS API接口

聚合数据(需要注册账号)

聚合数据是一个比较良心的API平台,对于免费用户每天有100次免费调用。使用此平台需要注册账号并实名认证

1.聚合数据 历史上的今天

2.聚合数据 万年历

3.聚合数据 新闻头条 (可选,新闻质量不太好,类似UC风格标题)

心知天气(需要注册账号)

心知天气为开发者提供天气方面接口调用的服务。免费用户调用次数无限,但有20QPS并发限制(显然个人使用的话远远不会有那么高的QPS,所以这项限制对个人来说等于没有)。需要创建账户免费申请。产品文档

1.心知天气 实时天气

2.心知天气 未来几日天气预报

3.心知天气 生活指数

以上三个接口只需要免费开通服务即可全部获得,由同一个API秘钥管理。

知乎日报

知乎日报没有官方给出的API,此处请求地址实质上是网上某大佬自己制作的接口。

百度热搜

百度头条没有官方给出的API,此处请求地址实质上是网上某大佬自己制作的接口。

一言

一言为开发者提供数据接口,获取一句打动灵魂的句子。

(三)环境配置

1.配置API秘钥相关信息

修改Function/Weather.py

将第五行的API秘钥修改为你自己的

修改Function/Fun.py


将对应的秘钥修改为你自己的

2.自定义数据

写入自己的课表信息

table是一个字典,字典第一层的键为星期,第二层的键为课序号。第三层的键为课程名course,周次range,上课地点room.

比如上图是我的课表,那么对应的table结构就是第一张图。可以根据自己实际情况修改table(对于没有python基础的同学来说可能有点难,如果自己不会改可以联系我QQ:1640867082)

自定义一言句子类型

一言提供的句子类型总共有12种(不过貌似第12种抖机灵类无法使用),可以根据自己喜好或者送礼对象(恩很多人魔镜做出来是送给女孩子的)增加或删除句子类型。

具体操作为:

Function/Fun.py文件,在16行的中括号内增加或删除类型(字母’a’~'k’的代号)即可。代号代表的类型参见 链接

3.树莓派换python3

树莓派默认使用python2.7,然而本人在Windows上面开发好之后放上去运行报了一堆奇怪的错误,罪魁祸首是python2.7

因此最好将默认python版本换为python3 详见教程

(四)运行

运行之前还有最后一件事,把树莓派的显示器旋转90度!因为默认显示器是横向的,但我们的镜子是纵向1080*1920的,因此需要旋转屏幕。

旋转屏幕教程

恭喜!现在终于可以愉快的运行魔镜了!

在终端运行

python main.py

即可

你也可以编写一个shell脚本,使树莓派开机就自动运行此命令。

(五)组装

软件都写好了,硬件连线也就电源线和HDMI显示线,(相信聪明的你会自己做外观了吧

(其实是我自己还没有把这些东西装起来,教程还不能图文并茂的写,以后会补起来的)

树莓派的电源线可以和显示器的电源线公用一根,通过改装USB先把两根焊成一根。

如果纠结USB或者HDMI线太硬不好控制边框空间的话,可以尝试淘宝搜一下“直角USB”或者“直角HDMI”之类的,你会眼前一亮的

(六)常见问题

有问题欢迎随时联系QQ 1640867082

我炒鸡热心的!

(柒)所以可以捐赠鼓励一下吗?

电源线公用一根,通过改装USB先把两根焊成一根。

如果纠结USB或者HDMI线太硬不好控制边框空间的话,可以尝试淘宝搜一下“直角USB”或者“直角HDMI”之类的,你会眼前一亮的

(六)常见问题

1.如果你是先在Windows上面调试的,发现屏幕显示不完整,那么请你查看一下你的屏幕有没有设置缩放。我就是最开始默认开了125%的缩放结果坐标位置老是找不对。
2.目前心知天气免费用户仅支持国内天气查询,所以如果你是在国外或者是电脑挂着梯子的话,获取天气是会出错的,最终会导致返回值不是json数据而是字符串,从而导致程序异常结束

有问题欢迎随时联系QQ 1640867082

我炒鸡热心的!

(柒)所以可以捐赠鼓励一下吗?

【有手就行】教你做一个树莓派魔镜相关推荐

  1. python手机版做小游戏代码大全-Python大牛手把手教你做一个小游戏,萌新福利!...

    原标题:Python大牛手把手教你做一个小游戏,萌新福利! 引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规 ...

  2. 教你做一个优秀的项目经理

    教你做一个优秀的项目经理 如何做个好的项目经理?项目经理应该做什么?不应该做什么?这个问题涉及的范围很广,我只能就以前的一些项目经验谈谈个人的体会.难免有以偏盖全的地方,还请大家多提意见. 1.项目经 ...

  3. 手把手教你做一个自己的chrome扩展程序

    手把手教你做一个自己的chrome扩展程序 [目录] first.效果 1.收藏夹修改 (1).鼠标移动到收藏夹上的动作效果 (2).收藏夹框 (3)百度搜索框功能 2.右上文字修改 3.背景图片修改 ...

  4. 手把手教你做一个Java贪吃蛇小游戏

    大家好,我是孙不坚1208,这篇博客给大家分享一下:如何做一个贪吃蛇小游戏(Java版)的exe应用程序,希望能给需要帮助的朋友带来方便. 手把手教你做一个Java贪吃蛇小游戏的exe应用程序 一.J ...

  5. 我的世界java版生存三叉戟_我的世界:三叉戟太难获得?教你做一个溺尸塔,三叉戟随便爆!...

    那么在1.13海洋版本更新中,推出了一种全新的武器--三叉戟.极高的伤害,远近战兼备,加上花里胡哨的附魔,让很多玩家对三叉戟垂诞不已.但是,三叉戟获取的难度是较高的,目前生存中获得三叉戟的唯一方法就是 ...

  6. 手把手教你做一个物联网视频监控项目(三)流媒体方案实现

    往期文章 手把手教你做一个物联网视频监控项目(一) 介绍 手把手教你做一个物联网视频监控项目(二)MJPG-streamer方案实现 文章目录 前言 一.软硬件准备 二.流媒体方案的实现之FFmpeg ...

  7. Blender图解教程:手把手教你做一个马里奥金币 之 图片转法线贴图法(附模型下载)

    <Blender图解教程:手把手教你做一个马里奥金币 之 比较传统的方法>介绍了一种用Blender制作法线贴图的流程,本文介绍一种更加省事的方法. 步骤 效果图 概要 步骤 1. 建模 ...

  8. 手把手教你做一个新浪博客发布软件JAVA版本(4)--打开博客发布页面

           前言:很多人用新浪博客引流,但是以前可以用api发布,但是现在已经行不通了,市面上也有诸如新浪博客批量发布软件啦,新浪博客批量发帖啦,新浪博客发布软件啊等等的各种工具,但是小心中枪,一不 ...

  9. 手把手教你做一个自定义表格标签

    如果你用公司的平台进行开发的话,许多时候向按钮,输入框,树,菜单等都是直接用一个标签设置几个属性就可以了.全局上样式是统一的,而且容易维护. 之前我已经发使用自定义标签来做数据字典的示例,也就是说自定 ...

最新文章

  1. win7下安装dynamips完全版
  2. Hibernate配置(2)
  3. DataScience:深入探讨与分析机器学习中的数据处理之线性变换—标准化standardization、归一化Normalization/比例化Scaling的区别与联系
  4. 分享9个最棒的代码片段资源网站
  5. 超好:web app变革之rem
  6. 十年磨一剑,阿里云RDS MySQL和AWS RDS谁的性能更胜一筹?
  7. docker环境,搭建kafka集群
  8. virtual void addChild(Node * child, int localZOrder)中ZOreder参数设置
  9. 带你吃透分布式的精髓!
  10. php firefox导出csv,如果文件名有空格,空格后面部分不会导出,后缀也没有
  11. Python数据分析-TMDb 5000 Movie Database电影数据分析
  12. 黄健计算机科学与技术学院,计算机科学与技术学院研究生学业奖学金初评结果汇总表...
  13. win10无法启用shockwave flash object的解决
  14. 微信看涨跌30秒平台,10元微交易平台排行榜
  15. 一行代码实现随意编辑网页内容
  16. 2. evaluate-reverse-polish-notation
  17. VMware虚拟化数据中心更改ESXI主机IP地址测试
  18. 【教学类-30-04】10以内减法题不重复(一页两份)(包括6以内、7以内、8以内、9以内、10以内减法题 只抽取25个)
  19. pdf文件太大怎么变小,如何压缩pdf大小
  20. php判断是否是微信浏览器,php判断是否为微信浏览器浏览简单示例

热门文章

  1. 今日头条搜索优化是什么,头条seo怎么做?
  2. UA OPTI544 量子光学6 光与介质相互作用 Raman Coupling in 3-level System
  3. (好文)基于HOG的目标检测与识别
  4. 给OpenCV初学者的礼物——OpenCV人脸检测入门教程
  5. 向大家推荐本小虾的个人网站!!!
  6. 一起做激光反光板(四)-框架搭建
  7. 平台 恒鑫 机器人_电机转子组装机器人系统-恒鑫智能
  8. 微信小程序之轮播图swiper组件自定义指示点样式
  9. 施密特触发器基础知识
  10. 电阻网络法DAC分析