M5 Stack에 날짜 및 시간 표시

2942 단어 M5stack
간단한 프로그래밍을 위해 M5 Stack을 사용합니다.
M5 Stack을 WiFi에 연결하여 NTP 서버에서 시간을 가져오고 가져오는 시간을 화면에 표시합니다.

  • 컨디션
  • M5Stack BASIC
  • Windows 10(작업용 PC)

  • 사전 준비
    M5 Stack에서 작업하는 것은 처음이라 다음과 같은 사전 준비 작업을 했다.
  • 작업용 PC에 Arduino IDECP210X Driver를 설치합니다.
    자세한 내용은 M5 Stack의 개발 환경 구축를 참조하십시오.
  • USB로 작업용 PC와 M5STACK를 연결한다.
  • 작업용 PC를 사용하여 Arduino IDE를 시작합니다.
  • 소스 코드
    기본적으로 참고원 복제품으로 제작되었습니다.
    ssid와 password에 자신의 와이파이 환경에 대한 정보를 기재하면 M5 Stack이 와이파이로 연결됩니다.
  • #include <M5Stack.h>
    #include <WiFi.h>
    #include "time.h"
    
    const char* ssid       = "XXXXXXXXXXXXX";
    const char* password   = "XXXXXXXXXXXXX";
    
    const char* ntpServer = "ntp.nict.jp";
    const long  gmtOffset_sec = 3600 * 9;
    const int   daylightOffset_sec = 0;
    
    void printLocalTime()
    {
      struct tm timeinfo;
    
      if(!getLocalTime(&timeinfo)){
        M5.Lcd.println("Failed to obtain time");
        return;
      }
      // テキストサイズ指定
      M5.Lcd.setTextSize(2);
      // カーソル位置を設定
      M5.Lcd.setCursor(40,100);
      M5.Lcd.printf("%04d-%02d-%02d %02d:%02d:%02d" 
                    ,timeinfo.tm_year + 1900
                    ,timeinfo.tm_mon + 1
                    ,timeinfo.tm_mday
                    ,timeinfo.tm_hour
                    ,timeinfo.tm_min
                    ,timeinfo.tm_sec
                    );
    }
    
    void setup()
    {
      M5.begin();
    
      //connect to WiFi
      int cnt=0;
      M5.Lcd.print("Connecting to YOUR_SSID ");
      WiFi.begin(ssid, password);
      while (WiFi.status() != WL_CONNECTED) {
        cnt++;
        delay(500);
        M5.Lcd.print(".");
      }
      M5.Lcd.println(" CONNECTED");
    
      //init and get the time
      configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
      printLocalTime();
    
      //disconnect WiFi as it's no longer needed
      WiFi.disconnect(true);
      WiFi.mode(WIFI_OFF);
    }
    
    void loop()
    {
      delay(1000);
      printLocalTime();
    }
    
    위의 소스 코드를 Arduino IDE로 저장합니다.
    이후 M5 Stack 화면에는 마이크로컴퓨터를 컴파일하고 쓸 때 날짜와 시간이 표시됩니다.
  • 참조 소스
    이번 업무는 아래 사이트를 참고하였다.
  • M5 Stack의 개발 환경 구축
  • 시간표시 - m5 Stack 조합!!
  • M5 StickC를 통해 LCD 화면에 현재 시간 표시
  • 좋은 웹페이지 즐겨찾기