我正在尝试创建一个网关,该网关提供RESTful接口,用于向通过蓝牙低功耗(BLE)进行通信的设备发送/接收消息。基本上它将GATT转换为HTTP,反之亦然。
基本架构如下:
BLE Dongle连接到Linux计算机(例如Raspberry Pi)C程序打开与BLE Dongle的串行连接以发送/接收/处理消息。它使用TCP / IP套接字通过IPC接收来自C ++应用程序的请求,并使用此套接字将来自BLE设备(fe传感器)的回复转发到C ++应用程序(作为每个连接的BLE加密狗的多线程服务器)。
C ++应用程序保存此信息(例如发现的设备,连接的设备及其数据),并实现一个接口来控制基本的蓝牙低功耗功能,如Discovery,Connect ..等。
客户端可以将HTTP请求(GET / POST)发送到使用FastCGI的Nginx Web服务器。我想在此FastCGI应用程序中解析请求,然后与C ++应用程序通信以执行命令
f.e。客户端打开URI xyz / discover发送GET请求。 FastCGI应用程序解析此请求并调用C ++应用程序的Discover功能以启动蓝牙低功耗发现。
我的问题是如何在C ++应用程序和FastCGI C ++应用程序之间进行最佳通信。
我的想法:
因为我从未真正使用过FastCGI和nginx,所以我只是在学习。一些意见,我将不胜感激。谢谢!