littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于C++的轻量级嵌入式网关服务器框架

项目简介

这是一个基于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】