MQTTHandler.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef MQTT_HANDLER_H
  2. #define MQTT_HANDLER_H
  3. #include <WiFi.h>
  4. #include <PubSubClient.h>
  5. #include <Preferences.h> // 用于永久存储 targetDeviceID
  6. // 声明 targetDeviceID 为外部变量
  7. extern String targetDeviceID;
  8. extern String serverAddress;
  9. extern uint16_t serverPort;
  10. extern String deviceID;
  11. extern WiFiClient espClient;
  12. extern PubSubClient client;
  13. extern const char* mqttUser;
  14. extern const char* mqttPassword;
  15. // 声明 GPIO3_PIN
  16. #define GPIO3_PIN 3 // 定义 GPIO3 引脚
  17. void mqttSetup();
  18. bool connectMQTT();
  19. void mqttLoop();
  20. void mqttCallback(char* topic, byte* payload, unsigned int length);
  21. void sendMQTTMessage(const char* message);
  22. void sendRelayControlMessage(const char* state);
  23. String extractTargetDeviceIDFromMessage(const String& message);
  24. void handleGpio18State(); // 添加 handleGpio18State 的声明
  25. void handleRelayControl(); //开关继电器
  26. // 声明 addBlinkTask 为带参数的函数
  27. void addBlinkTask(int blinkCount); // 添加闪烁任务,接受一个 int 参数
  28. #endif