esptouch

概述

esptouch is one way for Android Phone to tell the connected Router's Ssid, Password and etc. to make IOT devices to connect to the same Router. EspTouch is developed and maintained by Espressif Corp.githubAddress

iOS注意

  1. 您需要打开位置权限才能获取Wi Fi信息。请转到设置->隐私->定位服务以打​​开[esptouch]定位服务。
  2. 启动后设备已连接,请确保网络为2.4G,设备仅支持2.4G。

配置包名

在 iOS 平台上使用本功能,需要在 生成包名(bundle id) 的时候,勾选 Access WiFi Information 功能。如下图:

注意:若配置已经在使用中的包名,需重新生成描述文件,打包证书不用动。

配置 entitlement 文件

iOS 上使用本模块前,需要先配置一个 entitlement 文件。配置方法参考论坛帖子 iOS修改entitlements文件

配送参数如下:

<key>com.apple.developer.networking.wifi-info</key>
<true/>

注意:本模块 iOS 平台上最低适配系统版本为 iOS 8.0

接口

find

查找设备

find(callback(ret))

params

apSsid:

  • 类型:字符串类型
  • 描述:路由ssid

apBssid:

  • 类型:字符串类型
  • 描述:路由bssid

apPassword:

  • 类型:字符串类型
  • 描述:密码

devicesCount:

  • 类型:数字类型
  • 描述:(可选项)设备数量
  • 默认值:-1

type:

  • 类型:数字类型
  • 描述:(可选项)广播或者组播
  • 取值范围:0/组播,1/广播
  • 默认值:1

callback(ret,err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  • 说明:iOS可能会多次返回
{   
    status:,      //布尔类型;是否成功
   list:[           //JSON数组类型;返回设备信息
   {
    bssid:'',      //字符串类型;设备bssid
    address:'',    //字符串类型;设备地址
    isSuc:true,   //布尔类型;esptouch任务是否成功执行
    isCancelled:true,   //布尔类型;esptouch任务是否被用户取消

   }
   ],
}

err:

  • 类型:JSON 对象
  • 内部字段:
{   
    msg:'',        //字符串类型;错误信息
}

示例代码

var esptouch = api.require('esptouch');
     esptouch.find({
       key:''
     },function(ret){
       alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancel

取消

cancel(callback(ret))

示例代码

var esptouch = api.require('esptouch');
esptouch.cancel();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本