安卓使用MQTT实现阿里云物联网云台订阅和发布主题(3)

一、订阅主题代码讲解

private final String mqtt_sub_topic = "/sys/k0wih08FdYq/LHAPP/thing/service/property/set";//订阅话题//mqtt客户端订阅主题//QoS=0时,报文最多发送一次,有可能丢失//QoS=1时,报文至少发送一次,有可能重复//QoS=2时,报文只发送一次,并且确保消息只到达一次。int[] qos = {1};String[] topic = {mqtt_sub_topic};mqttClient.subscribe(topic, qos);

二、发布主题代码讲解

private final String payloadJson = "{\"id\":%s,\"params\":{\"LightLux\": %s,\"Humidity\": %s,\"temperature\": %s},\"method\":\"thing.event.property.post\"}";private void postDeviceProperties() {try {String payload = String.format(payloadJson, String.valueOf(System.currentTimeMillis()), 10,10,10);String responseBody = payload;MqttMessage message = new MqttMessage(payload.getBytes("utf-8"));message.setQos(1);String pubTopic = "/sys/" + productKey + "/" + deviceName + "/thing/event/property/post";mqttClient.publish(pubTopic, message);Log.d(TAG, "publish topic=" + pubTopic + ",payload=" + payload);msgTextView.setText("发布成功");} catch (Exception e) {e.printStackTrace();msgTextView.setText("发布失败");Log.e(TAG, "postDeviceProperties error " + e.getMessage(), e);}}

三、回调函数代码讲解

