有没有可能显示来自串行端口的不同传感器的数据的方法?

时间:2019-05-29 14:47:45

标签: arduino serial-port sensor

因此,我正在研究配备gps模块(NEOBLOX 6M)和盖革计数器(Diy Kit)的遥控车。传感器读取的数据将使用xbee模块显示在c#应用程序上。在我的C#应用​​程序上,我正在使用一个标签来根据接收到的数据进行更新,但是这里的问题是来自gps模块和geiger计数器的数据都显示在单个标签上,我想分别显示来自不同传感器的数据标签或文本框。

GPS模块:http://wiki.sunfounder.cc/index.php?title=Ublox_NEO-6M_GPS_Module

盖革计数器:https://www.ebay.com/p/US-Assembled-DIY-Geiger-Counter-Kit-Nuclear-Radiation-Detector-Arduino-Tube-2018/14014157093?iid=273049840938

1 个答案:

答案 0 :(得分:0)

您听说过ROS吗?

您的描述不太清楚。因此,我对您的系统设计没有太多了解。

无论所有传感器都连接到arduino还是部分连接到arduino并部分连接到PC。

您可以使用ROS Arduino节点和ros节点读取传感器并使用ROS-time发布。您可以按照以下链接中的方法进行操作

http://wiki.ros.org/rosserial_arduino/Tutorials

#include <ros.h>
#include <std_msgs/String.h>

ros::NodeHandle nh;

std_msgs::String str_msg;
ros::Publisher chatter("chatter", &str_msg);

char hello[13] = "hello world!";

void setup()
{
  nh.initNode();
  nh.advertise(chatter);
}

void loop()
{
  str_msg.data = hello;
  chatter.publish( &str_msg );
  nh.spinOnce();
  delay(1000);
}

您可以将此str_msgs更改为传感器提供的任何msgs类型,例如,giger计数器为double。或sensor_msgs / NavSatFix(在ros中显示gps消息),或者您的位置是nav_msgs / Odometry

只要有读数,就用正确的时间戳发布它们。

将所有信息发布到C#ros节点以进行显示。通常,会有很多数据,因此您不应该使用文本框。相反,您应该能够绘制热图或能量图

https://github.com/siemens/ros-sharp遵循ROS C#界面

enter image description here