在 Windows IoT 上使用 MAX31855 热电偶传感器读取温度

Read temperature with MAX31855 Thermocouple Sensor on Windows IoT

我正在使用 Windows IoT 开发 Raspberry Pi 2。我想将 Raspberry Pi 连接到 MAX31855 Thermocouple Sensor which I bought on Adafruit. There's a Python libary available on GitHub 以从传感器读取当前温度。不幸的是,我无法让这个库在我的 Pi 上运行,因为我不知道如何在我的 Pi 上安装先决条件 RPi.GPIO 和 Adafruit_Python_MAX31855 库。我不确定它是否在 Windows IoT 上与 Python 一起工作。有人可以证实这一点吗?

我找到话题了 on Whosebug which seems to be what I want to do. First, when I connect my Thermocouple with my Pi, do I need to use Software SPI or Hardware SPI?在 Windows IoT 上工作时有重要区别吗?

GitHub 上还有一个 C++ 库。是否可以在我的 C# 项目中调用此库中的方法?

MAX31855使用SPI接口,可以使用Windows.Devices.Spi.SpiDeviceclass在C#中读取数据。

这是一个通用 Windows 平台 (UWP) 示例应用,演示了如何使用 SPI 总线:https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/IoT-SPI

请注意,SPI 在最新的 Windows 10 IoT Core Insider 预览版 10.0.14366.0 中可能会被破坏。以下线程涉及 MAX31855 并提到了这个问题: https://social.msdn.microsoft.com/Forums/en-US/b7a61a59-3238-47a3-9249-a3e00abd1488/trouble-reading-thermocouple-max31855-over-spi?forum=WindowsIoT

在 raspberry pi 上使用带有 windows IoT 核心的 python 驱动程序之前,您需要做一些移植工作,

  1. 按照此示例 https://developer.microsoft.com/en-us/windows/iot/win10/samples/pythonblinky 开始在 windows IoT 上进行 python 编程。
  2. 请参阅https://github.com/adafruit/Adafruit_Python_GPIO 至Platform.py,用于板版本检测和多板支持。将其添加到您的项目中,您可以将其硬编码为仅支持 raspberry pi.

  3. 将MAX31855.py添加到您的项目中,从https://github.com/adafruit/Adafruit_Python_MAX31855/blob/master/Adafruit_MAX31855/MAX31855.py

  4. 复制代码
  5. 替换

    import Adafruit_GPIO as GPIO import _wingpio as gpio

import Adafruit_GPIO.SPI as SPIimport _winspi as SPI

此外,将每个 api 调用替换为来自 PyWinDevices 库的调用。

  1. 取决于您是否使用 Software SPI or Hardware SPI wiring, you may need to port SPI.py driver from https://github.com/adafruit/Adafruit_Python_GPIO/blob/master/Adafruit_GPIO/SPI.py。 SetBang api 是 sw/hw spi 控制器的软件包装器,您可以按照示例轻松编写自己的软件。

完成所有驱动程序移植后,您应该会很高兴。