.Net Web API服务,用于从Raspberry Pi 4读取传感器的信息



我是树莓派4的初学者,如果有任何帮助,我将不胜感激。我在.net中做了一个简单的项目——基本上我有一个网络APi服务,它应该读取树莓派设备传感器的指示。我读到我的Web APi服务和树莓派传感器之间最简单的通信是设置一个MQTT代理作为IOT服务器有人尝试过吗?这是一个简单的过程吗。这也是一个简单的代码,我应该用Python编写命令。我看到大多数人使用蚊子,因为它很容易安装在Pi上。https://mosquitto.org/.在我的web APi c#项目中,我将使用MQTT库向该代理发送(发布(AND RECEIVE消息(传感器指示(。问题是,很难将传感器的信息从复盆子发送到带有传感器指示的经纪人。

非常感谢。

我认为你的问题是零散的:

你在读什么传感器?你需要蚊子吗?根据您想要做的事情、调用频率、对传输性能或有效负载大小的关注等。您可能需要也可能不需要MQTT代理,在需要的情况下,可以在中构建一个。Net与MQTnet或类似产品。

你说你刚开始,但你已经或知道如何建立。Net Web API,在这种情况下,我说坚持你所知道的,并决定以后是否要走蚊子路线。如果你有。NetWebneneneba API,您可以针对您的编写python请求。Net Web API。这很容易,因为python并不难上手。

如果你想坚持下去。Net,你会更适应它,探索Mono或运行VS Codehttps://www.hanselman.com/blog/HowToInstallVisualStudioCodeOnARaspberryPi4InMinutes.aspx有些甚至已经加载。Net Core。

自担风险,你甚至可以探索Windows 10 Arm和Windows IOT Core等实验选项,然后你就可以运行了。网络应用程序。

在您的情况下,您绝对不需要蚊子/mqt传输。延迟时间足够长,只需使用常规程序即可。Net Web API。

结合以下教程:https://pimylifeup.com/raspberry-pi-humidity-sensor-dht22/https://www.w3schools.com/python/module_requests.asp

理想情况下,您希望发布数据,但为了方便起见,这里有一个get请求。

Python示例:

x = requests.get('http://localhost:5000/api/raspberrypi?sensorId=1&temperature=22.5&humidity=34')

你的。Net Web Api端点:

public async Task<IHttpActionResult> Get(int sensorId, double temperature, double humidity)
{
var timeStamp = DateTime.Now; //Date & Time of receiving reading.
// Your save code here
}

注意,我包含了一个sensorId字段,以防您有几个传感器共享控制器。

最新更新