如何免费使用 LoRaWAN NS 服务器?

137 阅读9分钟

注: 以下 组织, **租户, 公司 **为统一概念

开始

门思支持邮箱: info@manthink.cn

门思官网: manthink.cn

thinklink注册地址:thinklink.manthink.cn

用户注册

注册分为 邮箱注册``微信注册``谷歌注册

邮箱注册

注册信息填写

按下列表单填写注册信息, 点击 注册按钮

信息填写完成

当注册完成后, 页面将展示以下信息. 而后按一下步骤操作:

  1. 此时检查邮箱, 如果邮箱中未收到邮件,请查看是否在垃圾邮箱中.
  2. 在5分钟内点击邮箱中的邮件链接进行账号激活

微信或谷歌一键登录或注册

点击微信或谷歌登录, 授权完成后展示以下信息

左侧为用户基本信息, 右侧为可操作方式. 根据实际情况选择一下操作方式:

  • **选择租户**

选择一个当前账号所属租户, 进入到ThinkLink操作页面

  • **待加入租户**

**注: 如果需要租户邀请你加入, 请给管理员提供你的ID **

当存在租户邀请当前账号加入组织时, 可以在此处接受邀请

  • **创建租户**

当账号不存在于任何租户, 该账号可以新建一个组织, 新建组织时须填写组织信息.

邀请信息查看

在顶部中查看邀请信息, 用以查看是否有组织邀请你加入.

个人中心

点击右上角 用户 => 个人中心 进入到页面中

可在当前页面修改密码 以及 账号绑定等基本信息填写

退出当前组织/租户

当你不是唯一管理员权限的账号时, 可点击退出租户: 即, 该账号退出当前组织. 如果需要再次加入, 需要等待租户内的成员进行邀请.

邀请其他用户加入组织

点击邀请进行租户信息邀请, 含有两种邀请方式:

  1. 通过ID邀请
  2. 通过租户邀请成员

拒绝邀请

邀请完成后点击搜索查询最新用户信息. 可对还未加入的用户撤销邀请

设备数据

大屏展示

大屏主要是对租户下所有节点网关的在离线、定位、告警、实时数据的统计功能,使之以曲线图和定位图的形式展示出来,使数据更加直观。

数据订阅

菜单名: 设备数据=>数据订阅

作用

用于实时订阅指定网关节点的上行消息。

  • 节点的payload
  • 网关的基本数据

操作方式

按以下步骤操作:

  1. 选中操作1的下拉框(首次加载为空), 输入节点EUI信息进行筛选。EUI信息请查看节点档案的devEui列。
  2. 操作2中输入需要开启订阅的时长。时间到期后,订阅会自动取消。如果需要立即取消订阅, 请点击移除按钮。
  3. 操作3点击订阅

数据日志

菜单名: 设备数据 => 数据日志

说明

查看thinkOne(LoRaWAN 核心网)中所有的上下行数据。包含以下信息(即:下拉框中的类型):

  • up: 数据上行
  • dn: 控制指令
  • ackSeq: 该类型表示 控制指令已经被thinkOne接收到

如果下行消息为confirm包:

例如: 以下数据中的userdata.confirmed : true

{"version":"3.0","type":"data","if":"loraWAN","moteeui":"912d3a769316dca6","token":1853691364685647874,"userdata":{"confirmed":true,"fpend":false,"port":12,"TxUTCtime":"","payload":"AQYAAgAAKAo=","dnWaitms":3000,"specify":{"gweui":"qwfqwtqt"}}}
  • ackSuc: 该类型表示 控制指令下发成功,thinkOne已经获取到设备的反馈信息
  • ackFail: 该类型表示 控制指令下发失败, thinkOne未获取到设备侧回复, 超时

如果下行消息为unconfirmed包:

例如: 以下数据中的userdata.confirmed : false

{"version":"3.0","type":"data","if":"loraWAN","moteeui":"912d3a769316dca6","token":1853691364685647874,"userdata":{"confirmed":true,"fpend":false,"port":12,"TxUTCtime":"","payload":"AQYAAgAAKAo=","dnWaitms":3000,"specify":{"gweui":"qwfqwtqt"}}}
  • ackSuc: 该类型表示 控制指令下发成功,thinkOne向设备发送了控制指令
  • ackFail: 该类型表示 控制指令下发失败, thinkOne格式或其他错误导致消息未发送

