IoT(Internet of things)物联网入门介绍
1、什么样的物可以入网?
- 要有数据传输通路
- 要有一点的存储功能
- 要有CPU
- 要有操作系统
- 要有专门的应用程序
- 遵循物联网的通信协议
- 在网络世界中有可被识别的唯一编号
2、MQTT协议
不是在说物联网吗?为啥扯到协议啥的?
其实互联网的本质也是通过网络、协议将海量主机进行连接的,物联网也不例外。但是物联网不太需要电脑主机那样强大的、多元的计算能力,物联网的“物”一般功能都是比较单一的,比如传感器只需要采集指标、摄像头拍视频等。
所以最简单的物联网只需要在联网的“物”上加上一个可入网、可收发消息或者更厉害一点:能进行计算的芯片,就可以达到入网的效果了。简单理解,物联网协议就是“物”与网之间的桥梁,MQTT协议就是其中比较具有代表性的一种。
- MQTT协议是IBM针对物联网提出的一种轻量级协议,建立于TCP/IP层协议之上。是物联网的重要组成成分,可能会成为物联网的事实标准。
- MQTT协议具有QoS(Quality of Service,服务质量),能够缓冲消息,并通过重传机制保证终端设备收到消息。其消息格式极其简化,最短是两个字节,提供订阅式和发布模式,高效推送消息。
- 三角色:服务器代理、订阅者、发布者
- QoS:
- 零级(至多交付一次信息),如传感器
- 一级(至少交付一次信息),确保消息到达
- 二级(准确一次交付信息),如计费系统
3、Apache Apollo服务器
看名字可以知道,Apache Apollo是一个开源的东西,它就是早期的代理服务器,是在ActiveMQ基础上发展而来的,可以支持STOMP、AMQP、MQTT、Openwire、SSL、WebSocket等多种协议。
不过,Apache Apollo服务器已经停止维护了。而且网上研究这个的也不多。
4、Apache Artemis服务器
替代Apollo的就是Artemis了。操作指令与Apollo类似,网上文档也比较齐全,按照教程也可以很快就搭建一个服务器出来。Linux和Windows都可以搭建的服务器。
单机版搭建流程如下:
- 下载,解压
- 创建broker代理:artemis create xxx
- 启动代理:xxx/bin/artemis run
- 外网访问配置
修改bootstrap.xml
<web bind="xxx.xxx.xxx.xxx:61610" path="web">
<app url="activemq-branding" war="activemq-branding.war"/>
<app url="artemis-plugin" war="artemis-plugin.war"/>
<app url="console" war="console.war"/>
</web>修改jolokia-access.xml
<allow-origin>*</allow-origin>
5.远程JMX访问
出于安全原因,默认情况下,禁用对Artemis的远程JMX访问。Artemis有一个JMX代理,该代理允许远程访问JMX mBean。通过配置文件中的
connector元素进行management.xml配置<connector connector-port="1099" connector-host="xxx.xxx.xxx.xxx" rmi-registry-port="(如果不设则任意生成)" />注意:rmi注册表将选择一个要绑定的IP地址。如果系统上存在多个IP地址/ NIC,则可以通过在artemis.profile中添加以下内容来选择要使用的IP地址:
-Djava.rmi.server.hostname=localhost
5、阿里云MQTT消息队列服务
这个很好用,也不是很贵,因为开源的服务器虽然不要钱,但研究起来总是要费一番功夫的,而且还需要自己运维。如果在资金充足的情况下,直接使用现成的服务也是很好的。
IoT(Internet of things)物联网入门介绍的更多相关文章
- 【阿里云IoT+YF3300】12.阿里云IoT Studio入门介绍
阿里云IoT Studio是针对物联网场景提供的生产力工具,可覆盖各个物联网行业核心应用场景,帮助您高效经济地完成设备.服务及应用开发.物联网开发服务提供了移动可视化开发.Web可视化开发.服务开发与 ...
- (转)MQTT 入门介绍
原文链接:https://blog.csdn.net/qq_2887... MQTT 入门介绍 一.简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测 ...
- Azure Cosmos DB (一) 入门介绍
一,引言 今天是国庆.中秋双节房价的第三天,今天抽时间分享一篇关于使用Azure 提供的一项NoSql 服务-----Azure Cosmos DB.就有人问了,我听说过 MongoDB.Redis ...
- C# BackgroundWorker组件学习入门介绍
C# BackgroundWorker组件学习入门介绍 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能 ...
- 初识Hadoop入门介绍
初识hadoop入门介绍 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. < ...
- [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)
最近在使用Python爬取网页内容时,总是遇到JS临时加载.动态获取网页信息的困难.例如爬取CSDN下载资源评论.搜狐图片中的“原图”等,此时尝试学习Phantomjs和CasperJS来解决这个问题 ...
- [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍
前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...
- JavaScript入门介绍(二)
JavaScript入门介绍 [函数] 函数function 是Javascript的基础模块单元,用于代码的复用.信息影藏和组合调用. function a(){} 函数对象Function Lit ...
- JavaScript入门介绍(一)
JavaScript入门介绍 [经常使用的调试工具][w3school.com.cn在线编辑] [Chrome浏览器 开发调试工具]按F121.代码后台输出调试:console.log("t ...
- .NET 4 并行(多核)编程系列之一入门介绍
.NET 4 并行(多核)编程系列之一入门介绍 本系列文章将会对.NET 4中的并行编程技术(也称之为多核编程技术)以及应用作全面的介绍. 本篇文章的议题如下: 1. 并行编程和多线程编程的区别. ...
随机推荐
- [转帖]ARM内核全解析,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57
https://www.cnblogs.com/senior-engineer/p/8668723.html 前不久ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大 ...
- kafka的学习之一_带SASL鉴权的集群安装与启动
kafka的学习之一_带SASL鉴权的集群安装与启动 背景 想开始一段新的里程. 可能会比现在累, 可能会需要更多的学习和努力. kafka可能就是其中之一. 自己之前总是畏缩不前. 不想面对很多压力 ...
- [转帖]Linux系统awk命令详解
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 ...
- 申威CPU的简单知识梳理
摘要 最近有客户要用申威服务器了 自己很早之前简单测试过相关的CPU的服务器 但是感觉很多东西都不是很系统. 今天简单收集一下资料 希望对以后的工作有所帮助 申威CPU的创始 申威是解放军总参谋部第五 ...
- iperf的学习与部分网络状况的简要总结
背景 随着信息安全的越来越重要,公司要求进行数据备份. 部分客户现场交付之前需要进行性能压测,但是因为各种环境问题效果不是很理想. 前段时间疫情严重,经常需要居家办公,出现了很多网络相关的问题. 因为 ...
- 从DevOps状态报告看技术团队的文化建设
本文源自一次内部分享,借由此机会又把历年的DevOps状态报告翻看了一遍,其实大多数时候我们对于DevOps的理解都在于流程,工具,实践这些看得见摸得着的东西,但就像文末的几点思考所说的那样,我们一直 ...
- 【JS 逆向百例】猿人学系列 web 比赛第二题:js 混淆 - 动态 cookie,详细剖析
逆向目标 猿人学 - 反混淆刷题平台 Web 第二题:js 混淆,动态 cookie 目标:提取全部 5 页发布日热度的值,计算所有值的加和 主页:https://match.yuanrenxue.c ...
- RC4加密技术探究:优缺点与实战应用
引言 在网络安全领域,加密技术一直是保障数据安全的重要手段.Rivest Cipher 4(简称RC4)作为一种对称加密算法,自20世纪80年代以来广泛应用于各种网络安全协议中.本文将详细分析RC4加 ...
- 6.0 Python 使用函数装饰器
装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为"装饰器"(Decorator),装饰器的功能非常强大,装饰器一般接受一个函数对象 ...
- Centos8 配置IP地址与阿里YUM源
Centos8 系统中无法找到network.service网络服务,默认已经被nmcli替换了,所以修改方式略微变化,在/etc/sysconfig/network-scripts/里也看不到任何脚 ...