神奇“编号”,轻松搞定4G/Wi-Fi/以太网/虚拟网卡

网络适配器就是——网卡。在应用开发中我们常使用网卡和网络适配器这两种名称。

我们先来看一张电脑上的网卡图片,图片中有Wi-Fi网卡、标准的物理以太网卡、虚拟的USB RNDIS以太网卡三种网卡:

Image

下面列举一些网卡编号常量,仅仅是一个编号,关于这个编号的理解,可以分为以下两种情况。

一、设备自带的网卡

对于AirXXXX设备内自带的网卡,这种设备自带的网卡,编号是固定的,不允许配置修改。

例如:
socket.LWIP_GP的编号为1。

从LWIP_GP的字面意思来看,这个是蜂窝数据网络网卡,所以使用蜂窝数据网络(例如4G网络)上网时,LuatOS内核固件中默认就使用了这个编号,而且LuatOS内核固件没有开放接口允许把蜂窝数据网络的网卡配置为其他编号。

这种类型的网卡编号有:

  • socket.LWIP_GP;

  • socket.LWIP_STA;

  • socket.LWIP_AP。

▼  socket.LWIP_GP  ▼

  • 常量含义:

    4G网卡;类似于我们平常手机使用运营商的手机卡上网时使用的网卡; 

    LWIP是指传输层和网络层使用的是LuatOS内核固件中的LwIP协议栈;

    GP是GPRS的缩写,GPRS是2G网络时代的分组数据网络,此处用来代指移动蜂窝数据网络,例如4G网络。

  • 数据类型:number;

  • 取值范围:1;

  • 示例代码:

    socket.localIP(socket.LWIP_GP)

    表示基于4G网卡上网时,获取本地的IP地址、网络掩码和网关IP地址。

▼  socket.LWIP_STA  ▼

  • 常量含义:

    WiFi设备模式网卡;类似于我们平常手机或者电脑WiFi上网时使用的网卡;

    LWIP是指传输层和网络层使用的是LuatOS内核固件中的LwIP协议栈;

    STA是STATION的缩写,表示WiFi设备模式,需要连接WiFi热点才能上网。

  • 数据类型:number;

  • 取值范围:2;

  • 示例代码:

    socket.localIP(socket.LWIP_STA)

    表示基于WiFi设备模式网卡上网时,获取本地的IP地址、网络掩码和网关IP地址。

▼  socket.LWIP_AP  ▼

  • 常量含义:

    WiFi热点模式网卡;类似于我们平常使用的WiFi路由器或者手机开WiFi热点时使用的网卡;

    LWIP是指传输层和网络层使用的是LuatOS内核固件中的LwIP协议栈;

    AP是Access Ponit的缩写,意思是WiFi热点,供其他WiFi设备接入上网。

  • 数据类型:number;

  • 取值范围:3;

  • 示例代码:

    socket.localIP(socket.LWIP_AP)

    表示开启WiFi热点模式时,获取本地的IP地址、网络掩码和网关IP地址。

二、设备外挂的网卡

对于AirXXXX设备需要外挂的网卡,这种网卡的编号,可以使用我们推荐的编号值,也可以使用自定义类型的编号值。

例如外挂以太网卡的场景:

  • 通过SPI外挂CH390以太网卡时
    这种网卡的编号可以使用推荐的:

    socket.LWIP_ETH;

    也可以使用自定义:
    socket.LWIP_USER0/1/2/3/4/5/6/7中的任何一个。

  • 如果通过SPI外挂了5块CH390以太网卡
    这5块以太网卡的编号可以从:

    socket.LWIP_ETH;

    socket.LWIP_USER0/1/2/3/4/5/6/7;

    这9个网卡编号中选择任意5个。

以下简单列举说明,更多详细讲解及应用

▼  socket.LWIP_ETH  ▼

  • 常量含义:

    使用LwIP协议栈的以太网卡;

    例如:
    通过SPI外挂CH390实现以太网上网时的网卡;通过RMII接口外挂PHY芯片实现以太网上网时的网卡。

    LWIP是指传输层和网络层使用的是LuatOS内核固件中的LwIP协议栈;

    ETH是Ethernet的缩写,意思是以太网。

  • 数据类型:number;

  • 取值范围:4;

  • 示例代码:

    socket.localIP(socket.LWIP_ETH)
    表示基于LwIP协议栈的以太网卡上网时,获取本地的IP地址、网络掩码和网关IP地址。

▼  socket.USB  ▼

  • 常量含义:

    USB接口的以太网卡;

    USB接口的以太网卡是一种通过USB线虚拟出有线网卡功能的技术。

    以电脑为例:
    它允许电脑通过一根USB数据线,将手机或者合宙AirXXX硬件板连接到电脑,并让电脑像使用普通有线网卡一样通过该USB线,使用手机或者合宙AirXXX硬件板来上网。

    手机或者合宙AirXXX硬件板就可以看作电脑的USB接口的以太网卡。

    常见的USB以太网卡又可以分为USB RNDIS以太网卡和USB ECM以太网卡两种:

    主机(例如电脑)发送数据时,主机的以太网数据帧,经过RNDIS协议或者ECM协议封包,然后经过USB传输给RNDIS设备或者ECM设备,设备经过RNDIS协议或者ECM协议解包,提取出原始的以太网数据帧,然后利用自己的网络将数据发送出去。

    主机接收数据的过程和发送数据的过程相反。

  • 数据类型:number;

  • 取值范围:17;

  • 示例代码:

    socket.localIP(socket.USB)
    表示基于USB接口的以太网卡上网时,获取本地的IP地址、网络掩码和网关IP地址。

▼  socket.LWIP_USER0  ▼

  • 常量含义:

    使用LWIP协议栈的自定义网卡0;

    这种网卡编号的使用场景是:

    当合宙AirXXXX设备需要外挂网卡来上网时,这种外挂网卡的编号,可以使用我们推荐的编号值,也可以使用自定义类型的编号值。

    例如:
    通过SPI外挂CH390以太网卡时:
    这种网卡的编号可以使用推荐的:

    socket.LWIP_ETH;

    也可以使用自定义的:

    socket.LWIP_USER0/1/2/3/4/5/6/7中的任何一个。

    如果通过SPI外挂5块CH390以太网卡:
    这5块以太网卡的编号可以从以下9个网卡编号中选择任意5个:
    socket.LWIP_ETH
    socket.LWIP_USER0/1/2/3/4/5/6/7

  • 数据类型:number;

  • 取值范围:7;

  • 示例代码:

    socket.localIP(socket.LWIP_USER0)
    表示基于自定义网卡0上网时,获取本地的IP地址、网络掩码和网关IP地址。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值