接入平台API方式:
硬件接口3.3(精简)
TCP模式(Beta),硬件轻松联网
相信美好的事情,已经发生。任何硬件均可快速实现

硬件接入需要准备:
任何可以发送网络TCP数据的硬件设备(程序需要自己写)。


硬件接入原理和技巧:
1、设备要保持一个心跳包,就是循环定时发送一条信息到服务器的7005端口(30秒就行,视环境可以适当延长知道3分钟)
2、如果有人控制设备,那么设备会收到命令信息
3、设备须发送,执行命令之后要给控制客户端(手机、web、微信,PC等)反馈执行情况,让它们知道结果状态。
4、设备可以主动发送传感器数据给服务器 (也可以用控制命令触发设备发送)
5、设备直接转发其他设备:轻现实现松物物相连,信息透传,多设备可以公用ID 和MM,不会把其他挤下去,进而实现一对多群发,多对多群发的使用方法。
6、设备可以发送报警信息,客户端即可即时知晓,多客户的即可同时推送

示例: 本机设备 ID: 1287369152 , 设备 16 位加密密码: 8b7ae285561178d9, 用户 id: 1020398130

多种汉字编码转换软件,蛮好用,其中UTF-8转换一个汉字是3字节16进制数值,调试工具是乱码,但是网页是可以正常显示汉字的

http://www.fuhome.net/bbs/forum.php?mod=viewthread&tid=2199

 

 

协议区分大小写均为ASCII字符,汉字编码:UTF-8(十六进制字节),此版本发布于2019年07月09日beta

 

字段

说明

数据包总长

包括协议内容所有字段字节长度总和

版本号

当前版本为32

设备类型

A:设备 B:手机 C:电脑 S:服务器 W:WEB

ID

设备ID,由fuhome.net注册,添加设备所得,每个设备一个唯一10位数字ID

MM

设备密码,16字节小写字母和数字组成,根据网站用户中心后台设置的明文密码,加密所得

数据包类型

以下每条协议对应

userid

用户名对应的唯一userid,10位数字

信息

不限任何数值,只限字节数,如果是汉字请用UTF-8编码

标识符

05,无任何意义,但必须有

STA

状态量,用于显示状态都一个量。比如显示在线时间,ON,OFF,OPEN,等任何标识性用途,具体看下面。

 

*信息发送频率:

  1. 设备心跳包:用于设备对服务器保持在线的唯一通道,且为一下API通信的必要前提。每一段时间发送一次,以让服务器知道此设备在线,必须发送,否则通信就可能被路由器,运营商等中间环节阻断。通常这个时间定为30s为宜,须小于60S
  2. 其他信息频率均不超过0.5S/次,在传感器数据那一条里,频率越慢越好,温度、湿度建议5分钟/次。
  3. 过快的频率,服务器不予回复,如果格式或者密码错误次数超过一定次数,IP会被暂时封闭。

 

