M5Stack과 Firebase를 사용하여 enebular에서 화장실을 흘려보십시오.
보통이라면 L치카입니다만, 이번은 화장실을 흘립니다(무엇을 말하고 있는 것인가).
참고 URL
완전하게 아래의 링크처의 기사를 참고로 합니다. 거의 이쪽의 내용으로, 차분만 후술합니다.
M5Stack과 Firebase를 사용하여 enebular와 연결합시다.
htps : // bg. 에네부 r. 코 m / 후레 바세 / m5s 타쿠
차이
M5Stack 소스 코드
M5Stack에는 다음 코드를 씁니다.
※별도, M5Stack에 꽂고 있는 SD 카드에 대기중의 화상과 화장실을 흘렸을 때의 화상을 넣어 둘 필요가 있습니다.
#include <IOXhop_FirebaseESP32.h>
#include <M5Stack.h>
#include <WiFi.h>
#define WIFI_SSID "WIFI_SSID"
#define WIFI_PASSWORD "WIFI_PASSWORD"
#define FIREBASE_DATABASE_URL "XXXXXX.firebaseio.com"
// 赤外線LED
const int ledPin = 22;
//TOTOウォシュレットの流す赤外線信号データ
unsigned int data_nagasu[] = {601,297,59,50,64,160,69,45,67,45,64,45,64,48,66,48,67,44,59,50,59,53,66,47,62,159,64,48,61,50,61,53,64,45,64,47,64,48,61,53,67,43,66,45,64,48,69,44,67,156,61,48,61,164,67,154,61,51,61,50,64,50,61,48,61,162,61,52,64,157,61,162,61,53,64,45,64,48,61,50,61,3889,601,295,64,48,61,164,59,50,61,50,61,50,61,53,61,48,64,48,61,51,61,53,64,48,61,162,67,45,67,45,64,45,59,53,66,47,67,44,59,50,61,51,61,50,64,50,62,48,64,160,69,45,67,154,61,162,61,51,66,45,64,47,64,48,61,164,59,50,61,162,61,164,64,45,64,50,64,47,62,50,59};
unsigned long now;
unsigned long waitStartMicros;
void setup() {
M5.begin();
Serial.begin(115200);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setCursor(10, 10);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(3);
M5.Lcd.printf("START");
pinMode(ledPin, OUTPUT);
// connect to wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
// WiFi Connected
Serial.println("\nWiFi Connected.");
Serial.println(WiFi.localIP());
M5.Lcd.println("WiFi Connected.");
M5.Lcd.println("");
Firebase.begin(FIREBASE_DATABASE_URL);
Firebase.setBool("/M5Stack/wash", false);
}
void loop() {
if(Firebase.getBool("/M5Stack/wash")) {
M5.Lcd.drawJpgFile(SD, "/wash.jpg");
M5.update();
sendSignal(data_nagasu,sizeof(data_nagasu)/sizeof(data_nagasu[0]));
delay(3000);
// Firebaseへ送信
Firebase.setBool("/M5Stack/wash", false);
delay(2000);
M5.Lcd.fillScreen(BLACK);
}
M5.Lcd.drawJpgFile(SD, "/wait.jpg");
M5.update();
}
/*
赤外線信号の送出
*/
void sendSignal(unsigned int *data, int dataSize) {
for (int i = 0; i < dataSize; i++) {
unsigned long dataLength = data[i] * 10;
now = micros();
do {
digitalWrite(ledPin, 1 - i % 2);
wait(8);
digitalWrite(ledPin, 0);
wait(7);
} while (long(now + dataLength - micros()) > 0);
}
}
void wait(signed long waitTime) {
waitStartMicros = micros();
while (micros() - waitStartMicros < waitTime) {};
}
적외선 LED는 아래와 같이 22번과 GND에 꽂습니다. (긴 쪽을 22번으로)
덧붙여서, 적외선 LED의 사용법은, 쿠라시타씨의 저서 「 센서로 뭐든지 할 수 있는 재미있는 전자공작 」가 굉장히 참고가 됩니다.
enebular 흐름
다음과 같이 합니다.
inject 노드(왼쪽)는 다음과 같이 합니다.
Firebase 노드(오른쪽)는 다음과 같이 합니다.
Deploy 버튼을 눌러 설정을 완료합니다.
실제로 움직여보세요
enebular에서 화장실을 흘려 보았다.피 c. 라고 r. 코 m / JCPb 호 f2w0 — 야마초 (@yamacho1111).
M5Stack 소스 코드
M5Stack에는 다음 코드를 씁니다.
※별도, M5Stack에 꽂고 있는 SD 카드에 대기중의 화상과 화장실을 흘렸을 때의 화상을 넣어 둘 필요가 있습니다.
#include <IOXhop_FirebaseESP32.h>
#include <M5Stack.h>
#include <WiFi.h>
#define WIFI_SSID "WIFI_SSID"
#define WIFI_PASSWORD "WIFI_PASSWORD"
#define FIREBASE_DATABASE_URL "XXXXXX.firebaseio.com"
// 赤外線LED
const int ledPin = 22;
//TOTOウォシュレットの流す赤外線信号データ
unsigned int data_nagasu[] = {601,297,59,50,64,160,69,45,67,45,64,45,64,48,66,48,67,44,59,50,59,53,66,47,62,159,64,48,61,50,61,53,64,45,64,47,64,48,61,53,67,43,66,45,64,48,69,44,67,156,61,48,61,164,67,154,61,51,61,50,64,50,61,48,61,162,61,52,64,157,61,162,61,53,64,45,64,48,61,50,61,3889,601,295,64,48,61,164,59,50,61,50,61,50,61,53,61,48,64,48,61,51,61,53,64,48,61,162,67,45,67,45,64,45,59,53,66,47,67,44,59,50,61,51,61,50,64,50,62,48,64,160,69,45,67,154,61,162,61,51,66,45,64,47,64,48,61,164,59,50,61,162,61,164,64,45,64,50,64,47,62,50,59};
unsigned long now;
unsigned long waitStartMicros;
void setup() {
M5.begin();
Serial.begin(115200);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setCursor(10, 10);
M5.Lcd.setTextColor(WHITE);
M5.Lcd.setTextSize(3);
M5.Lcd.printf("START");
pinMode(ledPin, OUTPUT);
// connect to wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
// WiFi Connected
Serial.println("\nWiFi Connected.");
Serial.println(WiFi.localIP());
M5.Lcd.println("WiFi Connected.");
M5.Lcd.println("");
Firebase.begin(FIREBASE_DATABASE_URL);
Firebase.setBool("/M5Stack/wash", false);
}
void loop() {
if(Firebase.getBool("/M5Stack/wash")) {
M5.Lcd.drawJpgFile(SD, "/wash.jpg");
M5.update();
sendSignal(data_nagasu,sizeof(data_nagasu)/sizeof(data_nagasu[0]));
delay(3000);
// Firebaseへ送信
Firebase.setBool("/M5Stack/wash", false);
delay(2000);
M5.Lcd.fillScreen(BLACK);
}
M5.Lcd.drawJpgFile(SD, "/wait.jpg");
M5.update();
}
/*
赤外線信号の送出
*/
void sendSignal(unsigned int *data, int dataSize) {
for (int i = 0; i < dataSize; i++) {
unsigned long dataLength = data[i] * 10;
now = micros();
do {
digitalWrite(ledPin, 1 - i % 2);
wait(8);
digitalWrite(ledPin, 0);
wait(7);
} while (long(now + dataLength - micros()) > 0);
}
}
void wait(signed long waitTime) {
waitStartMicros = micros();
while (micros() - waitStartMicros < waitTime) {};
}
적외선 LED는 아래와 같이 22번과 GND에 꽂습니다. (긴 쪽을 22번으로)
덧붙여서, 적외선 LED의 사용법은, 쿠라시타씨의 저서 「 센서로 뭐든지 할 수 있는 재미있는 전자공작 」가 굉장히 참고가 됩니다.
enebular 흐름
다음과 같이 합니다.
inject 노드(왼쪽)는 다음과 같이 합니다.
Firebase 노드(오른쪽)는 다음과 같이 합니다.
Deploy 버튼을 눌러 설정을 완료합니다.
실제로 움직여보세요
enebular에서 화장실을 흘려 보았다.피 c. 라고 r. 코 m / JCPb 호 f2w0 — 야마초 (@yamacho1111).
현장에서 이상입니다.
Reference
이 문제에 관하여(M5Stack과 Firebase를 사용하여 enebular에서 화장실을 흘려보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yamacho1111/items/b2ef97c02546f7684fec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)