如何使用Python从UART Beaglebone获取数据输出

2024-09-28 23:03:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个小项目,用Python编程制作气象站并收集数据。我在用这个气象站click here.

问题是,气象站只提供使用C编程的示例代码,我对此不太满意。 所以我决定使用Python,但是数据输出格式是这样的

c000s000g000t084r000p000h63b10040
c000s000g000t084r000p000h63b10040
c000s000g000t084r000p000h63b10040
c000s000g000t084r000p000h63b10040
c000s000g000t084r000p000h63b10040
c000s000g000t084r000p000h63b10040
c000s000g000t084r000p000h63b10040
c000s000g000t084r000p000h63b10040
c000s000g000t084r000p000h63b10040

我正在使用minicom查看输出。我不明白他们网站上的代码示例是如何工作的,所以如果你能给我解释或者一些例子,把它转换成Python编程,那就太好了。在

这是用C编写的示例代码

^{pr2}$

谢谢。在


Tags: 数据项目代码示例here网站格式编程
1条回答
网友
1楼 · 发布于 2024-09-28 23:03:57

您必须按照手册中的建议“解码”数据格式(每秒输出37字节,包括结束CR/LF):

c000:air direction, degree
s000:air speed(1 minute), 0.1 miles per hour
g000:air speed(5 minutes), 0.1 miles per hour
t086:temperature, Fahrenheit
r000:rainfall(1 hour), 0.01 inches
p000:rainfall(24 hours), 0.01 inches
h53:humidity,% (00%= 100)
b10020:atmosphere,0.1 hpa

例如,如果您有输入行:

^{pr2}$

然后以c为单位得到空气方向[度](上例):

int WindDirection() //Wind Direction
    {
      return transCharToInt(databuffer,1,3);
    }

在Python中:

def win_direction():
    return int(dataBuffer[1,3])

现在需要传递抛出数据结构的所有8个部分,并构建一个函数,该函数将提取数据并在需要时将其转换为有意义的数字。在

相关问题 更多 >