操作说明

  1. 在顶部搜索栏中 按指定条件进行数据搜索查询
  2. 导出: 按搜索条件进行批量数据导出
  3. GwEui``场强``信噪比 鼠标移入会进行全部数据展示。
    该数据为数组形式, 含义为: 该DevEui的数据被多少个网关接收到,并且不同的网关的场强信噪比
  4. 点击显示内容进行详情数据展示
  5. 点击复制内容对消息进行复制

控制日志

该日志中仅展示用户在综合网络管理系统中下发的控制指令

操作说明

指令分类如下:

  • 手动原始: 在该页面使用如下报文形式发送
  • 其他类型: 未使用到
左侧边栏单播消息发送配置

用于下行指令发送: 类型为手动原始类型

  1. 重试次数 如果发送失败的话会进行多少次重发
  2. 超时时间每包消息等到设备回复的时长, 如果在时间内未回复则认为发送失败, 将进行重发
  3. 端口号: 指定节点接收的端口号
  4. 消息类型
    1. 下行: 往下行队列中新增一条下行消息
    2. 下行&&清缓存: 将下行队列中的队列清空, 并插入当前消息
  5. 是否确认: 是否为confirm包

注: 单击表格中的行, 将信息导入到左侧的指令中.

业务数据

实时数据

介绍:实时数据只显示上传过数据的节点,根据物模型的配置来确定需要展示的表格列信息

使用:通过筛选条件可以快速寻取所需要的节点信息。

控制指令配置

可以在管理&维护=>物模型中配置 commands信息, 进行操作栏中的指令下发按钮配置

{
  "port" : 85,
  "cnd" : "(($p[0]&0xFF)== 0x08&&($p[1]&0xFF)== 0x29)",
  "data" : [ 0, 3 ],
  "fields" : [ {
    "name" : "kgzt",
    "alias" : "开关状态",
    "unit" : "",
    "type" : "int",
    "data" : [ 2, 1 ],
    "value" : "($v)",
    "order" : 0
  }, {
    "name" : "kg1",
    "alias" : "开关1",
    "unit" : "",
    "type" : "expr",
    "data" : [ 0, 0 ],
    "value" : "long(kgzt)&0x1",
    "order" : 0
  }, {
    "name" : "kg2",
    "alias" : "开关2",
    "unit" : "",
    "type" : "expr",
    "data" : [ 0, 0 ],
    "value" : "(long(kgzt)&0x2) >>> 1",
    "order" : 0
  }, {
    "name" : "kg3",
    "alias" : "开关3",
    "unit" : "",
    "type" : "expr",
    "data" : [ 0, 0 ],
    "value" : "(long(kgzt)&0x4) >>> 2",
    "order" : 0
  }, {
    "name" : "seqno",
    "alias" : "帧号",
    "unit" : "",
    "type" : "expr",
    "data" : [ 0, 0 ],
    "value" : "$raw.userdata.seqno",
    "order" : 0
  } ],
  "commands" : [ {
    "name" : "close",
    "alias" : "全关",
    "port" : 85,
    "cmd" : "^08 70 ff$",
    "confirmed" : false
  }, {
    "name" : "open",
    "alias" : "全开",
    "port" : 85,
    "cmd" : "^08 77 ff$",
    "confirmed" : false
  }, {
    "name" : "open1",
    "alias" : "开1",
    "port" : 85,
    "cmd" : "^08 13 ff$",
    "confirmed" : true
  }, {
    "name" : "close1",
    "alias" : "关1",
    "port" : 85,
    "cmd" : "^08 10 ff$",
    "confirmed" : true
  }, {
    "name" : "open2",
    "alias" : "开2",
    "port" : 85,
    "cmd" : "^08 23 ff$",
    "confirmed" : true
  }, {
    "name" : "close2",
    "alias" : "关2",
    "port" : 85,
    "cmd" : "^08 20 ff$",
    "confirmed" : true
  }, {
    "name" : "open3",
    "alias" : "开3",
    "port" : 85,
    "cmd" : "^08 43 ff$",
    "confirmed" : true
  }, {
    "name" : "close3",
    "alias" : "关3",
    "port" : 85,
    "cmd" : "^08 40 ff$",
    "confirmed" : true
  }, {
    "name" : "set_c_open",
    "alias" : "指定开关",
    "port" : 85,
    "cmd" : "^08 {c_open} ff$",
    "confirmed" : true,
    "params" : [ {
      "name" : "c_open",
      "alias" : "开关状态(0x77)",
      "unit" : "",
      "type" : "int:BE",
      "replace" : "(v)",
      "size" : 1,
      "modifiable" : true
    } ]
  }, {
    "name" : "set_d2d_status",
    "alias" : "dtod(开:0, 关:1)",
    "port" : 85,
    "cmd" : "^7e 05 09 00 50 f5 01 {d2d_status} 7e$",
    "confirmed" : true,
    "params" : [ {
      "name" : "d2d_status",
      "alias" : "开关状态(0|1)",
      "unit" : "",
      "type" : "int:BE",
      "replace" : "(v)",
      "size" : 1,
      "modifiable" : true
    } ]
  }, {
    "name" : "set_close_d2d",
    "alias" : "关dtod",
    "port" : 85,
    "cmd" : "^7e 05 09 00 50 f5 01 01 7e$",
    "confirmed" : false
  }, {
    "name" : "set_d2d_change",
    "alias" : "d2d_change",
    "port" : 85,
    "cmd" : "^7e 10 05 00 7e$",
    "confirmed" : false
  }, {
    "name" : "set_open_d2d",
    "alias" : "开dtod",
    "port" : 85,
    "cmd" : "^7e 05 09 00 50 f5 01 00 7e $",
    "confirmed" : true
  } ],
  "preDataCache" : { }
}

