搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库
云服务器基础搭建
Ubuntu常用命令大全 https://blog.csdn.net/comway_Li/article/details/81147427
注册云服务器
跳转之前写的博客
如:搭建阿里云Windows版服务器+建立MySQL数据库+本地Navicat访问数据库(增删改查)——详细流程 —— 博客
这篇博客讲述 如何在Linux系统 —— Ubuntu系统搭建物联网云平台 数据库
进入云服务器
XShell简介
XShell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNET协议。
XShell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。由于在虚拟机中操作Linux系统需要频繁切换鼠标,缺乏个性化设置,不支持中文显示,所以我们将使用XShell来连接并使用安装好Linux系统的虚拟机
百度链接 Xshell5 链接:https://pan.baidu.com/s/1o4hOCeT3E6jb9UsqsA9UMg 提取码:ljxf
输入公网IP地址
已进入Ubuntu系统 root用户权限
部署EMQ
面向物联网的现代数据基础设施
通过云边端统一的物联网数据「连接、移动、处理和分析」,助力构建「面向未来」的物联网解决方案,服务企业数字化、实时化、智能化转型升级
产品部署建议 Linux 服务器,不推荐 Windows 服务器
通过 Docker 运行 (包含简单的 docker-compose 集群)
部署docker
部署EMQ,首先要在服务器中部署docker
Docker作为一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中
点击此处 Ubuntu 14.04 16.04 (使用apt-get进行安装)
点击此处 Ubuntu 18.04 安装docker
Docker CE 镜像源站
使用官方安装脚本自动安装 (仅适用于公网环境)
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
注意:其他注意事项在下面的注释中
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]
# 通过经典网络、VPC网络内网安装时,用以下命令替换Step 2、Step 3中的命令
# 经典网络:
# curl -fsSL http://mirrors.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# VPC网络:
# curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# sudo add-apt-repository "deb [arch=amd64] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
输入 docker,出现下方内容说明安装部署成功
接下来 ,我们获取docker镜像 启动docker容器
通过 Docker 运行 (包含简单的 docker-compose 集群)
#运行单个容器
获取 docker 镜像
$ docker pull emqx/emqx:v4.0.0
启动 docker 容器
$ docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v4.0.0
已成功启动EMQ
现在进入EMQ服务器
本机浏览器输入公网IP地址 * . * . * . * :18083
都是默认的
用户名:admin
密码:public一脸英文直接看懵比😵 学习 —— EMQ 管理控制台功能简介
主题与语言切换
Dashboard 界面与展示上提供暗色 (默认)、明亮两种主题风格,中文、英文(默认)两种语言支持。用户可在 ADMIN (系统) -> Settings (设置) 中进行切换设置。
千万记住要到云服务器 安全组 添加端口号18083
亲试,不然进不去
物联网平台Node-RED
Node-RED背景介绍
• Node-Red是IBM公司开发的一个可视化的编程工具。它允许程序员通过组合各部件来编写应用程序。这些部件可以是硬件设备(如:Arduino板子)、Web API(如:WebSocket in和WebSocket out)、功能函数(如:range)或者在线服务(如:email)。
• Node-Red提供基于网页的编程环境。通过拖拽已定义node到工作区并用线连接node创建数据流来实现编程。程序员通过点击‘Deploy’按钮实现一键保存并执行。程序以JSON字符串的格式保存,方便用户分享、修改。
• Node-Red基于Node.js,它的执行模型和Node.js一样,也是事件驱动非阻塞的。理论上,Node.js的所有模块都可以被封装成Node-Red的一个或几个node。(Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Node.js 的包管理器 npm是全球最大的开源库生态系统。)
在本地运行 Node-RED文档
继续使用 docker
docker run -it -p 1880:1880 --name mynodered nodered/node-red
重新启动node-red
docker start mynodered
已成功启动Node-RED
现在进入Node-RED服务器
本机浏览器输入公网IP地址 * . * . * . * :1880
如果进不去 云服务器 安全组 添加1880端口
学习 —— 物联网平台Node-RED
MQTT.fx的安装和使用
MQTT简介
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的通信协议。MQTT应用 IBM和St. Jude医疗中心通过MQTT开发了一套Merlin系统,该系统使用了用于家庭保健的传感器。St. Jude医疗中心设计了一个叫做Merlin@home的心脏装置,这种无线发射器可以用来监控那些已经植入复律-除颤器和起搏器(两者都是基本的传感器)的心脏病人。
该产品利用MQTT把病人的即时更新信息传给医生/医院,然后医院进行保存。这样的话,病人就不用亲自去医院检查心脏仪器了,医生可以随时查看病人的数据,给出建议,病人在家里就可以自行检查。
通过MQTT协议,目前已经扩展出了数十个MQTT服务器端程序,可以通过PHP,JAVA,Python,C,C#等系统语言来向MQTT发送相关消息。
此外,国内很多企业都广泛使用MQTT作为Android手机客户端与服务器端推送消息的协议。随着移动互联网的发展,MQTT由于开放源代码,耗电量小等特点,将会在移动消息推送领域会有更多的贡献,在物联网领域,传感器与服务器的通信,信息的收集,MQTT都可以作为考虑的方案之一。在未来MQTT会进入到我们生活的各各方面。
如果需要下载MQTT服务器端,可以直接去MQTT官方网站点击software进行下载MQTT协议衍生出来的各个不同版本。MQTT特点编辑
MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;
对负载内容屏蔽的消息传输;
使用 TCP/IP 提供网络连接;
有三种消息发布服务质量:
至多一次 消息发布完全依赖底层 TCP/IP网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送.
至少一次 确保消息到达,但消息重复可能会发生。
只有一次 确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量; 使用 Last Will 和 Testament
特性通知有关各方客户端异常中断的机制
连接实验:
安装MySQL数据库
1、 拉取 MySQL 镜像
这里我们拉取官方的最新版本的镜像:
$ docker pull mysql:latest
2、查看本地镜像
使用以下命令来查看是否已安装了 mysql:
$ docker images
3、运行容器
安装完成后,我们可以使用以下命令来运行 mysql 容器:PASSWORD可自己随意填写
$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
参数说明:
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
4、安装成功
通过 docker ps 命令查看是否安装成功:
5、进入容器 其中mysqldb为docker ps中查看的id号(注意)
sudo docker exec -it mysqldb /bin/bash
6、进入MySQL
mysql -uroot -p
7、连接权限数据库
use mysql;
8、列出 host,user,plugin
SELECT Host,User,plugin from user;
root 的 plugin一定要改 按照下方两条语句依次执行。不改navicat报错 2059
9、修改密码永不过期
ALTER USER 'root'@'%' IDENTIFIED BY ' password' PASSWORD EXPIRE NEVER;
10、修改密码并指定为 mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'123456';
11、刷新权限
flush privileges;
完成
Navicat for MySQL —— 在线数据库管理工具
附上百度云链接 链接:https://pan.baidu.com/s/16wPC2kaS5uZFt4n4xnAgvQ 提取码:pwwm
用户名:root
密码:123456