network

说明

硬件平台支持

硬件平台

是否支持

说明

HaaS600-EC100Y

HaaS600-EC600S

HaaS510

HaaS531

HaaS100

HaaS EDU K1

HaaS200

开发中

示例代码

var network = require('network');

var net = network.openNetWorkClient();

/**
 * 获取网络类型
 * 目前支持两种类型:wifi cellular(蜂窝网)
 */
var netType = net.getType();
console.log('net type is: ' + netType);

/**
 * 获取网络状态
 * 目前支持两种状态:connect disconnect
 */
var netStatus = net.getStatus();
console.log('net status is: ' + netStatus);


if (netStatus == 'connect') {
    /* 网络状态已连接,获取网络状态 */
    getNetInfo();
} else {
    /* 网络状态未连接,如果是wifi设备则主动联网(4G模组中系统会自动注网) */
    if (netType === "wifi") {
        net.connect({
            ssid: 'Alibaba-test-148289',             //请替换为自己的热点ssid
            password: 'aos123456'                   //请替换为自己热点的密码
        });
    }

    /**
     * 监听网络连接成功事件,成功执行回调函数
     */
    net.on('connect', function () {
        getNetInfo();
    });
}

function getNetInfo() {
    console.log('net status is connected, begin getting net information...');

    var info = net.getInfo();

    if (netType === "cellular") {
        /* imsi 国际移动用户识别码 */
        console.log('net simInfo imsi is: ' + info.simInfo.imsi);

        /* imei 国际移动设备识别码 */
        console.log('net simInfo imei is: ' + info.simInfo.imei);

        /* iccid 集成电路卡识别码 */
        console.log('net simInfo iccid is: ' + info.simInfo.iccid);

        /* cid 基站编号 */
        console.log('net  locatorInfo cellid is: ' + info.locatorInfo.cellid);

        /* lac 位置区域码 */
        console.log('net  locatorInfo lac is: ' + info.locatorInfo.lac);

        /* mcc 移动国家代码(中国的为460 */
        console.log('net  locatorInfo mcc is: ' + info.locatorInfo.mcc);

        /* mnc 移动网络号码(中国移动为00,中国联通为01) */
        console.log('net  locatorInfo mnc is: ' + info.locatorInfo.mnc);

        /* signal 接收的信号强度值 */
        console.log('net  locatorInfo signal is: ' + info.locatorInfo.signal);
        return;
    }

    if (netType === "wifi") {
        /* ip地址*/
        console.log('net ip_addr is: ' + info.wifiInfo.ip_addr);

        /* dns */
        console.log('net dns_server is: ' + info.wifiInfo.dns_server);

        /* 网关 */
        console.log('net gateway is: ' + info.wifiInfo.gw);

        /* 子网掩码 */
        console.log('net mask is: ' + info.wifiInfo.mask);

        /* mac地址 */
        console.log('net mac is: ' + info.wifiInfo.mac);

        /* wifi信号强度 */
        console.log('net wifi rssi is: ' + info.wifiInfo.rssi);

        /* 是否开启dhcp */
        console.log('net dhcp_en is: ' + info.wifiInfo.dhcp_en);
        return;
    }

    console.log('unkown net type');
}

方法

openNetWorkClient

初始化 network 组件,创建 network 实例

getType

获取网络的类型

getStatus

获取网络连接状态

getInfo

获取当前网络详细信息

connect

如果是WiFi类型,连接网络,非WiFi类型调用无效

disconnect

如果是WiFi类型,断开网络连接,非WiFi类型调用无效

on

监听网络事件

openNetWorkClient()

初始化 network 组件,创建 network 实例。

返回值

  • network 实例。

getType()

获取网络连接类型。

返回值

  • String类型,具体值为:

返回值

描述

cellular

蜂窝网络,比如4G LTE

wifi

wifi网络

ethnet

以太网络

unknown

未识别的网络类型

getStatus()

获取网络连接状态。

返回值

String类型,具体值为:

类型

描述

connect

网络已连接,并且获取到IP地址

disconnect

网络断开状态

getInfo()

获取网络详细信息

返回值

Object类型,其参数有:

属性

类型

描述

wifiInfo

Object

wifi网络,wifi信息

simInfo

Object

cellular网络,sim卡信息

locatorInfo

Object

cellular网络,设备连接基站信息

wifiInfo说明:

属性

类型

描述

ip_addr

String

IP地址

dns_server

String

DNS地址

gw

String

网关地址

mask

String

子网掩码

mac

String

MAC地址

rssi

Number

WIFI信号强度,值越大,信号越强

simInfo说明

Object类型,具体属性为:

属性

类型

描述

imsi

String

imsi 国际移动用户识别码

imei

String

imei 国际移动设备识别码

iccid

String

iccid 集成电路卡识别码

locatorInfo说明

Object类型,具体属性为:

属性

类型

描述

cellid

String

cid 基站编号

lac

String

lac 位置区域码

mcc

String

mcc 移动国家代码(中国为460)

mnc

String

mnc 移动网络号码(中国移动为00, 中国联通为01)

signal

Number

接收信号强度值,值越大,信号越强

connect(Object option)

如果是WiFi网络,连接网络,非WiFi网络调用无效。

入参

Object类型,其参数有:

属性

类型

必填

描述

ssid

String

要连接热点的ssid

password

String

要连接热点的password

返回值

disconnect()

如果是WiFi网络, 断开网络连接

on(String event, Function callback)

注册网络事件回调函数

入参

属性

类型

必填

描述

event

String

监听事件种类,支持 connect disconnect 两种类型

callback

Function

监听事件的回调函数

返回值