基于二维码的设备信息管理平台设计

        作为运维工程师,本人最近突发奇想,是否可以给设备上面张贴二维码,拿手机一扫描就可以查看设备的信息(安装信息、运行信息、故障状态、备件管理等等)。不耽误,按照自己的学识见解就构想一下怎么来实现这个信息管理平台。笔者旨在完成主要功能,功能完善和界面优化不在探讨范围内。

一、 整个系统架构以及用到的技术:

    1、硬件平台选择树莓派。因为在运行中,使用二维码扫描的频率还是很低的,没有并发量考虑,高可用也无需部署,一个树莓派完成所有功能。从运维角度出发,可以脚本设置每周定期重启一次。

    2、LAMP(Linux + Apache + MySQL/MariaDB + PHP),使用MariaDB 存储设备信息,后台用PHP语言来编译。笔者用树莓派搭建过此类网页,MariaDB 数据库也很稳定,没有出现过宕机情况。也可以使用嵌入式数据库sqlite,对于树莓派来说,压力可能小点。

    3、Bootstrap,简洁、直观、优雅,移动设备优先的前端开发框架,在浏览器或者微信客户端都可以自然的响应式访问。

    4、GET方法。一个服务器一个IP,那么很多设备信息就需要使用GET方法,在IP地址后面添加设备编号参数,传递给服务器,然后服务器根据参数定义返回不同的数据。比如 IP_address?id=34  。

    5、二维码生成器。使用网络上的二维码生成器,有很多请自行百度,将服务器IP地址加get方法带的参数生成二维码。比如将192.168.31.40?id=34 生成二维码。

    6、服务器 IP_address作为后台管理IP,即树莓派IP,可以对其数据库添加修改操作,完成设备信息管理。数据的后台管理可以使用开源后台来做,功能更加丰富。笔记目前使用Bootstrap的模态框来完成添加和修改删除操作,简单简洁,不花时间在复杂功能上,只实现功能就行。

    7、如果需要上公网的话,可推荐使用花生壳内网穿透,免费1M宽带足够。

    当然,也可以用开源的管理平台,再使用上面的第四点和第五点方法来完善整个平台,功能更加丰富。

二、数据库设计

    数据库方面建立5个字段的数据表,存入自增id、设备名称、安装地址、安装时间、功能描述,每个自增id为主键,对应一个物理设备。笔者只实现简单功能,故障状态、备件管理等信息需要另外添加数据表来完善。

基于二维码的设备信息管理平台设计_第1张图片

三、后台管理界面

基于二维码的设备信息管理平台设计_第2张图片
查看设备信息


基于二维码的设备信息管理平台设计_第3张图片
添加设备信息

四、二维码请求页面

    将http://192.168.31.40/datatable_alert/QRcode.php?id=4做成二维码,用手机扫描可以得到设备的信息。笔者目前只是把设备信息显示出来,界面显示没有做优化哈。如果把id=4换成id=5,那结果就显示UPS设备的信息了。然后将各个二维码张贴在设备上面,那么基于二维码的设备信息管理平台就实现了。


基于二维码的设备信息管理平台设计_第4张图片
二维码生成图
基于二维码的设备信息管理平台设计_第5张图片
手机微信扫描结果

参考代码:

    后台页面代码过于繁多,只把QRcode.php代码分享出来供参考,明白$id = $_GET["id"]; 语句的作用。

$id = $_GET["id"];

include "conn.php";

$sqlstr = "select * from device_status where id=$id";

$result = mysqli_query($conn, $sqlstr);

$myrow = mysqli_fetch_object($result);

echo "设备编号:".$myrow->id;

echo "
";

echo "设备名称:".$myrow->device_name;

echo "
";

echo "设备安装地址:".$myrow->installation_address;

echo "
";

echo "设备安装时间:".$myrow->installation_time;

echo "
";

echo "设备功能描述:".$myrow->functions;

mysqli_free_result($result);

mysqli_close($conn);

?>

你可能感兴趣的:(基于二维码的设备信息管理平台设计)