-
Notifications
You must be signed in to change notification settings - Fork 1
/
pushBullet.ino
130 lines (101 loc) · 3.39 KB
/
pushBullet.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// Workshop de Introducao ao NodeMCU - Arduino Day Recife 2017
// Eronides Neto: [email protected]
// Celso Caldeira: [email protected]
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
const char* ssid = "CINGUESTS"; // Digite o nome da Rede Wi-Fi
const char* password = "acessocin"; // Digite o password da rede...
const char* host = "api.pushbullet.com";
const int httpsPort = 443;
const char* PushBulletAPIKEY = "o.5huFq8gC1oVMzPlTTN7cNLEnjfvwRvdy"; // DIGITE SUA CHAVE API, QUE VOCE PEGA NO SITE DO PUSHBULLET
// Use web browser to view and copy
// SHA1 fingerprint of the certificate
const char* fingerprint = "2C BC 06 10 0A E0 6E B0 9E 60 E5 96 BA 72 C5 63 93 23 54 B3"; //got it using https://www.grc.com/fingerprints.htm
void msg1()
{
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 = "/v2/pushes";
String messagebody = "{\"type\": \"note\", \"title\": \"ESP8266\", \"body\": \"Hello World!\"}\r\n";
Serial.print("requesting URL: ");
Serial.println(url);
client.print(String("POST ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Authorization: Bearer " + PushBulletAPIKEY + "\r\n" +
"Content-Type: application/json\r\n" +
"Content-Length: " +
String(messagebody.length()) + "\r\n\r\n");
client.print(messagebody);
Serial.println("request sent");
//print the response
while (client.available() == 0);
while (client.available()) {
String line = client.readStringUntil('\n');
Serial.println(line);
}
}
void msg2()
{
WiFiClientSecure client;
Serial.print("Se conectando a...");
Serial.println(host);
if (!client.connect(host, httpsPort)) {
Serial.println("falha na conexao!!!");
return;
}
if (client.verify(fingerprint, host)) {
Serial.println("certificate matches");
} else {
Serial.println("certificate doesn't match");
}
String url = "/v2/pushes";
String messagebody = "{\"type\": \"note\", \"title\": \"ESP8266\", \"body\": \"Escreva sua mensagem :)!\"}\r\n";
Serial.print("requesting URL: ");
Serial.println(url);
client.print(String("POST ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Authorization: Bearer " + PushBulletAPIKEY + "\r\n" +
"Content-Type: application/json\r\n" +
"Content-Length: " +
String(messagebody.length()) + "\r\n\r\n");
client.print(messagebody);
Serial.println("request sent");
//print the response
while (client.available() == 0);
while (client.available()) {
String line = client.readStringUntil('\n');
Serial.println(line);
}
}
void setup() {
Serial.begin(115200);
Serial.println();
Serial.print("Se conectando a rede.. ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi conectado!!");
Serial.println("Endereco IP: ");
Serial.println(WiFi.localIP());
}
void loop()
{
msg1();
delay(15000);
msg2();
}