智能网关作为底层设备与云平台沟通的桥梁,不仅能够将采集的数据进行永久化存储(支持mysql,pgsql 等数据库),还可以通过人工智能算法提取数据价值,将结果上传到站长素材网、thingsboard、jetlinks 以及 thingscloud 等物联网平台,相关技术广泛应用于工业设备监测,气象监测,工业 4.0 以及医疗等场景。近来,我们与ucla同学进行合作,针对医疗场景的全真互联进行了初步探索,具体如下所示:
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节点实现数据库的增删改查操作,进而将网关采集的数据进行永久化,具体流程如下图所示:
我们在前述推文中针对步态识别、工业设备寿命预测等场景,编写了多种人工智能算法,本推文主要介绍如何将该算法部署到网关硬件,具体如下图所示:
我们采用node-red自带的exec节点调用算法识别程序,过程中需要设置入口参数,并将python文件的路径赋于exec节点,最终对数据进行预处理。(过程中采用的算法可以参考前述推文)
1.需要测试端口连通状态,具体命令如下所示:(未能顺利连接时,检查防火墙状态)
telnet 192.168.0.112 1880 #测试网络状态
2.node-red陷入死循环,占用大量的cpu资源,并且127.0.0.1:1880端口未能显示,具体如下图所示:
解决问题的过程中,我们需要关闭node-red进程,采用node-red --safe命令进行重启。
killall node #结束进程
node-red --safe #重启命令