演示案例使用昉星光2的UART读取GPS数据
产品简介
本应用指南提供了使用昉星光2的UART,通过Python示例程序读取GPS数据的步骤。
下图显示了40pinGPIOheader的位置:
40PinGPIOHeader定义准备1。运行环境要求Linux内核版本:Linux5。15操作系统:Debian12硬件版本:昉星光2SoC:昉惊鸿71102。准备硬件
在执行演示程序之前,请务必准备以下硬件:
硬件准备
注::M:必须;O:可选。
以下表格和图片描述了如何将NEO6MGPS连接到40PinGPIOHeader上:
将NEO6MGPS连接到40PinGPIOHeader上
3。准备软件
确认按照以下步骤进行操作:
注:该Python应用VisionFive。gpio适用于昉星光单板计算机、昉星光2和昉惊鸿7110EVB。
3。1按照《昉星光2单板计算机快速参考手册》(http:doc。rvspace。orgVisionFive2PDFVisionFive2QSG。pdf)中的将OS烧录到MicroSD章节,将DebianOS烧录到MicroSD卡上。
3。2登录Debian并确保昉星光2已联网。有关详细说明,请参阅《昉星光2单板计算机快速参考手册》中通过以太网使用SSH或使用USB转串口转换器章节。
3。3在Debian上扩展分区,请参见《昉星光2单板计算机快速参考手册》中扩展分区章节。
3。4执行以下命令,在Debian系统上安装PIP:aptgetinstallpython3pip
3。5在昉星光2Debian上执行pip命令,以安装VisionFive。gpio包:sudopipinstallVisionFive。gpio
或者,您也可以执行以下命令:sudopip3installVisionFive。gpio
3。6(可选)如果您将源代码复制到昉星光2Debian下的本地目录,请在源代码目录下执行以下命令:
提示:点击以下链接可下载源代码:VisionFive。gpio。sudoaptgetinstallpython3devsudopythonsetup。pyinstall
或者,您也可以执行以下命令:sudopython3setup。pyinstall执行演示代码
执行以下操作,以在昉星光2的Debian系统上运行演示代码:1。找到测试代码uartgpsdemo。py所在的目录:
1。1执行以下命令以获取VisionFive。gpio所在的目录:pipshowVisionFive。gpio
示例结果:Location:usrlocallib64python3。9sitepackages
注:实际输出取决于应用的安装方式。
1。2如前一步输出中所示,执行以下操作进入目录usrlocallib64python3。9sitepackages:cdusrlocallib64python3。9sitepackages
1。3执行以下命令进入samplecode目录:cd。VisionFivesamplecode
2。在执行演示代码前,在您的终端上执行以下命令:sudosystemctlstopserialgettyttyS0。service
3。在samplecode目录下,执行以下命令以运行演示代码:sudopythonuartgpsdemo。py
或者,您也可以执行以下命令:sudopython3uartgpsdemo。py
结果:如果GPS信号弱,终端输出如下:TheGGAinfoisasfollows:msgid:GPGGANorS:EorW:posindi:0totalSatellite:00!!!!!!Positioningisinvalid!!!!!!如果GPS信号强,几秒后终端输出如下:TheGGAinfoisasfollows:msgid:print(utctime:2:54:47。0utctime:025447。00(format:hhmmss。sss)latitude:30degree33。29251minutelatitude:3033。29251(format:dddmm。mmmmm)NorS:Nlongitude:104degree3。45523minutelongitude:10403。45523(format:dddmm。mmmmm)EorW:Eposindi:1totalSatellite:08Thepositioningtypeis3DTheSatelliteIDofchannel{}:{}ch1:14ch2:01ch3:03ch4:06ch5:30ch6:21ch7:19ch8:17演示源代码
本演示中的资源代码仅作为参考。
uartgpsdemo。py:PleasemakesuretheNEO6Misconnectedtothecorrectpins。ThefollowingtabledescribeshowtoconnectNEO6Mtothe40pinheaderPassiveBuzzerPinNumberPinNameVCC45VPowerGND6GNDTXD10UARTRXRXD8UARTTXimportsysimportserialimporttimeReferenceinformationoftheGPGSAformat。Example1(GPSonly):GPGSA,M,3,17,02,30,04,05,10,09,06,31,12,,,1。2,0。8,0。935Example2(CombinedGPSandGLONASS):GNGSA,M,3,17,02,30,04,05,10,09,06,31,12,,,1。2,0。8,0。92BGNGSA,M,3,87,70,,,,,,,,,,,1。2,0。8,0。92ASNFieldDescriptionSymbolExample1GPGSALogheader。Forinformationaboutthelogheaders,seeASCII,AbbreviatedASCIIorBinary。NAGPGSA2modeMAMode:1Fixnotavailable;22D;33Dx33mode123Latitude(DDmm。mm)llll。ll5106。9847415prnPRNnumbersofsatellitesusedinsolution(nullforunusedfields),totalof12fieldsGPS1to32SBAS33to64(add87forPRNnumber)GLO65to96xx,xx,。。。。。18,03,13,25,16,24,12,20,,,,Thedetailinfo,pleaseseeGPGSAGPGSAdict{msgid:0,mode1:1,mode2:2,ch1:3,ch2:4,ch3:5,ch4:6,ch5:7,ch6:8,ch7:9,ch8:10,ch9:11,ch10:12,ch11:13,ch12:14,}ReferenceinformationoftheGPGGAformat。Example1(GPSonly):GPGSA,M,3,17,02,30,04,05,10,09,06,31,12,,,1。2,0。8,0。935Example2(CombinedGPSandGLONASS):GNGSA,M,3,17,02,30,04,05,10,09,06,31,12,,,1。2,0。8,0。92BGNGSA,M,3,87,70,,,,,,,,,,,1。2,0。8,0。92ASNFieldDescriptionSymbolExample1GPGGALogheader。Forinformationaboutthelogheaders,seeASCII,AbbreviatedASCIIorBinary。NAGPGGA2utcUTCtimestatusofposition(hoursminutessecondsdecimalseconds)hhmmss。ss202134。003latLatitude(DDmm。mm)llll。ll5106。98474latdirLatitudedirection(NNorth,SSouth)aN5lonLatitudedirection(NNorth,SSouth)yyyyy。yy11402。29866londirLongitudedirection(EEast,WWest)aW7qualityrefertoTable:GPSQualityIndicatorsx18satsNumberofsatellitesinuse。Maybedifferenttothenumberinviewxx10Thedetailinfo,pleaseseeGPGGAGPGGAdict{msgid:0,utc:1,latitude:2,NorS:3,longitude:4,EorW:5,posindi:6,totalSatellite:7,}uartportdevttyS0defIsValidGpsinfo(gps):datagps。readline()Convertthedatatostring。msgstrstr(data,encodingutf8)Splitstringwith,。GPGSA,A,1,,,,,,,,,,,,,99。99,99。99,99。9930msglistmsgstr。split(,)ParsetheGPGSAmessage。if(msglist〔GPGSAdict〔msgid〕〕GPGSA):print()Checkifthepositioningisvalid。ifmsglist〔GPGSAdict〔mode2〕〕1:print(!!!!!!Positioningisinvalid!!!!!!)else:print(Thepositioningtypeis{}D。format(msglist〔GPGSAdict〔mode2〕〕))print(TheSatelliteIDofchannel{}:{})ParsethechannelinformationoftheGPGSAmessage。foridinrange(0,12):keynamelist(GPGSAdict。keys())〔id3〕valueidGPGSAdict〔keyname〕ifnot(msglist〔valueid〕):print({}:{}。format(keyname,msglist〔valueid〕))ParsetheGPGGAmessage。ifmsglist〔GPGGAdict〔msgid〕〕GPGGA:print()print(TheGGAinfoisasfollows:)forkey,valueinGPGGAdict。items():Parsetheutcinformation。ifkeyutc:utcstrmsglist〔GPGGAdict〔key〕〕ifnotutcstr:hint(utcstr〔0:2〕)mint(utcstr〔2:4〕)sfloat(utcstr〔4:〕)print(utctime:{}:{}:{}。format(h,m,s))print({}time:{}(format:hhmmss。sss)。format(key,msglist〔GPGGAdict〔key〕〕))Parsethelatitudeinformation。elifkeylatitude:latstrmsglist〔GPGGAdict〔key〕〕ifnotlatstr:Lenlen(latstr。split(。)〔0〕)dint(latstr〔0:Len2〕)mfloat(latstr〔Len2:〕)print(latitude:{}degree{}minute。format(d,m))print({}:{}(format:dddmm。mmmmm)。format(key,msglist〔GPGGAdict〔key〕〕))Parsethelongitudeinformation。elifkeylongitude:lonstrmsglist〔GPGGAdict〔key〕〕ifnotlonstr:Lenlen(lonstr。split(。)〔0〕)dint(lonstr〔0:Len2〕)mfloat(lonstr〔Len2:〕)print(longitude:{}degree{}minute。format(d,m))print({}:{}(format:dddmm。mmmmm)。format(key,msglist〔GPGGAdict〔key〕〕))else:print({}:{}。format(key,msglist〔GPGGAdict〔key〕〕))defmain():gpsserial。Serial(uartport,baudrate9600,timeout0。5)whileTrue:IsValidGpsinfo(gps)time。sleep(1)gps。close()ifnamemain:sys。exit(main())
当你心有纠结的时候,不妨看看这8条黄金建议既然选择了远方,便只顾风雨兼程。作者:洞见yebo法国哲学家布利丹,讲过这样一个小故事。有一头饥肠辘辘的驴子,站在两捆草堆间,左边的草鲜嫩,右边的草料多……
海底捞巨亏引热议,力挺派和唱衰派吵翻了巨亏背后,海底捞真的不香了吗?本文由红餐网(ID:hongcan18)原创首发,作者:简煜昊。8月14日晚间,海底捞发布业绩预告。公告称,2022年上半年,海底捞预……
剧本杀等娱乐场所纳入管理业内人士建议从源头防止问题剧本新华社天津7月1日电(记者梁姊郭方达)暑期将至,剧本杀密室逃脱等娱乐活动客流高峰即将到来。然而,部分剧本杀剧本中存在黄色暴力血腥内容,一些密室逃脱场景中黑暗追逐电击行为,也引发……
2岁宝宝左手拿勺子吃饭,婆婆立即制止,这样做真的好么?2岁宝宝习惯用左手吃饭,就真的是左撇子么?是否一定要纠正呢?大家好,我是张女子育儿。如果你家孩子是左撇子,你会怎么办?相信很多父母第一想法可能就是立即制止,并且矫正……
理论仔有望成为史上最年轻的WWE冠军,神秘选手其实就是他?前两天刚刚结束的合约阶梯大赛上,丽芙摩根和赛尔瑞先后拿下了各自所在组别的合约包,丽芙更是在当晚就迫不及待完成兑现,取代隆达罗西登顶新科SmackDown女子冠军!然而摔迷……
欧文谈C罗我认为他会留队,除非曼联锋线有重磅引援直播吧8月11日讯英格兰名宿欧文认为,C罗会留在曼联,除非曼联有重磅引援替代他。C罗在今夏一直想要离开曼联,本赛季曼联没有欧冠参赛资格,而C罗等球员的薪水也减少了25。不……
为什么中式审美里的高级脸,会越看越耐看?不知道大家有没有发现一点,娱乐圈里的一线女明星,不仅长得好看,更是十分耐看。而那些网红虽然都好看,但是脱离了滤镜,却一点都不耐看了,看多了甚至都有点审美疲劳。那么,为什么……
CBA中职篮辽宁老将韩德君本赛季疑似球员兼任辽篮助理教练韩德君是辽篮的体制内球员,也就是说即便是韩德君退役了,也是辽宁篮球的人,韩德君永远不可能转会,只能在辽宁篮球退役,退役后不出意外也会在球队内给安排工作,这个退役不是退休,安排工……
什么是操作系统?DevWeekly收集整理每周优质开发者内容,包括开源项目、资源工具、技术文章等方面。每周五定期发布,同步更新到知乎:Jackpop和公众号:平凡而诗意。欢迎大家投……
2022年8月15日华强北手机批发报价单今日各品牌手机报价已出,欢迎查看交流评论留言,喜欢的点击关注了解手机每日走势!苹果苹果华为一加荣耀华为苹果Solo三星联想小新JBL魅族飞利浦……
逃跑计划感受大练在这么一个工作如机器、爱情如快餐的时代,你有没有那么一刻,想要远离熙攘的人群、城市的喧器,只想吹吹海风呢?平潭大练岛,现在去刚好!大练岛位于平潭西北部,离平潭主岛距……
夏季祛湿,医生推荐这四种方法郑州人民医院李彦莹夏季气温高导致毛孔张开暑湿之气非常容易乘虚而入形成湿证。当你出现头胀而痛,胸前作闷,身重而痛,发热体倦,四肢懈怠,关节酸痛重,屈伸不利等症状时,这就提示……
孩子怎么会得糖尿病?妈妈很不解您好,是儿科病房么?急诊有个怀疑糖尿病、酮症酸中毒的2岁男童,病情较重,需要收治入院。目前孩子状态如何?做了哪些检查?孩子意识尚淸,但精神烦躁,查随机末梢血糖25。……
此地靠近赤道,却是地球上最干燥的地方,曾经91年间未下雨读者朋友们,大家好!我们知道一个地方的气候是由多种因素共同作用造成的。其中重要的因素有海陆位置、大气环流、纬度、洋流和地形。今天我们一起来了解一下地球上最干燥的地方,它的平均年……
NBA西部最新排名,与赛季初出现天翻地覆的变化赛季开始打了15场比赛的时候,就写过一期各个球队的战绩排名今天回头一看,真是发生了天翻地覆的变化曾经的排名靠前的球队,目前都跌出季后赛球队了下面我们一起来看看……
罕见!红色极光红色极光照亮芬兰拉普兰省夜空。当地时间22日晚,在芬兰最北部拉普兰省会城市罗瓦涅米,出现漫天迷人的北极光。除了通常出现的绿色极光之外,当晚还出现了红色极光。当地居民……
小屁孩意想不到的童言童语我的外甥,我叫他小屁孩,在他大概四岁左右时,就已经懂得对别人威逼利诱了。事情是这样的,在小屁孩小时候,他爸爸妈妈要出去工作,爷爷奶奶又整天忙,就只有他一……
国庆去探寻秘境村落挂壁公路幽深峡谷,阅尽秋色斑斓娘娘掐指一算,还有天就是一年一度的十一国庆节!社畜们终于可以好好歇一歇了面临全国疫情散发,出省游的希望比较渺茫,但重庆周边不乏景色优美,风光堪比川西的绝色风光!国庆……
荣耀发布会你看了吗?两天一充的荣耀X40,仅需1499元起不知不觉,已到金秋时节,荣耀也迎来了自家的秋季新品发布会。此次发布会,荣耀发布了X40手机、荣耀MagicBookX系列笔记本、荣耀MagicBookV14笔记本2022、荣耀……
山东免费的十大景点,不仅免费,而且好玩,看看你都去过几个盘点山东十大免费景区,看看你都去过几个济南大明湖大明湖,位于山东省济南市历下区大明湖路,是一处国家5A级旅游景区,与趵突泉千佛山,并称为济南三大名胜,是个集水域风光……
今日俄罗斯俄罗斯天然气公司老总警告欧洲你们可能在冬天被冻成冰中国小康网10月13日讯老马俄罗斯能源巨头俄罗斯天然气工业股份公司(Gazprom)的首席执行官阿列克谢米勒(AlekseyMiller)警告说,欧洲城市的居民可能会在寒冷的冬……
场均28分13板7助,接班詹姆斯,带队冲冠,联盟这次选对了人NBA季后赛进入到分区半决赛阶段,有些意外的是,东西部第二名,都在主场输球,特别是凯尔特人,他们曾首轮横扫篮网,但是遇到雄鹿时,并没有展现出他们的竞争力,他们被雄鹿打成了篮网。……
国庆去哪玩,不出宁波的宝藏度假,赶紧码住一日游太短,出市区又觉得不安全,眼看着各个地方提倡就地过节。你的国庆出游计划被搁置了吗。如果还没着落,不如看看市区这些旅游度假地。小长假不用奔波,安慰度假也是种快乐!丹娜……
穿搭必学小技巧(颜色的搭配)1、同类色搭配指深浅、明暗不同的两种同一类颜色相配,比如:青配天蓝,墨绿配浅绿,咖啡配米色,深红配浅红等,同类色配合的服装显得柔和文雅。2、近似色相配指两个比……