历史数据查看

表格查看

点击DevEUI列中的信息

表格方式展示历史数据

数据趋势-折线图展示

可以查看单列的数据趋势, 也能查看所有列的数据趋势. 点击 ①中的内容进行单项数据查看, 点击②中内容则进行所有数据项的趋势查看

数据趋势-折线图

数据呈现如下图所示.

扩展功能
  1. 数据间的关系查看(数据趋势对比)

如果需要同时呈现两个数据差值比较大的数据在一个折现图中, 则需要配置右侧Y轴字段将不同范围的数据进行区分, 以便于对比两个折现的趋势.

如下图所示: 如果需要对比温度的变化趋势对BGA的影响, 则需要配置右侧Y轴字段

  1. 数据平均值查看

如果进需要查看大概的趋势, 而不是设备上报的实时数据, 则可以通过筛选条件中的数据聚合模式-平均值进行配置. 以每小时平均值的方式查看 RGA 的变化趋势

地图展示

地图展示主要是对网关和节点的定位以地图的形式显示,使定位更加直观。
图标中的数字表示该位置下存在多少台设备

时段差值

通过①位置进行切换查看指定物模型下的某个上报字段的时段差值

管理&&维护

节点配置

管理&&维护=>节点配置

用于查看节点在平台的配置信息 && 节点在离线, 可通过顶部搜索框进行数据筛选.

可通过导入功能对节点信息进行批量修改(名称等信息).

注: 仅在此处导入,**<font style="color:#DF2A3F;">LoRaWAN 核心网</font>**无法获取实际节点的数据, 需要在**<font style="color:#DF2A3F;">设备档案</font>**=>**<font style="color:#DF2A3F;">节点档案</font>**中导入节点数据.(具体请看 **<font style="color:#DF2A3F;">设备档案</font>**=> **<font style="color:#DF2A3F;">节点档案</font>**的相关说明)

注:导入、拉取功能本版本无需使用

操作说明

查看节点历史心跳

点击更多=>状态曲线跳转可查看节点的心跳信息.

可根据以下红框内容进行时间范围选择

