当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

使用Pi 3 Model B +构建定制遥感平台

时间:2018-04-13 | 栏目:嵌入式技术 | 点击:

支援PoEPi为定制遥感平台提供了极好的基础。

为遥感平台提供基础仅仅是新型以太网供电(PoE)树莓派3型B +适合的众多用途之一。在本文中,在探讨一个简单的真实世界示例 (该示例使用DesignSpark Pmod HAT和Python脚本从热电偶Pmod获取读数,并通过MQTT发布它们。)之前,我们将介绍可用的接口选项以及一些便捷的集成传感器方法。

接口选项

所以让我们从基础开始,并提醒我们自己有可用的本地接口:

我们可以简单地将传感器通过面包板,跳线或跳板等进行集成。但是,也有非常便利的模块化系统可用,所以我们来看看其中两个。

MikroElektronika点击

点击板是紧凑的模块,可以通过接口适配器“屏蔽”与各种不同的平台一起使用,其中一种可用于Raspberry Pi 3 Model B +(896-8660),以提供即时通行方便的模块范围。

为以下传感器提供Python代码示例Click board:

当然,还有更多的传感器和ADC等模块可供使用,通常提供的C代码示例代码可用作您自己项目的起点。

要了解有关Pi 3 Click Shield的更多信息,请参阅此前的博文。

Digilent Pmod

外设模块(简称Pmod)是另一个开放式规范标准,但是这次是来自Digilent。 DesignSpark Pmod HAT最初与FPGA微控制器平台相关联,为与Raspberry Pi一起使用提供了一个完美的解决方案。

与Click板一样,有许多不同的Pmod可供使用,并且有很多不同的Pmod提供有用的传感器和输入。一个用于Pmod HAT的Python库支援六个Pmod,其中四个是传感器/输入:

The DesignSpark.Pmod Python库提供了一个简单而一致的界面,可以读取上述Pmod中的读数,并驱动H桥Pmod和RGB OLED Pmod。

有关Pmod HAT,库和所有支持的Pmod的详细信息,请参阅上一篇博文。

接下来让我们看一下使用PmodTC1的实例。

监测温度

PmodTC1配有K型热电偶线,温度范围为 -73°C 至482°C,这意味着它可以用于各种不同的应用场合。

举例来说,我们希望能够测量热水箱的温度,因为我们想尝试优化我们锅炉的定时器程序或可能的恒温器设定点。蓄水箱在阁楼上,靠近没有电源插座,我们不想让电工出门。没问题 - PoE供电的Pi适用于这种情况。我们将使用MQTT发布数据馈送,因为它易于使用并得到广泛支援。

K型热电偶导线

使用Raspbian - Lite版本就足够了 - 写入插入到我们的Pi中的Micro SD卡并引导,我们首先需要安装DesignSpark.Pmod库。接下来我们将安装Paho MQTT库:

pi@3bplus:~$sudopipinstallpaho-mqtt

现在我们拥有易于使用的库,可以让我们从PmodTC1读取数据并将其发布到MQTT代理。以下是我们的代码最简单的样子:

importtimefromDesignSpark.Pmod.HATimportcreatePmodimportpaho.mqtt.publishaspublish broker='localhost'topic='house/boiler/hotwater/temperature'therm=createPmod('TC1','JBA')whileTrue: cel=therm.readCelcius() printcel publish.single(topic,cel,hostname=broker,client_id="temp_sensor") time.sleep(1)

这是做什么的?

如果您有一个现有的MQTT代理运行在某个地方,则可以在您自己的或基于云的IoT平台的系统上进行配置,您可以将其配置为主机。在这里我们使用“localhost”,我们可以通过以下方式轻松测试这种方式:安装Mosquitto MQTT代理和客户端:

pi@3bplus:~$sudoapt-getinstallmosquittomosquitto-clients

然后在一个窗口中,我们可以运行我们的Python脚本:

pi@3bplus:~$pythonPmodTC1-MQTT.py

在第二个窗口中,我们可以订阅该主题以确认消息确实正在向代理发布:

pi@3bplus:~$mosquitto_sub-hlocalhost-t'house/boiler/hotwater/temperature'

进一步應用

当然,许多不同的方向可能会进一步采用这种应用。假设您有其他传感器连接到同一个Pi,那么您可以像在示例中一样运行代理,也可以安装Node-RED来实现某些逻辑,将数据发布到网页,设置警报和/或与一些云服务集成。您可以在Pi上安装时间序列数据库以记录数据,例如InfluxDB,也可能在Grafana中进行可视化。

可以使用的云服务包括IBM Cloud、OpenSensors 和Cayenne,它们都支持MQTT以及其他API。

正如我们所看到的,感谢使用DesignSpark Pmod HAT和支援库,将传感器添加到Raspberry Pi 3 Model B +并获取数据。通过这种组合,可以为原型化遥感平台提供完善的解决方案,并提供大量可用于开发应用程序的开源工具,以及物联网云服务。

您可能感兴趣的文章:

相关文章