0

我正在使用 Windows IoT 开发 Raspberry Pi 2。我想将 Raspberry Pi 与我在 Adafruit 上购买的MAX31855 热电偶传感器连接起来。GitHub 上有一个 Python 库,可以从传感器读取当前温度。不幸的是,我无法让这个库在我的 Pi 上运行,因为我不知道如何在我的 Pi 上安装先决条件 RPi.GPIO 和 Adafruit_Python_MAX31855 库。我不确定它是否完全适用于 Windows IoT 上的 Python。有人可以证实这一点吗?

我在 StackOverflow 上找到了从课堂外获取 SPI 温度数据的线程,这似乎是我想要做的。首先,当我将热电偶与 Pi 连接时,我需要使用软件 SPI 还是硬件 SPI?在 Windows IoT 上工作时是否有重要区别?

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

4

2 回答 2

1

MAX31855 使用 SPI 接口,因此您可以使用Windows.Devices.Spi.SpiDevice类读取 C# 中的数据。

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

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

于 2016-07-03T19:34:38.827 回答
1

在带有 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 ,它用于板版本检测和多板支持。将其添加到您的项目中,您可以对其进行硬编码以仅支持树莓派。

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

  4. 代替

    import Adafruit_GPIO as GPIOimport _wingpio as gpio

import Adafruit_GPIO.SPI as SPIimport _winspi as SPI

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

  1. 根据您使用的是软件 SPI 还是硬件 SPI接线,您可能需要从https://github.com/adafruit/Adafruit_Python_GPIO/blob/master/Adafruit_GPIO/SPI.py移植 SPI.py 驱动程序。SetBang api 是 sw/hw spi 控制器的软件包装器,您可以按照示例轻松编写自己的。

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

于 2016-07-04T02:24:22.067 回答