挑战生产现场物联网 #05 ~ 数据库的安装和设置 ~

首先

要实现来自另一台计算机对MariaDB的远程访问,需要创建外部访问用户、授予权限,并允许客户端PC的IP地址。由于缺少这部分内容,我在2-2款中进行了补充。

由于可以使用I2C连接的传感器获取数据,并且已经有了粗略的整体系统构想,所以我们要确定数据的存储方法。
浏览了一些网络文章等,我认为流行且酷的做法是利用云平台进行数据收集和汇总。但是,由于各种原因,例如“云平台有点可怕”、“没有使用云平台的经费”、“不可能把数据带到外部”,“没有人能够判断是否可以使用外部服务器”,在公司内部想要构建一个紧凑的系统的情况下,可以在树莓派上构建一个用于传感器控制的数据库。
(如果情况允许的话,想要尝试流行且酷的云平台IoT,我希望可以使用这样或那样的工具)

如果专业人士看到这样一个不可靠的树莓派积累数据,可能会对此发怒!但是首先,我希望您能理解这是为了简便体验物联网而创造的工具。即使有一些独特的人想要尝试类似的系统,但请记住这只是一个简易系统,旨在体验物联网,可能存在数据丢失的危险,请予以理解。

image.png

此外,关于数据库的初始设置等,虽然会进行说明,但是在本次任务中,我是一个完全初学者,可能会犯一些错误或者使用不当的方法。关于数据库的使用方法,我会在其他的解释网站或者书籍中更加详细地学习,并且希望您能够友善地指出本文中的错误等。

2. 安装MariaDB。

前述过轻轻涉及了一下,我们所使用的数据库软件是MariaDB,这是一个与MySQL兼容的免费软件。请安装它,并进行所需的数据库设置。

2-1. 安装方法

MariaDB的安装可以在终端上进行。

随着Raspberry Pi OS的升级,MariaDB安装时的配置方法已经发生了变化。在这篇文章中进行了介绍。

请使用以下命令进行安装。

$ sudo apt-get install mariadb-server

允许远程登录

MariaDB的配置将如下一项所述,在远程环境中进行,因此必须配置以使其可以通过网络访问。
关于配置的详细说明可在此页面上找到,请按照该页面上的说明进行配置。

只需要写下必要的命令作为备忘录。
※ 请注意操作方法,因为安全性未被考虑,系统处于自由访问状态。

$ sudo mysql -u root
MariaDB [(none)]> USE mysql;
MariaDB [mysql]> UPDATE user SET plugin='' WHERE User='root';
MariaDB [mysql]> exit
$ sudo systemctl restart mysql

$ mysql -u root
MariaDB [(none)]> update mysql.user set password=password('パスワード') where user = 'root';
MariaDB [(none)]> exit

重新开始。无需密码。

$ mysql -u root -p
Enter password:
MariaDB [(none)]> CREATE USER 'root'@'%' IDENTIFIED BY 'パスワード';   //外部からのアクセス用ユーザー作成(追記)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';          //ユーザーにすべての権限を付与(追記)

MariaDB [(none)]> exit

$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf    //テキストエディタで設定ファイル編集
#bind-address=127.0.0.0  //この行をコメントアウト       //クライアントPCをIPアドレスで規制しない場合はコメントアウト

$ sudo systemctl restart mysql

※用户名可以设为root,但也可以是其他用户名。
※请将密码更改为任意密码。

如何创建用户参考
授予权限的方法参考

关于数据库开发环境的情况

我們將在樹莓派上使用MariaDB資料庫,但是在樹莓派上建立資料庫相當麻煩。因此,在建立資料庫時,我們將將樹莓派連接到LAN,並從Windows10電腦遠程進行構建。

关于HeidiSQL的问题是什么?

HeidiSQL是一款在Win10上运行的用于管理数据库的GUI软件。
当允许远程登录时,可以使用被称为SQL的语言来控制MariaDB,但每次都使用SQL是相当痛苦的。
使用HeidiSQL可以通过图形界面构建和设置数据库,并查看和导出已存储的数据,非常方便。事实上,如果没有GUI工具,我感觉无法处理数据库。
虽然也有一些可以在树莓派上使用的GUI工具,但在尝试了几种之后,发现HeidiSQL是最易用的,所以今后的说明将主要使用HeidiSQL。
HeidiSQL的缺点是无法在树莓派上运行,但如果在同一局域网中连接,远程访问也很容易。
※虽然可以使用在Linux上运行Win10应用程序的工具来使用HeidiSQL,但我还没有尝试过。如果成功运行了,我会报告的。

安装HeidiSQL软件。

您可以从这个官方网站下载HeidiSQL. 虽然安装过程应该没有什么问题,但如果有不明白的地方,可以参考这个网站上详细的说明。

创建数据库

如果成功安装了HeidiSQL,那么接下来我们需要连接到树莓派并创建数据库。
## 4-1. 确认树莓派的IP地址
当你将鼠标悬停在树莓派屏幕顶部的网络连接图标上时,会显示IP地址。
或者你可以打开树莓派的终端,并使用ifconfig命令确认连接状态。
在inet后面的显示就是IP地址。

使用四減二去連接到MariaDB。

image.png

建立一个数据库。 .)

image.png
image.png

创建表和列

image.png
image.png

更改列的设置为4-2。

image.png

设定按键为4-3。

image.png
image.png

点击“保存”按钮后,成功创建了表格。

总结

虽然赶时间,但我已经在树莓派上创建了数据库。
即使测量项目增加了,只要按照相同的步骤添加列和表,就可以记录下来。
起初可能会感到困惑,但是要不断地实践来熟悉。

6. 额外附赠…关于树莓派数据库的损坏

如前所述,使用树莓派配置数据库存在数据损坏的风险。对于使用树莓派进行物联网系统开发而言,这是一个常见问题,但主要存储器microSD卡数据损坏的事故较多。

在个人观点中,这类事故的最大原因是在向microSD卡写入数据时,电源突然中断。比如线路松动、断电、工厂停电或瞬间停电等情况,会导致在写入数据时电源中断,进而导致microSD卡数据损坏的情况。

对于这个问题,以下两种方法都是有效的防范措施:
1. 在ROM模式下使用microSD卡。
2. 使用UPS设备,在电源中断时进行安全关机。

由于我们需要将其作为数据库使用,无法使用ROM模式来使用microSD卡,所以我们需要采取第二种防范措施。另外,在将来的机会里,我希望能够介绍一下专为树莓派而设计的UPS设备,建议大家作为数据损坏的防范措施来采购。

顺便提一下,我目前在没有任何保护措施的情况下运行着,勉强撑过去了…我收到了自制UPS电路板,但还没有着手处理它…

广告
将在 10 秒后关闭
bannerAds