Skip to main content

Librería para el acceso a habmaps

Project description

habmapslib

Librería para el uso de habmaps

Quick Start

1.- Instalamos el cliente de habmaps con

Opción 1

pip3 install habmapslib
# para el upgrade pip3 install --upgrade habmapslib

Opción 2, instalación manual

git clone https://github.com/alpeza/habmapsgateway.git
cd habmapsgateway/habmapslib
sudo python3 setup.py install

2.- Envíamos información a la plataforma

from habmapslib import MapTracker, HabMapsMessage
import time

mt = MapTracker.MapTracker(id="default-station-id", #Nombre de la estación base
                           mqtt_url="localhost",    #DNS o IP del servidor MQTT
                           mqtt_port=1883,          #Puerto del servidor MQTT
                           user='habmaps',          #Credenciales de acceso al broker MQTT
                           password='root')

mt.startAlive() #Iniciamos la señal de alive que se enviará cada n minutos 

while True:
    mt.sendHabMessage(HabMapsMessage.HabMapsMessage(
        TimeStamp='2021-04-02 15:33:43', #El timestamp del hab en formato string datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        HabId='Mi-Hab', #Nombre del hab que se esta monitorizando, vendrá de la traza q transmita el hab
        HabPosition=[5, 3], #Array de [ latitud, longitud]
        Signals={ #Payload de sensores clave: Nombre del sensor, valor: valor del sensor
            "miSensorUno": 122.4,
            "miSensorDos": 400.5
        },
        BasestationPosition=[5, 3])) #Array opcional de [ latitud, longitud] de posición de la estacion base
    time.sleep(5)

Logging

La configuración de los logs se realiza a través de variables de entorno

export HABLIB_LOGLEVEL=DEBUG #INFO,ERROR
export HABLIB_FORMAT="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
export HABLIB_LOGFILE="/tmp/hablibclient.log"

Error Handling

    rc = mt.sendHabMessage(HabMapsMessage.HabMapsMessage(
        TimeStamp='2021-04-02 15:33:43',
        HabId='Mi-Hab',
        HabPosition=[5, 3],
        Signals={
            "miSensorUno": 122.4,
            "miSensorDos": 400.5
        },
        BasestationPosition=[5, 3]))
    if rc['isOK']:
        print("El mensaje se ha enviado correctamente ... ")
    else:
        print("Ha existido algun error en la transmision ...")
        print(rc['reason'])

CLI File Parser

La librería también se puede emplear a modo de deamon que va leyendo de un fichero y transmitiéndolo a habmaps.

python3 -m habmapslib.cli --help

1.- Configuramos el programa:

python3 -m habmapslib.cli --genconffile > miConfig.yaml
#Editamos la configuración
nano miConfig.yaml

2.- Lanzamos el programa

python3 -m habmapslib.cli --conffile miConfig.yaml

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

habmapslib-1.0.9.tar.gz (8.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

habmapslib-1.0.9-py3.8.egg (22.8 kB view details)

Uploaded Egg

habmapslib-1.0.9-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file habmapslib-1.0.9.tar.gz.

File metadata

  • Download URL: habmapslib-1.0.9.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.5.0.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for habmapslib-1.0.9.tar.gz
Algorithm Hash digest
SHA256 bf5c489b47166f611047cb3058750b3f9105ad2b1b7412a956c3d99388c93178
MD5 156559f8decf7252a174b2d5340bafbe
BLAKE2b-256 36372e1d718c503663f4b61bae97ab3f9a8f7adbe14b92c41449de5ad9f782ba

See more details on using hashes here.

File details

Details for the file habmapslib-1.0.9-py3.8.egg.

File metadata

  • Download URL: habmapslib-1.0.9-py3.8.egg
  • Upload date:
  • Size: 22.8 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.5.0.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for habmapslib-1.0.9-py3.8.egg
Algorithm Hash digest
SHA256 e4109d314214337081c785e5c56371bda84dfd5492ddd053ec18f5e309cd29d9
MD5 ba8f7ca8c6d1972f4a663e79d8ad1d7d
BLAKE2b-256 c793d42714dc0a1756c08903c72ccbb403ae280a69f7637451bfc6799cd46992

See more details on using hashes here.

File details

Details for the file habmapslib-1.0.9-py3-none-any.whl.

File metadata

  • Download URL: habmapslib-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.5.0.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for habmapslib-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 3fd0a7a5991c4899f21a95fbafb59b52951dc30dbf6de39bd1c736585027057c
MD5 a410e69d011626c92ba21a3572d436c3
BLAKE2b-256 daeadd9c8b1256fd17c39b032a3fc99f6b30f1ba094a2cc1ac17be118f321f0d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page