在Raspberry Pi上使用Jupyter和MQTT捕捉和传输天气数据

通过MQTT协议捕获天气数据,并将其记录在本地和IoT服务上。

作为数据科学家,当我们谈论物理变量(例如温度,压力等)时,通常会从在其他地方创建的数据集开始工作。但是您是否考虑过如何自己捕获这些数据?

在本教程中,我们将学习如何从几个不同的传感器获取数据,并将其发送到IoT服务ThingSpeak.com和移动应用程序(Thingsview),在这里我们可以记录和播放数据。 我们还将探讨将传感器连接到Raspberry Pi的几种不同的通信方式,例如:

  • DHT22-温湿度传感器-数字通信
  • DS18B20-温度传感器-1-Wire
  • BMP180-温度和压力传感器-I2C
  • 紫外线-紫外线传感器-通过A / D和SPI总线的模拟传感器

简而言之,所有数据都将被捕获,并保存在CSV文件中,并通过MQTT协议发送到IoT服务(ThingSpeak.com),如下面的框图所示:

开发环境— Jupyter Notebook

Jupyter Notebook是一个了不起的工具,或者说是一个更好的开源Web应用程序,它使您可以创建和共享包含实时代码,方程式,可视化效果和叙述文本的文档。 Jupyter笔记本电脑广泛用于数据科学中,用于清理和转换数据,进行数值模拟,统计建模,数据可视化,机器学习等等!

在本教程中,我们将使用Jupyter Notebook与Raspberry Pi GPIO交互,直接读取传感器并将数据发送到Internet。

安装

请注意,您的默认浏览器将自动在上述地址上打开,并作为“主页”运行,如上图所示。

要停止服务器并关闭“内核”(Jupyter笔记本),必须使用键盘上的[Ctrl] + [C]。

从现在开始,任何时候启动Pi并想使用Jupyter Notebook时,只需在终端上键入命令:“ Jupyter Notebook”,并使其始终保持运行状态。这个非常重要!

如果您需要在运行程序时将终端用于其他任务,请打开一个新的终端窗口。

DHT22 —温湿度传感器

接线图

安装DHT库

代码片段

DS18B20 —温度传感器

接线图

安装Python库

代码片段

BMP180 —温度和压力传感器

接线图

安装BMP180库

代码片段

使用BMP180测量天气和海拔

什么是大气压?

温度影响

测量绝对压力

天气观测

确定海拔

海平面压力测量

代码片段

使用ADC(模数转换器)

代码片段

模拟紫外线传感器

代码片段

完整的硬件和软件

本地记录数据

物联网—将数据发送到云服务

MQTT协议和ThingSpeak连接

在IoT服务上记录传感器数据

ThingsView — ThingSpeak应用

测量风速和风向

完整代码

详情参阅 - 亚图跨际

你可能感兴趣的:(Python,编程,Raspberry,Pi,raspberry,pi,Jupyter,MQTT)