LIANBO

Similar documents
USR-K2设置协议 V1.0

USR-TCP232-XX系列模块设置协议

标题

一、

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

PowerPoint 演示文稿

Shenzhen RF-star Technology Co.,Ltd. RF-WM-10BNB1 用户使用手册 TEL: FAX: ADD: 深圳市宝安区宝源路互联网产业基地 A 区 8 栋 2 层 WEB:

USR-TCP232-S2规格书-V1.0.3

USR-K2-spec-V1.0.2.doc

untitled

Guava学习之Resources

GPRS IP MODEM快速安装说明

Chapter #

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

联想天工800R路由器用户手册 V2.0

WH-GM35-MQTT版-AT配置命令手册V1.01

国 海 证 券 股 份 有 限 公 司 1 策 略 观 点 每 日 市 场 观 点 :PMI 影 响 偏 短 期 一 国 海 策 略 评 论 : 1 经 济 尚 有 下 行 的 压 力 9 月 财 新 制 造 业 PMI 初 值 47.0, 低 于 市 场 预 期, 新 订 单 与 新 出 口 订

11N 无线宽带路由器

IP Camera

构建 Bluetooth 移动应用 主讲人 : 任凯 微信 :kaiser-tech 2016 年 5 月 6 日 3

Microsoft Word - 永政发〔2016〕48号.doc

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

路由器基本配置

市 教 育 工 会 : 女 教 师 素 质 提 升 工 程 市 卫 计 委 工 会 ( 原 医 管 中 心 工 会 ): 打 造 医 患 双 向 体 验 双 向 宣 传 工 程 市 国 资 委 国 联 集 团 工 会 : 全 员 阅 读 书 香 国 联 市 人 社 局 工 会 : 促

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

新美大酒店开放平台SDK(.NET版)使用说明.pages

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

USR-N510-spec.doc

计算机网络实验说明

一、通讯协议

新・解きながら学ぶJava

北京方研矩行科技有限公司 Android SDK 快速接入文档

ESP-Jumpstart

二零一五年施政報告 - 施政綱領 - 第六章 教育、人口及人力資源

1.5招募说明书(草案)

<453A5CCEC4B5B55C C41CBAAB2F5D4C6BDD3BFDACAB9D3C3CBB5C3F756312E305F E646F63>

关于建立境内违法互联网站黑名单管理制度的通知

<4D F736F F D20D0C5CFA2BBAFB7A2D5B9D6D8B5E3D7A8CFEEB9E6BBAE2E646F63>

? 這 全 都 是 市 政 府 提 供 給 我 的 資 料 低 底 盤 公 車 計 畫 96 年 預 算 新 台 幣 4,500 萬 元 97 年 預 算 新 台 幣 1 億 6,500 萬 元 98 年 預 算 新 台 幣 3 億 2,300 萬 元, 共 有 307 台 低 底 盤 公 車,99


E68 E68C 中性说明书 A6版

Wireless DAC_UM-TC_ indd

}; "P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ", " " string imagedata; if(0!= read_image("a.jpg",imagedata)) { return -1; } string rsp; ytopen_sdk m_sd

SL2511 SR Plus 操作手冊_單面.doc

MASQUERADE # iptables -t nat -A POSTROUTING -s / o eth0 -j # sysctl net.ipv4.ip_forward=1 # iptables -P FORWARD DROP #

3.1 num = 3 ch = 'C' 2

技 术 文 件

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

中文朗科AirTrackTM T600 迷你无线路由器用户手册.doc

ebook71-13

ARP ICMP

舟山市人民政府办公室文件

教育扩张能改善收入分配差距吗?——来自CHNS2006年数据的证据

山水文化,市井人家——以湖州邱城小镇的概念性规划为例

M0M1 模组 smartconfig 例程指南

D-link用户手册.doc


中国证券监督管理委员会公告

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD


Shenzhen RF-star Technology Co.,Ltd. RF-WM-11AMB1(11AFB1,10AFB1) 用户使用手册 TEL: FAX: ADD: 深圳市宝安区宝源路互联网产业基地 A 区 8 栋 2 层 WEB: w

NeoGate_TG_Series_UserManual_en

浙江师范大学2014年度毕业生就业质量报告

