UDP模式(Beta),硬件轻松联网
相信美好的事情,已经发生。任何硬件均可分分钟实现

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

WIFI GPRS ENC28J60 ESP8266等等各种硬件(这些常用的模块程序社区有许多网友分享的例子)。协议使用灵活处理,用现有的协议搭配实现自己想要的逻辑功能和实现,不要太死板了,开动自己的脑筋吧,哈哈


硬件接入原理和技巧:
1、设备要保持一个心跳包,就是循环定时发送一条信息到服务器的7005端口(30s即可)
2、如果有人控制设备,那么设备会收到命令信息
3、设备须发送,执行命令之后要给控制客户端(手机、web、微信,PC等)反馈执行情况。
4、设备可以主动发送传感器数据给服务器 (也可以用控制命令触发设备发送)
5、设备直接转发其他设备:轻现实现松物物相连,信息透传

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

 

网络调试工具:这个比较好用

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

新手网友写的通俗易懂的教程:(这个是旧协议,新协议很简单,看下面,不需要任何工具)

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

多种汉字编码转换软件,蛮好用,其中UTF-8转换一个汉字是3字节16进制数值

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

新手可看,设备接入协议视频讲解教程

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

 

协议区分大小写均为ASCII字符,汉字编码:UTF-8(十六进制字节),此版本发布于2017年07月25日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通信的必要前提。每一段时间发送一次,以让服务器知道此设备在线,必须发送,否则通信就可能被路由器,运营商等中间环节阻断。通常这个时间定为10-30s为宜
  2. 其他信息频率均不超过0.5S/次,在传感器数据那一条里,频率越慢越好,温度、湿度建议5分钟/次。
  3. 过快的频率,服务器不予回复,如果格式或者密码错误次数超过一定次数,IP会被暂时封闭。

 

服务器IP:dev.fuhome.net / 115.28.93.201(DNS解析结果优先) 端口:UDP 7005

硬件要求:任何可以发送网络数据的设备,包括MCU+ENC28J60,W5500,WIFI模块,GPRS模块等,不限
网络要求:任何可以发送UDP网络数据的网络环境,无需是否拥有公网IP

 

 

 

设备发送包类型及格式

含义

数据包总长

版本号

设备类型

数据包类型

ID

MM

数据标志

STA

标识符

字节长度

4

2

1

2

10

16

4

N

2

说明

 

 

 

 

10位ID

16位小写密码

 

状态量

 

实例

0041+N

32

A

01

1287369152

8b7ae285561178d9

1234

 

05

示例

0041+N

32

 

01

 

 

 

 

05

示例包

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

数据包类型:设备上传均为01
数据包标志:数据包四位标志,用于设备区分回复包,可以是任意ASCII数字、字母,服务器会原样返回
举例:设定1001心跳包 1002为报警包 1003返回包 1004传感器包

服务器回复:


含义

数据包总长

版本号

设备类型

数据包类型

数据标志

识别号

应答

time /IP

标识符

换行符

字节长度

4

2

1

2

4

2

2

18

2

1

说明

10进制整数

 

 

 

 

密码错误00

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

 

 

\n

实例

0037

32

S

01

1234

01

00/01/02/03

2015-10-21 18:57:40

05

0AH

示例

00 37

32

S

01

12 34

01

00

2015-10-21 18:57:40

05

\n

示例包

003732S01123401002015-10-21 18:57:4005

 

备注

1心跳包 2报警包的回复有时间;9回复包,11传感包,14转发包的回复不包含时间

 

 

 

STA格式:


含义

识别号

有效数据

字节长度

2

N-2

说明

 

 

实例

 

 

示例

 

 

 

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


含义

识别号

有效数据

字节长度

2

N-2<30

说明

 

状态量

实例

01

hi

示例

01hi

示例包

004532A0112873691528b7ae285561178d9123401hi05

 

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

含义

识别号

报警信息

字节长度

2

N-2<30

说明

 

 

实例

02

warning

示例

02warning

示例包

005032A0112873691528b7ae285561178d9123402warning05

 

3、设备获取自己外网IP端口包(外网实时真实IP)

含义

识别号

有效数据

字节长度

2

N-2<30

说明

 

 

实例

03

IP

示例

03IP

示例包

004532A0112873691528b7ae285561178d9123403IP05

返回包

004032S0112340300220.115.123.169:772305

 

 

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


含义

识别号

Userid

返回信息

字节长度

2

10

N-12<30

说明

 

 

 

实例

09

1020398130

OK

示例

091020398130OK

示例包

005532A0112873691528b7ae285561178d91234091020398130OK05

 

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

含义

识别号

Userid

传感器类型

编号

长度1

值(整数,
小数)

长度2

字节长度

2

10

1

3

1

<=9

1

<=9

说明

0B

1020398130

1,单值

101

5

12.35

实例

 

 

2,GPS

102

8

115.8305

8

035.3065

示例

 

 

 

 

 

 

 

 

示例包

006332A0112873691528b7ae285561178d912340B10203981301101512.3505

示例包

007532A0112873691528b7ae285561178d912340B102039813021028115.83058035.306505


14、设备对设备包

含义

识别号

RID

RMM

有效数据

字节长度

2

10

16

N-28<300

说明

 

目标设备ID

目标设备MM

 

实例

0E

1287369210

8b7ae285561178d9

OK

示例

0E 1287369210 8b7ae285561178d9OK

示例包

007132A0112873691528b7ae285561178d912340E12873692108b7ae285561178d9OK05

 

 

设备接收包类型及格式

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

含义

数据包总长

版本号

设备类型

数据包类型

数据标志

UserID

ID

信息

标识符

换行符

字节长度

4

2

1

2

4

10

10

N <=300

2

1

说明

0036+N

 

 

 

 

 

10位数字ID

4

 

\n

实例

 

32

S

08

1234

1020398130

1287369152

open

05

0AH

示例

00 40

32

S

08

12 34

1020398130

1287369152

open

05

\n

示例包

004002S0812 3410203981301287369152open05

 


15、服务器转发主动设备信息给目标设备


含义

数据包总长

版本号

设备类型

数据包类型

数据标志

主动ID

目标ID

信息

标识符

换行符

字节长度

4

2

1

2

4

10

10

N<=300

2

1

说明

 

 

 

 

 

10位ID

10位ID

6

 

\n

实例

 

32

S

0F

1234

1287369152

1287369210

hello!

05

0AH

示例

 

32

S

0F

 

1287369152

 1287369210 

hello!

05

\n

示例包

004232S0F123412873691521287369210hello!05

 

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