背景知识视频教程
学习 Flaskviadean.com 面向初学者的Python Flask:使用Flask构建CRUD网络应用viadean.com 学习Raspberry Pi - 国外课栈viadean.com捕获真实数据(RPi / DHT22),将它们保存在数据库(SQLite)中,创建图形(Matplotlib)并将其显示在网页上(Flask)。
使用Flask在Raspberry Pi上构建物联网服务器,我们学习了如何使用Flask构建的Web前端页面与物理世界进行交互。 因此,下一个自然是从现实世界中收集数据,并在网页上将其提供给我们。 很简单! 但是,如果我们想知道前一天的情况会怎样? 怎么用这些数据进行某种分析? 在这种情况下,我们必须将数据也存储在数据库中。
简而言之,在这个新教程中,我们将
- 使用DHT22传感器捕获实际数据(气温和相对湿度)
- 将这些数据加载到使用SQLite构建的本地数据库中
- 使用Matplotlib创建历史数据图形
- 用JustGage创建的动画“量具”显示数据
- 通过使用Python和Flask创建的本地网络服务器在线提供所有内容
框图使我们对整个项目有一个了解
安装SQLite
通常的想法是从传感器收集数据并将其存储在数据库中。
但是应该使用哪种数据库“引擎”?
市场上有很多选择,并且与Raspberry Pi和传感器一起使用最多的2种是MySQL和SQLite。 MySQL是众所周知的,但是在基于简单Raspberry的项目中使用时有点“繁重”。 在这里,SQLite可能是最合适的选择,因为它是无服务器的,轻量级的,开源的并且支持大多数SQL代码(其许可证是“公共域”)。 另一个方便的事情是,SQLite将数据存储在单个文件中,该文件可以存储在任何地方。
但是,什么是SQLite?
SQLite是C编程库中包含的关系数据库管理系统。与许多其他数据库管理系统相比,SQLite不是客户端服务器数据库引擎。而是将其嵌入到最终程序中。
SQLite是一种流行的公共领域选择,它是用于在Web浏览器等应用程序软件中本地/客户端存储的嵌入式数据库软件。 可以说,它是部署最广泛的数据库引擎,因为当今它被数个广泛的浏览器,操作系统和嵌入式系统(例如移动电话)使用。 SQLite绑定了许多编程语言,例如Python,这是我们项目中使用的一种编程语言。
安装
请按照以下步骤创建数据库。
创建并填充表
为了将DHT传感器测得的数据记录在数据库中,我们必须创建一个表(一个数据库可以包含多个表)。 我们的表将被命名为“ DHT_data”,并将有3列,我们将在其中记录收集的数据:日期和时间(列名称:时间戳),温度(列名称:temp)和湿度(列名称:hum)。
创建表
要创建表,可以做到:
- 直接在SQLite Shell上,或
- 使用Python程序
使用Shell
使用Python