我从Python中的传感器(GPS)获取输出,由于某些原因,输出不是完全干净的。我已经在使用pynmea2及其校验和来过滤坏行,但我想提高接受率
如果查看传感器中的一些样本数据,您会发现许多字符被替换为可以由人更正的字符,例如®=。或³=3。另一方面,有些不太清楚,例如¨或±或Ç=G而不是C
我试图研究如何解决这个问题,但除了创建硬编码地图或搜索和替换,我什么都想不出来。是否有一个图书馆或方法来“清理”我的输入,以解决至少一个明显的问题,从而提高我的接受率
nmea = [
"$GNRMC,175230.00,A,5231.08575,N,01324.94302,E,0.099,,300321,,,A,V*17",
"$GNRMC,175211.00,A,5231.08495,N,01324.94370,E,2.771,348.30,300321,,,A,V*0F",
"$GNGGA,175140.00,5231.06514,N,01325.03302,E,1,11,1.22,33.9,M,42.1,Í,,*7F",
"$GNRMC,175141.00,A,5231.06307,N,01³25.02563,E,16.734,234.24,300³21,,,A,V*3A",
"$GNGÇA,175141.00,5231.06307,N,01325.02563,E,1,11,1®22,33.6,M,42.1,M,,*75",
"$GNRMC,175142.00,A,5231.°6059,N,01325.01869,E,17.220,235.29,300321,,,A,V*38",
"$GNGGA,175142.00,5231.06059,N,01325.01869,E,1,11,±.22,33.5,M,42.1,M,,*79",
"$GNRMC,175143.00,A,5231.05861,N,01325.01218,E,16.¶45,238.31,300321,,,A,V*37",
"$GNGGA,175143.00,5231.05861,N,013²5.01218,E,1,11,1.22,34.7,M,42.1,M,,*71",
"$GNRMC,175144.00,A,5231.05689,N,01325.00574,E,16.090,241.36,300321,,,A,V*33",
"$GNGGA,175144.00,5231.05689,N,01325.00574,E,1,11,1.28,36.0,M,42.1,M,,*7D",
"$GNRMC,175145.00,A,5231.05478,N,01324.99957,E,16.045,240.96,300321,,,A,V*31",
"$GNGGA,175145.00,5231.05478,N,01324.99957,E,1,11,1.22,36.8,M,42.1,M,,*7E",
"$GNRMC,175146®00,A,5231.05277,N,01324.99327,E,15.832,241.30,300321,,,A,V*30",
"$GNGGA,175146.00,5231.05277,N,01324.99327,E,1,11,1.22,37.3,M,42.1,M,,*73",
"$GNGGA,175230.00,5231.08575,N,01324.94302,E,1,12,0.96,56.7,M,42.1,M,,*7D"]
®/.
、³/3
、Í/M
(相同位)之间存在一位错误:您的硬件可能有问题。由于数据是ASCII码,高位(第7位)应始终为0,因此如果无法解决硬件问题,您可以只过滤输出:
输出:
相关问题 更多 >
编程相关推荐