前言

这篇笔记包含两个部分,第一部分使用MQTT实现远程接收发送命令,第二部分使用UDP/IP的方式实现远程发送命令。

前置准备工作

如何使用第三方 C/C++ 库

由于acl编译和使用的文档已经八年没更新,所以这里用acl示例

平台支持及编译

整个工程目前支持 Linux(AS4,5,6, CS4,5,6, ubuntu), Windows, MacOS, FreeBSD, Solaris,Android,IOS。

Linux/UNIX: 编译器为 gcc,直接在终端命令行方式下分别进入 lib_acl/lib_protocol/lib_acl_cpp 目录下,运行 make 命令即可。

Windows: 可以用 VC2003/VC2008/VC2010/VC2012/vc2013/vc2015/vc2017/vc2019 进行编译。

MacOS:可使用 xcode 进行编译。

同时支持 CMake 跨平台编译方式

当在 WIN32 环境下使用动态库时有几点需要注意:

使用 lib_acl 的动态库时,需要在用户的工程预定义: ACL_DLL;

使用 lib_protocol 动态库中的 HTTP 库或 ICMP 库时,需要在工程中预定义 HTTP_DLL 或 ICMP_DLL;

使用 lib_acl_cpp 的动态库时,需要在工程中预定义 ACL_CPP_DLL,如果您使用用 VC2003 编译环境则还需要预定义 VC2003;

详细编译过程,参见:acl 库的编译及使用

Windows

acl编译和使用-Windows

首先将acl直接clone下来。

就像这样



然后我们打开vc2022,不是2022也行,只要你是2003-2022之间的版本都可以,点击打开项目或解决方案,然后到你clone下来的acl目录里,选择对应的.sln,比方说我的是vc2022,就选择acl_cpp_vc2022.sln。

就像这样



然后按Ctrl+Shift+B或者点击上方菜单栏的生成,再次点击生成解决方案,最后在acl的根目录里的debug就能看到生成的库了。

参考资料:
正点原子ESP32S3-Box官网资料
正点原子ESP32S3视频教程
ESP-IDF官方文档
LVGL官方文档
廖雪峰Python教程
黑马程序员C/C++教程
MQTT官方文档
C/C++ 第三方库:
boost
acl