Ejemplo n.º 1
0
def _parse_v2(msg_list):
    """Parsea un mensaje version 2

    >>> d = _parse_v2(['1', '20151130123442', '1204.892012', '7702.233496', '56.20', '26.90', '307'])
    >>> d == {
    ...       'id_nodo': 1,
    ...       'version': 2,
    ...       'lon': -77.03722493333333,
    ...       'timestamp': 1448886882,
    ...       'lat': -12.081533533333333,
    ...       'data': {
    ...                'hum': 56.2,
    ...                'temp': 26.9,
    ...                'gas': 307
    ...       }
    ... }
    True
    """
    ts = time2secs_tz(msg_list[1])
    # fechahora = 'yyyyMMddHHmmss'
    # coordenadas = 'ddmm.mmmmm' # d: degrees, m: minutes (se debe convertir a grados decimales)
    result = {
        "id_nodo": int(msg_list[0]),
        "version": 2,
        "timestamp": ts,
        "lat": coord_decimales(msg_list[2]),
        "lon": coord_decimales(msg_list[3]),
        "data": {
            "temp": float(msg_list[5]),
            "hum": float(msg_list[4]),
            "gas": int(msg_list[6])
        }
    }
    return result