热门标签 | 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


推荐阅读
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
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社区 版权所有