M5ATOM을 무선 LAN에 연결했을 때 할당된 IP 주소를 LINE으로 알립니다.
7065 단어 M5AtomM5stackLineNotify
참고로 한 것은 다음 기사
ESP32에서 LINE Notify에 알림을 던지는 절차 비망록
htps : // 이 m/미네 820/있어 ms/53c2아 833937f1186539f
LINE 앱 설정
LINE에 알림을 위한 그룹 만들기
그룹에 LINE Notify 추가
그룹에 이름을 붙이기
완성된 그룹
LINE Notify 설정
LINE Notify에 로그인
내 페이지 보기
페이지 하단에서 액세스 토큰 발급
토큰 이름을 기입하고 통지할 그룹(토크룸)을 선택
발행된 토큰을 복사하여 텍스트 편집기 등에 붙여넣고 저장
LINE 앱에서 LINE Notify에 대한 토큰 발급 알림 확인
M5ATOM 프로그램
M5ATOM은 ArduinoIDE에서 프로그래밍합니다.
이번에는 동시에 IoT 콘센트인 「ATOM Socket」을 움직였으므로, 샘플 프로그램은 github에 업했습니다.
htps : // 기주 b. 이 m / 토모토 w56 / M5 나중에 m-o-c t- e ぁ mp ぇ s / t ree / main / M5 뒤 m_
아래에 샘플 프로그램의 주요 처리를 발췌합니다.
WiFiClientSecure 헤더 포함 및 클라이언트 인스턴스 생성
M5Atom_LINENotify.ino#include <WiFiClientSecure.h>
(中略)
WebServer server(80);
WiFiClientSecure client;
LINE 액세스 설정 및 필요한 변수 선언
M5Atom_LINENotify.inoconst char* host = "notify-api.line.me";
// メモしたトークンを記載
const char* token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
IPAddress ipadr;
LINE Notify에 알림 함수 만들기
M5Atom_LINENotify.inovoid LINE_Notify(String message){
if(!client.connect(host, 443)){
Serial.println("Connection failed!");
return;
}else{
Serial.println("Connected to " + String(host));
String query = String("message=") + message;
String request = String("") +
"POST /api/notify HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Authorization: Bearer " + token + "\r\n" +
"Content-Length: " + String(query.length()) + "\r\n" +
"Content-Type: application/x-www-form-urlencoded\r\n\r\n" +
query + "\r\n";
client.print(request);
client.println("Connection: close");
client.println();
while (client.connected()) {
String line = client.readStringUntil('\n');
if (line == "\r") {
Serial.println("headers received");
break;
}
}
// if there are incoming bytes available
// from the server, read them and print them:
while (client.available()) {
char c = client.read();
Serial.write(c);
}
client.stop();
Serial.println("closing connection");
Serial.println("");
}
}
setup() 함수에 IP 알림 처리 추가
2022년 1월 10일 갱신
Line Notify에 액세스하는 동안 오류가 발생하여 "client.setInsecure();"추가
M5Atom_LINENotify.inovoid setup(){
client.setInsecure(); // Line Notifyのアクセスエラー対応
//M5::begin(SerialEnable = true, I2CEnable = true, DisplayEnable = false);
M5.begin(true, false, true);
(省略)
// SSID,IPアドレスのシリアル出力
Serial.print("AP SSID: ");
Serial.println(WiFi.SSID());
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); //IP address assigned to ATOM
Serial.println("");
// SSID,IPアドレスをLINE Notifyへ送信
ipadr = WiFi.localIP();
String message = "Connected!\r\nSSID: " +
(String)WiFi.SSID() + "\r\nIP adrs: " +
(String)ipadr[0] + "." +
(String)ipadr[1] + "."+
(String)ipadr[2] + "."+
(String)ipadr[3];
LINE_Notify(message);
(省略)
}
실행 결과
직렬 모니터로 출력
connected(^^)
airport_01
192.168.100.35
connected to router(^^)
AP SSID: airport_01
IP address: 192.168.100.35
Connected to notify-api.line.me
headers received
1d
{"status":200,"message":"ok"}
0
closing connection
ATOM IP Notify 그룹에 알림
샘플 프로그램의 주의점
샘플 프로그램은 Wi-Fi에 연결하는 데 "Wi-Fi Manager"를 사용합니다.
WiFi Manager 사용에 대한 자세한 내용은 다음 기사를 참조하십시오.
ESP32 WiFi의 SSID, 패스워드를 외부에서 설정해 액세스 포인트에 접속
2022년 1월 10일 추가
도서관 업데이트? 에서 Line Notify에 액세스하는 동안 오류가 발생하기 때문에,
setup() 함수의 시작 부분에 다음을 추가client.setInsecure();
결론
LINE Notify에 대한 통지는 토큰을 취득하면 인증서 취득 없이 실시할 수 있습니다.
ESP32계로 디스플레이가 없는 보드에서도 대응 가능하므로 시험해 보세요.
Reference
이 문제에 관하여(M5ATOM을 무선 LAN에 연결했을 때 할당된 IP 주소를 LINE으로 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomorrow56/items/2049eea1f68b9c1fd471
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
LINE Notify에 로그인
내 페이지 보기
페이지 하단에서 액세스 토큰 발급
토큰 이름을 기입하고 통지할 그룹(토크룸)을 선택
발행된 토큰을 복사하여 텍스트 편집기 등에 붙여넣고 저장
LINE 앱에서 LINE Notify에 대한 토큰 발급 알림 확인
M5ATOM 프로그램
M5ATOM은 ArduinoIDE에서 프로그래밍합니다.
이번에는 동시에 IoT 콘센트인 「ATOM Socket」을 움직였으므로, 샘플 프로그램은 github에 업했습니다.
htps : // 기주 b. 이 m / 토모토 w56 / M5 나중에 m-o-c t- e ぁ mp ぇ s / t ree / main / M5 뒤 m_
아래에 샘플 프로그램의 주요 처리를 발췌합니다.
WiFiClientSecure 헤더 포함 및 클라이언트 인스턴스 생성
M5Atom_LINENotify.ino#include <WiFiClientSecure.h>
(中略)
WebServer server(80);
WiFiClientSecure client;
LINE 액세스 설정 및 필요한 변수 선언
M5Atom_LINENotify.inoconst char* host = "notify-api.line.me";
// メモしたトークンを記載
const char* token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
IPAddress ipadr;
LINE Notify에 알림 함수 만들기
M5Atom_LINENotify.inovoid LINE_Notify(String message){
if(!client.connect(host, 443)){
Serial.println("Connection failed!");
return;
}else{
Serial.println("Connected to " + String(host));
String query = String("message=") + message;
String request = String("") +
"POST /api/notify HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Authorization: Bearer " + token + "\r\n" +
"Content-Length: " + String(query.length()) + "\r\n" +
"Content-Type: application/x-www-form-urlencoded\r\n\r\n" +
query + "\r\n";
client.print(request);
client.println("Connection: close");
client.println();
while (client.connected()) {
String line = client.readStringUntil('\n');
if (line == "\r") {
Serial.println("headers received");
break;
}
}
// if there are incoming bytes available
// from the server, read them and print them:
while (client.available()) {
char c = client.read();
Serial.write(c);
}
client.stop();
Serial.println("closing connection");
Serial.println("");
}
}
setup() 함수에 IP 알림 처리 추가
2022년 1월 10일 갱신
Line Notify에 액세스하는 동안 오류가 발생하여 "client.setInsecure();"추가
M5Atom_LINENotify.inovoid setup(){
client.setInsecure(); // Line Notifyのアクセスエラー対応
//M5::begin(SerialEnable = true, I2CEnable = true, DisplayEnable = false);
M5.begin(true, false, true);
(省略)
// SSID,IPアドレスのシリアル出力
Serial.print("AP SSID: ");
Serial.println(WiFi.SSID());
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); //IP address assigned to ATOM
Serial.println("");
// SSID,IPアドレスをLINE Notifyへ送信
ipadr = WiFi.localIP();
String message = "Connected!\r\nSSID: " +
(String)WiFi.SSID() + "\r\nIP adrs: " +
(String)ipadr[0] + "." +
(String)ipadr[1] + "."+
(String)ipadr[2] + "."+
(String)ipadr[3];
LINE_Notify(message);
(省略)
}
실행 결과
직렬 모니터로 출력
connected(^^)
airport_01
192.168.100.35
connected to router(^^)
AP SSID: airport_01
IP address: 192.168.100.35
Connected to notify-api.line.me
headers received
1d
{"status":200,"message":"ok"}
0
closing connection
ATOM IP Notify 그룹에 알림
샘플 프로그램의 주의점
샘플 프로그램은 Wi-Fi에 연결하는 데 "Wi-Fi Manager"를 사용합니다.
WiFi Manager 사용에 대한 자세한 내용은 다음 기사를 참조하십시오.
ESP32 WiFi의 SSID, 패스워드를 외부에서 설정해 액세스 포인트에 접속
2022년 1월 10일 추가
도서관 업데이트? 에서 Line Notify에 액세스하는 동안 오류가 발생하기 때문에,
setup() 함수의 시작 부분에 다음을 추가client.setInsecure();
결론
LINE Notify에 대한 통지는 토큰을 취득하면 인증서 취득 없이 실시할 수 있습니다.
ESP32계로 디스플레이가 없는 보드에서도 대응 가능하므로 시험해 보세요.
Reference
이 문제에 관하여(M5ATOM을 무선 LAN에 연결했을 때 할당된 IP 주소를 LINE으로 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomorrow56/items/2049eea1f68b9c1fd471
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#include <WiFiClientSecure.h>
(中略)
WebServer server(80);
WiFiClientSecure client;
const char* host = "notify-api.line.me";
// メモしたトークンを記載
const char* token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
IPAddress ipadr;
void LINE_Notify(String message){
if(!client.connect(host, 443)){
Serial.println("Connection failed!");
return;
}else{
Serial.println("Connected to " + String(host));
String query = String("message=") + message;
String request = String("") +
"POST /api/notify HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Authorization: Bearer " + token + "\r\n" +
"Content-Length: " + String(query.length()) + "\r\n" +
"Content-Type: application/x-www-form-urlencoded\r\n\r\n" +
query + "\r\n";
client.print(request);
client.println("Connection: close");
client.println();
while (client.connected()) {
String line = client.readStringUntil('\n');
if (line == "\r") {
Serial.println("headers received");
break;
}
}
// if there are incoming bytes available
// from the server, read them and print them:
while (client.available()) {
char c = client.read();
Serial.write(c);
}
client.stop();
Serial.println("closing connection");
Serial.println("");
}
}
void setup(){
client.setInsecure(); // Line Notifyのアクセスエラー対応
//M5::begin(SerialEnable = true, I2CEnable = true, DisplayEnable = false);
M5.begin(true, false, true);
(省略)
// SSID,IPアドレスのシリアル出力
Serial.print("AP SSID: ");
Serial.println(WiFi.SSID());
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); //IP address assigned to ATOM
Serial.println("");
// SSID,IPアドレスをLINE Notifyへ送信
ipadr = WiFi.localIP();
String message = "Connected!\r\nSSID: " +
(String)WiFi.SSID() + "\r\nIP adrs: " +
(String)ipadr[0] + "." +
(String)ipadr[1] + "."+
(String)ipadr[2] + "."+
(String)ipadr[3];
LINE_Notify(message);
(省略)
}
직렬 모니터로 출력
connected(^^)
airport_01
192.168.100.35
connected to router(^^)
AP SSID: airport_01
IP address: 192.168.100.35
Connected to notify-api.line.me
headers received
1d
{"status":200,"message":"ok"}
0
closing connection
ATOM IP Notify 그룹에 알림
샘플 프로그램의 주의점
샘플 프로그램은 Wi-Fi에 연결하는 데 "Wi-Fi Manager"를 사용합니다.
WiFi Manager 사용에 대한 자세한 내용은 다음 기사를 참조하십시오.
ESP32 WiFi의 SSID, 패스워드를 외부에서 설정해 액세스 포인트에 접속
2022년 1월 10일 추가
도서관 업데이트? 에서 Line Notify에 액세스하는 동안 오류가 발생하기 때문에,
setup() 함수의 시작 부분에 다음을 추가client.setInsecure();
결론
LINE Notify에 대한 통지는 토큰을 취득하면 인증서 취득 없이 실시할 수 있습니다.
ESP32계로 디스플레이가 없는 보드에서도 대응 가능하므로 시험해 보세요.
Reference
이 문제에 관하여(M5ATOM을 무선 LAN에 연결했을 때 할당된 IP 주소를 LINE으로 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomorrow56/items/2049eea1f68b9c1fd471
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
LINE Notify에 대한 통지는 토큰을 취득하면 인증서 취득 없이 실시할 수 있습니다.
ESP32계로 디스플레이가 없는 보드에서도 대응 가능하므로 시험해 보세요.
Reference
이 문제에 관하여(M5ATOM을 무선 LAN에 연결했을 때 할당된 IP 주소를 LINE으로 알립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomorrow56/items/2049eea1f68b9c1fd471텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)