我正在使用Windows IoT开发Raspberry Pi 2。我想将Raspberry Pi与我在Adafruit上购买的MAX31855 Thermocouple Sensor连接起来。 GitHub上有一个Python库可以读取传感器的当前温度。不幸的是,我无法使用这个库来处理我的Pi,因为我不知道如何在我的Pi上安装必备的RPi.GPIO和Adafruit_Python_MAX31855库。我不确定它是否在Windows IoT上使用Python。有人可以证实这一点吗?
我在StackOverflow上找到了线程Getting SPI temperature data from outside of class,这似乎就是我想要做的。首先,当我将热电偶与我的Pi连接时,是否需要使用Software SPI or Hardware SPI?使用Windows IoT时是否有重要区别?
GitHub上还有一个C ++库。是否可以在我的C#项目中调用此库中的方法?
答案 0 :(得分: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核心内幕预览版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=WindowsIoT
答案 1 :(得分:1)
在使用带有Windows IoT核心的raspberry pi上使用该python驱动程序之前,您需要进行一些移植工作,
请参阅https://github.com/adafruit/Adafruit_Python_GPIO中的Platform.py,它适用于电路板版本检测和多板支持。将它添加到您的项目中,您可以将其硬编码为仅支持raspberry pi。
将MAX31855.py添加到您的项目中,从https://github.com/adafruit/Adafruit_Python_MAX31855/blob/master/Adafruit_MAX31855/MAX31855.py
替换
import Adafruit_GPIO as GPIO
import _wingpio as gpio
和import Adafruit_GPIO.SPI as SPI
与import _winspi as SPI
另外,用PyWinDevices库中的一个来替换每个api调用。
你应该善于完成驱动程序的移植。