{ "cells": [ { "cell_type": "code", "execution_count": 46, "id": "62087531-441f-4c1a-b182-053ad5e944ae", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "len 26\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "f283310699e6411fac48d22e6f8cdd8f", "version_major": 2, "version_minor": 0 }, "text/plain": [ "FigureWidget({\n", " 'data': [{'hovertemplate': ('temp=%{marker.size}
lati=%{' ... '%{marker.color}'),\n", " 'lat': {'bdata': ('oS+9/bmcSEBQVMkPu5xIQKBF1QC8nE' ... 'y3nEhA2OTuSLycSECyG668wZxIQA=='),\n", " 'dtype': 'f8'},\n", " 'legendgroup': '',\n", " 'lon': {'bdata': ('cayL22iQMEBxlTGCaZAwQEBK4mhrkD' ... 'cdkDBAn1sYhBqQMEBApnNNGpAwQA=='),\n", " 'dtype': 'f8'},\n", " 'marker': {'color': {'bdata': ('AAAAAAAAAABlc3ISjHuhv7AgzVg0nb' ... '3pVfK/iAuZW7wo879EZYnvQIzzvw=='),\n", " 'dtype': 'f8'},\n", " 'coloraxis': 'coloraxis',\n", " 'opacity': 0.5,\n", " 'size': {'bdata': ('AAAAAAAAPkAAAAAAAAA+QAAAAAAAAD' ... 'AAAD5AAAAAAAAAPkAAAAAAAAA+QA=='),\n", " 'dtype': 'f8'},\n", " 'sizemode': 'area',\n", " 'sizeref': np.float64(0.3)},\n", " 'mode': 'markers',\n", " 'name': '',\n", " 'showlegend': False,\n", " 'subplot': 'map',\n", " 'type': 'scattermap',\n", " 'uid': '2f0753e7-5993-4855-bcc8-6a5dbc5e62ec'}],\n", " 'layout': {'coloraxis': {'colorbar': {'title': {'text': 'rssi'}},\n", " 'colorscale': [[0.0, 'rgb(0,0,131)'], [0.2,\n", " 'rgb(0,60,170)'], [0.4,\n", " 'rgb(5,255,255)'], [0.6,\n", " 'rgb(255,255,0)'], [0.8,\n", " 'rgb(250,0,0)'], [1.0, 'rgb(128,0,0)']]},\n", " 'height': 800,\n", " 'legend': {'itemsizing': 'constant', 'tracegroupgap': 0},\n", " 'map': {'center': {'lat': np.float64(49.22425434846154), 'lon': np.float64(16.56396273223077)},\n", " 'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]},\n", " 'style': 'open-street-map',\n", " 'zoom': 13},\n", " 'mapbox': {'center': {'lat': np.float64(49.22425434846154), 'lon': np.float64(16.56396273223077)},\n", " 'style': 'open-street-map',\n", " 'zoom': 13},\n", " 'margin': {'t': 60},\n", " 'template': '...',\n", " 'width': 800}\n", "})" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import dash\n", "import time\n", "import sys\n", "import json\n", "import pandas as pd\n", "import plotly.express as px\n", "\n", "\n", "df = pd.DataFrame()\n", "dg = pd.DataFrame(columns=['lati', 'long', 'alti', 'rssi', 'snr', 'rttt', 'temp', 'humi', 'pres', 'voc'], dtype=float)\n", "\n", "with open('save.csv') as f:\n", " for i, line in enumerate(f):\n", " dg.loc[i] = pd.Series(json.loads(line))\n", " savepos = f.tell()\n", "\n", "dg = dg.fillna(0.0)\n", "\n", "print('len', len(dg.index))\n", "fig = px.scatter_map(dg, lat='lati', lon='long',color=\"rssi\", size='temp',\n", " size_max=10, map_style=\"open-street-map\", color_continuous_scale='jet', zoom=13, height=800, width=800)\n", "\n", "f2 = go.FigureWidget(fig)\n", "\n", "f2" ] }, { "cell_type": "code", "execution_count": 52, "id": "aee5d6bc-0590-4494-abd2-a1eaf28481b9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{\"lati\": 49.232750116, \"long\": 16.565789814, \"alti\": NaN, \"rssi\": -8.493902113, \"snr\": 0.0, \"rttt\": NaN, \"temp\": 30.0, \"humi\": NaN, \"pres\": NaN, \"voc\": NaN}\n", "\n", "{\"lati\": 49.232391864, \"long\": 16.568253166, \"alti\": NaN, \"rssi\": -8.983527682, \"snr\": 0.0, \"rttt\": NaN, \"temp\": 30.0, \"humi\": NaN, \"pres\": NaN, \"voc\": NaN}\n", "\n" ] } ], "source": [ "#while True:\n", "import time, threading\n", "\n", "def update():\n", " global savepos\n", " mi = max(dg.index)\n", " with open('save.csv') as f:\n", " f.seek(savepos)\n", " for i, line in enumerate(f):\n", " print(line)\n", " dg.loc[mi+1+i] = pd.Series(json.loads(line)).fillna(0)\n", " savepos = f.tell()\n", "\n", " f2.data[0]['lat'] = dg['lati']\n", " f2.data[0]['lon'] = dg['long']\n", " f2.data[0]['marker']['color'] = dg['rssi']\n", " f2.data[0]['marker']['size'] = dg['temp']\n", "\n", " #time.sleep(1)\n", " threading.Timer(1, update).start()\n", "\n", "update()" ] }, { "cell_type": "code", "execution_count": 56, "id": "65a5202a-8cfc-456a-a39d-52a0b2d9f739", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "venv", "language": "python", "name": "venv" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.2" } }, "nbformat": 4, "nbformat_minor": 5 }