服务器发送信息给树莓派,远程控制树莓派服务器

public class Device {

/**

* 建立连接

*

* @param productKey 产品key

* @param deviceName 设备名称

* @param deviceSecret 设备密钥

* @throws InterruptedException

*/

public static void connect(String productKey, String deviceName, String deviceSecret) throws InterruptedException {

// 初始化参数

LinkKitInitParams params = new LinkKitInitParams();

// 设置 Mqtt 初始化参数

IoTMqttClientConfig config = new IoTMqttClientConfig();

config.productKey = productKey;

config.deviceName = deviceName;

config.deviceSecret = deviceSecret;

params.mqttClientConfig = config;

// 设置初始化设备证书信息,传入:

DeviceInfo deviceInfo = new DeviceInfo();

deviceInfo.productKey = productKey;

deviceInfo.deviceName = deviceName;

deviceInfo.deviceSecret = deviceSecret;

params.deviceInfo = deviceInfo;

// 初始化

LinkKit.getInstance().init(params, new ILinkKitConnectListener() {

public void onError(AError aError) {

System.out.println("init failed !! code=" + aError.getCode() + ",msg=" + aError.getMsg() + ",subCode="

+ aError.getSubCode() + ",subMsg=" + aError.getSubMsg());

}

public void onInitDone(InitResult initResult) {

System.out.println("init success !!");

}

});

// 确保初始化成功后才执行后面的步骤,可以根据实际情况适当延长这里的延时

Thread.sleep(2000);

}

/**

* 发布消息

*

* @param topic 发送消息的topic

* @param payload 发送的消息内容

*/

public static void publish(String topic, String payload) {

MqttPublishRequest request = new MqttPublishRequest();

request.topic = topic;

request.payloadObj = payload;

request.qos = 0;

LinkKit.getInstance().getMqttClient().publish(request, new IConnectSendListener() {

@Override

public void onResponse(ARequest aRequest, AResponse aResponse) {

}

@Override

public void onFailure(ARequest aRequest, AError aError) {

}

});

}

/**

* 订阅消息

*

* @param topic 订阅消息的topic

*/

public static void subscribe(String topic) {

MqttSubscribeRequest request = new MqttSubscribeRequest();

request.topic = topic;

request.isSubscribe = true;

LinkKit.getInstance().getMqttClient().subscribe(request, new IConnectSubscribeListener() {

@Override

public void onSuccess() {

}

@Override

public void onFailure(AError aError) {

}

});

}

/**

* 取消订阅

*

* @param topic 取消订阅消息的topic

*/

public static void unsubscribe(String topic) {

MqttSubscribeRequest request = new MqttSubscribeRequest();

request.topic = topic;

request.isSubscribe = false;

LinkKit.getInstance().getMqttClient().unsubscribe(request, new IConnectUnscribeListener() {

@Override

public void onSuccess() {

}

@Override

public void onFailure(AError aError) {

}

});

}

/**

* 断开连接

*/

public static void disconnect() {

// 反初始化

LinkKit.getInstance().deinit();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值