数据日志
  1. 点击更多=>数据日志进行页面跳转

  1. 跳转后: 将在设备数据=> [数据日志](#WkHLP)中默认填入当前节点信息, 具体操作请参考该界面操作说明.

控制日志

点击更多=>控制日志 查看该节点在该平台中的历史控制日志 (设备数据=> [控制日志](#Sjaz1))

网关配置

管理&&维护=>网关配置

用于网关在离线以及基本信息查看

注:拉取功能本版本无需使用

操作说明

新增网关
  1. 打开平台配置管理中的网关配置,点击新增。

  1. 认领网关
  • 在新增网关的界面里输入网关的名称和deveui(必须小写,可以从网关标签上获得)
  • 协议版本3.0(GDO31x系列和GDI51x系列)其它老系列如GDO802等为2.0版本
  • 填写pincode
  • 点击认领基站

  1. 网关pincode获取方式

网关pincode请联系门思科技技术支持获取

查看网关历史心跳

数据日志
  1. 点击更多=>数据日志进行页面跳转

  1. 跳转后: 将在设备数据=> [数据日志](#WkHLP)中默认填入当前网关信息, 具体操作请参考该界面操作说明.

查看网关当前是否在线

点击更多=>Ping

运维指令透传

根据实际运维场景进行指令下发.

网关升级

选择网关升级所需的固件版本号, 如果需要升级请及时联系门思工作人员

物模型

节点数据Payload解析引擎,负责将设备上传的原始二进制或结构化Payload(如JSON、Hex等)实时解析为标准化、可处理的物联网数据模型. 解析后的数据可以在<font style="color:rgb(64, 64, 64);">实时数据</font>中查看.

物模型中含有3解析方式固定序列单设备``动态序列单种类单设备

如有疑问请联系门思工作人员 info@manthink.cn

固定序列单设备

解析规则
{
  "port" : 6,
  "cnd" : "true",
  "data" : [ 0, 8 ],
  "transferTopic" : "metertype",
  "fields" : [ {
    "name" : "identifier",
    "alias" : "【特殊字段】子表ID",
    "unit" : " ",
    "type" : "int",
    "data" : [ 0, 1 ],
    "value" : "($v)"
  }, {
    "name" : "time",
    "alias" : "【特殊字段】标记抄表时间作为记表时间",
    "unit" : "毫秒",
    "type" : "int",
    "data" : [ 1, 1 ],
    "value" : "($v)"
  }, {
    "name" : "lat",
    "alias" : "【特殊字段,地图展示】纬度",
    "unit" : "",
    "type" : "int",
    "data" : [ 2, 1 ],
    "value" : "($v)"
  }, {
    "name" : "lng",
    "alias" : "【特殊字段,地图展示】经度",
    "unit" : "",
    "type" : "int",
    "data" : [ 3, 1 ],
    "value" : "($v)"
  }, {
    "name" : "e",
    "alias" : "表底数",
    "unit" : "千瓦时",
    "type" : "int",
    "data" : [ 4, 4 ],
    "value" : "($v)"
  }, {
    "name" : "d_e",
    "alias" : "【特殊类型】计算和上次的差",
    "unit" : "",
    "type" : "delta",
    "data" : [ 0, 0 ],
    "value" : "e"
  }, {
    "name" : "dt",
    "alias" : "【特殊内置变量$dt】只有使用delta类型才有",
    "unit" : "秒",
    "type" : "expr",
    "data" : [ 0, 0 ],
    "value" : "$dt"
  }, {
    "name" : "e_x_2",
    "alias" : "表达式,不可使用表达式值",
    "unit" : "",
    "type" : "expr",
    "data" : [ 0, 0 ],
    "value" : "e*2"
  }, {
    "name" : "gwrx",
    "alias" : "仅转发使用,不会入库",
    "unit" : "",
    "type" : "raw:transfer",
    "data" : [ 0, 0 ],
    "value" : "$raw.gwrx[0]"
  }, {
    "name" : "rssi",
    "alias" : ",注意数组不支持直接链式引用",
    "unit" : "",
    "type" : "expr",
    "data" : [ 0, 0 ],
    "value" : "let gw=$raw.gwrx[0];gw.rssi"
  }, {
    "name" : "signed_8bits",
    "alias" : "64bit转8bit",
    "unit" : "",
    "type" : "int",
    "data" : [ 0, 1 ],
    "value" : "($v>0x7f?$v-0x100:$v)"
  }, {
    "name" : "signed_16bits",
    "alias" : "64bit转16bit",
    "unit" : "",
    "type" : "int",
    "data" : [ 0, 2 ],
    "value" : "($v>0x7fff?$v-0x10000:$v)"
  }, {
    "name" : "signed_32bits",
    "alias" : "64bit转32bit",
    "unit" : "",
    "type" : "int",
    "data" : [ 0, 4 ],
    "value" : "($v>0x7fffffff?$v-0x100000000:$v)"
  } ]
}
测试数据
{
    "if":"485",
    "gwrx":[
        {
            "eui":"f1f2f3f4f5f6f7f8",
            "chan":0,
            "lsnr":0,
            "rfch":0,
            "rssi":0,
            "time":"",
            "tmms":0,
            "tmst":0,
            "ftime":0
        }
    ],
    "type":"dataIP",
    "token":1,
    "moteTx":{
        "codr":"4/5",
        "datr":"SF5BW125",
        "freq":2000,
        "modu":"LORA"
    },
    "moteeui":"f000000000100098",
    "version":"3.2.1",
    "userdata":{
        "port":6,
        "class":"ClassA",
        "seqno":83261,
        "payload":"AQECAgADAAAABA==",
        "confirmed":false
    }
}

动态序列单种类单设备

解析规则
{
	"port":6,
	"cnd":"true",
	"data":[0,10],
	"fields":[
		{
			"name":"v1",
			"alias":"首部1字节是类型是1, data跳过类型标注位读取1字节",
			"cnd":"($d[0] & 0xff)== 1",
			"unit":" ",
			"type":"int",
			"data":[1,1],
			"value":"($v)"
		},
		{
			"name":"v2",
			"alias":"首部1字节是类型是2, data跳过类型标注位读取2字节",
			"cnd":"($d[0] & 0xff)== 2",
			"unit":" ",
			"type":"int",
			"data":[1,2],
			"value":"($v)"
		},
		{
			"name":"v3",
			"alias":"首部1字节是类型是3, data跳过类型标注位大端读取4字节",
			"cnd":"($d[0] & 0xff)== 3",
			"unit":" ",
			"type":"int:BE",
			"data":[1,4],
			"value":"($v)"
		}
	]
}
测试数据
{
    "if":"485",
    "gwrx":[
        {
            "eui":"f1f2f3f4f5f6f7f8",
            "chan":0,
            "lsnr":0,
            "rfch":0,
            "rssi":0,
            "time":"",
            "tmms":0,
            "tmst":0,
            "ftime":0
        }
    ],
    "type":"dataIP",
    "token":1,
    "moteTx":{
        "codr":"4/5",
        "datr":"SF5BW125",
        "freq":2000,
        "modu":"LORA"
    },
    "moteeui":"f000000000100098",
    "version":"3.2.1",
    "userdata":{
        "port":6,
        "class":"ClassA",
        "seqno":83261,
        "payload":"AQECAgADAAAABA==",
        "confirmed":false
    }
}

固件&升级

用于维护网关固件 节点固件以及节点的升级任务

网关固件

  1. 点击新增上传由门思提供的网关固件版本包.
  2. 点击上传的固件版本包的验证, 添加验证的网关GwEui, 验证成功的同时将对该网关进行升级.

节点固件

节点固件包管理, 仅支持对门思的节点进行升级操作.

节点升级任务

功能名称:节点固件批量升级管理

鼠标移动到子状态中查看每个字段的含义, 数字表示有多少节点设备处于该状态中.

例如: 0-0-0-0-0-0-5: 表示有5个设备升级失败

如果任务升级失败 需要重新升级, 则点击<font style="color:rgb(52, 52, 52);">重试</font>按钮

新建升级任务

点击新建升级任务按以下信息填入升级任务,

如果仅需要对一个节点设备进行升级则 填入: a000000000000001-a000000000000001

子任务详情查看

点击子任务按钮查看每个节点任务的详细信息

系统设置

用户管理

该租户下所有账号的统一管理页面, 可用于新建账号``邀请其他用户``删除用户``密码重置``权限修改等操作.

操作方式: 操作前选择表格中的多选框进行用户的批量操作.

注: 重置密码将密码重置为123456

角色管理

系统通过角色-菜单映射关系,确保用户仅能访问授权范围内的菜单

设备档案

节点档案

模板导出

系统中不存在任何节点档案

点击导出功能直接导出模板

系统中已经存在多个节点

填写搜索条件, 将根据搜索条件导出指定节点充当导入模板.

节点设备导入

导入功能可为批量新增 或 批量修改.

  1. 进入到 设备档案=> 节点档案
  2. 点击导入

注:

  1. 如果设备量过多, 可以进行分批次导入.
  2. 导入为更新或新增功能.
  3. 通过timeSync进行查看是否导入成功, 成功的话时间为当前导入时间.
  4. 如果导入未生效, 可进行单个修改或再次导入.

导入结果查询

  1. 查看表格中的condition,按condition进行查询
  2. 检查第一条和分页最后一条的timeSync是否刷新为当前导入时间, 节点刷新则导入设备正常执行。
    如果存在未刷新情景则可以对为刷新的数据再次导入。

网关档案

与节点档案操作一致. 请参考设备档案=>节点档案

本文由豆豆学习物联网(www.manthink.cn , thinklink.manthink.cn)发布