热门标签 | 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之OkHttp网络架构源码解析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了深度探索!Android之OkHttp网络架构源码解析相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 在iOS开发中,多线程技术的应用非常广泛,能够高效地执行多个调度任务。本文将重点介绍GCD(Grand Central Dispatch)在多线程开发中的应用,包括其函数和队列的实现细节。 ... [详细]
  • Day17_16_SpringCloud教程之Feign高级功能详解
    Feign高级功能详解注意:本篇Feign的高级功能实现请参考上一篇博客.Feign的高级功能实现以上一篇博客代码为基础,我们主要修改service_feign_consume ... [详细]
  • 本文介绍了如何使用开源工具ChkBugReport来解析和分析Android设备的Bugreport。ChkBugReport能够将复杂的Bugreport转换为易于阅读的HTML报告,并提供详细的图表和分析结论。 ... [详细]
  • 我自己做了一个网站图片的抓取,感觉速度有点慢抓取4000张图片可能得用15分钟左右的时间,我百度看用线程可以加快抓取,然后创建了5个线程抓取,但是5个线程是同步执行同样的操作一个图片就 ... [详细]
  • 在本次学习中,主要通过外部中断来控制LED的亮灭。首先,先查看相关电路图。由图可知,当CC2530端口1的0号引脚输出低电平时࿰ ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • Java设计模式详解:解释器模式的应用与实现
    本文详细介绍了Java设计模式中的解释器模式,包括其定义、应用场景、优缺点以及具体的实现示例。通过音乐解释器的例子,帮助读者更好地理解和应用这一模式。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 在分析Android的Audio系统时,我们对mpAudioPolicy->get_input进行了详细探讨,发现其背后涉及的机制相当复杂。本文将详细介绍这一过程及其背后的实现细节。 ... [详细]
  • 本文总结了一些开发中常见的问题及其解决方案,包括特性过滤器的使用、NuGet程序集版本冲突、线程存储、溢出检查、ThreadPool的最大线程数设置、Redis使用中的问题以及Task.Result和Task.GetAwaiter().GetResult()的区别。 ... [详细]
  • 本文介绍了并查集(Union-Find算法)的基本概念及其应用。通过一个具体的例子,解释了如何使用该算法来处理涉及多个集合的问题。题目要求输入两个整数 n 和 m,分别表示总人数和操作次数。算法通过高效的合并与查找操作,能够快速确定各个元素所属的集合,适用于大规模数据的动态管理。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • RangerApi之User管理在大数据平台之权限管理组件-AapcheRanger一文中我们了解了Ranger以及安装部署过程以及Admin可视化界面的使用。除了可以在可视化的R ... [详细]
  • 历史指对人类社会过来的事件和流动,以及对这些事件行为有零碎的记录、钻研和诠释。历史是文化的传承,积攒和扩大,是人类文明的轨迹。APISpace的历史上的 ... [详细]
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社区 版权所有