스마트 폰의 위치 정보로부터 도착 15 분 전을 BOT로 LINE 그룹에 송신시켜 보았다
만든 것
친구와의 만남 등의 경우, 차로의 이동을 전제로 「○○ 분에 도착하자」라는 LINE 보내는 것을
스마트 폰의 위치 정보와 Google Maps API로 계산하여 LINEmessagingAPI로 자동 전송하는 BOT
※자신의 경우는 매일, 직장의 선배를 맞이하러 가서 출근하고 있으므로 그 때, 활용하고 있습니다.
운영 환경
스마트폰:Docomo P20pro【HW-01K】
서버 : Conoha VPS [1GB]
웹 서버: nginx
개발 언어: Python3
프레임워크: Flask
DB: SQLite3
SSL 인증서: Let's encrypt
스마트폰 사용 앱: Tasker
사용 API: Google Maps API, LINEmessagingAPI
이미지
작동 절차
스마트폰 동작
우선 tasker라는 태스크 앱을 설치
tasker의 설정이나 사용법 등은 다른 사이트에 많은 정보가 있으므로 생략.
우선 좋은 설정으로서 wi-fi의 접속처를 감시하고 있습니다.
"집"의 wi-fi에 접속했을 때, 거처로서 "집"을 서버에 송신한다.
그리고 wi-fi와의 연결이 끊어지면, 거점으로서 「외출」을 서버에 송신하고 있습니다.
그리고 Bluetooth의 감시를 해 차의 카 내비게이션과의 접속으로, 거처로서 「차」를 서버에 송신.
또한 여기에서, 자신의 경우는 자신의 근무 패턴을 Tasker측에서도 계산시켜
일에 가는 시간인지 판정 조건을 제1 조건으로 하고 있습니다.
그리고 차의 카 내비게이션에 접속되면 차를 탔다는 판정을 제2조건에 추가.
이 근무 전, 차를 타는 두 가지 조건을 트리거로하고 있습니다.
이 조건을 만족했을 때에 착화제(트리거)로서 일정한 동작을 반복합니다.
이 후, tasker의 동작은 상기 조건을 만족하는 동안은 1분마다 위치 정보를 취득하고
서버에 취득한 위치 정보를 계속 보내는 동작을 시키고 있습니다.
"서버 동작"
서버측에서는 스마트폰으로부터의 수신과 Line등에의 송신으로 주로 2개의 프로그램을 동작시키고 있습니다.
【수신측】
스마트폰으로부터의 수신에서는 nginx와 python을 uwsgi를 scket에 접속하고 있습니다.
python으로 스마트 폰에서받은 위치 및 위치 정보 등의 값을 SQLite에 저장.
또한 위치정보로부터 지정된 장소까지의 소요시간을 GoogleMAPsAPI에 던져 취득하고,
대략적인 도착 시간을 계산하여 SQLite에 저장하는 곳까지 하고 있습니다.
【송신측】
송신 측은 데몬화해 서버 기동시는 상시 기동이 되도록(듯이) 설정하고 있습니다.
우선, 여기에서도 근무 파탄의 계산.
근무 전의 조금 전의 시간에 위치 정보나 도착 시각등의 값을 초기화하도록 하고 있습니다.
그 후, SQLite의 거처가 「차」로 바뀔 때까지 wait.
거주소가 '자동차'로 바뀌면 LINEmessagingAPI로 '집에 나왔다'를 보냅니다.
그리고 SQLite의 도착 예정 시간을 취득해, 15분전이 되면 다시 LINEmessagingAPI로
그 때의 현재지와 「도착 예정 시간 0:00경」을 송신합니다.
Reference
이 문제에 관하여(스마트 폰의 위치 정보로부터 도착 15 분 전을 BOT로 LINE 그룹에 송신시켜 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/onionboynet/items/363a1d09af5fcb858c60
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
스마트폰:Docomo P20pro【HW-01K】
서버 : Conoha VPS [1GB]
웹 서버: nginx
개발 언어: Python3
프레임워크: Flask
DB: SQLite3
SSL 인증서: Let's encrypt
스마트폰 사용 앱: Tasker
사용 API: Google Maps API, LINEmessagingAPI
이미지
작동 절차
스마트폰 동작
우선 tasker라는 태스크 앱을 설치
tasker의 설정이나 사용법 등은 다른 사이트에 많은 정보가 있으므로 생략.
우선 좋은 설정으로서 wi-fi의 접속처를 감시하고 있습니다.
"집"의 wi-fi에 접속했을 때, 거처로서 "집"을 서버에 송신한다.
그리고 wi-fi와의 연결이 끊어지면, 거점으로서 「외출」을 서버에 송신하고 있습니다.
그리고 Bluetooth의 감시를 해 차의 카 내비게이션과의 접속으로, 거처로서 「차」를 서버에 송신.
또한 여기에서, 자신의 경우는 자신의 근무 패턴을 Tasker측에서도 계산시켜
일에 가는 시간인지 판정 조건을 제1 조건으로 하고 있습니다.
그리고 차의 카 내비게이션에 접속되면 차를 탔다는 판정을 제2조건에 추가.
이 근무 전, 차를 타는 두 가지 조건을 트리거로하고 있습니다.
이 조건을 만족했을 때에 착화제(트리거)로서 일정한 동작을 반복합니다.
이 후, tasker의 동작은 상기 조건을 만족하는 동안은 1분마다 위치 정보를 취득하고
서버에 취득한 위치 정보를 계속 보내는 동작을 시키고 있습니다.
"서버 동작"
서버측에서는 스마트폰으로부터의 수신과 Line등에의 송신으로 주로 2개의 프로그램을 동작시키고 있습니다.
【수신측】
스마트폰으로부터의 수신에서는 nginx와 python을 uwsgi를 scket에 접속하고 있습니다.
python으로 스마트 폰에서받은 위치 및 위치 정보 등의 값을 SQLite에 저장.
또한 위치정보로부터 지정된 장소까지의 소요시간을 GoogleMAPsAPI에 던져 취득하고,
대략적인 도착 시간을 계산하여 SQLite에 저장하는 곳까지 하고 있습니다.
【송신측】
송신 측은 데몬화해 서버 기동시는 상시 기동이 되도록(듯이) 설정하고 있습니다.
우선, 여기에서도 근무 파탄의 계산.
근무 전의 조금 전의 시간에 위치 정보나 도착 시각등의 값을 초기화하도록 하고 있습니다.
그 후, SQLite의 거처가 「차」로 바뀔 때까지 wait.
거주소가 '자동차'로 바뀌면 LINEmessagingAPI로 '집에 나왔다'를 보냅니다.
그리고 SQLite의 도착 예정 시간을 취득해, 15분전이 되면 다시 LINEmessagingAPI로
그 때의 현재지와 「도착 예정 시간 0:00경」을 송신합니다.
Reference
이 문제에 관하여(스마트 폰의 위치 정보로부터 도착 15 분 전을 BOT로 LINE 그룹에 송신시켜 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/onionboynet/items/363a1d09af5fcb858c60
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
스마트폰 동작
우선 tasker라는 태스크 앱을 설치
tasker의 설정이나 사용법 등은 다른 사이트에 많은 정보가 있으므로 생략.
우선 좋은 설정으로서 wi-fi의 접속처를 감시하고 있습니다.
"집"의 wi-fi에 접속했을 때, 거처로서 "집"을 서버에 송신한다.
그리고 wi-fi와의 연결이 끊어지면, 거점으로서 「외출」을 서버에 송신하고 있습니다.
그리고 Bluetooth의 감시를 해 차의 카 내비게이션과의 접속으로, 거처로서 「차」를 서버에 송신.
또한 여기에서, 자신의 경우는 자신의 근무 패턴을 Tasker측에서도 계산시켜
일에 가는 시간인지 판정 조건을 제1 조건으로 하고 있습니다.
그리고 차의 카 내비게이션에 접속되면 차를 탔다는 판정을 제2조건에 추가.
이 근무 전, 차를 타는 두 가지 조건을 트리거로하고 있습니다.
이 조건을 만족했을 때에 착화제(트리거)로서 일정한 동작을 반복합니다.
이 후, tasker의 동작은 상기 조건을 만족하는 동안은 1분마다 위치 정보를 취득하고
서버에 취득한 위치 정보를 계속 보내는 동작을 시키고 있습니다.
"서버 동작"
서버측에서는 스마트폰으로부터의 수신과 Line등에의 송신으로 주로 2개의 프로그램을 동작시키고 있습니다.
【수신측】
스마트폰으로부터의 수신에서는 nginx와 python을 uwsgi를 scket에 접속하고 있습니다.
python으로 스마트 폰에서받은 위치 및 위치 정보 등의 값을 SQLite에 저장.
또한 위치정보로부터 지정된 장소까지의 소요시간을 GoogleMAPsAPI에 던져 취득하고,
대략적인 도착 시간을 계산하여 SQLite에 저장하는 곳까지 하고 있습니다.
【송신측】
송신 측은 데몬화해 서버 기동시는 상시 기동이 되도록(듯이) 설정하고 있습니다.
우선, 여기에서도 근무 파탄의 계산.
근무 전의 조금 전의 시간에 위치 정보나 도착 시각등의 값을 초기화하도록 하고 있습니다.
그 후, SQLite의 거처가 「차」로 바뀔 때까지 wait.
거주소가 '자동차'로 바뀌면 LINEmessagingAPI로 '집에 나왔다'를 보냅니다.
그리고 SQLite의 도착 예정 시간을 취득해, 15분전이 되면 다시 LINEmessagingAPI로
그 때의 현재지와 「도착 예정 시간 0:00경」을 송신합니다.
Reference
이 문제에 관하여(스마트 폰의 위치 정보로부터 도착 15 분 전을 BOT로 LINE 그룹에 송신시켜 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/onionboynet/items/363a1d09af5fcb858c60텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)