博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
raspberry pi_如何构建Raspberry Pi家庭仪表板
阅读量:2523 次
发布时间:2019-05-11

本文共 1813 字,大约阅读时间需要 6 分钟。

raspberry pi

去年圣诞节,我很幸运地获得了带有7英寸显示屏的Raspberry Pi 2B。 我立即有了一个使用它的计划:我将制作一个家庭仪表板,以显示一些有用的信息,这些信息可以从起居室周围读取。

  • 我所在地区的当前温度和天气预报
  • 下一班车在当地公交车站停靠
  • 新闻头条
  • 试管状态
  • 我的位置模糊(例如,在工作,旅行中)

如何开始

我决定用Python 3编写仪表板并使用flask框架,因为我想增强自己的Python 3技能。 我还希望能够使用NFC(近场通信)标签并查看它们可以做什么。

使用NFC标签背后的概念是,它允许您将标签放置在各个位置,触摸手机上的标签,以及使用NFC阅读器应用程序在家中更新我的仪表板。 您需要一部已启用NFC的电话(我的Nexus 4启用了)。

我对标签进行了编程,以向在我的应用程序上运行的端点启动HTTP GET请求。 这个GET请求有一些用途。 最重要的是,发送信号到我的位置模糊或提供反馈信息,例如在任何一天我从那里喝了几杯咖啡。

这个怎么运作

这是一个解释的小图:

  • / coffeecount / plusone:这将增加咖啡计数(在MongoDB中),可通过另一个端点通过一个简单的get请求读取该计数。 每隔24小时将MongoDB集合删除一次。
  • / location / one / location / two等:这将设置模糊的位置,该位置也存储在MongoDB中,并且可以通过另一个端点进行检索。

NFC tagging process

硬件

这是我的项目所需的硬件:

  • Raspberry Pi 2B,7英寸官方Pi显示屏,Wi-Fi适配器和Pi电源
  • 廉价的NFC标签[NTAG213],
  • 支持NFC的手机以及相应的Android版本,以运行该软件

软件和服务

我为信息源选择的API和数据服务都是免费的,只要您遵守限制和规则即可。

对于读取和写入NFC标签:NFC Tools – Android专业版,这是一种便宜,便捷的应用程序,可让您对NFC标签进行编程和重新编程,包括HTTP GET和POST请求。

对于天气预报:Met Office的天气API。

有关我的状态信息:

  • 我的Raspberry Pi运行Raspbian Wheezy,这是一个简单的Python请求和flask应用程序,用于轮询API并在屏幕上显示信息。
  • 在Red Hat OpenShift平台上运行的Python和MongoDB应用程序(免费层可供任何人使用),它使我能够从手机的Web端点发送和检索信息。

有关旅行信息:

  • TfL(伦敦运输)
  • TfL公交车状态API(使用本地公交车站ID获取到达时间)

对于新闻头条:

  • 英国广播公司的RSS提要

使用OpenShift

OpenShift提供了一个免费层,有点像一个容器服务,它可以运行多达三个简单的应用程序(以及MonogoDB等)。当然,此级别并不真正适用于生产型应用程序,因为实例进入睡眠状态经过一段时间的废止。

为了使您的应用程序正常运行,请并按照简单的说明进行操作,该说明将告诉您如何配置密钥,应用程序名称等。然后,您需要在本地计算机上安装SDK,编写代码并推送直到Internet上的OpenShift服务器。 然后,OpenShift将获取代码依赖项(例如MonogDB)并开始该过程。 当然,如果您希望通过HTTP访问该项目,则必须定义一个Web服务器(例如flask Web应用程序)。

一旦解决了调试的最初问题,对我来说,在平台上进行开发就很轻松。 最初,我的代码在本地工作,但不能在OpenShift中工作,但是解决了这一难题。

我在OpenShift中运行的应用程序非常简单。 这是一个使用flask和MongoDB的Python 3应用程序,到目前为止,您已经了解了它的大部分工作原理。 这是经过身份验证的终结点,可以从我的手机接收GET请求,并根据目标终结点来增加值和更改值。

显示仪表板

该屏幕快照显示了结果,并且您可以看到它的分辨率很低,因为Raspberry Pi屏幕为800 x480。它不是很漂亮,但是我喜欢它。

Pi Dashboard

对于我的下一个项目,我想在石膏板中留出一些空间,并在其中安装Raspberry Pi显示器-但也许有一天会充满水,电,钻子和疼痛。

如果您有任何意见,疑问或反馈,请随时 。

有用的链接

翻译自:

raspberry pi

转载地址:http://dzdzd.baihongyu.com/

你可能感兴趣的文章
地鼠的困境SSL1333 最大匹配
查看>>
flume+elasticsearch+kibana遇到的坑
查看>>
【MM系列】在SAP里查看数据的方法
查看>>
C#——winform
查看>>
CSS3 transform制作的漂亮的滚动式导航
查看>>
《小强升职记——时间管理故事书》读书笔记
查看>>
Alpha 冲刺(3/10)
查看>>
Kaldi中的Chain模型
查看>>
spring中的ResourceBundleMessageSource使用和测试示例
查看>>
Ubuntu菜鸟入门(五)—— 一些编程相关工具
查看>>
Codeforces 279D The Minimum Number of Variables 状压dp
查看>>
打分排序系统漫谈2 - 点赞量?点赞率?! 置信区间!
查看>>
valgrind检测linux程序内存泄露
查看>>
Hadoop以及组件介绍
查看>>
1020 Tree Traversals (25)(25 point(s))
查看>>
第一次作业
查看>>
“==”运算符与equals()
查看>>
单工、半双工和全双工的定义
查看>>
Hdu【线段树】基础题.cpp
查看>>
时钟系统
查看>>