ESP12F Arduino 代码:连接 WiFi 并发送微信企业号消息
#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);
}
原文地址: https://www.cveoy.top/t/topic/nlWZ 著作权归作者所有。请勿转载和采集!