board java_Java 上报 thingsboard 遥测属性

欢迎大家加入thingsboard 二次开发讨论群:121202538

import org.apache.commons.lang.StringUtils;

import org.apache.log4j.Logger;

import org.eclipse.paho.client.mqttv3.*;

import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import java.io.DataInputStream;

import java.io.IOException;

import java.io.OutputStream;

import java.math.BigInteger;

import java.net.ServerSocket;

import java.net.Socket;

import java.net.UnknownHostException;

import java.text.DecimalFormat;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public class ClientDemo {

/**

* @param args

* @throws IOException

* @throws UnknownHostException

*/

private static Logger logger=Logger.getLogger(ClientDemo.class);

public void toTB(String content){

logger.info("开始执行DHT方法*************************");

String HOST = "tcp://47.99.141.22:1883"; //TBip地址和mqtt端口

String TOPIC = "v1/devices/me/telemetry";//TB遥测数据API接口

String clientid = "client2";

MqttClient client=null;

MqttConnectOptions options;

MqttTopic topic;

String username="iQHq2135klo1PTVb6HCy";//设备秘钥

try {

// host为主机名,clientid即连接MQTT的客户端ID,一般以唯一标识符表示,MemoryPersistence设置clientid的保存形式,默认为以内存保存

client = new MqttClient(HOST, clientid, new MemoryPersistence());

// MQTT的连接设置

options = new MqttConnectOptions();

// 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,这里设置为true表示每次连接到服务器都以新的身份连接

options.setCleanSession(true);

// 设置连接的用户名

options.setUserName(username);//设备秘钥

// 设置连接的密码

//options.setPassword(passWord.toCharArray());

// 设置超时时间 单位为秒

options.setConnectionTimeout(10);

// 设置会话心跳时间 单位为秒 服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制

options.setKeepAliveInterval(20);

// 设置回

client.setCallback(new MqttCallbackExtended() {

@Override

public void messageArrived(String topic, MqttMessage message) throws Exception {

String context = new String(message.getPayload());

}

@Override

public void deliveryComplete(IMqttDeliveryToken token) {

// TODO Auto-generated method stub

}

@Override

public void connectionLost(Throwable cause) {

// TODO Auto-generated method stub

}

@Override

public void connectComplete(boolean reconnect, String serverURI) {

// TODO Auto-generated method stub

}

});

topic = client.getTopic(TOPIC);

//setWill方法,如果项目中需要知道客户端是否掉线可以调用该方法。设置最终端口的通知消息

options.setWill(topic, "close".getBytes(), 2, true);

client.connect(options);

// sendCon = "{\"temperature\":\"25\",\"humidity\":\"12\",\"light\":\"255\"}";//json格式

client.publish(TOPIC, content.getBytes(), 0, false);//推送数据到tb上

} catch (MqttException e) {

e.printStackTrace();

} catch (IllegalArgumentException e) {

e.printStackTrace();

} finally {

}

}

}

接触Thingsboard用得到!!! 目录 1  参考资料 5  文档目的 6 第一章 项目框架整理说明 7 1.1 项目框架说明 7 1.1.1 package包功能描述 8 1.1.2 thingsboard开发主要涉及到的包 10 1.1.3 thingsboard代码类及接口说明 10 第二章 thingsboard涉及到的流程图 12 2.1 物联网网关架构 12 2.2 ThingsBoard微服务架构 13 2.3 Thingsboard产品架构 13 2.4 Thingsboard规则引擎 14 2.5 ThingsBoard Architecture 15 第三章 项目框架涉及到的第三方包或插件 17 3.1 Thingsboard 包 17 第四章 ThingsBoard设备连接协议 23 4.1 订阅消息传递协议(MQTT) 23 4.2 请求响应模式(CoAP) 23 4.3 请求响应模式(HTTP ) 24 第五章 ThingsBoard打包 25 5.1 后端打包 25 5.2 前端打包方UI 25 第六章 ThingsBoard框架日志 26 第七章 ThingsBoard数据库 目录 目录 1  参考资料 5  文档目的 6 第一章 项目框架整理说明 7 第二章 thingsboard涉及到的流程图 12 第三章 项目框架涉及到的第三方包或插件 17 第四章 ThingsBoard设备连接协议 23 第五章 ThingsBoard打包 25 第六章 ThingsBoard框架日志 26 第七章 ThingsBoard数据库 27 第八章 官网主要文档目录 28 第九章 前端技术概述 29 第十章 关于Thingsboard开发环境部署 30 第十一章 数据库表结构 32 错误!未定义书签。 7.1 关系数据库(使用了2个数据库) 27 7.2 非关系数据库(redis) 27 第八章 官网主要文档目录 28 第九章 前端技术概述 29 9.1 前端包括哪些技术点 29 9.2 前端技术描述 29 第十章 关于Thingsboard开发环境部署 30 第十一章 数据库表结构 32
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值