用户指南
接入规范

北向资源接入规范

输出到 TCP Server

target_access

数据格式

测试脚本:

Lua
function Main(arg)
 for i = 1, 100, 1 do
  local jsondata = json:T2J({
   name = "test",
   value = i
  });
  Debug(jsondata);
  data:ToTcp("OUTJ5BXHWME", jsondata);
 end;
 return 0;
end;

TCP 模式直接透传所有数据。

💡

为了方便 Server 端解析,在原始数据直接追加了 \r\n 换行符,解析的时候一定注意,例如:{"name":"test","value":13}\r\n

输出到 UDP Server

target_access

数据格式

测试脚本:

Lua
function Main(arg)
 for i = 1, 100, 1 do
  local jsondata = json:T2J({
   name = "test",
   value = i
  });
  Debug(jsondata);
  data:ToUdp("OUTJ5BXHWME", jsondata);
 end;
 return 0;
end;

UDP 模式直接透传所有数据。

💡

为了方便 Server 端解析,在原始数据直接追加了 \r\n 换行符,解析的时候一定注意,例如: {"name":"test","value":13}\r\n

输出到 HTTP Server

target_access

数据格式

测试脚本:

Lua
function Main(arg)
 for i = 1, 100, 1 do
  local jsondata = json:T2J({
   name = "test",
   value = i
  });
  Debug(jsondata);
  data:ToHttp("OUTJ5BXHWME", jsondata);
 end;
 return 0;
end;

数据格式为 JSON:

JSON
Body: "{\"heartbeat\":\"rhilex\",\"body\":\"{\\\"name\\\":\\\"test\\\",\\\"value\\\":10}\"}"
 
2024-08-15 14:34:14 - POST request,
Path: /
Headers: Host: 127.0.0.1:6203
User-Agent: Go-http-client/1.1
Content-Length: 85
Content-Type: application/json
Key: value
Accept-Encoding: gzip
 
  • heartbeat:心跳包内容,可以用设备序列号填写
  • body:原始数据
  • Key: value:用户自定义头信息,一半可以用作 Token

输出到 MQTT Server

target_access

数据格式

输出到 Mqtt Server 是 JSON 格式。

测试脚本:

Lua
function Main(arg)
 for i = 1, 100, 1 do
  local jsondata = json:T2J({
   name = "test",
   value = i
  });
  Debug(jsondata);
  data:ToMqtt("OUTJ5BXHWME", jsondata);
 end;
 return 0;
end;

target_access

示例数据:

JSON
{
  "label": "rhilex1001",
  "body": "{\"name\":\"test\",\"value\":1}"
}
  • label:ClientID
  • body:数据体

输出到 MongoDB

target_access

💡

Mongodb 的 URL 是标准格式:mongodb://root:root@127.0.0.1:27017/?connect=direct;当写入数据时,MongoDB 会自动建表:

数据格式

测试脚本:

Lua
function Main(arg)
 for i = 1, 100, 1 do
  local jsondata = json:T2J({
   name = "test",
   value = i
  });
  Debug(jsondata);
  data:ToMongo("OUT9FDY7HBI", jsondata);
 end;
 return 0;
end;

数据展示:

target_access

⚠️

保存的数据必须是 JSON 格式

输出到 Semtech UDP

target_access

数据格式

首先需要安装 Semtech UDP 转发器,一般来说 Chirpstack 这类 LoraWAN Network Server 系统已经自带。

测试脚本:

Lua
function Main(arg)
 for i = 1, 100, 1 do
  local jsondata = json:T2J({
   name = "test",
   value = i
  });
  Debug(jsondata);
  data:ToSemtechUdp("OUT9FDY7HBI", jsondata);
 end;
 return 0;
end;

输出到 TDengine

target_access

数据格式

新建一个 TDengine 数据库,这里用 Docker 测试:

docker run -d --name tdengine -p 6041:6041 tdengine/tdengine

新建测试库:

SQL
create database if not exists rhilex;

新建测试表:

SQL
use rhilex;
create table if not exists rhilex (ts timestamp, a int);

插入数据:

SQL
use rhilex;
insert into rhilex values(now, 0)(now+1s,1)(now+2s,2)(now+3s,3);
insert into rhilex values(now, 0)(now+1s,1)(now+2s,2)(now+3s,3);
insert into rhilex values(now, 0)(now+1s,1)(now+2s,2)(now+3s,3);

操作演示:

target_access

测试脚本:

SQL
function Main(arg)
 for i = 1, 100, 1 do
  data:ToTdEngine("OUTBB9Z8A2F", string.format("%d", i));
 end;
 return 0;
end;

data:ToTdEngine 参数

💡

第二个参数和一开始建表的字段要一一对应,例如: 建表:create table if not exists rhilex (ts timestamp, a int); 数据写入:string.format("%d", i),表示将 a 字段格式化成参数。

数据查看:

target_access

输出到串口

target_access

数据格式

如果是 ASCII 字符串模式将原封不动直接发送,如果是十六进制模式,数据必须满足十六进制字符串,比如“1234,abcd”,注意没有 0x!

测试脚本:

Lua
function Main(arg)
 for i = 1, 100, 1 do
  data:ToUart("OUT9FDY7HBI", "01020304");
 end;
 return 0;
end;
© 2023-2025 RHILEX Technologies Inc. All rights reserved.