热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mqtt(8):使用阿里物联网,快速入门,演示个iotdemo

mqtt(8):使用阿里物联网,快速入门,演示个iotdemo,Go语言社区,Golang程序员人脉社
前言

关于 mqtt 相关文章分类:https://blog.csdn.net/freewebsys/article/category/8677221

本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/88840907
未经博主允许不得转载。
博主地址是:http://blog.csdn.net/freewebsys

1,关于

阿里物联网:
https://iot.console.aliyun.com/quick_start

快速入门:

2,使用

第一步输入一个产品名称和设备名称:

第二步,创建成功:

第三步下载sdk,
第四步,使用sdk工具包,模拟一个设备,进行控制,解压缩,然后执行 sh ./start.sh ,注意,不能执行 sh
start.sh 需要加当前目录

在这里插入图片描述

查看日志:https://iot.console.aliyun.com/lk/monitor/log

可以看到,下行,发送的控制命令:

其中脚本 start.sh 需要 java sdk 配置环境变量。会编译HelloWorld.java

sh ./start.sh 
javac -classpath ".:./jar/iot-mqttclient.0.0.1.jar:./jar/mqttv3-1.2.0.jar:./jar/fastjson-1.2.40.jar:./jar/gson-2.7.jar:./jar/network-core-0.0.1.jar:./jar/iot-linkkit-java.jar:./jar/common-utils-0.0.1.jar:./jar/device_manager_java.jar:./jar/okhttp-3.1.0.jar:./jar/apiclient-0.0.1.jar:./jar/okio-1.6.0.jar" ./HelloWorld.java
2019-03-27 12:42:49.384 - [HelloWorld.java] - main(37):HelloWorld:args=[./device_id_password.json]
2019-03-27 12:42:49.539 - [PersistentEventDispatcher.java] - registerOnTunnelStateListener(88):com.aliyun.alink.linksdk.channel.core.persistent.event.PersistentEventDispatcher:registerOnTunnelStateListener()
2019-03-27 12:42:49.540 - [PersistentEventDispatcher.java] - registerOnPushListener(58):com.aliyun.alink.linksdk.channel.core.persistent.event.PersistentEventDispatcher:registerOnPushListener()
2019-03-27 12:42:49.542 - [PersistentNet.java] - init(43):PersistentNet:init(), SDK Ver = 0.3.0
2019-03-27 12:42:49.594 - [MqttNet.java] - init(70):MqttNet:init()
2019-03-27 12:42:49.594 - [MqttNet.java] - init(90):MqttNet:init(),default cert file
2019-03-27 12:42:49.862 - [MqttNet.java] - mqttClientConnect(307):MqttNet:mqtt client connect..,ssl://a1Xj26Q9ou6.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883
2019-03-27 12:42:50.134 - [MqttNet.java] - onSuccess(295):MqttNet:connect onSuccess
2019-03-27 12:42:50.135 - [MqttDefaulCallback.java] - connectComplete(49):MqttDefaulCallback:connectComplete,ssl://a1Xj26Q9ou6.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883
2019-03-27 12:42:50.135 - [PersistentEventDispatcher.java] - broadcastMessage(150):com.aliyun.alink.linksdk.channel.core.persistent.event.PersistentEventDispatcher:broadcastMessage(), what=1
2019-03-27 12:42:50.135 - [PersistentEventDispatcher.java] - OnTunnelState(225):com.aliyun.alink.linksdk.channel.core.persistent.event.PersistentEventDispatcher:OnTunnelState()
2019-03-27 12:42:50.135 - [HelloWorld.java] - onInitDone(110):HelloWorld:onInitDone result=null
2019-03-27 12:42:50.137 - [ThreadPool.java] - init(33):ThreadPool:core maybe <0 which will cause crash in specific platform: 8
2019-03-27 12:42:50.137 - [ThreadPool.java] - init(44):ThreadPool:Start a ThreadPool with scale between 8 -> 10and core:8
2019-03-27 12:42:50.138 - [MqttNet.java] - subscribeRrpc(194):MqttNet:subscribeRrpc(),topic = /sys/a1Xj26Q9ou6/light001/thing/service/property/set
2019-03-27 12:42:50.141 - [MqttSendExecutor.java] - asyncSend(162):MqttSendExecutor:subscribe: topic: [ /sys/a1Xj26Q9ou6/light001/thing/service/property/set ]
2019-03-27 12:42:50.142 - [MqttNet.java] - subscribeRrpc(217):MqttNet:subscribeRrpc(), registerRrpcListener
2019-03-27 12:42:50.142 - [MqttDefaulCallback.java] - registerRrpcListener(35):MqttDefaulCallback:registerRrpcListener(), topic = /sys/a1Xj26Q9ou6/light001/thing/service/property/set
2019-03-27 12:42:50.143 - [MqttDefaulCallback.java] - connectComplete(52):MqttDefaulCallback:after connectComplete
2019-03-27 12:42:50.180 - [HelloWorld.java] - onSubscribeSuccess(121):HelloWorld:subscribe successfully
2019-03-27 12:42:52.142 - [HelloWorld.java] - reportState(160):HelloWorld:report Hello World.
2019-03-27 12:42:52.143 - [MqttSendExecutor.java] - asyncSend(129):MqttSendExecutor:publish: topic: [ /sys/a1Xj26Q9ou6/light001/thing/event/property/post ]
2019-03-27 12:42:52.144 - [MqttSendExecutor.java] - asyncSend(130):MqttSendExecutor:publish: payload: [ {"id":"230788029","method":"thing.event.property.post","params":{"Status":1,"Data":"Hello, World!"},"version":"1.0"} ]
2019-03-27 12:42:52.146 - [MqttDefaulCallback.java] - deliveryComplete(85):MqttDefaulCallback:deliveryComplete! null
2019-03-27 12:42:52.146 - [HelloWorld.java] - onSuccess(166):HelloWorld:upload successfully
2019-03-27 12:42:57.142 - [HelloWorld.java] - reportState(160):HelloWorld:report Hello World.
2019-03-27 12:42:57.142 - [MqttSendExecutor.java] - asyncSend(129):MqttSendExecutor:publish: topic: [ /sys/a1Xj26Q9ou6/light001/thing/event/property/post ]
2019-03-27 12:42:57.142 - [MqttSendExecutor.java] - asyncSend(130):MqttSendExecutor:publish: payload: [ {"id":"230788029","method":"thing.event.property.post","params":{"Status":1,"Data":"Hello, World!"},"version":"1.0"} ]
2019-03-27 12:42:57.143 - [MqttDefaulCallback.java] - deliveryComplete(85):MqttDefaulCallback:deliveryComplete! null
2019-03-27 12:42:57.143 - [HelloWorld.java] - onSuccess(166):HelloWorld:upload successfully
2019-03-27 12:42:58.236 - [MqttDefaulCallback.java] - messageArrived(65):MqttDefaulCallback:messageArrived,topic = [/sys/a1Xj26Q9ou6/light001/thing/service/property/set] , msg = [{"method":"thing.service.property.set","id":"290963666","params":{"Status":1},"version":"1.0.0"}],  
2019-03-27 12:42:58.237 - [PersistentEventDispatcher.java] - broadcastMessage(150):com.aliyun.alink.linksdk.channel.core.persistent.event.PersistentEventDispatcher:broadcastMessage(), what=3
2019-03-27 12:42:58.237 - [MqttDefaulCallback.java] - handleRrpcRequest(90):MqttDefaulCallback:handleRrpcRequest()
2019-03-27 12:42:58.259 - [HelloWorld.java] - onReceived(134):HelloWorld:Received a message: {"Status":1}
2019-03-27 12:42:58.259 - [MqttDefaulCallback.java] - onRrpcResponse(120):MqttDefaulCallback:onRrpcResponse(), reply topic = /sys/a1Xj26Q9ou6/light001/thing/service/property/set_reply
2019-03-27 12:42:58.260 - [MqttSendExecutor.java] - asyncSend(129):MqttSendExecutor:publish: topic: [ /sys/a1Xj26Q9ou6/light001/thing/service/property/set_reply ]
2019-03-27 12:42:58.260 - [MqttSendExecutor.java] - asyncSend(130):MqttSendExecutor:publish: payload: [ {"id":"123", "code":"200","data":{} } ]
2019-03-27 12:42:58.260 - [MqttDefaulCallback.java] - messageArrived(65):MqttDefaulCallback:messageArrived,topic = [/sys/a1Xj26Q9ou6/light001/thing/service/property/set] , msg = [{"method":"thing.service.property.set","id":"290963667","params":{"Data":"112"},"version":"1.0.0"}],  
2019-03-27 12:42:58.260 - [PersistentEventDispatcher.java] - broadcastMessage(150):com.aliyun.alink.linksdk.channel.core.persistent.event.PersistentEventDispatcher:broadcastMessage(), what=3
2019-03-27 12:42:58.261 - [MqttDefaulCallback.java] - handleRrpcRequest(90):MqttDefaulCallback:handleRrpcRequest()
2019-03-27 12:42:58.261 - [HelloWorld.java] - onReceived(134):HelloWorld:Received a message: {"Data":"112"}

