历史数据库在OPCUA 应用中十分重要,例如OPCUA 网关和OPCUA 汇聚服务器中都需要历史数据库功能。但是open62541 协议栈中仅包含了基于内存的历史数据库,在实际应用中是不够的。本博文讨论open62541 中添加sqlite3 为基础的历史数据库若干问题。
借鉴
Github上有一些open62541 添加sqlite 的项目的项目,在CSDN 上
学习open62541 --- [58] 使用数据库存储历史数据
的博文中,介绍了如何将sqlite 改成Linux 下的实现。它的项目在:
GitHub - nicolasr75/open62541_sqlite:
他的项目对我帮助很大,但是,它的sqlite 不是加载到open62541 的Plugin 中,而是单独地添加在应用程序的项目中的。 他将c程序和h 文件合在了一起,只有使用sqlite 历史数据时才会被include 并且编译。所有没有什么问题。我的项目是将open62541 安装到系统目录中的,所以希望将sqlite 结合到open61541 程序中。下面记录我的实现过程:
open62541 历史数据库的接口
在open62541 包这加入sqlite3
安装sqlite3 库
sudo apt -y install libsqlite3-dev