服务热线:
010-8646-2928
热门搜索:
智慧养老       窨井管理       能耗管理        动环监测
智能推荐 ▎基于TiGW200可编程4G Cat1边缘计算网关接入腾讯云(内附教程)
来源: | 作者:钛云小编 | 发布时间: 2021-01-29 | 3171 次浏览 | 分享到:


号外号外




TiGW200边缘计算网关接入

腾讯云


通信技术的升级往往伴随着硬件设备和软件应用的迭代,云服务带给开发者的价值包括:

自动按需扩容

省去大量的运维操作

按需付费,大大减少运营成本

强强合作,上好云

在过去十多年,腾讯云在开发、运维、运营等领域均有技术积累,处于行业领先水平,在社交领域更是具有不可复制的优势。不仅能最大程度满足开发者的业务需要,更能提供长期稳定的云服务。

腾讯云物联网开发平台(IoT Explorer)为各行业的设备制造商、方案商及应用开发商提供一站式设备智能化服务。平台提供海量设备连接与管理能力及小程序应用开发能力,并打通腾讯云基础产品及 AI 能力,提升传统行业设备智能化的效率,降低用户的开发运维成本,助力用户业务发展。

此次钛云物联也充分利用自己的技术和资源积累,实现云服务快速接入,借助腾讯云平台,为开发者节省更多人力、物力、财力。

接入产品 使用场景

钛极可编程边缘计算网关内置钛云物联自主知识产权的钛极OS(TiJOS)物联网操作系统,支持用户通过Java语言进行功能扩展,允许用户根据项目需求通过Java语言开发相关所需的功能,如串口通讯, 协议解析,上传云端等等。

TiGW200是支持4G Cat1网络的可编程边缘计算网关之一,它提供2个RS485,可通过运营商4G网络将数据上报至云端,满足用户对设备的接入需求, 并且能够符合主流的网络接入协议和公有云平台, 包括MQTT, COAP, LWM2M以及阿里云、腾讯云、中国移动ONENET、中国电信AEP等等。

钛极可编程边缘计算网关提供了丰富的文档和例程,并提供了大量开源驱动,如MODBUS等,方便用户可以快速的完成所需功能。


支持多种网络协议

TiGW200同时提供了多种标准物联网接入协议支持,如MQTT, CoAP,LWM2M, HTTP等等,可用于接入支持这些协议的平台。

支持多种云平台

TiGW200支持目前主流的物联网平台,包括阿里云、腾讯云、中国移动OneNet等等,用户可根据实际需要进行选择。



内置钛极OS物联网操作系统

TiGW200内置钛云物联自主研发的钛极OS(TiJJOS)操作系统,提供了强大的可编程能力, 用户可使用标准JAVA语言进行编程实现各种复杂功能,同时提供了丰富的文档和案例参考。

“如何通过“腾讯连连”接入腾讯云”

腾讯云物联网平台提供了“腾讯连连” 小程序, 用户可通过该小程序对设备进行控制。

钛极OS(TiJOS)内置腾讯IoT Explore平台支持, 可快速实现该平台的设备接入,以钛极TiGW200(4G-Cat1)边缘计算网关为例说明如果如何快速接入腾讯云物联网平台。

接入流程很简单,钛极OS物联网平台为您提供了便捷的服务接入入口,您只需在腾讯云物联网开发平台提交申请,即可为您降低开发成本,缩短开发周期。以钛极TiGW200(4G-Cat1)边缘计算网关为例;

准备工作 - 创建腾讯云产品模型

腾讯云通过数据模板定义了产品的属性,事件, 行为, 并通过标识符和数据类型进行数据交互, 在进行设备接入之前首先要在腾讯云物联网开发平台里创建并定义产品的数据模型。

在腾讯云中通过如下流程进行模型开发:

创建项目

在开发平台中首先新建一个项目,如下所示:

新建产品

在项目中新建一个产品

设备产品属性,选择已有产品品类,平台会自动生成标准的数据模板, 为方便测试可选择智慧生活下的标准产品灯,

选择密钥认证、TiGW200为4G设备, 数据协议使用数据模板


产品数据模板

由于使用的是标准产品品类, 平台会自动生成相应的数据模板,用户也可添加自定义属性,事件,行为,如下所示:

腾讯连连小程序/APP配置

腾讯平台提供了标准小程序及APP选项, 方便用户通过手机直接访问和测试设备, 选择上方的交互开发即可进行设置。

