리엑트네이티브 에서 timepicker


(GaryKim) #1

제가 구현 하고자 하는것은 서버(AWS 포함)등을 통해서 datetime picker 등을 활용해서 예약시간을 설정해서 IOT 를 컨트롤 하려고 합니다
그냥 일정 시간에 함수가 실행 되도록 해도 될듯 합니다
관련해서 도움을 받고자합니다
감사합니다.


(이종은(Jong Lee)) #2

질문이 자세하지 못해서 답변이 좀 망설여지지만

사용자의 설정에 따라 서버에서 어떤 처리를 정해진 시간에 정기적으로 해야할 때를 기준으로 설명해보겠습니다. (이때 만약 사용자가 선택할 수 있는 시간이 10분단위라면…)

  1. 앱에서 사용자가 시간을 설정하면 서버를 통해 DB에 해당 사용자의 시간을 저장해둡니다.
  2. AWS CloudWatch를 이용해서 서버의 특정 URL을 매 10분 정기적으로 호출하고
  3. 서버는 2번에서 요청한 URL로 요청이 들어오면 해당 시간에 설정한 사용자를 조회한 후 처리해야할 일을 하게합니다.

저는 이런 방식으로 처리했습니다. 2번에서 CloudWatch대신에 서버의 crontab 을 쓸수도 있지만 설정이나 관리면에서 CloudWatch가 편해서 cloudwatch를 사용하고 있습니다.


(GaryKim) #3

자세하게 질문을 올려야 하는데 그렇지 못했네요 ㅠㅠ
답변 너무 감사드립니다 .
한마디로 스마트폰에서 알람 맞추고 그 시간 되면 알람이 울리듯이 함수가 실행 되면 되는데
답변해 주신 부분에 대해 시도해 보겠습니다.
감사드립니다.


(Jong Chan Park) #4

앱이 서버와 연결되어있다면 IOT 디바이스는 서버와 연결되어있어야겠죠.

앱에서는 시간 설정만 해서 서버에 넘겨주고, 서버에서 주기적으로 task를 실행 해야하는게 좋아보입니다.

만약 IOT 디바이스가 폰과 다이렉트로 연결되있다면 굳이 서버에 polling 하기보단 리액트 네이티브 백그라운드 타이머 관련 오픈소스 패키지를 이용해서 제어해주는게 좋을것 같구요.

백그라운드 타이머 관련 패키지 참고: https://github.com/ocetnik/react-native-background-timer


(GaryKim) #5

좋은 정보 정말 감사드립니다^^