目 录 监 管 资 讯 2016 年 全 国 保 险 监 管 工 作 会 议 召 开...3 协 会 动 态 赤 峰 保 险 行 业 协 会 召 开 数 据 统 计 和 信 息 宣 传 总 结 表 彰 会 议...5 赤 峰 市 保 险 行 业 协 会 秘 书 处 召 开 2015 年 度 述 职

同 时, 采 取 提 供 新 闻 线 索 和 素 材 安 排 专 访 等 方 式 主 动 为 新 闻 媒 体 服 务, 为 采 访 报 道 活 动 创 造 便 利 条 件 建 设 网 络 信 息 发 布 平 台 2013 年 9 月 开 通 中 央 纪 委 监 察 部 网 站,2015 年 1 月

公務員服務法第13條相關解釋彙整表

大陸教育部等6個部門公佈「現代職業教育體系建設規劃 ( 年)」規劃到2015年初步形成現代職業教育體系框架,到2020年基本建成「中國」特色現代職業教育體系

资 讯 速 递 台 基 于 大 数 据 的 学 校 督 导 评 估 系 统 建 设 上 海 市 闵 行 区 人 民 政 府 教 育 督 导 室 ( 摘 要 ) 闵 行 教 育 在 深 化 教 育 改 革 探 索 管 办 评 分 离 的 背 景 下, 把 教 育 督 导 评 估 系 统 建 设 作 为

B1

時間軸上的竹蓮記憶 學務主任 黃雅彙 我不是竹蓮國小的畢業校友 但對於身為新竹人的我來 說 仔細回想起來 似乎和竹蓮有著一種特別的緣分 對竹蓮國小最初的印象是在小學的時候 猶記得年幼的 我經過一段時日的啦啦隊舞蹈訓練後 老師便帶著我們從學 校步行到竹蓮國小來參加比賽 一踏入竹蓮校門 映入眼簾 的是黑

B1

Microsoft Word - 临政办发6.doc

untitled

1 产 品 简 介 特 性 包 装 产 品 外 观 电 脑 系 统 要 求 硬 件 安 装 软 件 安 装 软 件 操 作 IP

AL-M200 Series

KL DSC DEMO 使用说明

<4D F736F F D20CDB6D7CAD5DFB1A3BBA4B5E4D0CDB0B8C0FDA3A831322D3234A3A9>

<4D F736F F F696E74202D20A1B6CFEEC4BFD2BB20B3F5CAB6BCC6CBE3BBFACDF8C2E7A1B7C8CECEF1C8FD20CAECCFA A1A24950D0ADD2E9BACD4950B5D8D6B72E707074>

操作指南 10 月 /2015 年 如何配置 SCALANCE W AP 的 DHCP 功能? SCALANCE W DHCP IP 地址 Unrestricted

ext-web-auth-wlc.pdf

My Net N900 Central Router User Manual

Microsoft Word - 第3章.doc

Taurus 系列 多媒体播放器 西安诺瓦电子科技有限公司 快速使用指南 文档版本 : 文档编号 : V1.4.0 NS

/ / (FC 3)...

FW450R 450M REV2.0.0

Microsoft Word - 01.DOC

untitled

NA-001/F-V2縲€繧ス繝輔ヨ繧ヲ繧ァ繧「讖溯・莉墓ァ俶嶌

【未完成】AP2600C系列快速安装 中文说明书V

<4D F736F F D20D5FEB8AEB9A4D7F7B1A8B8E62E646F63>

< Essential LEDtube > | < Philips >

epub83-1

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC

第 1 章 概 述 1.1 计 算 机 网 络 在 信 息 时 代 中 的 作 用 1.2 计 算 机 网 络 的 发 展 过 程 *1.2.1 分 组 交 换 的 产 生 *1.2.2 因 特 网 时 代 *1.2.3 关 于 因 特 网 的 标 准 化 工 作 计 算 机 网 络 在

附件:技术测评需求

Microsoft Word - 文化2016(2)修改.doc

Socket Socket TcpClient Socket.Connect TcpClient.Connect Socket.Send / Receive NetworkStream 6-5

(Methods) Client Server Microsoft Winsock Control VB 1 VB Microsoft Winsock Control 6.0 Microsoft Winsock Control 6.0 1(a). 2

Transcription:

