理论与实践的结合才能发挥最大效能。本文聚焦GNSS模组,揭秘其如何通过实战应用实现3秒极速定位,提供可落地的解决方案。

 

一、应用接口说明 
 

1.1 脚本代码

在使用RNIDS之前,请提前给Air8000烧录如下脚本:

从理论到实战:GNSS模组3秒极速定位解析_物联网

从理论到实战:GNSS模组3秒极速定位解析_硬件工程_02

二、Window系统RNDIS应用

Window系统默认支持RNDIS,直接用USB连接就可以使用,Air8000工业引擎会虚拟一个网卡,此网卡可在“设备管理器”或“网络连接”中看到。

注意:Air8000驱动使用的是CDC驱动,请使用Win10及其以上系统(Win10以下系统,Air8000不做支持)。

从理论到实战:GNSS模组3秒极速定位解析_x系统_03

将烧录好上述脚本的Air8000核心板USB插入电脑,正常开机后即可识别(在电脑右下角看见如下所示图标)。

从理论到实战:GNSS模组3秒极速定位解析_硬件工程_04

三、Linux系统RNDIS应用

3.1 虚拟串口

1)正常情况默认支持

Air8000使用CDC-ACM驱动,大部分Linux系统默认就支持,插入就可以使用。

从理论到实战:GNSS模组3秒极速定位解析_物联网_05

此时查看USB设备,可以看到一个ID为19d1:0001的USB设备,这个就是Air8000虚拟出的USB网卡。

从理论到实战:GNSS模组3秒极速定位解析_设备管理_06

查看网卡信息可以看到如下信息:

从理论到实战:GNSS模组3秒极速定位解析_设备管理_07

使用ping命令访问百度,联网成功:

从理论到实战:GNSS模组3秒极速定位解析_硬件工程_08

2)未编译内核情况的配置参考

如果你的系统未编译CDC-ACM驱动进入内核,则可以在编译内核的时候参考如下配置。

配置内核:

从理论到实战:GNSS模组3秒极速定位解析_设备管理_09

确定端口:

交叉编译后,板上运行成功后将Air8000开机并使用USB插入你的Linux板上,使用ls/dev/ttyACM*即可看到三个端口。

从理论到实战:GNSS模组3秒极速定位解析_编译内核_10

3.2 RNDIS驱动

1)正常情况默认支持

Air8000是标准的RNDIS,目前Linux大部分发行版本都已经默认支持RNDIS驱动,只要通过USB连接Air8000就可以直接用了。

Air8000开机后就会在Linux设备端看到新的网卡,如下图红框部分为Air8000虚拟出的USB网卡。

从理论到实战:GNSS模组3秒极速定位解析_硬件工程_11

注意: 每个设备的ethx可能不一样,插入Air8000工业引擎后增加的网卡即为RNDIS网卡。

 

2)没有RNDIS驱动的情况

如果遇到没有RNDIS驱动的情况,可在编译内核时按照下图配置。

从理论到实战:GNSS模组3秒极速定位解析_设备管理_12

3.3 RNDIS联网测试

使用ping命令访问百度,联网成功:

从理论到实战:GNSS模组3秒极速定位解析_硬件工程_13

四、如何禁用RNDIS功能 

4.1  Win10如何禁用RNDIS

在设备管理器,网络适配器下找到Remote NDIS选项后点击鼠标右键选择禁用设备即可。

从理论到实战:GNSS模组3秒极速定位解析_设备管理_14

4.2  LuatOS代码如何禁用RNDIS

从理论到实战:GNSS模组3秒极速定位解析_x系统_15

从理论到实战:GNSS模组3秒极速定位解析_物联网_16

今天的内容就分享到这里了~