T-PICOC3(MICROPYTHON)으로 WIFI 를 연결해보자. (2)

 T-PICOC3(MICROPYTHON)으로 WIFI를 연결해보자. (2)


이전포스트 에선 WIFI를 사용하기 위해 했던 설정 부분을 확인해봤고, 실제로 ESP32-C3로 주변 2.4ghz 대역의 wifi들을 검색, 연결 까지 해보았다.

그리고 원래 시간을 받아와서 시스템 시간을 현재 시간으로 맞춰줄려고 했는데... wifi를 연결하면 자동으로 시간을 가져오는듯 하다?

utime.localtime() 으로 시간을 확인할수 있다.

리턴은 (2023, 5, 10, 9, 20, 7, 2, 130) 이렇게 나오고 타입은 tuple 이다.

이녀석을 조금 다듬어서 출력되고 있는 온습도 밑에 같이 출력해줘야겠다.

def check_time():
    buftime = utime.localtime()
    #print(buftime)
    time = str(buftime[0])[2:]+"/"+zfill(str(buftime[1]),2)+"/"+zfill(str(buftime[2]),2)+" "+zfill(str(buftime[3]),2)+":"+zfill(str(buftime[4]),2)+":"+zfill(str(buftime[5]),2)
    return time

def zfill(s,length):
    return ("00"+s)[-length:]


위와 같이 함수를 만들어서 23/05/10 09:27:18 의 형식으로 만들었다.

참고로 저위의 zfill 이란 함수는 날짜와 시간중 한자리수 즉 1~9 까지의 숫자를 01~09로 표현해 주기위해 만든 함수다.

그리고 저번에 만든 LCD 출력 함수에 넣어서 실행 시켜 보았다.


그래도 한번 확인은 해보자 

http://worldtimeapi.org/ 사이트에서 세계시간을 HTTP 메소드 GET 으로 시간을 받아 올수 있다. 

나는 인천이지만 그냥 "http://worldtimeapi.org/api/timezone/Asia/Seoul" 서울 시간을 받아올것이다. 

ESP-32C User Guide 에서 보면 

AT+HTTPCLIENT=<opt>,<content-type>,<"url">,[<"host">],[<"path">],<transport_type>[,<"data">][,<"http_req_header">][,<"http_req_header">][...]

이렇게 정의 되어 있다. 

헤헤 모르겠음 ㅠㅠ  파라미터 정의가 있으니, 확인해 보자.

난 AT+HTTPCLIENT=2,0,"http://worldtimeapi.org/api/timezone/Asia/Seoul",,,1 이렇게 테스트를 먼저 해봤다. 

2번째 파라미터인 0 은 x-www-form-urlencoded 방식 , 1번은 json 방식인데 일단 둘다 해보자.

음 웹쪽은 잘 모르겠지만, 서버에서 데이터를 그냥 json 형식으로 주는듯 하다. 아무거나 써도 json 데이터로 나온다. 아무래도 post 나 put 을 사용할때 내가 주는 데이터 타입을 말하는 것으로 보인다.


여튼 두 방식으로 나온 데이터 값은 동일 하고 json 형식으로 시간이 잘나온다. 저기서 date time 부분만 가져와서 진행하면 될듯 하다.

지금의 나에겐 필요 없지만, 나중에 혹시나 필요한 경우 가져와 사용해 보자.

그리고 재미삼아 업비트 api 에서 bitcoin 가격을 불러와 봤다.

AT+HTTPCLIENT=2,0,"https://api.upbit.com/v1/ticker?markets=KRW-BTC",,,1 

위의 데이터 형식으로 HTTP 메소드 GET 을 요청하여 나온 데이터는 


json 방식으로 취득하고 위의 데이터를 이용하여 데이터를 좀 STR 메소드를 사용하여 변환 하였다. 

일단 json 데이터를 바로 받는게 아니라 ESP-32C 에서 Uart 로 데이터를 보내준걸 STR 으로 받아왔기 때문에 이걸 다시 JSON 으로 변환해야 하는데 중간에 +HTTPCLIENT 란 값이 섞여있어 이걸 또 자르고 합치고 하기 귀찮아 그냥 STR 형식에서 데이터를 잘라냈다.

그렇게 테스트 하고 나온 동영상이다.


나중에 내 코인이 몇프로 올랐는지 몰래 보기 좋은 ?????????

메인에선 시계와 온습도만 나오게 한뒤 버튼을 입력하면 화면이 바뀌어 코인 시세를 확인하게 만들어야 겠다. 그리고 시계처럼 회사에 놓고 써보자 .

상사의 물음엔 시계라고 할 수 있지만 버튼을 눌러보면 큰일난다. 

그렇기 때문에 그냥 몰래 핸드폰으로 보는게 최고다. 화면도 크고 정리도 잘되있고.

근데 내코인은 올라올 생각을 안한다. 잊고 사는 중이라고 주위엔 말하지만 이게 어디 잊혀질 일인가? 그냥 묻어두고 살라고 하는데 그냥 어플 지우라고 하는데 그게 되나? 원래 돈이 없어 많이 못넣긴 했지만 그래도 나에겐 소중한 돈인데... ㅠㅠ 

여튼 모든 코인러들이 어깨필 그날까지 기다려보자 ㅠㅠ

댓글

이 블로그의 인기 게시물

T-PICOC3(MICROPYTHON)으로 WIFI 를 연결해보자. (1)

Raspberry Pi pico W 로 시계 및 날씨 확인 제품을 만들어 보자. (1) 구상 단계

Raspberry Pi Pico W로 시계 및 날씨 확인 제품을 만들어 보자. (4) ws2812 test 및 WIFI 시간 테스트