简单的物联网系统:数据采集上传至MQTT服务器并存入MySQL数据库

您所在的位置:网站首页 关于爱的诗有哪些 简单的物联网系统:数据采集上传至MQTT服务器并存入MySQL数据库

简单的物联网系统:数据采集上传至MQTT服务器并存入MySQL数据库

#简单的物联网系统:数据采集上传至MQTT服务器并存入MySQL数据库| 来源: 网络整理| 查看: 265

实现物联网数据永久化的两种方法 法一:本地部署1、新建MySQL数据库及数据表,并使用Navicat 15 for MySQL软件连接数据库查看并管理表格内容2、使用Xshell软件在服务器安装EMQ3、在EMQ Dashboard设置资源为MySQL并连接、设置规划使接收的数据存入MySQL4、数据采集(硬件部分) 法二:云部署1、宝塔新建MySQL数据库及数据表2、在EMQ X Cloud上部署,然后设置资源为MySQL并连接、设置规划使接收的数据存入MySQL3、数据采集(硬件部分) 结果展示

法一:本地部署

使用本方法的前提是已有云服务器,可以通过阿里云、腾讯云等来购买属于自己的云服务器。

1、新建MySQL数据库及数据表,并使用Navicat 15 for MySQL软件连接数据库查看并管理表格内容

1.1、在宝塔新建MySQL数据库及数据表

在SQL Server、MySQL、Oracle等数据库中,我选择了MySQL。

MySQL优点: 1)体积小、速度快、总体拥有成本低,开源、支持多种操作系统。 2)是开源数据库,提供的接口支持多种语言连接操作。 3)MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MySql能很容易充分利用CPU。 4)MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证。 5)支持ODBC for Windows, 支持所有的ODBC 2.5函数和其他许多函数, 可以用Access连接MySql服务器, 使得应用被扩展。 6)支持大型的数据库, 可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,可以针对不同的应用进行相应的修改。 7)拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。 8)MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。

MySQL缺点: 1)不支持热备份。 2)MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。 3)没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制。 4)MySQL的价格随平台和安装方式变化。Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。Unix或Linux自行安装 免费 、Unix或Linux 第三方安装收费。

1)创建数据库; 登录宝塔,点击【数据库】→【添加数据库】,填写相关信息→【提交】 在这里插入图片描述 2)创建表格。 点击新建的数据库的【管理】→在【新建数据表】下,填写数据表的名字及字段数,点击【执行】→为每个字段建立名字、创建数据格式等→点击【保存】 在这里插入图片描述 在这里插入图片描述

1.2、使用Navicat 15 for MySQL软件连接数据库查看并管理表格内容

软件下载链接: https://www.jb51.net/database/710931.html

Navicat for MySQL 15是Na一款针对MySQL数据库而开发的第三方mysql管理工具,该软件可以用于 MySQL 数据库服务器版本 3.21 或以上的和 MariaDB 5.1 或以上。能够同时连接 MySQL 和 MariaDB 数据库,并与 Amazon RDS、Amazon Aurora、Oracle Cloud、Microsoft Azure、阿里云、腾讯云和华为云等云数据库兼容,支持无缝数据迁移、简单的SQL编辑、智能数据库设计、高级安全连接等功能,为数据库管理、开发和维护提供了一款直观而强大的图形界面,是管理和开发 MySQL 或 MariaDB 的理想解决方案。与上一版本相比,Navicat for MySQL 15功能更为强大,新增加了全新的数据传输方法,可用于自定义字段和指定要传输的行数;同时设计了一种全新的机制来改进sql创建工具的用户体验以及查询编写的整体效率;还有支持深色模式,可以更好的保护用户的眼睛安全;另外提供模型和数据库之间区别的全貌,并生成脚本以更新目标数据库。

点击【连接】下的【MySQL…】,填写相关信息,主机名填写自己服务器IP,端口为3306,若没有开放端口,需先开放端口;用户名和密码填写的是数据库的。如下图所示: 在这里插入图片描述

2、使用Xshell软件在服务器安装EMQ

2.1、在EMQ X Broker官网的产品下的EMQ X Enterprise上获取自己相应的服务器版本安装命令

EMQ X Broker官网: https://www.emqx.cn/products/broker

我的是CentOS7.5版本。 在这里插入图片描述 在这里插入图片描述

2.2、在Xshell软件下登录服务器,进行emqx的安装 Xshell请参考我另一篇博客: https://blog.csdn.net/weixin_45616775/article/details/109586078 按照命令进行逐步安装即可,注意是否报错。

3、在EMQ Dashboard设置资源为MySQL并连接、设置规划使接收的数据存入MySQL

3.1、登录EMQ Dashboard(使用提供的默认的账号登录)

地址:ip:18083

在这里插入图片描述

3.2、设置资源为MySQL并连接 点击【资源】→选择MySQL→填写相关信息后点击【测试连接】→连接成功后点击【确定】 在这里插入图片描述 在这里插入图片描述

3.3、设置规划使接收的数据存入MySQL 1)相关SQL语句讲解; SELECT payload.xuhao as xuhao,payload.tem as tem,payload.hum as hum:payload可以理解为一个消息载体对象;.xuhao(.tem;.hum)是对其属性的引用;as是给该变量或属性起别名。 FROM “AAA”:topic名字,表示筛选哪个主题消息。 WHERE topic =~ ‘AAA’:表示条件,满足该条件才会执行相应动作。 在这里插入图片描述

2)SQL测试; 打开SQL测试,注意topic是否正确,payload相当于赋值测试。 在这里插入图片描述

3)测试输出; 点击SQL测试,可以看见测试输出结果。 在这里插入图片描述

4)新增动作。 点击【添加动作】→在动作类型里选择【保存数据到MySQL】→在使用资源里选择刚刚建立的资源→在SQL模板里填写SQL语句,使筛选的数据填入数据库。

注意:下图中是数据库插入语句。B1是数据表名称,xuhao、tem、hum是各表头名称。

在这里插入图片描述

4、数据采集(硬件部分)

采集温湿度的数据。完整代码如下: https://download.csdn.net/download/weixin_45616775/17430719?spm=1001.2014.3001.5501

法二:云部署

使用本方法无需拥有云服务器,通过EMQ X Cloud提供的免费试用可以支持学习使用,而且不像本地部署需要安装相关环境,适合初学者。

1、宝塔新建MySQL数据库及数据表

同上。

2、在EMQ X Cloud上部署,然后设置资源为MySQL并连接、设置规划使接收的数据存入MySQL

2.1、登录EMQ X Cloud,点击【部署】进行云服务器部署,填写相关信息,如果选择的是免费使用,若当前同一网段申请人数过多可能部署失败,可以选择稍后或换个网络进行部署。

EMQ X Cloud地址: https://cloud.emqx.cn/?ivk_sa=1024320u

部署成功如下所示: 在这里插入图片描述

2.2、设置资源为MySQL并连接 同上。

2.3、设置规划使接收的数据存入MySQL 同上。

3、数据采集(硬件部分)

同上。

结果展示

1)Arduino串口展示 在这里插入图片描述

2)宝塔查看数据库展示 在这里插入图片描述

3)Navicat 15 for MySQL软件查看数据库展示 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3