Skip to content

ningersweet/matrix

Repository files navigation

服务端说明

运行说明:

  • 操作系统linux
  • 将config.json和matrix.exe放在一个目录下,在该目录下运行sh start.sh

关于配置文件说明:

{
  "service": {
    "port": "12345",
    "log_level": 2,
    "cert_file": "",
    "key_file": ""
  },
  "mysql": {
    "host": "120.55.115.201",
    "port": "3600",
    "user": "root",
    "password": "191400",
    "database": "course"
  },
  "matrix": {
    "length": 30,
    "width": 20
  },
  "socket": {
    "unity_laddr": "0.0.0.0:12346",
    "forward_laddr": "0.0.0.0:12347",
    "delimiter": " ",
    "max_message": 10000,
    "duration": 5000
  }
}
  • service部分
    • port指明该http服务的的端口,该端口接受微信小程序发出的http请求
    • log_level指的是日志记录的等级,默认是info级别,数字越大,表明日志重要性越高
    • cert_file和key_file分别是证书文件名和秘钥文件名。如果需要此程序提供HTTPS服务,那么久需要将域名的证书和秘钥文件放在同目录下;如果只是需要提供HTTP服务,那么将这两个配置项如上置为空字符串即可
  • mysql部分:该部分填写存储矩阵用的mysql数据库的连接参数,包括:IP、端口、用户名、密码、数据库
  • matrix部分:该部分说明矩阵的大小,文件中为30x20,若微信小程序发送的信息不是30x20,则不会处理请求
  • socket部分:
    • unity_ladder:表明给unity程序提供监听的t c p连接的端口,文件中表示,该程序会处理本机12346端口的t c p连接请求
    • forward_laddr: 做转发的tcp服务器监听的端口
    • delimiter:消息分隔符,代表一条完整的消息
    • max_message:程序存储矩阵的队列大小
    • duration:发送矩阵的延迟,单位毫秒

服务端与微信小程序协议说明

请求参数与路径:

https://tongjinhz.com:12345

POST /matrix/resource

请求参数(使用json传送数据)

参数 类型 说明
res 字符串 若为forward,则展示下一个矩阵;若为backend,则显示上一个矩阵;否则,传递矩阵信息,矩阵信息在后面说明,若不符合矩阵信息要求,则返回报错

矩阵信息:一个字符串,是按行连接二维矩阵的元素,每行之间的元素以空格隔开,换行则以换行符'\n'分隔,如一个二维矩阵

[1 2

3 4]

则矩阵信息为: "12\n34"

目前矩阵为30*20

返回参数

参数 类型 说明
code 数字 成功为0
message 字符串 提示消息
result 字符串 展示的矩阵信息

服务端与客户端协议说明

​ 服务端与微信小程序以HTTP进行通信,服务端与客户端以socket进行通信。微信小程序发出指令后后台会将需要展示的矩阵放入一个队列,该队列的大小可以在服务端程序的配置文件中指定。若队列中有元素,则服务端会向已连接到它的所有客户端发送该队列头部的矩阵信息。客户端可以根据该信息控制步进电机的运动,也可以做其他处理。服务端与客户端通信的消息以空格作为边界符,消息是矩阵的命令组成的字符串,以"."分隔。如矩阵为

[0 1 1
1 1 1
0 0 0]

则服务端会给客户端发送"0.1.1.1.1.1.0.0.0 "。若队列中没有元素,则服务端不会向客户端发送消息。

矩阵控制方法说明(HTTPS)

服务端提供一些方法用于控制电机的动作,若要更加完全地控制电机,则可以参考CAN发送文档或者WIFI发送文档进行控制,优先建议使用CAN的方式进行控制。==

https://tongjinhz.com:12345

POST

json格式

返回参数

参数 类型
code int 0为成功
message string
data object

控制所有矩阵

/matrix/operation/all

请求参数

参数 类型
action string 所有矩阵执行的动作。可选值为:wave,shark,out,in,stop,reset。分别对应波浪运动、鲨鱼效果,向外运动,向内运动,停止运动

控制某个矩阵

/matrix/operation/motor\

请求参数

参数 类型
action string 可选值为:out,in,stop,reset。分别对应向外运动,向内运动,停止运动,复位
id string 电机编号,1-600

设置运动速度

/matrix/operation/setSpeed

请求参数

参数 类型
acc_value int 加速过程的加速度,0-1000
dec_value int 减速过程的加速度,0-4000
max_value int 持续运行的最大速度,0-2000

设置电机wifi

/matrix/operation/setWIFI

请求参数

参数 类型
id string 电机编号,1-600
name string wifi名称
password string wifi密码

关于日志说明

该目录下会产生三个日志文件,

  • matrix.log 记录客户端与服务端的连接信息 等
  • MySQL.log 记录操作MySQL的语句

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages