M5Stack과 Firebase를 사용하여 enebular에서 화장실을 흘려보십시오.

친밀한 사람들이, 모두 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).


현장에서 이상입니다.


좋은 웹페이지 즐겨찾기