#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>

const char* ssid = '7-4';
const char* password = '120712071207';
const char* host = 'qyapi.weixin.qq.com';
const int httpsPort = 443;
const char* fingerprint = 'C4 4C 16 4B 87 1E 3E F3 E1 23 C9 23 87 8F 71 0C 04 1E 50 74';

void setup() {
  Serial.begin(115200);
  delay(10);

  // We start by connecting to a WiFi network
  Serial.println();
  Serial.print('Connecting to ');
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print('.');
  }

  Serial.println();
  Serial.println('WiFi connected');
  Serial.println('IP address: ');
  Serial.println(WiFi.localIP());
}

void loop() {
  WiFiClientSecure client;
  Serial.print('connecting to ');
  Serial.println(host);

  if (!client.connect(host, httpsPort)) {
    Serial.println('connection failed');
    return;
  }

  if (client.verify(fingerprint, host)) {
    Serial.println('certificate matches');
  } else {
    Serial.println('certificate doesn't match');
  }

  String url = '/cgi-bin/message/send?access_token=ACCESS_TOKEN';
  String data = '{"touser":"@all","toparty":"@al","totag":"@al","msgtype":"text","agentid":1000002,"text":{"content":"有漏水请尽快处理"},"safe":0,"enable_id_trans":0,"enable_duplicate_check":0,"duplicate_check_interval":1800}';
  String postRequest = 'POST ' + url + ' HTTP/1.1
' +
                       'Host: ' + host + '
' +
                       'User-Agent: Mozilla/5.0
' +
                       'Content-Type: application/json
' +
                       'Content-Length: ' + data.length() + '
' +
                       'Connection: close

' +
                       data + '
';

  client.print(postRequest);

  Serial.println('request sent');

  while (client.connected()) {
    String line = client.readStringUntil('
');
    if (line == '
') {
      Serial.println('headers received');
      break;
    }
  }

  while (client.available()) {
    String line = client.readStringUntil('
');
    Serial.println(line);
  }

  Serial.println('closing connection');
  delay(10000);
}
ESP12F Arduino 代码:连接 WiFi 并发送微信企业号消息

原文地址: https://www.cveoy.top/t/topic/nlWZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录