树莓派4b入门之开发RFID系统—数据库(MariaDB)基础操作、RFID标签管理脚本
概述
本章介绍在树莓派上创建一个简单的数据库MariaDB(MariaDB是MySQL的分支,API和命令行等完全兼容MySQL,具备数据库管理系统的功能,可以代替MySQL进行更轻松的数据管理工作)的一些基础操作,同时通过创建数据库及数据表,编写实现RFID标签登记和进出库功能的脚本,使得系统可以与数据库进行交互实现数据查询。
一、创建数据库
首先准备并设置MYSQL数据库,在Pi上运行“sudo apt-get install mariadb-server”命令,使用apt-get将MYSQL安装到Raspberry Pi上。目的是在数据库中记录每个RFID标签的登记情况。
安装完MySQL服务器软件后,运行MYSQL附带的“secure installation”脚本。该脚本将指导完成MYSQL服务器的安全设置,比如为“root”用户设置密码。通过运行“sudo mysql_secure_installation”命令来运行此脚本,按照提示设置root用户的密码为123456,这个密码将用来访问MySQL服务器。
接下来会出现设置提示,在为根MYSQL服务器设置了新密码后,不需要再改变root密码,对该提示回答“N”。而对大多数提示回答“Y”,比如禁用对MYSQL服务器的root登录访问。
后面的选项中为了确保MySQL安装的安全,当系统提示回答“ Y”或“ N”时,应在所有提示中回答“Y ”,以防止他人轻易地访问服务器。
默认情况下,MariaDB使用UNIX_SOCKET作为身份验证方法,因此需要使用超级用户登录,访问MySQL服务器并开始对数据库进行更改。输入“sudo mysql -u root -p”命令,使用sudo进行登录。系统提示输入先前设置的“root”用户的密码,这里和Linux密码输入一样,输入时不会显示出文本。
接下来创建一个数据库,用于存储RFID标签设备的数据。
使用“CREATE DATABASE managementsystem;”命令创建一个MySQL数据库。在“CREATE DATABASE”命令后输入数据库的名称,此处命名为“managementsystem”意为“管理系统”。
接着运行“CREATE USER ‘registeradmin’@‘localhost’ IDENTIFIED BY ‘123456’;”命令来创建一个名为“registeradmin”的MySQL用户,意为“登记管理者”,密码设置为“123456”。在Python脚本中使用registeradmin从managementsystem中进行读取与分配。
最后通过运行“GRANT ALL PRIVILEGES ON managementsystem.* TO ‘registeradmin’@‘localhost’;”命令为“registeradmin”用户授予访问“managementsystem”数据库中任何表的权限,以便它可以与数据库进行交互。
二、创建表
在创建表之前,通过“use managementsystem;”命令,与“managementsystem”数据库进行交互。
“create table equipment”创建存储RFID标签数据的登记表。
对于登记表,为登记的每个RFID标签储存以下四段数据:
create table equipment(
id INT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE, --id为整数,用于跟踪当前行并自动增加;
rfid_uid VARCHAR(255) NOT NULL, --rfid_uid变量用于存储RFID标签的UID;
name VARCHAR(255) NOT NULL, --name变量存储RFID标签所属分类(如实验室)的名称;
created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, --created变量来记录登记设备的时间。
PRIMARY KEY ( id )
);
同样