全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

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

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

时间:2018-04-13 09:48

人气:

作者:admin

标签: Model  定制  构建  遥感  使用 

导读:支援PoE的Pi为定制遥感平台提供了极好的基础。 为遥感平台提供基础仅仅是新型以太网供电(PoE)树莓派3型B +适合的众多用途之一。在本文中,在探讨一个简单的真实世界示例 (该示例...

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

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

接口选项

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

  • USB. 更多的终端用户外设接口,但会有一些传感器使用它,实际上也适用于其他总线,如RS-422和CAN

  • Plain GPIO. 我们可以读取“bitbanging”状态的数字引脚使用软件/库来实现对某些通常速度较低的总线的支持,例如高度流行的DS18B20温度传感器使用的单线总线。

  • I2C. 一个简单的串行主/从总线,它使用两条线并具有7位地址范围。 I2C提供了大量的传感器和ADC,以及数字I / O扩展器,为您提供更多的GPIO引脚,EEPROM和其他器件。

  • SPI. 4根时钟线,双向数据传输和从机选择。再次受到许多器件的支援,通常以比I2C更高的速度运行,但由于只有2个芯片使能线可用于选择外设,因此只能使用两个,除非您还对GPIO进行了bit-bit。

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

MikroElektronika点击

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

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

  • 颜色点击 (923-5999). RGBC颜色传感器

  • 加速点击 (923-5999). 3轴加速度计 (882-8900)

  • 天气点击 (912-5170). 温度,湿度和压力传感器

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

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

Digilent Pmod

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

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

  • PmodAD1 (134-6443). 双通道12位ADC。

  • PmodISNS20 (136-8069). ±20A直流或交流输入,高精度电流传感器。

  • PmodMIC3 (134-6475). MEMS麦克风模块。

  • PmodTC1 (134-6476). 冷端热电偶到数字转换器

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)

这是做什么的?

  • 导入我们需要的Python模块(库)

  • 定义我们想要发布读数的MQTT代理主机和主题

  • 端口JBA(JB连接器的顶行)上设置PmodTC1模块,

  • 每秒钟读取一次,将其打印到终端并发布给代理

如果您有一个现有的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 +并获取数据。通过这种组合,可以为原型化遥感平台提供完善的解决方案,并提供大量可用于开发应用程序的开源工具,以及物联网云服务。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信