Rookie engineer 2025-02-24 11:45 采纳率: 0%
浏览 26

找一个会物联网平台发送短信的问题

找一个会物联网平台发送短信的问题
我想做一个物联网的项目,用于给家里装一个远程报警器,物联网模块是esp8266,实现的功能是当收到报警信息(大概率是esp8266下线)时,阿里云物联网平台能够发送短信提醒我,目前我已经开通了短信服务,模版也已经申请,但是物联网平台只能支持模块下线后钉钉短信通知,而且延迟贼高,有没有人能解决我的问题,有偿!

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-02-24 11:45
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    物联网平台发送短信问题

    你想实现一个物联网项目,使用 ESP8266 作为物联网模块,实现远程报警器的功能,当 ESP8266 下线时,阿里云物联网平台能够发送短信。

    解决方案:

    1. 使用阿里云物联网平台的 MQTT 服务, ESP8266 可以通过 MQTT protocol 发送报警信息到阿里云平台。
    2. 在阿里云平台上设置一个规则,监控 ESP8266 的下线事件,当下线事件发生时,触发规则,发送短信。

    核心代码:

    #include <WiFi.h>
    #include <PubSubClient.h>
    
    // 阿里云物联网平台的 MQTT 服务
    const char* mqttServer = "your-mqtt-server";
    const char* mqttTopic = "your-mqtt-topic";
    
    WiFiClient espClient;
    PubSubClient client(espClient);
    
    void setup() {
      Serial.begin(115200);
      WiFi.begin("your-wifi-ssid", "your-wifi-password");
      while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("Connecting to WiFi...");
      }
      Serial.println("Connected to WiFi");
      client.setServer(mqttServer, 1883);
    }
    
    void loop() {
      if (!client.connected()) {
        client.connect("your-client-id");
      }
      client.loop();
      if (WiFi.status() != WL_CONNECTED) {
        // 发送报警信息到阿里云平台
        client.publish(mqttTopic, "offline");
      }
    }
    

    在上面的代码中,我们使用 PubSubClient 库连接到阿里云物联网平台的 MQTT 服务,并在 ESP8266 下线时发送报警信息到阿里云平台。

    在阿里云平台上,您需要设置一个规则,监控 ESP8266 的下线事件,当下线事件发生时,触发规则,发送短信。

    请注意,您需要将阿里云物联网平台的 MQTT 服务、topic、client ID 等信息替换为实际的值。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月24日