文章目录

  • 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. detach detach_ pytorch
  2. android组件权限,Android中Permission权限机制的具体使用
  3. 区块链技术指2.1 区块链技术
  4. top99 slam
  5. 用预训练GNN预估点击率有奇效?
  6. Linux内核模块静态加载的顺序
  7. linux设置进程开机启动,Linux应用程序开机自动启动设置方法
  8. vue+element-ui的列表查询条件/筛选条件组件二次封装(Vue项目)——内置去除前后空格功能
  9. 怎样才可以关掉Mac电脑开机启动项?
  10. String intern()方法
  11. android webview 电脑网页适应手机屏幕
  12. Android新手爬坑之路——Failed to find provider info for com.example.databasetest.provider
  13. 如何在图片里藏其他文件
  14. 如何将word转换成excel表格格式
  15. android加固之后出问题,Android 应用加固
  16. Dns与httpDNS的区别
  17. Shade4PointLights
  18. 计算机lg符号,网上总出现LG的符号,是什么意思
  19. 行业轮动策略(附策略源码)
  20. DEMATEL复杂因素分析算法最新进展综述

热门文章

  1. 剽窃or借鉴?还原DNA双螺旋结构发现的真相 |《自然》长文
  2. C++ 创建以毫秒为单位的随机种子
  3. 非常可乐 (bfs)HDU - 1495
  4. 火山安卓如何输出本地友好名称
  5. 怎样用云服务器搭建一款可以多人联网的传奇手游
  6. 计算机毕业设计Java宠物托管系统(源码+系统+mysql数据库+lw文档)
  7. 【STM32F429】移植TouchGFX到RT-Thread系统(1)
  8. Why? When? How?--我和香烟的故事
  9. leetcode 2413:最小偶数倍
  10. IO流的初步了解以及基本使用