亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

树莓派配合 MCP3008 ADC 与 Zabbix 监控模拟传感器:分步指南

树莓派配合 MCP3008 ADC 与 Zabbix 监控模拟传感器

虽然树莓派缺乏原生模拟输入,但 MCP3008 这款 10 位、8 通道 ADC 让添加模拟能力变得轻而易举。它直接插在树莓派 GPIO 排针上通过 SPI 总线通信,无需额外元件。

本教程将指导你将 MCP3008 接线到树莓派,用 Python 读取光敏电阻(LDR),并将数据送入 Zabbix 进行监控。

硬件清单

理解 SPI 总线

MCP3008 通过 SPI 接口传输 10 位数字值,这是一种全双工同步串行协议,工作在主从模式。多个从设备可共享总线,各自通过片选(CS)线选中。

树莓派通过 4 引脚排针(GPIO8、9、10、11)暴露 SPI。启用硬件 SPI 驱动,编辑黑名单文件:

sudo nano /etc/modprobe.d/raspi-blacklist.conf

找到含 spi-bcm2708 的行,前加 # 注释掉。保存并重启:

sudo reboot

重启后验证驱动加载:

lsmod | grep spi_bcm2708

应看到 spi_bcm2708 列出。

安装 Python SPI 库

从 Python 访问 SPI 总线使用 py-spidev。先安装 Python 开发头文件:

sudo apt-get install python-dev

下载安装库:

mkdir py-spidev
cd py-spidev
wget https://raw.github.com/doceme/py-spidev/master/setup.py
wget https://raw.github.com/doceme/py-spidev/master/spidev_module.c
sudo python setup.py install

连接 MCP3008 到树莓派

MCP3008 引脚树莓派引脚
VDD3.3 V
VREF3.3 V
AGNDGND
CLKGPIO11 (P1‑23)
DOUTGPIO9 (P1‑21)
DINGPIO10 (P1‑19)
CSGPIO8 (P1‑24)
DGNDGND

MCP3008 的八个 CH0‑CH7 引脚作为模拟输入。本例将其中一个连接 LDR。

使用光敏电阻(LDR)

我们使用 LDR EG & G Vactec, VT43, CdS, 8 Ω – 300 kΩ。正常光照下电阻约 10 kΩ;全黑时升至 2 MΩ 以上。

光照射在 LDR 上,电阻下降,将 MCP3008 输入电压拉向 0 V。黑暗中电阻升高,推高电压向 3.3 V 基准。

任何随物理量变化电阻的传感器均可类似接线。

解读 ADC 输出

MCP3008 输出 10 位数值 0–1023,对应 0 V 至 3.3 V。对 LDR 而言,这大约映射 0–10,000 lux 光照范围。

这些原始值可通过树莓派 Python 脚本发送到 Zabbix,创建仪表盘、设阈值、触发报警。

更多详情:树莓派 Zabbix 监控模拟传感器

制造工艺

  1. 树莓派多路DS18B20 1-Wire温度监测:接线与编程全指南
  2. 树莓派+Nagios高效监控机房温度
  3. 树莓派2上使用DS18B20读取温度完整指南
  4. 树莓派家庭温湿度监测系统:Web仪表盘实时远程追踪
  5. 树莓派结合 Maxim 1-Wire 传感器与 DS2482 I2C 桥接器的多点温度测量
  6. 家庭能源中心:树莓派与 Moteino 监测光伏、光热与室温
  7. 树莓派精准监测机柜温度:DS18B20 多点部署实战
  8. 基于 Sensorflare 与树莓派的 433 MHz 智能家居控制器构建指南
  9. 树莓派单 GPIO 引脚读取模拟传感器:RC 充电法实战
  10. 树莓派无原生 ADC 读取模拟传感器:阶跃响应法实战
  11. 树莓派 + Arduino UNO + 三星 SAMI 极速构建火灾检测系统
  12. 精通树莓派传感器:电子与通信协议实战指南