项目简介
这是一个基于C++的轻量级嵌入式网关服务器框架,旨在为嵌入式系统提供高效、可靠的网络通信和数据处理能力。项目包含丰富功能模块,适用于需处理复杂网络通信和数据管理的嵌入式应用场景。
项目的主要特性和功能
基础库
- 日志读写模块:支持日志读写,便于系统调试和监控。
- 文件配置模块:提供文件配置管理,支持配置文件读写。
- 健康检测模块:用于系统健康状态检测和报告。
- 线程模块:提供多线程支持,增强并发处理能力。
- 定时器模块:支持定时任务调度。
- 文件模块:提供文件操作功能,如读写、删除等。
- 命令行参数模块:支持命令行参数解析和管理。
数据库
- SQLite3数据库:提供轻量级数据库支持,适用于嵌入式环境。
通讯库
- AMQP客户端:支持AMQP协议客户端通信。
- HTTP客户端和服务端:提供HTTP协议的客户端和服务端支持。
- TCP客户端和服务端:支持TCP协议的客户端和服务端通信。
- MQTT客户端:提供MQTT协议的客户端支持。
- Modbus客户端:支持Modbus协议的客户端通信。
- 串口客户端:提供串口通信支持。
- 本地套接字服务端:支持本地套接字服务端通信。
协议库
- ldbd二进制协议:支持ldbd二进制协议的解析和处理。
- zabbix二进制协议:支持zabbix二进制协议的解析和处理。
工具库
- base64:提供base64编码和解码功能。
- json:支持JSON数据的解析和生成。
- uci:提供UCI配置文件的解析和管理功能。
安装使用步骤
环境准备
- 操作系统:Ubuntu 18.04
- 安装依赖库:
bash sudo apt install libuv1-dev libmosquittopp-dev libmodbus-dev libsqlite3-dev
安装UCI
bash
git clone http://git.nbd.name/luci2/libubox.git
git clone https://git.openwrt.org/project/uci.git
cmake -DBUILD_LUA=off
make install
- 新增依赖库路径:编辑/etc/ld.so.conf
文件,在最后一行新增/usr/local/lib
,然后执行ldconfig
生效。
获取3rdpart代码及编译
bash
git submodule update --init --recursive
make AMQP-CPP -j8
编译项目
bash
make -j8
编译测试用例
bash
make tests -j8
生成库文件
- 生成静态库文件:
libldsdk.a
- 生成动态库文件:
libld_sdk.so
使用
参考测试用例进行使用。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】