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. 并行编程和多线程编程的区别. ...
随机推荐
- [转帖]TiDB-merge region相关问题
一.开启region merge # 控制 Region Merge 的 size 上限,当 Region Size 大于指定值时 PD 不会将其与相邻的 Region 合并 pd-ctl confi ...
- [转帖]Debian开启SSH
一.Debian开启SSH 参考链接: https://blog.csdn.net/zzpzheng/article/details/71170572 https://help.aliyun.com/ ...
- 使用TFS CI 又想保留服务运行状态的简单方法
最近公司使用TFS-CI的方式定期部署测试环境, 但是发现TFS-CI 运行完之后会清理agent所在的测试环境. 运行的进程都会被killed 1. 第一种方法: 本来第一反应 是使用systemd ...
- Redis7.0.7的简单安装与学习
Redis7.0.7的简单安装与学习 摘要 2022.12.18 世界杯决赛 另外是我感染奥密克戎第五天. 高烧已经没了,但是嗓子巨疼. 睡不着觉,肝胆学习一下最新的Redis7.0.7 第一部分安装 ...
- 记录一次RPC服务有损上线的分析过程
1. 问题背景 某应用在启动完提供JSF服务后,短时间内出现了大量的空指针异常. 分析日志,发现是服务依赖的藏经阁配置数据未加载完成导致.即所谓的有损上线或者是直接发布,当应用启动时,service还 ...
- 你也能成为“黑客”高手——趣谈Linux Shell编程语言
作者:京东零售 杜兴文 我们看过很多在电脑命令行敲一些命令并给观众展示很高科技的画面感的电影,比如<盗梦空间><操作系统革命><代码>等等, 再想想电影黑客帝国中的 ...
- 像elementui一样封装自定义按钮
<template> <div> <button @click.prevent="coverHandler" class="btn-btn& ...
- 数组查询includes
let arr1 = ['kk', 'jo', 'll']; if (arr1.includes("kk")) {//[ɪnˈkluːz] console.log("找到 ...
- Python 潮流周刊#12:Python 中如何调试死锁问题?
查看全文: https://pythoncat.top/posts/2023-07-22-weekly 文章&教程 1.使用 PyStack 调试 Python 中的崩溃和死锁 (英) 2.介 ...
- 基于密码学的身份混淆系统 -- idmix
简介 Hyperledger Fabric的Idemix是一个基于密码学的身份混淆系统,它提供了一种在区块链网络中实现用户隐私的方法.Idemix的主要特性是它的零知识证明系统,这是一种允许用户证明他 ...