Edge 단에서 사용되는 장비들은 예측할 수 없는 변수로 인해서 전원이 끊기거나 인터넷이 끊기거나 하는 일이 발생한다.
이런일이 있을때 자동으로 재부팅 되도록 하는 기능이 있는데 이게 WatchDog이다.
(이름부터 뭐 하는 친구 일지 느낌이 빡 온다)
WatchDog자체는 아주아주 오래된 기능이지만
Raspberry pi pico 2w 에서 아주 쉽게 사용할 수 있도록 되어 있다는 점이 너무 좋다.
from machine import Pin, WDT
wdt = WDT(timeout=8388)
wdt.feed()
사용방법은 위 3줄이 다라고 봐도 무방하다
WDT(timeout=8388)은 8388ms 동안 wdt.feed()가 실행되지 않으면 자동으로 Device를 재부팅 하는 Watchdog instance를 반환한다는 의미이다.
따라서 내가 실행하는 코드 항목마다 wdt.feed()를 넣어놓거나 반복문안에 넣어놓으면 된다.
사용방법은 너무 간단해서 딱히 뭔가 더 설명할게 없을 것 같은데....
from machine import Pin, WDT
wdt = WDT(timeout=8388)
wdt.feed()
#--------------#
# Setting Code #
#--------------#
# Loop Code
for i in range(1000):
# Your Code
wdt.feed()
이 정도로 보면된다.
아주 쓰기 쉬워서 참 좋다.
'sw' 카테고리의 다른 글
| PaddleOCR 한국어 OCR 하기 (0) | 2025.09.22 |
|---|---|
| micropython은 time.time대신 ntptime.time으로 timestamp를 찍자 (raspberry pico2w, esp32) (0) | 2025.09.03 |
| label-studio 설치 및 local storage file upload (3) | 2025.08.01 |
| Claude-code 설치 및 사용 in Macbook (3) | 2025.07.31 |