首页 >编程 >正文

智能网关—数据永久化

背景介绍

智能网关作为底层设备与云平台沟通的桥梁,不仅能够将采集的数据进行永久化存储(支持mysql,pgsql 等数据库),还可以通过人工智能算法提取数据价值,将结果上传到腾讯云、thingsboard、jetlinks 以及 thingscloud 等物联网平台,相关技术广泛应用于工业设备监测,气象监测,工业 4.0 以及医疗等场景。近来,我们与ucla同学进行合作,针对医疗场景的全真互联进行了初步探索,具体如下所示:

智能网关—数据永久化

图1 智能网关(算法部署的硬件平台)

数据存储

MySQL作为一种开源关系型数据库,具有体积小、速度快等优势,在社会上具有广泛的应用。项目中我们将网关采集的数据转存到MySQL数据库,具体过程为:1. 在腾讯云ECS服务器中安装mysql数据库;2. 创建远程连接账户new_user;3. 创建node-red数据表,整个过程中用的程序代码如下所示:

sudo apt update
sudo apt install mysql-server

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
sudo mysql_secure_installation
sudo systemctl status mysql #检查mysql服务状态

mysql -u root -p #以root角色登录MySQL

GRANT ALL PRIVILEGES ON *.* TO root@'localhost';
CREATE USER new_user@'%' IDENTIFIED BY 'your_password';#远程连接账户
GRANT ALL PRIVILEGES ON *.* TO new_user@'%' ;

show schemas;
show tables in mysql;
SELECT User,Host FROM user; #查看mysql用户;
show grants for new_user; #查看用户权限

create database nodered;
use nodered;

create table test(
id int ,    
address varchar(20)
);

service mysql start
# 停止MySQL服务
service mysql stop
# 重启MySQL服务
service mysql restart

我们在node-red中安装node-red-node-mysql节点,通过模块自带的function节点实现数据库的增删改查操作,进而将网关采集的数据进行永久化,具体流程如下图所示:

图2 智能网关及数据永久化

智能算法

我们在前述推文中针对步态识别工业设备寿命预测等场景,编写了多种人工智能算法,本推文主要介绍如何将该算法部署到网关硬件,具体如下图所示:

图3 智能算法在网关内的部署实例

我们采用node-red自带的exec节点调用算法识别程序,过程中需要设置入口参数,并将python文件的路径赋于exec节点,最终对数据进行预处理。(过程中采用的算法可以参考前述推文)

问题及解决方案:

1.需要测试端口连通状态,具体命令如下所示:(未能顺利连接时,检查防火墙状态)

telnet 192.168.0.112 1880 #测试网络状态

2.node-red陷入死循环,占用大量的cpu资源,并且127.0.0.1:1880端口未能显示,具体如下图所示:

图4 node-red 资源占用情况.

解决问题的过程中,我们需要关闭node-red进程,采用node-red --safe命令进行重启。

killall node #结束进程
node-red  --safe #重启命令

网友评论

验证码 换一张
取 消
暂无评论...
三日内热门评论文章
关键词
为您推荐
  • 相关阅读
  • 业界资讯
  • 手机通讯
  • 电脑办公
  • 新奇数码
  • 软件游戏
  • 科学探索