mqttClient.setCallback(new MqttCallback() {@Overridepublic void connectionLost(Throwable cause) {//这里不需要做处理//因为在option有一个方法可以自动重连(如下)//断开后,是否自动连接,connOpts.setAutomaticReconnect(true);}@Overridepublic void deliveryComplete(IMqttDeliveryToken token) {//publish后会执行到这里System.out.println("deliveryComplete---------" + token.isComplete());}@Overridepublic void messageArrived(String topicName, MqttMessage message) throws Exception {//subscribe主题后,收到消息执行到这里try {JSONObject jsonObject = new JSONObject(message.toString());// 解析JSON数据Log.i(TAG, "消息到达,message: " + message);JSONObject paramsObject = jsonObject.getJSONObject("params");// 获取params字段中的JSONObjectint Humidity = paramsObject.getInt("Humidity");int LightLux = paramsObject.getInt("LightLux");int temperature = paramsObject.getInt("temperature");humidityTextView.setText(String.valueOf(Humidity));lightluxTextView.setText(String.valueOf(LightLux));temperatureTextView.setText(String.valueOf(temperature));} catch (JSONException e) {e.printStackTrace();}}});

四、实验现象 

五、完整代码

链接:https://pan.baidu.com/s/1cbcAjmzPWw4n7EvO7uT62A?pwd=8888 
提取码:8888

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/762334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

23 OpenCV 直方图比较

文章目录 直方图比较的目的相关性计算 (CV_COMP_CORREL)卡方计算 (CV_COMP_CHISQR)十字计算(CV_COMP_INTERSECT)巴氏距离计算 (CV_COMP_BHATTACHARYYA )compareHist 直方图比较算子示例 直方图比较的目的 直方图比较的目的是衡量两幅图像之间的相似度或差异度。通过计算图像的颜…

linux下用docker部署es和kibana(带ik分词器)(二)

在上一篇文章中讲到,我们利用docker安装了es和kibana,下面我们讲解一下在安装es时把ik分词器这个插件集成进去,首先我们编写一个dockerfile文件,自定义一个es镜像,当然这个镜像肯定集成了ik分词器,具体步骤…

【LVGL-开关部件】

LVGL-开关部件 ■ LVGL-开关部件■ 开关部件:指示器打开的颜色■ 开关部件:不可修改■ 开关部件:获取开关状态■ 开关部件:示例一:制冷,制暖,开关 ■ LVGL-开关部件 ■ 开关部件:指示器打开的颜色 ■ 开关部…

探讨Java代码混淆加固工具

摘要 本篇博客将介绍几种常用的Java代码混淆工具,如ProGuard、Allatori Java Obfuscator、VirboxProtector、ipaguard和DashO。我们将深入探讨它们的特点、功能以及在保护Java应用程序安全方面的作用。此外,还将强调在使用Java代码混淆工具时需要注意的…

RK3568笔记二十:PP-YOLOE部署测试

若该文为原创文章,转载请注明原文出处。 注:转换测试使用的是Autodl服务器,CUDA11.1版本,py3.8。 一、PP-YOLOE环境安装 创建环境 # 使用 conda 创建一个名为 PaddleYOLO 的环境,并指定 python 版本conda create -n…

(vue)新闻列表与图片对应显示,体现选中、移入状态

(vue)新闻列表与图片对应显示&#xff0c;体现选中、移入状态 项目背景&#xff1a;郑州院XX项目首页-新闻展示模块&#xff0c;鼠标移入显示对应图片&#xff0c;且体现选中和移入状态 首次加载&#xff1a; 切换列表后&#xff1a; html: <el-row :gutter"20"…

阶乘求和(第十四届蓝桥杯JavaB组省赛真题)

/ 10^9考虑前九位&#xff0c;% 10^9保留后9位 解题思路: 求获取结果的后九位数字&#xff0c;需要对10^9取余&#xff0c;因为202320232023这个数字的阶乘太大&#xff0c;必须要减少计算量&#xff0c;因为当一个整数乘以10^9后对其取余&#xff0c;那么结果都为0。 所以我…

【毕设级项目】基于ESP8266的家庭灯光与火情智能监测系统——文末源码及PPT

目录 系统介绍 硬件配置 硬件连接图 系统分析与总体设计 系统硬件设计 ESP8266 WIFI开发板 人体红外传感器模块 光敏电阻传感器模块 火焰传感器模块 可燃气体传感器模块 温湿度传感器模块 OLED显示屏模块 系统软件设计 温湿度检测模块 报警模块 OLED显示模块 …

FebHost:注册了新加坡.SG域名,还需要申请SSL证书吗?

在互联网飞速发展的今天&#xff0c;网站安全性已经成为评价一个网站是否专业、可靠的重要标准。对于注册了新加坡.SG域名的企业或个人而言&#xff0c;申请SSL证书不仅是保障网站数据安全的关键&#xff0c;更是提升网站在搜索引擎中排名的有效手段。 首先&#xff0c;SSL证书…

osgEarth学习笔记2-第一个Osg QT程序

原文链接 上个帖子介绍了osgEarth开发环境的安装。本帖介绍我的第一个Osg QT程序。 下载 https://github.com/openscenegraph/osgQt 解压&#xff0c;建立build目录。 使用Cmake-GUI Configure 根据需要选择win32或者x64&#xff0c;这里我使用win32. 可以看到include和lib路…

RK3568驱动指南|第二篇 字符设备基础-第13章 杂项设备驱动实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

【go从入门到精通】select条件控制

作者简介&#xff1a; 高科&#xff0c;先后在 IBM PlatformComputing从事网格计算&#xff0c;淘米网&#xff0c;网易从事游戏服务器开发&#xff0c;拥有丰富的C&#xff0c;go等语言开发经验&#xff0c;mysql&#xff0c;mongo&#xff0c;redis等数据库&#xff0c;设计模…

MATLAB环境下基于振动信号的轴承状态监测和故障诊断

故障预测与健康管理PHM分为故障预测和健康管理与维修两部分&#xff0c;PHM首先借助传感器采集关键零部件的运行状态数据&#xff0c;如振动信号、温度图像、电流电压信号、声音信号及油液分析等&#xff0c;提取设备的运行监测指标&#xff0c;进而实现对设备关键零部件运行状…

复旦MBA GIP全球课程:数字化新趋势带来的机遇和挑战

复旦MBA站在商业教育变革前沿&#xff0c;联合世界顶级商学院开展长、中、短期的第二学位、海外交换及GIP全球课程&#xff0c;使同学们与世界紧密接轨&#xff0c;打破国界、专业和过往的边界&#xff0c;探索更广阔的未来可能。至今已有2000多名复旦MBA学生通过近60个GIP全球…

【vue】vue中的路由vue-router,vue-cli脚手架详细使用教程

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Ubuntu Desktop - lock screen (锁屏)

Ubuntu Desktop - lock screen [锁屏] 1. System Settings -> Security & Privacy (安全和隐私)2. System Settings -> Keyboard -> Shortcuts -> System3. LockReferences 1. System Settings -> Security & Privacy (安全和隐私) 使用 Putty 远程登录…

FcaNet:频率通道注意力,进阶版SE

paper&#xff1a;https://arxiv.org/abs/2012.11879 github&#xff1a;GitHub - cfzd/FcaNet: FcaNet: Frequency Channel Attention Networks 目录 1. 动机 2. 方法 2.1. 回顾通道注意力和离散余弦变换&#xff08;DCT&#xff09; 通道注意力&#xff1a; 离散余弦变换…

如何使用Android平板公网访问本地Linux code-server

文章目录 1.ubuntu本地安装code-server2. 安装cpolar内网穿透3. 创建隧道映射本地端口4. 安卓平板测试访问5.固定域名公网地址6.结语 1.ubuntu本地安装code-server 准备一台虚拟机,Ubuntu或者centos都可以&#xff0c;这里以VMwhere ubuntu系统为例 下载code server服务,浏览器…

Skywalking的Helm Chart方式部署

背景 之前介绍了AWS云上面的EKS的集中日志方案。这次主要介绍调用链监控了&#xff0c;这里我们用的是Skywalking。监控三王者&#xff08;EFKPrometheusSkywalking&#xff09;之一。之前AWS云上面使用fluent bit替代EFK方案&#xff0c;其实&#xff0c;AWS云在调用链方面&a…

Elasticsearch:ES|QL 入门 - Python Notebook

数据丰富在本笔记本中&#xff0c;你将学习 Elasticsearch 查询语言 (ES|QL) 的基础知识。 你将使用官方 Elasticsearch Python 客户端。 你将学习如何&#xff1a; 运行 ES|QL 查询使用处理命令对表格进行排序查询数据链式处理命令计算值计算统计数据访问列创建直方图丰富数…