可以看到 日志 topic /sys/a1Xj26Q9ou6/light001/thing/service/property/set 接受到消息:HelloWorld:Received a message: {“Data”:“112”}
topic /sys/a1Xj26Q9ou6/light001/thing/event/property/post 发送消息 {“Status”:1,“Data”:“Hello, World!”}

查看产品的 topic :


可以看到默认的有 5 个topic ,3个发布 2个订阅。

3,总结

这个快速接入弄的挺好的。降低了iot接入的成本。并且。可以直接演示。
做一个 电灯的开关控制。可以看到日志。iot 接入流程方便很多。使用 3 分钟就完成了设备接入。
有好的东西要学习呢。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/88840907

博主地址是:http://blog.csdn.net/freewebsys


推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • 火星商店问题:线段树分治与持久化Trie树的应用
    本题涉及编号为1至n的火星商店,每个商店有一个永久商品价值v。操作包括每天在指定商店增加一个新商品,以及查询某段时间内某些商店中所有商品(含永久商品)与给定密码值的最大异或结果。通过线段树分治和持久化Trie树来高效解决此问题。 ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 如何在PHPcms网站中添加广告
    本文详细介绍了在PHPcms网站后台添加广告的方法,涵盖多种常见的广告形式,如百度广告和Google广告,并提供了相关设置的步骤。同时,文章还探讨了优化网站流量的SEO策略。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
author-avatar
mobiledu2502911457
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有