新建设备

选择页面上方的设备调试, 即可新建设备并进行测试和调试

设备调试

在新建设备右边的操作选项中选择“调试“操作,即可进行设备调试和测试

通过钛极OS(TiJOS)接入腾讯云

钛极OS是钛云物联开发的物联网操作系统 ,可运行于单片机、物联网模组等低资源设备中, 支持用户通过Java语言进行进行硬件功能开发,并提供了各种云端接入组件包, 并内置支持腾讯云物联网平台接入。

准备工作

  1. 准备一台内置钛极OS(TiJOS)的设备, 建议使用支持4G的TiGW200边缘计算网关

  2. 安装Eclipse及TiStudio开发环境, 具体请参考TiGW200开发指南文档或访问<钛极OS文档中心>[http://doc.tijos.net]

  3. 将TiGW200进入开发模式并连接电脑USB口

  4. 在腾讯开发平台中建立新设备并获取到设备的密钥认证信息, 包括产品ID, 设备名称,设备密钥

应用开发

在Ecclipse中新建TiJOS Application应用,腾讯云平台接入通过钛极OS(TiJOS)内置的IotExploreMqttClient类及IotExploreEventListener事件进行支持,用户可参考相关文档和例程接合实际应用进行开发,并通过编译下载到TiGW200设备中进行测试。

具体可参考腾讯云IotExplore平台客户端 - 文档中心 (tijos.net)

代码编译下载

从GitHub下载已完成的代码,通过Eclipse导入到Workspace中, 在Eclipse中可以看到工程基于TiJOS Framework开发,所有源码和API都是Java代码,TiJOS Framework对各种外设传感器及网络做了抽象封装,通过API可方便快捷的操作外设硬件。

在完成代码修改后,通过选中工程右键弹出菜单点击Run as --> TiJOS Application实时下载至硬件中运行。

代码解析

启动4G网络

在程序启动时, 先启动4G网络

启动4G网络 超时30秒
TiLTE.getInstance().startup(30);

连接腾讯云IoT Explore平台

使用设备密钥信息连接云平台

//设备密钥信息  String productId = "68NRL44HNK";
String deviceName = "device1";
String devicePSK = "PQ7Ja8O0/j9Bbm7WdW+TuQ=="; //腾讯云平台客户端 IotExploreMqttClient txTempl = new IotExploreMqttClient(productId, deviceName, devicePSK); //启动连接并设置事件监听 txTempl.connect(new IotEventListener(txTempl));

此时,可在设备的上下线日志看到设备连接成功

上报设备属性

从传感器读取当前状态,并通过IotExploreMqttClient提供的属性上报接口上报相关属性, 属性必须与在平台定义的数据模型相一致

//通过JSON对象进行设备属性上报 JSONObject jobj = new JSONObject();
jobj.put("switch", 1);
jobj.put("color", 0);
jobj.put("brightness", 10);

txTempl.propertyReport(jobj);

此时, 可在设备的在线调试页面看到相关的通讯数据

下发指令

钛极OS(TiJOS)通过事件回调的方式处理平台下发指令,用户需要在应用中实现IotExploreEventListener接口, 当有属性控制指令下发时通过onPropertyControlArrived来进行回调处理,并可在处理完成后通过propertyControlReply回复平台, 当有行为调用下发时通过onActionArrived进行回调处理, 并可在处理完成后通过actionResultReply回复平台,如下所示:

class IotEventListener implements IotExploreEventListener {

...... @Override public void onPropertyControlArrived(String clientToken, JSONObject msg) {

        System.out.println("onPropertyControlArrived " + clientToken + " " + msg); int code = 0;
        String status = "OK"; try {
            client.propertyControlReply(clientToken, code, status);
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    } @Override public void onActionArrived(String clientToken, String actionId, JSONObject params) {
        System.out.println("onActionArrived " + actionId + " " + params); // check reply JSONObject response = new JSONObject(); int code = 0;
        String status = "OK"; try {
            response.put("result", 1);

            client.actionResultReply(clientToken, code, status, response);
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }
......
}

以上的属性控制指令及行为调用均可通过在线调试页面来进行操作,并可在TiStudio中看到相关日志。

总结

本案例实现了最基本的网络接入和收发数据,实际中也可进一步通过腾讯云的策略对数据进行转发,同时基于云服务对数据做处理分析,以及大数据运算和存储等。