服务器IP:iot.fuhome.net / (DNS解析IP为准 解析工具:https://tool.lu/dns/index.html) 端口:TCP 7005

硬件要求:任何可以发送网络数据的设备,包括MCU+ENC28J60,W5500,WIFI模块,GPRS模块等,不限
网络要求:任何可以发送TCP网络数据的网络环境,无需是否拥有公网IP
常见的WIFI模块如8266,GPRS模块SIM800C等都可以直接写入域名地址,无需写IP,w5500,ENC这类才需要IP,也可以用fuip里的dns代码自动解析,也可以手动查询到了IP写入程序

 

 

 

设备发送包类型及格式

含义

数据包总长

版本号

设备类型

数据包类型

ID

MM

数据标志

STA

标识符

换行符

字节长度

4

2

1

2

10

16

4

N

2

不计长

说明

 

 

 

 

10位ID

16位小写密码

 

状态量

 

\n

实例

0041+N

33

A

01

1287369152

8b7ae285561178d9

1234

 

05

0AH

示例

0041+N

33

 

01

 

 

 

 

05

\n

示例包

(所有示例包,均不包含空格)00 46 33 A 01 1287369152 8b7ae285561178d9 1234 [STA] 05

数据包类型:设备上传均为01
数据包标志:数据包四位标志,用于设备区分回复包,可以是任意ASCII数字、字母,服务器会原样返回

服务器回复:


含义

数据包总长

版本号

设备类型

数据包类型

数据标志

识别号

应答

time /IP

标识符

换行符

字节长度

4

2

1

2

4

2

2

19

2

不计长

说明

10进制整数

 

 

 

 

密码错误00

正确/错误/需要重连/对方不在线

 

 

\n

实例

0038

33

S

01

1234

01

00/01/02/03

2015-10-21 18:57:40

05

0AH

示例

00 38

33

S

01

12 34

01

00

2015-10-21 18:57:40

05

\n

示例包

003833S01123401002015-10-21 18:57:4005

 

备注

01心跳包 02报警包的回复有时间;09回复包,0B传感包,0E转发包的回复不包含时间

 

 

 

STA格式:


含义

识别号

有效数据

字节长度

2

N-2

 

01心跳包(保持链路鲜活)


含义

识别号

有效数据

字节长度

2

N-2<30

说明

 

状态量

实例

01

hi

示例

01hi

示例包

004533A0112873691528b7ae285561178d9123401hi05

 

02、设备报警信息包(用于即时消息上报)

含义

识别号

报警信息

字节长度

2

N-2<30

说明

 

 

实例

02

warning

示例

02warning

示例包

005033A0112873691528b7ae285561178d9123402warning05

 

 

09、设备执行命令之后给服务器的返回信息(用于控制者知道设备执行情况,会在控制网页或者APP,微信端显示)


含义

识别号

返回信息

字节长度

2

N-12<30

说明

 

 

实例

09

OK

示例

09OK

示例包

004533A0112873691528b7ae285561178d9123409OK05

 

0B、设备上传传感器数据(可受控发送或者定时发送,频率如上所述)

含义

识别号

传感器类型

编号

长度1

值(整数,
小数)

长度2

字节长度

2

2

3

1

<=9

1

<=9

说明

0B

01,单值

101

5

12.35

实例

 

02,GPS

102

8

115.8305

8

035.3065

示例

 

 

 

 

 

 

 

示例包

005433A0112873691528b7ae285561178d912340B01101512.3505

示例包

006633A0112873691528b7ae285561178d912340B021028115.83058035.306505


0E、设备对设备包

含义

识别号

RID

RMM

有效数据

字节长度

2

10

16

N-28<300

说明

 

目标设备ID

目标设备MM

 

实例

0E

1287369210

8b7ae285561178d9

OK

示例

0E 1287369210 8b7ae285561178d9OK

示例包

007133A0112873691528b7ae285561178d912340E12873692108b7ae285561178d9OK05

 

 

设备接收包类型及格式

08、服务器发送命令信息给设备(接入成功的设备如果有来自手机或PC的控制命令,会收到此格式数据包)

含义

数据包总长

版本号

设备类型

数据包类型

数据标志

userid

ID

信息

标识符

换行符

字节长度

4

2

1

2

4

10

10

N <=300

2

不计长

说明

0036+N

 

 

 

 

 

10位数字ID

4

 

\n

实例

 

33

S

08

1234

1020398130

1287369152

open

05

0AH

示例

00 40

33

S

08

12 34

1020398130

1287369152

open

05

\n

示例包

004002S0812 3410203981301287369152open05

 


15、主动设备发送给目标设备的信息

含义

数据包总长

版本号

设备类型

数据包类型

数据标志

来自ID

到达ID

信息

标识符

换行符

字节长度

4

2

1

2

4

10

10

N <=300

2

不计长

说明

0036+N

 

 

 

 

10位数字ID

10位数字ID

2

 

\n

实例

 

33

S

0F

1234

1287369152

1287369210

OK

05

0AH

示例

00 38

33

S

0F

12 34

1287369152

1287369210

OK

05

\n

示例包

003802S0F12 3410203981301287369152OK05

 

 

未来之家,让科技融入生活 © 2014 fuhome.net, all rights reserved ICP 10208096