> 백엔드 개발 > 파이썬 튜토리얼 > 백엔드의 pulsetracker에서 실시간 위치 업데이트를 듣습니다.

백엔드의 pulsetracker에서 실시간 위치 업데이트를 듣습니다.

Mary-Kate Olsen
풀어 주다: 2024-11-15 03:23:02
원래의
631명이 탐색했습니다.

소개

Pulsetracker는 독점 클라이언트 SDK에 얽매이지 않고 실시간 업데이트를 원하는 개발자를 위한 강력하고 확장 가능하며 유연한 위치 추적 솔루션입니다. Pulsetracker를 사용하면 WebSocket 또는 API를 사용하여 위치 데이터를 자체 백엔드 시스템에 자유롭게 통합하고 배터리 효율적인 기술로 실시간 추적을 처리할 수 있습니다.
이 가이드는 Pulsetracker 백엔드에 연결하고 위치 업데이트를 수신할 수 있도록 Python 클라이언트(리스너)를 설정하는 과정을 안내합니다.

PulseTracker 시작하기

Pulsetracker의 백엔드는 초당 수천 건의 위치 변경을 처리할 수 있으며 이러한 업데이트를 처리하고 저장하는 방법을 결정할 수 있습니다.
이러한 유연성은 데이터 및 통합 설정에 대한 통제력을 유지하려는 개발자에게 큰 이점입니다.

여기에서는 특정 기기의 위치 업데이트를 수신하는 Python 스크립트를 사용하여 Pulsetracker 실시간 업데이트 서비스(기본적으로 푸셔 서버)에 연결하겠습니다.

Python 클라이언트 설정

다음은 PulseTracker Pusher 서버에 연결하고, 위치 업데이트 채널을 구독하고, 실시간 위치 업데이트를 처리하는 간단한 Python 클라이언트용 코드입니다.

전제조건

Python 클라이언트를 실행하려면 다음이 필요합니다.

  • API 토큰이 있는 Pulsetracker 계정.
  • Pulsestracker 대시보드 또는 API에서 새 앱을 생성하고 앱 키를 복사할 수 있습니다
  • 컴퓨터에 Python이 설치되어 있습니다.
  • Pusher용 Python 클라이언트인 pysher 라이브러리

pip를 사용하여 pysher를 설치할 수 있습니다.

pip install pysher
로그인 후 복사

위치 업데이트를 수신하는 Python 코드

다음은 Python 클라이언트 코드와 자세한 설명입니다.

#!/usr/bin/env python

import sys
import pysher
import time

# Define global variable for Pusher client
global pusher

# Callback function to process location updates
def channel_callback(data):
    print("Channel Callback: %s" % data)
    # Todo: Pass the update to your queue server or to your database ... 

# Handler for connection establishment
def connect_handler(data):
    channel = pusher.subscribe("private-apps.YOUR_APP_KEY")
    channel.bind('App\Events\DeviceLocationUpdated', channel_callback)

if __name__ == '__main__':
    # Set your app key and auth endpoint here
    appkey = "YOUR_APP_KEY"
    auth_endpoint = "https://www.pulsestracker.com/api/broadcasting/auth"

    # Initialize Pusher client with custom host and authentication
    pusher = pysher.Pusher(
        key=appkey,
        auth_endpoint_headers={            
            "Authorization" : "Bearer YOUR_ACCESS_TOKEN"
        },
        auth_endpoint=auth_endpoint,
        custom_host="pusher.pulsestracker.com",
        secure=True,
    )
    pusher.connection.ping_interval = 30
    pusher.connect()

    # Bind the connection handler
    pusher.connection.bind('pusher:connection_established', connect_handler)

    while True:
        time.sleep(1)
로그인 후 복사

코드 설명

  1. 가져오기 및 설정:

    • 필요한 모듈을 가져오고 연결을 관리하는 데 사용할 전역 푸셔 변수를 정의합니다.
  2. channel_callback 함수 정의:

    • 이 기능은 수신 위치 업데이트를 처리합니다. 여기서는 단순히 수신된 데이터를 인쇄하지만 데이터를 데이터베이스, 메시징 대기열 또는 선택한 스토리지 솔루션으로 전달하도록 수정할 수 있습니다.
  3. connect_handler 설정:

    • 이 함수는 클라이언트를 특정 채널에 구독하고 위치 업데이트를 전송하는 이벤트인 App\Events\DeviceLocationUpdated에 Channel_callback 함수를 바인딩합니다. 이 이벤트는 새로운 위치 업데이트가 가능할 때마다 실행됩니다.
  4. 푸셔 클라이언트 초기화:

    • 기본 스크립트는 특정 앱 키와 인증 엔드포인트를 사용하여 Pusher 클라이언트를 초기화합니다.
    • auth_endpoint_headers에는 실제 PulseTracker API 토큰으로 대체해야 하는 Bearer 토큰이 포함되어 있습니다.
    • custom_host는 PulseTracker의 Pusher 서비스 호스트인 pusher.pulsestracker.com으로 설정됩니다.
    • 연결이 보안되도록 구성되었으며(secure=True) 연결이 유지되도록 핑 간격이 설정되었습니다.
  5. 연결 시작:

    • pusher.connect()는 서버와의 연결을 설정하고 pusher.connection.bind는 연결이 성공하면 실행되도록 connect_handler를 바인딩합니다.
  6. 클라이언트 실행을 유지하는 루프:

    • 마지막으로 간단한 무한 루프를 사용하면 스크립트가 활성 상태를 유지하면서 위치 업데이트를 무기한 수신할 수 있습니다.

다음 단계

클라이언트가 실행되면 PulseTracker로부터 실시간 위치 업데이트를 받게 됩니다. 이 스크립트를 다음과 같이 추가로 수정할 수 있습니다.

  • 데이터베이스에 업데이트를 저장하세요.
  • 데이터를 다른 API로 전달합니다.
  • 들어오는 데이터를 실시간으로 분석해 보세요.

결과

Listen for realtime location updates from pulsetracker on your backend

결론

Pulsetracker는 개발자가 실시간 위치 추적을 관리하고 자체 시스템에 통합할 수 있는 효과적인 솔루션을 제공합니다. 이 Python 클라이언트를 사용하면 위치 업데이트를 원활하게 수신하고 처리할 수 있으므로 특정 클라이언트 SDK 또는 백엔드 솔루션에 얽매이지 않고 맞춤형 고성능 위치 기반 애플리케이션을 구축할 수 있습니다.

Pulsetracker로 즐거운 추적을 즐겨보세요!

위 내용은 백엔드의 pulsetracker에서 실시간 위치 업데이트를 듣습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