RAK IoT 模块配置工具移植说明 深圳市瑞科慧联科技有限公司 www.rakwireless.com info@rakwireless.com 2015 瑞科慧联对于此文件保留所有权利 本文所提及的实际公司和产品名称, 均为其各自所有者商标 本文档的任何部分不得转载, 不得存储在任何检索系统, 或以任何未经过瑞科慧联书面同意的形式传送 本文件在更新新版本后, 恕不另行通知 1

1. 概述 该配置工具主要依赖于库 iot.sdk.aar, 方便用户快速上手使用 RAK 公司的 IoT WiFi 模块, 包括 : RAK413/RAK415/RAK423/RAK425/RAK473/RAK475/RAK476/RAK477, 主要功能包括一键配置 AP 配置 参数配置 OTA 升级 透传通信等功能 注意, 该 SDK 支持 8 种模块类型, 下文中所有需要填入的模块类型均为字符串类型, 即 : RAK413 RAK415 RAK423 RAK425 RAK473 RAK475 RAK476 RAK477 2

2. 本地发现移植说明 2.1 概述 这一部分主要实现当手机与模块处于同一网络时, 手机可以获取到该模块的相关信息 2.2 移植步骤 1. 添加 iot.sdk.aar 2. 初始化本地发现接口 : Scanner _scanner=new Scanner(getApplicationContext()); 3. 监听扫描结果并获取相关信息 : _scanner.setonscanoverlistener(new Scanner.OnScanOverListener() { public void onresult(map<inetaddress, ScanInfo> data,inetaddress gatewayaddress) { if (data!= null) { for (Map.Entry<InetAddress, ScanInfo> entry : data.entryset()) { String ip = entry.getkey().gethostaddress(); _scaninfo.ip = ip;// 获取模块的 ip 地址 ScanInfo _scaninfo = entry.getvalue();// 获取模块的其他信息 /* 模块信息包括 : _scaninfo.groupname // 模块的组名称 _scaninfo.nickname // 模块名称 _scaninfo.mac // 模块的 MAC 地址 _scaninfo.rssi // 模块的信号值 _scaninfo.productid // 模块所属产品 ID _scaninfo.clientid // 模块的 ID */ ); 4. 扫描设备, 有以下三种方式 : _scanner.scanall(); // 扫描同一局域网下全部设备 _scanner.scan(); // 扫描同一局域网下单个设备 ( 第一个回应手机的设备 ) _scanner.scan(_ip); // 指定 ip 地址扫描,_ip: 模块的 ip 地址 3

3. AP 配置移植说明 3.1 概述这一部分主要实现使用 AP 配置的方式把模块配置到指定的路由器, 这种配置方式非常稳定可靠 3.2 移植步骤移植步骤 : 初始化 >>> 获取网络列表, 选择其中一个网络 >>> 配置模块 >>> 复位模块 1. 添加 iot.sdk.aar 2. 初始化 AP 配置接口 : ApConfig _apsdkapi=new ApConfig(_deviceIp,_devicePassword,_moduleType); //_deviceip: 模块 ip _devicepassword: 模块密码 _moduletype: 模块类型 3. 设置 AP 配置监听 : _apsdkapi.setonresultlistener(new ApConfig.OnResultListener() { public void onresult(apconfig.response result) { if (result.type== ApConfig.GET_SSID_FROM_DEVICE){ // 获取网络列表返回的内容 if (result.statuscode==200){ ssidlist=_apsdkapi.decodessidfromdevice(result.body);// 解析网络列表 if (ssidlist.size()>0){ rssilist=_apsdkapi.getrssilist();// 获取网络列表的信号值 // 显示获取到的网络列表 else if (result.type== ApConfig.CONFIGURE_DEVICE_TO_NETWORK){ // 配置模块联网返回的内容 if (result.statuscode==200){ // 配置完成 else if (result.type== ApConfig.RESET_DEVICE){// 配置模块联网返回的内容 if (result.statuscode==200){// 复位成功 ); 4. 获取模块扫描到的网络列表 _apsdkapi.getssidfromdevice(); 5. 配置模块联网 _apsdkapi.configuredevicetonetwork(ssid, Psk); //Ssid: 无线网络名称 Psk: 无线网络密码 6. 复位模块 _apsdkapi.resetdevice(); 4

4. 一键配置移植说明 4.1 概述 这一部分主要实现如何利用手机 APP, 使用一键配置功能快速把模块配置到指定的路由器 4.2 移植步骤 1. 添加库 iot.sdk.aar 2. 初始化一键配置接口 : EasyConfig _easyconfig = new EasyConfig(_ctx, _moduletype); //_ctx: 上下文 Context _moduletype: 模块类型 3. 设置相关监听 // 监听停止配置事件 _easyconfig.setonstoplistener(new EasyConfig.OnStopListener() { public void onstop() {... ); // 监听配置进度 _easyconfig.setonprogresslistener(new EasyConfig.OnProgressListener() { public void ondata(final int progress, final String ip, final String mac) {... //progress: 配置进度 ip: 模块 ip mac: 模块 mac ( 当 ip 和 mac 不为 null 时即配置成功 ) ); 4. 开始配置 _easyconfig.start(ssid, Psk); //Ssid: 无线网络名称 Psk: 无线网络密码 5. 停止配置 _easyconfig.stop(); 5

5. 参数配置移植说明 5.1 概述这一部分实现配置模块的所有参数 5.2 移植步骤 1. 添加库 iot.sdk.aar 2. 初始化参数配置接口 ParametersSettings _parameterssettings=new ParametersSettings(_deviceIp,_moduleType); //_deviceip: 模块 ip _moduletype: 模块类型 3. 设置相关监听 _parameterssettings.setonrecvdatalistener(new ParametersSettings.OnRecvDataListener() { public void onrecvdata(final int statuscode, final String resultdata, final int cmdtype) { runonuithread(new Runnable() { public void run() { if (statuscode==200){ if (cmdtype==parameterssettings.certificate_cmd){ // 模块认证返回的信息 else if(cmdtype==parameterssettings.get_version_cmd){ // 获取模块的固件版本 else if(cmdtype==parameterssettings.get_parameters_cmd){ // 获取模块的配置参数 else if(cmdtype==parameterssettings.set_parameters_cmd){ // 设置模块的配置参数 else if(cmdtype==parameterssettings.reset_cmd){ // 复位模块返回的信息 else if(cmdtype==parameterssettings.fac_reset_cmd){ // 模块恢复出厂返回的信息 else if(cmdtype==parameterssettings.get_ssid_from_device){ // 解析网络列表 ssidlist=_parameterssettings.decodessidfromdevice(resultdata); if (ssidlist.size()>0){ // 获取网络列表的信号值 rssilist=_parameterssettings.getrssifromdevice(); // 显示获取到的网络列表 6

); ); 4. 模块认证 _parameterssettings.certificate(username, Password); //Username: 模块用户名 Password: 模块密码 5. 获取模块版本号 _parameterssettings.getversion(); 6. 获取模块配置参数 _parameterssettings.getparameters(); 7. 解析模块配置参数 ModuleParameters.DecodeModuleParameters(parameters); 解析完的模块参数保存到 ModuleParameters 类里, 所有参数如表 5-1 所示 : 表 5-1 模块参数值说明 参数类型 参数名称 参数说明 参数值 备注 power_mode_value 功耗模式 full: 全功耗 save: 节省功耗 模式设置 wlan_mode_value 网络模式 STA:STA 模式 仅 RAK47X AP:AP 模式 支持共存模式 AP+STA: 共存 AP 参数设置 ap_ssid_value AP 热点名称 ap_bdcast_value AP 热点广播 0: 关闭 1: 开启 ap_max_clts_value 允许最大连接 取值 :0~4 0 表示无限制 ap_channel_value AP 信道 取值 :1~13 ap_sec_mode_value AP 加密模式 0: 不加密 1: 加密 ap_psk_value AP 密码 ap_ip_value AP 的 IP 地址 仅 RAK47X 支持多个连接 STA 参数设置 sta_ssid_value STA 网络名称 sta_sec_mode_value STA 加密模式 0: 不加密 1: 加密 sta_psk_value STA 网络密码 sta_dhcp_value DHCP 设置 0: 不使能 1: 使能 7

sta_ip_value sta_netmask_value sta_gateway_value sta_dns1_value sta_dns2_value STA 时模块 IP STA 时模块掩码 STA 时模块网关 STA 时模块 dns1 STA 时模块 dns2 UART 参数设置 uart_baudrate_value UART 波特率 9600~921600 uart_datalen_value UART 数据位 5~8 RAK47X 只支持 7 和 8 uart_parity_en_value UART 校验位 0: 无校验 1: 奇校验 2: 偶校验 uart_stoplen_value UART 停止位 0:1 位停止位 1:2 位停止位 uart_rtscts_en_value UART 流控 0: 不使能 1: 使能 RAK47X 不支持 485 流控 2: 使能 485 流控 uart_timeout_value UART 字节超时 uart_recvlenout_value UART 字节间隔 SOCKET 参数设置 socket_multi_en_value 双 socket 设置 0: 不使能 1: 使能 socketa_type_value socketa 类型 tcp:tcp 客户端 ltcp:tcp 服务器 udp : UDP 客户端 ludp:udp 服务器 socketa_max_clts_value socketa 最大连接 取值 :0~4 仅 RAK47X 数 支持 socketa_destip_value socketa 目标 ip socketa_destport_value socketa 目标端口 socketa_localport_value socketa 本地端口 socketa_tcp_timeout_va lue socketa TCP 超时时间 socketa_tcp_reconval_v socketa TCP 重连 仅 RAK47X alue 时间间隔 支持 socketb_type_value socketb 类型 tcp:tcp 客户端 ltcp:tcp 服务器 udp : UDP 客户端 ludp:udp 服务器 socketb_max_clts_value socketb 最大连接 取值 :0~4 仅 RAK47X 数 支持 socketb_destip_value socketb 目标 ip socketb_destport_value socketb 目标端口 8

socketb_localport_value socketb 本地端口 socketb_tcp_timeout_va socketb TCP 超时 lue 时间 socketb_tcp_reconval_v sockeb TCP 重连 仅 RAK47X alue 时间间隔 支持 用户参数设置 user_name_value user_password_value module_name_value module_group_value 模块用户名模块用户密码模块名称模块组名称 8. 设置模块配置参数 (1) _parameterssettings.setparameters();// 设置模块所有参数 (2) _parameterssettings.setparameters(_type);// 设置模块指定类型的参数 类型包括 : ParametersSettings.SET_PARAMETERS_MODE ParametersSettings.SET_PARAMETERS_AP ParametersSettings.SET_PARAMETERS_STA ParametersSettings.SET_PARAMETERS_UART ParametersSettings.SET_PARAMETERS_SOCKET ParametersSettings.SET_PARAMETERS_USER // 设置模式相关参数 // 设置 AP 相关参数 // 设置 STA 相关参数 // 设置 UART 相关参数 // 设置 SOCKET 相关参数 // 设置用户相关参数 注意 : 以上两种参数设置方式配置前需要先获取模块的配置参数, 然后对表 5-1 中需要修改的参数进 行修改, 然后选择调用上面两个接口, 即可完成配置 (3) _parameterssettings.setparameters(_config);// 设置模块任意参数 _config: 配置信息这个接口需要用户自己拼接配置参数, 拼接格式如下 : 关键字 = 值 & 关键字 = 值 & 关键字 = 值 & 关键字 = 值 & 关键字 = 值... wlan_mode=0&power_mode=0&ap_ssid=rak477_ap&ap_psk=&ap_bdcast=1&ap_sec_mode=0&ap _max_clts=3&ap_channel=6&... RAK IoT 模块的关键字信息在 ModuleParameters 类里已有定义, 可以直接引用, 如表 5-2: 表 5-2 模块关键字说明 关键字类型 关键字名称 关键字说明 关键字的值 备注 power_mode 功耗模式 RAK47X: 0: 全功耗 1: 节省功耗 RAK41X 42X: full: 全功耗 save: 节省功耗 模式设置 wlan_mode RAK47X 网络模式 0:STA 模式 1:AP 模式 9

wifi_mode RAK41X 42X 网络 模式 2:AP+STA 共存 STA:STA 模式 AP:AP 模式 AP 参数设置 ap_ssid AP 热点名称 ap_bdcast RAK47X: AP 热点广播 0: 关闭 1: 开启 ap_bdcast_en RAK41X 42X:AP 热点广播 0: 关闭 1: 开启 ap_max_clts 允许最大连接 取值 :0~4 0 表示无限制 ap_channel AP 信道 取值 :1~13 ap_sec_mode RAK47X: AP 加密 0: 不加密 模式 1: 加密 ap_secu_en RAK41X 42X: AP 0: 不加密 加密模式 1: 加密 ap_psk AP 密码 ap_ip RAK47X: AP 的 IP 地址 ap_ipaddr RAK41X 42X: AP 的 IP 地址 仅 RAK47X 支持多个连接 STA 参数设置 sta_ssid STA 网络名称 sta_sec_mode RAK47X:STA 加密模式 sta_secu_en RAK41X 42X:STA 加密模式 sta_psk STA 网络密码 sta_dhcp RAK47X:DHCP 设置 sta_dhcp_en RAK41X 42X : DHCP 设置 sta_ip RAK47X:STA 时模块 IP sta_ipaddr RAK41X 42X:STA 时模块 IP sta_netmask STA 时模块掩码 sta_gateway STA 时模块网关 sta_dns1 RAK47X:STA 时模块 dns1 sta_dnssever1 RAK41X 42X:STA 时模块 dns1 0: 不加密 1: 加密 0: 不加密 1: 加密 0: 不使能 1: 使能 0: 不使能 1: 使能 10

sta_dns2 sta_dnssever2 RAK47X:STA 时模块 dns2 RAK41X 42X:STA 时模块 dns2 UART 参数设置 uart_baudrate UART 波特率 9600~921600 uart_datalen UART 数据位 5~8 RAK47X 只支持 7 和 8 uart_parity_en UART 校验位 0: 无校验 1: 奇校验 2: 偶校验 uart_stoplen UART 停止位 0:1 位停止位 1:2 位停止位 uart_rtscts_en UART 流控 0: 不使能 1: 使能 RAK47X 不支持 485 流控 2: 使能 485 流控 uart_timeout UART 字节超时 uart_recvlenout UART 字节间隔 socket_multi_en 双 socket 设置 0: 不使能 1: 使能 socketa_type socketa 类型 RAK47X: 0:TCP 客户端 1:TCP 服务器 2:UDP 客户端 3:UDP 服务器 RAK41X 42X: tcp:tcp 客户端 ltcp:tcp 服务器 udp : UDP 客户端 SOCKET 参数设置 ludp:udp 服务器 socketa_max_clts socketa 最大连接 取值 :0~4 仅 RAK47X 数 支持 socketa_destip socketa 目标 ip socketa_destport socketa 目标端口 socketa_localport socketa 本地端口 socketa_tcp_timeout socketa TCP 超时 时间 socketa_tcp_reconval socketa TCP 重连 仅 RAK47X 时间间隔 支持 socketb_type socketb 类型 RAK47X: 0:TCP 客户端 11

1:TCP 服务器 2:UDP 客户端 3:UDP 服务器 socketb_max_clts socketb_destip socketb_destport socketb_localport socketb_tcp_timeout socketb_tcp_reconval socketb 最大连接数 socketb 目标 ip socketb 目标端口 socketb 本地端口 socketb TCP 超时时间 sockeb TCP 重连时间间隔 RAK41X 42X: tcp:tcp 客户端 ltcp:tcp 服务器 udp : UDP 客户端 ludp:udp 服务器 取值 :0~4 仅 RAK47X 支持 仅 RAK47X 支持 用户参数设置 user_name user_password module_name module_group 模块用户名模块用户密码模块名称模块组名称 注意 : 参数配置完成后不会立即生效, 需要复位模块才生效 调用复位接口或者硬件复位均可 9. 复位模块 _parameterssettings.reset(); 10. 模块恢复出厂设置 _parameterssettings.facreset(); 11. 获取模块扫描到的网络列表 _parameterssettings.getssidfromdevice(); 12. 解析模块扫描到的网络列表 ArrayList<String> ssidlist=_parameterssettings.decodessidfromdevice(resultdata); //resultdata: 获取到的网络信息 ssidlist: 解析后的网络列表 13. 关闭配置, 释放配置接口 _parameterssettings.close(); 12

6. 透传移植说明 6.1 概述 这一部分主要实现模块通过 Socket 透传收发数据的功能 6.2 移植步骤 1. 添加库 iot.sdk.aar 2. 初始化 Socket 通信接口 (1) SocketControl _socketcontrol=new SocketControl(_destIp,_destPort,_localPort, _type); (2) SocketControl _socketcontrol=new SocketControl(_destIp,_destPort, _type); (3) SocketControl _socketcontrol=new SocketControl(_localPort, _type); //_destip: 目标 ip _destport: 目标端口 _localport: 本地端口 _type:socket 类型 Socket 类型 : SocketControl.TCP //TCP 客户端 SocketControl.LTCP //TCP 服务器 SocketControl.UDP //UDP 客户端 SocketControl.LUDP //UDP 服务器 3.Socket 连接 // 设置 Socket 连接监听 _socketcontrol.setonconnectstatelistener(new SocketControl.OnConnectStateListener() { public void OnConnectState(final boolean connect) { //connect:true 表示 Socket 连接成功 false 表示 Socket 连接失败 ); _socketcontrol.socketconnect();//socket 连接 4.Socket 发送数据 // 设置 Socket 发送监听 _socketcontrol.setonsenddatastatelistener(new SocketControl.OnSendDataStateListener() { public void OnSendDataState(final boolean send) { //send:true 表示发送成功 false 表示 Socket 发送失败 ); _socketcontrol.socketsend(data, offset, length);//socket 发送字节数组 _socketcontrol.socketsend(str);//socket 发送字符串数据 13

5.Socket 接收数据 // 设置 Socket 接收 TCP 数据监听 _socketcontrol.setonrecvtcpdatalistener(new SocketControl.OnRecvTCPDataListener() { public void onrecvtcpdata(final byte[] data, final int size) { //TCP 数据 ); // 设置 Socket 接收 UDP 数据监听 _socketcontrol.setonrecvudpdatalistener(new SocketControl.OnRecvUDPDataListener() { public void onrecvudpdata(final byte[] data, final int size) { //UDP 数据 ); 6. 关闭 Socket _socketcontrol.socketclose(); 14

7. OTA 移植说明 7.1 概述这一部分主要实现无线升级固件的功能 7.2 移植步骤整个升级过程如下 : 创建文件夹存放要升级的固件 >> 手机扫描设备, 选择一个设备升级 >> 获取模块和手机中存放固件的版本号 >> 建立连接并开始升级 >> 显示升级结果 1. 添加库 iot.sdk.aar 2. 初始化升级接口 OTAInterface _otainterface=new OTAInterface(_deviceIp,_username,_password,_moduleType); //_deviceip: 模块 ip _username: 模块用户名 _password: 模块密码 _moduletype: 模块类型 3. 设置相关监听 _otainterface.setonresultalistener(new OTAInterface.OnResultListener() { public void onresult(final int percent, final int resultdata) { //percent: 升级进度 runonuithread(new Runnable() { public void run() { if (resultdata==otainterface.ota_connect_failed){ // 连接失败 else if (resultdata==otainterface.ota_response_failed){ // 升级失败 else if (resultdata==otainterface.ota_upgrade_success){ // 升级成功注意 : RAK413/RAK415/RAK423/RAK425 升级成功后模块加载成功需要 60s RAK473/RAK475/RAK476/RAK477 升级成功后模块加载成功需要 10s ); ); 4. 开始升级 _otainterface.upgradefirmwaretodevice(_firmwarepath);//firmwarepath: 升级固件的路径 5. 停止升级 _otainterface.stopupgradefirmware(); 15

8. 相关权限 8.1 相关权限 <!-- wifi usage --> <uses-permission android:name="android.permission.change_wifi_multicast_state"/> <uses-permission android:name="android.permission.change_network_state"></uses-permission> <uses-permission android:name="android.permission.change_wifi_state"></uses-permission> <uses-permission android:name="android.permission.access_network_state"></uses-permission> <uses-permission android:name="android.permission.access_wifi_state"></uses-permission> <uses-permission android:name="android.permission.internet" ></uses-permission> <uses-permission android:name="android.permission.read_sms"></uses-permission> <!-- Camera usage --> <uses-permission android:name="android.permission.vibrate" /> <uses-permission android:name="android.permission.camera" /> <uses-permission android:name="android.permission.flashlight" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <!-- file and SD Card usage --> <uses-permission android:name="android.permission.read_external_storage"/> <uses-permission android:name="android.permission.write_external_storage"/> <uses-permission android:name="android.permission.mount_unmount_filesystems"/> 16

9. 修改记录 版本作者时间修改内容 V1.0 瞿瑾 2017/02/14 创建文档 瞿瑾 2017/02/20 添加获取扫描网络列表的信号值 17