naneos.iotweb
NaneosUploadThread
Bases: Thread
Source code in src/naneos/iotweb/naneos_upload_thread.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | |
__init__(data, callback)
Adding the data that should be uploaded to the database.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
dict[int, DataFrame]
|
Data to upload, keyed by device serial number. |
required |
callback
|
Callable[[bool], None] | None
|
Called with the upload result. |
required |
Source code in src/naneos/iotweb/naneos_upload_thread.py
25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
build_combined_entry(data, abs_time)
classmethod
The protobuf message for a snapshot, with timestamps relative to abs_time.
Source code in src/naneos/iotweb/naneos_upload_thread.py
82 83 84 85 86 87 88 | |
get_body(upload_string)
staticmethod
The JSON envelope the backend expects around the base64 protobuf.
Source code in src/naneos/iotweb/naneos_upload_thread.py
54 55 56 57 58 59 60 61 62 63 | |
to_upload_frame(df)
staticmethod
Prepare one device frame for the backend: index in whole seconds, no inf.
Frames are indexed by unix time in milliseconds (see naneos.frames). The index is rounded, not truncated: the devices sample at ~1Hz with a phase of their own, so truncating puts the two samples that straddle a second boundary into the same second, where one of them wins, and leaves the neighbouring second without a row at all.
Source code in src/naneos/iotweb/naneos_upload_thread.py
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | |
download_from_iotweb(name, serial_number, start, stop, token)
Download your data from influxdb.naneos.ch. 1 Month of data takes about 30 seconds to download and uses about 100 MB of data.
You need to have a token to access the data. Ask mario.huegi@naneos.ch for your read token. We kindly ask you to not overuse our server. If you need to download the same data in a recuring pattern, contact us.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Name of the influx bucket. |
required |
serial_number
|
str
|
Serial number of your device as string. |
required |
start
|
datetime
|
Start date of the data you want to download. |
required |
stop
|
datetime
|
End date of the data you want to download. |
required |
token
|
str
|
Your read token. Do not push your token to public repositories. |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
pd.DataFrame: Dataframe with your data. |
Source code in src/naneos/iotweb/download/downloader.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | |