产品定价 立即试用
专业版
Abeeway Micro Tracker与Abeeway Industrial Tracker遥测上传
入门 文档 指南 安装 架构 API 常见问题
目录

Abeeway Micro Tracker与Abeeway Industrial Tracker遥测上传

文档信息图标
ThingsBoard PE 功能

专业版支持Platform Integrations功能。
请使用ThingsBoard Cloud自行安装平台实例。

本指南提供了将Abeeway Micro Tracker和Abeeway Industrial Tracker连接到ThingsBoard Professional Edition(PE)的分步说明。连接通过LoRaWAN IoT网络和Actility的ThingPark Wireless OSS智能记录器进行。在本指南中,我们将使用免费的ThingsBoard PE演示服务器thingsboard.cloud。本指南对任何想要将Abeeway或其他工业物联网应用制造的跟踪器连接到LoRaWAN网络的人都很有用。

前置条件

我们假设:

  • 您在Actility网站上注册。
  • 您至少拥有一个已经连接到Actility ThingPark IoT Network并处于活跃状态的Abeeway Micro Tracker或Abeeway Industrial Tracker。
  • 您已拥有ThingsBoard PE服务器或免费演示账户。否则,您可以在此处注册30天免费演示账户:thingsboard.cloud
  • 您至少具备关于ThingsBoard的基本知识,因此建议您完成入门指南。## 集成概述

ThingsBoard平台集成功能允许将来自各种平台和连接解决方案的数据推送到ThingsBoard。我们将使用Actility的ThingPark Wireless平台来使用来自LoRaWAN网络的数据,并在ThingsBoard中自动注册设备。除了配置集成外,我们还将设置ThingsBoard以解码传入的数据、将其存储在数据库中、在仪表板上可视化并根据可配置的阈值生成警报。

步骤1:检查Actility的ThingPark Wireless平台注册

  • 设备的注册与状态

需要注意的几点:

上行报文中的DevEUI将作为ThingsBoard中该设备的名称

ThingsBoard会自动创建设备,类型为”tracker”,名称等于DevEUI

因此在创建新设备时,请在名称字段中填入DevEUI的值,该值可从ThingPark Wireless OSS智能记录器(Actility)的设备信息部分获取。

<详情> 在 Actility 公司 ThingPark Wireless 平台上已注册设备的示例 (单击打开展开视图)

    设备必须 处于活跃状态!!! 本示例中DevEUI= "20635F010800105C"

    设备必须关联到应用。本示例中:关联到应用 "NoAS21"

    <详情> 在Actility公司ThingPark Wireless平台上注册的设备示例照片 (单击打开展开视图) <img src="/images/samples/abeeway/actility_device.png"alt="Actility设备示例">

步骤2:创建上行与下行数据转换器

要创建集成,首先需创建上行数据转换器下行数据转换器。转换器将把LoRaWAN标准中编码的hex格式遥测载荷数据解码为人类可读、简化的ThingsBoard数据格式。

<详情> 如何创建上行转换器的截图 (单击打开展开视图) <img src="/images/samples/abeeway/add_uplink_decoder.png"alt="添加上行解码器对话框"> <详情> 如何创建下行转换器的截图 (单击打开展开视图) <img src="/images/samples/abeeway/add_downlink_decoder.png"alt="添加下行解码器对话框">

步骤3:上行数据转换器配置

创建上行转换器时,会在解码器区域自动添加一个默认解码器。

创建上行转换器后,需将解码器区域的代码更新为以下代码

需要编辑上行解码器

<详情> 打开上行转换器、进入编辑模式,点击「测试解码器函数」并用新代码替换默认代码:
(单击打开展开视图)
    <详情> 编辑上行解码器的截图 (单击打开展开视图) <img src="/images/samples/abeeway/uplink_decoder.png"alt="上行解码器属性界面"> <详情> ThingPark Wireless OSS 智能记录器(Actility)平台的上行输入数据示例: (单击打开展开视图)
      <详情> JSON:ThingPark Wireless OSS 智能记录器(Actility)平台上行输入数据示例
      (单击打开展开视图)
      1
      2
      3
      4
      5
      6
      7
      
       {"DevEUI_uplink": {"Time":"2019-11-06T09:54:46.342+01:00","DevEUI":"20635F00C5000660","FPort": 17,"FCntUp": 1796,"ADRbit": 1,"MType": 2,"FCntDn": 94,"payload_hex":"0500997d3040","mic_hex":"304d48f9","Lrcid":"00000211","LrrRSSI": -63.0,"LrrSNR": 7.5,"SpFact": 7,"SubBand":"G1","Channel":"LC2","DevLrrCnt": 1,"Lrrid":"10000329","Late": 0,"Lrrs": {"Lrr": [{"Lrrid":"10000329","Chain": 0,"LrrRSSI": -63.0,"LrrSNR": 7.5,"LrrESP": -63.710819
       }]
       },"CustomerID":"100038328","CustomerData": {"alr": {"pro":"ABEE/APY","ver":"1"}
       },"ModelCfg":"0","InstantPER": 0.0,"MeanPER": 0.001706,"DevAddr":"05C1704A","TxPower": 9.5,"NbTrans": 1
       }
       }
       
      
      <详情> ThingPark Wireless OSS 智能记录器(Actility)平台上行输入数据截图
      (单击打开展开视图)
      <img src="/images/samples/abeeway/uplink_decoder_input.png"alt="上行解码器输入对话框">
    <详情> 解码后的输出数据示例: (单击打开展开视图)
      <详情> JSON:ThingPark Wireless OSS 智能记录器(Actility)平台解码输出数据示例
      (单击打开展开视图)
      1
      2
      3
      4
      5
      
       {"deviceName":"20635F00C5000660","deviceType":"Abeeway Micro/Industrial Tracker","遥测": {"ts": 1573030486342,"values": {"batteryVoltage": 8.388,"temperature": 18.5,"ph_type":"Heartbeat消息","ph_status":"Standby","ph_alert_SOS_bit4": 0,"ph_tracking/idle_state_bit3": 0,"ph_tracker_is_moving_bit2": 0,"ph_periodic_position_message_bit1": 0,"ph_POD_message_bit0": 0,"m_type":"Unconfirmed数据Up","m_port": 17,"m_customerID":"100038328","m_LrrRSSI": -63,"m_LrrSNR": 7.5,"m_Lrrid":"10000329","ack": 3
       },"last_reset_cause": 64
       }
       }
       
      
      <详情> 截图:ThingPark Wireless OSS 智能记录器(Actility)平台解码输出数据
      (单击打开展开视图)
      <img src="/images/samples/abeeway/uplink_decoder_output.png"alt="上行解码器输出对话框"> <详情> Payload_hex:解码器输入示例
      (单击打开展开视图)
      通用消息头
      Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 数据变量
      类型 状态 Battery Temperature Ack/opt 数据
      "payload_hex": "0500997d3040"
      Field First Byte Byte length 说明
      类型 0 1 0x05 Heartbeat消息
      状态 1 1 0x00 Standby
      Battery 2 1 0x99 8.388
      Temperature 3 1 0x7d 18.5
      Ack/opt 4 1 0x30 3/可选数据(依消息类型而定,当前仅用于位置消息)
      数据 5 1-22 0x40 last_reset_cause
      <详情> 说明:跟踪器支持多种上行消息类型,详见以下小节。
      • 本节描述跟踪器支持的载荷消息类型。
      • 除非另有说明,所有数值均按网络字节序(高位在前)传输。
      • 每条消息由以下部分组成:
        • 通用头
        • 特定数据部分
      消息类型 ID 内容
      帧挂起 0x00 当网关有下行消息且无其他上行消息排队时发送此上行消息以触发下发(并加快跟踪器配置)
      位置消息 0x03 GPS、低功耗 GPS、WIFI 或 BLE 位置数据
      能量状态消息 0x04 供服务器估算电量,包含与功耗相关的信息
      心跳消息 0x05 通知服务器跟踪器运行正常且处于 LoRa 覆盖范围内
      活动状态消息 (1) 0x07 上报活动计数,仅用于活动跟踪模式
      配置消息 (1) 0x07 上报跟踪器部分或完整配置
      关机消息 0x09 在跟踪器关机时发送
      地理定位开始消息 (2) 0x0A 在跟踪器开始地理定位时发送
      调试消息 0xFF 仅内部使用
      注意:
      • (1) 活动状态消息与配置消息共用同一标识,通过其他字段区分。
      • (2) 仅固件 1.7-3 支持,可通过 config_flag 参数配置。

也可从 该文件 导入

<详情> 操作路径:数据转换器 -> 添加新数据转换器 -> 导入转换器 (单击打开展开视图) <img src="/images/user-指南/rule-engine-2-0/tutorials/MQTT-downlink/import_new_converter.png"alt="导入新转换器界面">

步骤4:下行数据转换器配置

创建下行转换器时,会在解码器区域自动添加一个默认解码器。
创建下行转换器后,需将解码器区域的代码更新为 以下代码

需要编辑下行解码器

打开下行转换器、进入编辑模式,点击「测试解码器函数」并用新代码替换默认代码:

    <详情> 编辑下行解码器的截图 (单击打开展开视图) <img src="/images/samples/abeeway/downlink_decoder.png"alt="下行解码器属性界面"> <详情> JSON:经下行数据转换器处理后的输出数据示例:
    (单击打开展开视图)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
     {
     {
     /** 编码器 **/
     var数据 = {};
     // Process数据from incoming消息and metadata
     数据.载荷 = msg.sentPayloadHex;
     数据.DevEUI = metadata['DevEUI'];
     数据.deviceType = metadata['deviceType'];
     数据.ContentType ="application/json";
     数据.Accept ="application/json";
     数据.urlPrefix ="/core/latest/API/设备/";
     数据.urlSufix ="/downlinkMessages";
     数据.urlSufixToken ="/admin/latest/API/oauth/令牌";
     数据.firstParamToken ="client_credentials";
     数据.urlSufixGetDevices ="/core/latest/API/设备";
     // Result object with encoded downlink载荷
     var result = {
     // downlink数据content类型: JSON, TEXT or BINARY (base64格式)
     contentType:"JSON",
     // downlink数据
     数据: JSON.stringify(数据),
     msg: msg,
     metadata: metadata
     };
     return result;
     }
     }
     
    

也可从 该文件 导入

<详情> 操作路径:数据转换器 -> 添加新数据转换器 -> 导入转换器 (单击打开展开视图) <img src="/images/user-指南/rule-engine-2-0/tutorials/MQTT-downlink/import_new_converter.png"alt="导入新转换器界面">

步骤5:集成配置

<详情> 在 ThingsBoard 平台创建集成的截图
(单击打开展开视图)
<img src="/images/samples/abeeway/create_integration.png"alt="创建集成对话框">

警告!!! 创建集成后……

  • 请核对 基础 URL
  • 请核对 下行 URL,并完成以下操作:
    1. 从集成窗口复制 下行 URL(即 HTTP 端点 URL,示例:https://thingparkenterprise.eu.actility.com/thingpark/dx/core/latest/API/设备);
    2. 将该 下行 URL 粘贴到 Actility 应用服务器的 URL 中,设备数据将由此地址收发。
<详情> ThingPark Wireless OSS 智能记录器(Actility)页面截图,需在此处复制 下行 URL
(单击打开展开视图)
<img src="/images/samples/abeeway/actility_application.png"alt="在 Actility 应用中添加凭据">

步骤6:验证集成创建与配置后的设备连接

创建并配置集成、并将其连接到 Actility 公司的 ThingPark Wireless 平台后,ThingsBoard 将开始接收来自您设备的首批遥测上报。

<详情> 接收首批遥测的截图 (单击打开展开视图) <img src="/images/samples/abeeway/after_integr_mesag.png"alt="集成后消息界面">

根据这些首批消息,ThingsBoard 系统会自动创建设备,其类型和名称与在 ThingPark Actility Enterprise 中注册时一致。

<详情> ThingsBoard 系统自动创建设备的截图 (单击打开展开视图) <img src="/images/samples/abeeway/after_integr_dev.png"alt="集成后设备界面">

因此,在创建并配置集成后、开始仪表板设置前,请确认所有设备均已被 ThingsBoard 识别并可见。

步骤7:仪表板的创建与配置

<详情> 仪表板创建完成后的截图 (单击打开展开视图) <img src="/images/samples/abeeway/actility_dashboard_example.png"alt="Actility 仪表板示例界面">

示例:仪表板 JSON 格式

创建仪表板

<详情> Screenshot of the creation of the仪表板 (单击打开展开视图) <img src="/images/samples/abeeway/dashboard_create_01.png"alt="仪表板创建步骤 01 对话框">
  1. 打开仪表板并添加:
    别名(List abeeways):filter_type: Entity_list,类型:设备,device_names: DevEUI_1_, DevEUI_2_, DevEUI_3_...
  2. <详情> 截图:打开仪表板并添加别名(List abeeways):filter_type: Entity_list,类型:设备,device_names: DevEUI_1_, DevEUI_2_, DevEUI_3_...
    (单击打开展开视图)
    <img src="/images/samples/abeeway/alias_create.png"alt="创建别名对话框">
  3. 打开仪表板并添加:别名(DigEntityFrom):类型:来自仪表板状态的实体,类型:设备
  4. <详情> 截图:打开仪表板并添加别名(DigEntityFrom):类型:来自仪表板状态的实体,类型:设备
    (单击打开展开视图)
    <img src="/images/samples/abeeway/alias_create_entityFromDashboard.png"alt="从仪表板创建实体别名对话框">

向仪表板添加新部件:

  1. widget number 1:
    • Current_bundle: Cards -> latest_values -> Entities:
    • Datasources: 类型: Entity, 参数: List abeeways
    • <详情> Screenshot of creation of the widget number 1 (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_cards.png"alt="Widget创建cards screen">
    • Action: action sources: on row click, 名称: ${entityName}, 类型: Update_current_dashboard_state, Set_entity_from_widget
    • <详情> Screenshot of widget设置 - action sources: on row click to widget number 1 (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_cards_action.png"alt="Widget创建cards action dialog">
  2. widget number 2:
    • Current_bundle: Charts -> time_series: Timeseries_Float:
    • <详情> Screenshot of creation of the widget number 2 (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_charts_timeseriesFloat.png"alt="Widget创建charts timeseries Float screen">
    • Data_Source: 类型: Entity, 参数: List_abeeways, 键:temperature, label: ${entityLabel}
    • <详情> Screenshot of adding datasource to widget number 2 (part 1) (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_charts.png"alt="Widget创建charts screen"> <详情> Screenshot of adding datasource to widget number 2 (part 2) (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_charts_entityLabel.png"alt="Widget创建charts entity Label dialog">
  3. widget number 3:
    • Current_bundle: Digital_guages
    • <详情> Screenshot of creation of the widget number 3 (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_difital_guages.png"alt="Widget创建difital guages screen">
    • Data_Source: 类型: Entity, 参数: DigEntityFrom, 键:temperature, label: temperature
    • <详情> Screenshot of adding datasource to widget number 3 单击打开展开视图) <img src="/images/samples/abeeway/widget_create_difital.png"alt="Widget创建difital scren">
  4. widget number 4:
    • Current_bundle: Cards ->Timeseries
    • <详情> Screenshot of creation widget number 4 (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_cards_Timeseries.png"alt="Widget创建cards Timeseries screen">
    • Data_Source: 类型: Entity, 参数: DigEntityFrom
      • keys:temperature, label: temperature
      • keys:batteryVoltage, label: batteryVoltage ...
      <详情> Screenshot of adding datasource to widget number 4 (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_cards_with_value.png"alt="Widget创建cards with值screen">
  5. widget number 5:
    • Current_bundle: Input widgets ->Update Multiple属性
    • <详情> Screenshot of creation of the widget number 5 (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_input.png"alt="Widget创建input screen">
    • Data_Source: 类型: Entity, 参数: DigEntityFrom
      • keys:sentPayloadHex, label: ${entityLabel}
      <详情> Screenshot of adding datasource to the widget number 5 (单击打开展开视图) <img src="/images/samples/abeeway/widget_create_input_with_value.png"alt="Widget创建input with值dialog">

-注意:

  • Widgets Number 1 and Number 2 with alias Entity_list.设备.
  • Widgets Number 3 and Number 4 with alias DigEntityFrom.

步骤8:上报遥测并验证集成配置

<详情> 集成设置变更日志截图(见此处) (单击打开展开视图) <img src="/images/samples/abeeway/integration_latest_telemetry.png"alt="集成最新遥测界面"> <详情> 来自 ThingPark Wireless OSS 智能记录器(Actility)平台的入站消息日志截图:
(单击打开展开视图)
<img src="/images/samples/abeeway/integration_events.png"alt="集成事件对话框">

若设备处于活跃状态且您已正确完成连接 ThingPark Wireless OSS 智能记录器(Actility)平台的所有步骤,则会在您创建的仪表板上看到入站消息。

<详情> 传入您所创建仪表板的消息截图 (单击打开展开视图) <img src="/images/samples/abeeway/actility_dashboard_example.png"alt="Actility 仪表板示例界面">

步骤9:配置根规则链(Root)

添加部件 5 后,需将其与下行解码器关联。
请进入「规则链」选项卡并打开「根规则链」。

<详情> 配置根规则链以使消息发送至设备的截图 (单击打开展开视图) <img src="/images/samples/abeeway/rule_chain.png"alt="规则链示例界面">


编辑「根规则链」:

  • 在「消息类型 Switch」之后添加 enrichment 节点「originator fields」,名称为「Fetch名称and类型」,以通过元数据获取设备原始名称:
    • 名称:deviceName
    • 类型:deviceType
    • 「消息类型 Switch」与「Fetch名称and类型」之间的连接:
      • 规则节点链接详情:「属性更新」
    <详情> 已创建的 Enrichment 节点「originator fields」截图 (单击打开展开视图) <img src="/images/samples/abeeway/create_incrichment_originator_fields.png"alt="创建 enrichment 源字段界面">
  • 通过解码器接收下行数据并将解码后的数据传递至「Action - rpc call request」:
    • 在「Fetch名称and类型」与「Action - rpc call request」之间
      • 添加:Action「integration downlink」:名称 Actility_DownLink,integration Test_ThigPark
      • <详情> 已创建的 Action「integration downlink」截图 (单击打开展开视图) <img src="/images/samples/abeeway/create_action _integration_downlink.png"alt="创建 integration downlink 动作界面">
    • 「Fetch名称and类型」与「Actility_DownLink」之间的连接:
      • 规则节点链接详情:「成功」
    • 「Actility_DownLink」与「Action - rpc call request」之间的连接:
      • 规则节点链接详情:「成功」

步骤10:创建并发送下行消息

发送消息前:

  • 需先确定请求类型(与配置、设备状态或新配置相关的信息),
    以及数据内容本身(对数据的详细描述)。
<详情> 创建下行消息所需信息 (单击打开展开视图)
  • 这些消息由服务器经 LoRa 网络发送至跟踪器,用于配置或管理跟踪器。每条消息包含一个头,其中包括:
    • 消息类型
    • 确认令牌
    <详情> 消息其余部分取决于下表中描述的消息类型。
    (单击打开展开视图)
    消息类型 ID 说明
    POD 0x01 按需定位
    Set Mode 0x02 更改跟踪器运行模式
    请求配置 0x03 请求跟踪器当前配置
    开始 SOS 模式 0x04 开启 SOS 模式
    停止 SOS 模式 0x05 关闭 SOS 模式
    Set Param 0x0B 修改参数
    调试命令 0xFF 删除 BLE 绑定并重置跟踪器
    <详情> 创建request: Position on demand (单击打开展开视图)
      <详情> 创建request: Position on demand -> Mode: operating modes. Acceptable values are: (单击打开展开视图)
      Mode
      Standby 0
      Motion tracking 1
      Permanent tracking 2
      Motion开始/结束tracking 3
      Activity tracking 4
      Off mode 5
      • Operational mode配置
      • 1
        2
        3
        4
        
         {...
         payloadHex:"0203", ...
         }
         
        
      • Request设备 配置
      • 1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        
         {...
         payloadHex:"030605090C01", ...
         *"05"- geoloc_sensor,
         *"09"- gps_timeout,
         *"0C"- gps_convergence,
         *"01"- lora_period,
         Special parameter ID:
         *"0xFD": get the BLE version.
         *"0xFE": get the firmware version.
         }
         
        
      • 参数 配置
      • 1
        2
        3
        4
        5
        6
        
         {...
         payloadHex:"0B 0A 0C00000078 1100000E10", ...
         *"0C00000078"- 0C - gps_convergence, 0x78 - 值 (sec),
         * 1100000E10 - 11 - gps_standby_timeout. 0xE10 - 值 (sec).
         }
         
        
<详情> Sending Downlink messages (单击打开展开视图)
  • Messages to设备are sent from widget number 5:
  • <详情> Screenshot of the sent消息from widget number 5 (单击打开展开视图) <img src="/images/samples/abeeway/sent_message.png"alt="Sent消息screen"> <详情> 示例of the creation消息 (单击打开展开视图)
    1
    2
    3
    4
    
     {...
     payloadHex:"03020001020305",
     ...}
     
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
     {...
     Byte 0 Byte 1 Byte 2-21"0x03""ACK"Byte"2-21"Parameter ID list (optional)
     Special parameter ID:
     ➢ 0xFD: get the BLE version.
     ➢ 0xFE: get the firmware version.
     Byte 2-21 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12
     13 fd fe
     00 01 02 03 05 06 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 fe
     ...}
     
    
    <详情> Screenshot of receiving / sending messages to the设备ThingPark Wireless OSS intelligent logger (Actility) (单击打开展开视图) <img src="/images/samples/abeeway/receiving_message_actility.png"alt="Receiving消息actility screen"> <详情> Screenshot of receiving messages from the设备ThingPark Wireless OSS intelligent logger (Actility) (单击打开展开视图) <img src="/images/samples/abeeway/receiving_actility_from_dev.png"alt="Receiving actility from dev screen"> <详情> Screenshot of receiving confirmation from the ThingPark Wireless to ThingsBoardabout sending a消息to the设备 (单击打开展开视图) <img src="/images/samples/abeeway/receiving_confirmation_singboard.png"alt="Receiving confirmation thingboard dialog"> <详情> Screenshot of decoding设备response by Thingsboard UpLink解码器 (单击打开展开视图) <img src="/images/samples/abeeway/decoding_device_response.png"alt="Decoding设备response dialog">

下一步