ents 2.3.3__tar.gz → 2.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ents-2.3.3 → ents-2.3.4}/PKG-INFO +1 -1
- {ents-2.3.3 → ents-2.3.4}/pyproject.toml +1 -1
- ents-2.3.4/src/ents/demo/demoPullRequests.py +119 -0
- ents-2.3.4/src/ents/proto/soil_power_sensor_pb2.py +90 -0
- ents-2.3.3/src/ents/proto/soil_power_sensor_pb2.py +0 -72
- {ents-2.3.3 → ents-2.3.4}/.gitignore +0 -0
- {ents-2.3.3 → ents-2.3.4}/LICENSE +0 -0
- {ents-2.3.3 → ents-2.3.4}/README.md +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/__init__.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/calibrate/PingSMU.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/calibrate/PingSPS.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/calibrate/README.md +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/calibrate/__init__.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/calibrate/linear_regression.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/calibrate/plots.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/calibrate/recorder.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/cli.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/config/README.md +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/config/__init__.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/config/adv_trace.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/config/user_config.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/proto/__init__.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/proto/decode.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/proto/encode.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/proto/esp32.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/simulator/__init__.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/src/ents/simulator/node.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/tests/__init__.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/tests/test_generic.py +0 -0
- {ents-2.3.3 → ents-2.3.4}/tests/test_simulator.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ents
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.4
|
|
4
4
|
Summary: Python package for Environmental NeTworked Sensor (ENTS)
|
|
5
5
|
Project-URL: Homepage, https://github.com/jlab-sensing/soil-power-sensor-firmware
|
|
6
6
|
Project-URL: Issues, https://github.com/jlab-sensing/soil-power-sensor-firmware/issues
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import requests
|
|
2
|
+
from datetime import datetime, timezone
|
|
3
|
+
import pandas as pd
|
|
4
|
+
from tabulate import tabulate
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class DirtVizClient:
|
|
8
|
+
BASE_URL = "https://dirtviz.jlab.ucsc.edu/api/"
|
|
9
|
+
|
|
10
|
+
def __init__(self):
|
|
11
|
+
self.session = requests.Session()
|
|
12
|
+
|
|
13
|
+
def cell_from_name(self, name, start=None, end=None):
|
|
14
|
+
"""Get power data for a specific cell"""
|
|
15
|
+
|
|
16
|
+
def get_power_data(self, cell_id, start=None, end=None):
|
|
17
|
+
"""Get power data for a specific cell"""
|
|
18
|
+
endpoint = f"power/{cell_id}"
|
|
19
|
+
params = {}
|
|
20
|
+
|
|
21
|
+
if start and end:
|
|
22
|
+
params = {
|
|
23
|
+
"startTime": start.strftime("%a, %d %b %Y %H:%M:%S GMT"),
|
|
24
|
+
"endTime": end.strftime("%a, %d %b %Y %H:%M:%S GMT"),
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
response = self.session.get(f"{self.BASE_URL}{endpoint}", params=params)
|
|
28
|
+
response.raise_for_status()
|
|
29
|
+
return response.json()
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def format_data_display(df, cell_id):
|
|
33
|
+
"""Format the data output with timestamp as first column"""
|
|
34
|
+
|
|
35
|
+
# Ensure timestamp exists and is first column
|
|
36
|
+
if "timestamp" in df.columns:
|
|
37
|
+
cols = ["timestamp"] + [col for col in df.columns if col != "timestamp"]
|
|
38
|
+
df = df[cols]
|
|
39
|
+
|
|
40
|
+
# Format timestamp nicely
|
|
41
|
+
df["timestamp"] = pd.to_datetime(df["timestamp"])
|
|
42
|
+
df["timestamp"] = df["timestamp"].dt.strftime("%m-%d-%Y %H:%M:%S")
|
|
43
|
+
|
|
44
|
+
# Calculate statistics
|
|
45
|
+
stats = {
|
|
46
|
+
"Cell ID": cell_id,
|
|
47
|
+
"Time Range": (
|
|
48
|
+
f"{df['timestamp'].iloc[0]} to {df['timestamp'].iloc[-1]}"
|
|
49
|
+
if len(df) > 0
|
|
50
|
+
else "N/A"
|
|
51
|
+
),
|
|
52
|
+
"Data Points": len(df),
|
|
53
|
+
"Avg Voltage (mV)": f"{df['v'].mean():.2f}" if "v" in df.columns else "N/A",
|
|
54
|
+
"Max Voltage (mV)": f"{df['v'].max():.2f}" if "v" in df.columns else "N/A",
|
|
55
|
+
"Avg Current (µA)": f"{df['i'].mean():.2f}" if "i" in df.columns else "N/A",
|
|
56
|
+
"Avg Power (µW)": f"{df['p'].mean():.2f}" if "p" in df.columns else "N/A",
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
column_rename = {
|
|
60
|
+
"timestamp": "Measurement Times",
|
|
61
|
+
"v": "Voltage (mV)",
|
|
62
|
+
"i": "Current (µA)",
|
|
63
|
+
"p": "Power (µW)",
|
|
64
|
+
}
|
|
65
|
+
# Apply renaming
|
|
66
|
+
df = df.rename(columns=column_rename)
|
|
67
|
+
|
|
68
|
+
# Display header
|
|
69
|
+
print("\n" + "=" * 60)
|
|
70
|
+
print(f"CELL {cell_id} POWER DATA SUMMARY".center(60))
|
|
71
|
+
for key, value in stats.items():
|
|
72
|
+
print(f"• {key:<20}: {value}") # Display the summary information
|
|
73
|
+
print("=" * 60 + "\n")
|
|
74
|
+
|
|
75
|
+
# Display sample data with timestamp first
|
|
76
|
+
if len(df) > 0:
|
|
77
|
+
print("DATA BY TIMESTAMPS:")
|
|
78
|
+
print(
|
|
79
|
+
tabulate(
|
|
80
|
+
df,
|
|
81
|
+
headers="keys",
|
|
82
|
+
tablefmt="grid", # Changed to grid for better column alignment
|
|
83
|
+
stralign="center", # Right-align numbers
|
|
84
|
+
showindex=False,
|
|
85
|
+
numalign="center",
|
|
86
|
+
)
|
|
87
|
+
)
|
|
88
|
+
else:
|
|
89
|
+
print("No data available to display")
|
|
90
|
+
|
|
91
|
+
print("\n" + "=" * 80)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
if __name__ == "__main__":
|
|
95
|
+
client = DirtVizClient()
|
|
96
|
+
|
|
97
|
+
try:
|
|
98
|
+
cell_id = 893 # Figure out how to do by name on DirtViz
|
|
99
|
+
start = datetime(2025, 8, 12, tzinfo=timezone.utc)
|
|
100
|
+
end = datetime.now(timezone.utc)
|
|
101
|
+
|
|
102
|
+
print(f"\nFetching power data for cell {cell_id}...")
|
|
103
|
+
data = client.get_power_data(cell_id, start, end)
|
|
104
|
+
|
|
105
|
+
if data:
|
|
106
|
+
df = pd.DataFrame(data)
|
|
107
|
+
format_data_display(df, cell_id)
|
|
108
|
+
|
|
109
|
+
# Save to CSV with timestamp first
|
|
110
|
+
# df.to_csv(f"cell_{cell_id}_power_data.csv", index=False)
|
|
111
|
+
# print(f"Data saved to cell_{cell_id}_power_data.csv")
|
|
112
|
+
else:
|
|
113
|
+
print("No data received for the specified time range.")
|
|
114
|
+
|
|
115
|
+
except requests.exceptions.HTTPError as e:
|
|
116
|
+
print(f"\nHTTP Error: {e}")
|
|
117
|
+
print(f"Response: {e.response.text[:500]}...")
|
|
118
|
+
except Exception as e:
|
|
119
|
+
print(f"\n⚠️ Unexpected error: {str(e)}")
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: soil_power_sensor.proto
|
|
5
|
+
# Protobuf Python Version: 6.31.1
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
31,
|
|
16
|
+
1,
|
|
17
|
+
'',
|
|
18
|
+
'soil_power_sensor.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17soil_power_sensor.proto\"E\n\x13MeasurementMetadata\x12\x0f\n\x07\x63\x65ll_id\x18\x01 \x01(\r\x12\x11\n\tlogger_id\x18\x02 \x01(\r\x12\n\n\x02ts\x18\x03 \x01(\r\"4\n\x10PowerMeasurement\x12\x0f\n\x07voltage\x18\x02 \x01(\x01\x12\x0f\n\x07\x63urrent\x18\x03 \x01(\x01\"P\n\x12Teros12Measurement\x12\x0f\n\x07vwc_raw\x18\x02 \x01(\x01\x12\x0f\n\x07vwc_adj\x18\x03 \x01(\x01\x12\x0c\n\x04temp\x18\x04 \x01(\x01\x12\n\n\x02\x65\x63\x18\x05 \x01(\r\"6\n\x12Teros21Measurement\x12\x12\n\nmatric_pot\x18\x01 \x01(\x01\x12\x0c\n\x04temp\x18\x02 \x01(\x01\"<\n\x13Phytos31Measurement\x12\x0f\n\x07voltage\x18\x01 \x01(\x01\x12\x14\n\x0cleaf_wetness\x18\x02 \x01(\x01\"L\n\x11\x42ME280Measurement\x12\x10\n\x08pressure\x18\x01 \x01(\r\x12\x13\n\x0btemperature\x18\x02 \x01(\x05\x12\x10\n\x08humidity\x18\x03 \x01(\r\"7\n\x12SEN0308Measurement\x12\x0f\n\x07voltage\x18\x01 \x01(\x01\x12\x10\n\x08humidity\x18\x02 \x01(\x01\"7\n\x12SEN0257Measurement\x12\x0f\n\x07voltage\x18\x01 \x01(\x01\x12\x10\n\x08pressure\x18\x02 \x01(\x01\"\"\n\x12YFS210CMeasurement\x12\x0c\n\x04\x66low\x18\x01 \x01(\x01\"\xfc\x02\n\x0bMeasurement\x12\"\n\x04meta\x18\x01 \x01(\x0b\x32\x14.MeasurementMetadata\x12\"\n\x05power\x18\x02 \x01(\x0b\x32\x11.PowerMeasurementH\x00\x12&\n\x07teros12\x18\x03 \x01(\x0b\x32\x13.Teros12MeasurementH\x00\x12(\n\x08phytos31\x18\x04 \x01(\x0b\x32\x14.Phytos31MeasurementH\x00\x12$\n\x06\x62me280\x18\x05 \x01(\x0b\x32\x12.BME280MeasurementH\x00\x12&\n\x07teros21\x18\x06 \x01(\x0b\x32\x13.Teros21MeasurementH\x00\x12&\n\x07sen0308\x18\x07 \x01(\x0b\x32\x13.SEN0308MeasurementH\x00\x12&\n\x07sen0257\x18\x08 \x01(\x0b\x32\x13.SEN0257MeasurementH\x00\x12&\n\x07yfs210c\x18\t \x01(\x0b\x32\x13.YFS210CMeasurementH\x00\x42\r\n\x0bmeasurement\"X\n\x08Response\x12$\n\x04resp\x18\x01 \x01(\x0e\x32\x16.Response.ResponseType\"&\n\x0cResponseType\x12\x0b\n\x07SUCCESS\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"\xe9\x01\n\x0c\x45sp32Command\x12$\n\x0cpage_command\x18\x01 \x01(\x0b\x32\x0c.PageCommandH\x00\x12$\n\x0ctest_command\x18\x02 \x01(\x0b\x32\x0c.TestCommandH\x00\x12$\n\x0cwifi_command\x18\x03 \x01(\x0b\x32\x0c.WiFiCommandH\x00\x12*\n\x0fmicrosd_command\x18\x04 \x01(\x0b\x32\x0f.MicroSDCommandH\x00\x12\x30\n\x12irrigation_command\x18\x05 \x01(\x0b\x32\x12.IrrigationCommandH\x00\x42\t\n\x07\x63ommand\"\xb6\x01\n\x0bPageCommand\x12.\n\x0c\x66ile_request\x18\x01 \x01(\x0e\x32\x18.PageCommand.RequestType\x12\x17\n\x0f\x66ile_descriptor\x18\x02 \x01(\r\x12\x12\n\nblock_size\x18\x03 \x01(\r\x12\x11\n\tnum_bytes\x18\x04 \x01(\r\"7\n\x0bRequestType\x12\x08\n\x04OPEN\x10\x00\x12\t\n\x05\x43LOSE\x10\x01\x12\x08\n\x04READ\x10\x02\x12\t\n\x05WRITE\x10\x03\"\x82\x01\n\x0bTestCommand\x12\'\n\x05state\x18\x01 \x01(\x0e\x32\x18.TestCommand.ChangeState\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x05\"<\n\x0b\x43hangeState\x12\x0b\n\x07RECEIVE\x10\x00\x12\x13\n\x0fRECEIVE_REQUEST\x10\x01\x12\x0b\n\x07REQUEST\x10\x02\"\xfe\x01\n\x0bWiFiCommand\x12\x1f\n\x04type\x18\x01 \x01(\x0e\x32\x11.WiFiCommand.Type\x12\x0c\n\x04ssid\x18\x02 \x01(\t\x12\x0e\n\x06passwd\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x0c\n\x04port\x18\x08 \x01(\r\x12\n\n\x02rc\x18\x05 \x01(\r\x12\n\n\x02ts\x18\x06 \x01(\r\x12\x0c\n\x04resp\x18\x07 \x01(\x0c\"o\n\x04Type\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x08\n\x04POST\x10\x01\x12\t\n\x05\x43HECK\x10\x02\x12\x08\n\x04TIME\x10\x03\x12\x0e\n\nDISCONNECT\x10\x04\x12\x0e\n\nCHECK_WIFI\x10\x05\x12\r\n\tCHECK_API\x10\x06\x12\x0c\n\x08NTP_SYNC\x10\x07\"\x86\x03\n\x0eMicroSDCommand\x12\"\n\x04type\x18\x01 \x01(\x0e\x32\x14.MicroSDCommand.Type\x12\x10\n\x08\x66ilename\x18\x02 \x01(\t\x12&\n\x02rc\x18\x03 \x01(\x0e\x32\x1a.MicroSDCommand.ReturnCode\x12\x1c\n\x04meas\x18\x04 \x01(\x0b\x32\x0c.MeasurementH\x00\x12 \n\x02uc\x18\x05 \x01(\x0b\x32\x12.UserConfigurationH\x00\" \n\x04Type\x12\x08\n\x04SAVE\x10\x00\x12\x0e\n\nUSERCONFIG\x10\x01\"\xab\x01\n\nReturnCode\x12\x0b\n\x07SUCCESS\x10\x00\x12\x11\n\rERROR_GENERAL\x10\x01\x12\x1e\n\x1a\x45RROR_MICROSD_NOT_INSERTED\x10\x02\x12#\n\x1f\x45RROR_FILE_SYSTEM_NOT_MOUNTABLE\x10\x03\x12\x1d\n\x19\x45RROR_PAYLOAD_NOT_DECODED\x10\x04\x12\x19\n\x15\x45RROR_FILE_NOT_OPENED\x10\x05\x42\x06\n\x04\x64\x61ta\"\x94\x01\n\x11IrrigationCommand\x12%\n\x04type\x18\x01 \x01(\x0e\x32\x17.IrrigationCommand.Type\x12\'\n\x05state\x18\x02 \x01(\x0e\x32\x18.IrrigationCommand.State\"\x11\n\x04Type\x12\t\n\x05\x43HECK\x10\x00\"\x1c\n\x05State\x12\x08\n\x04OPEN\x10\x00\x12\t\n\x05\x43LOSE\x10\x01\"\xdc\x02\n\x11UserConfiguration\x12\x11\n\tlogger_id\x18\x01 \x01(\r\x12\x0f\n\x07\x63\x65ll_id\x18\x02 \x01(\r\x12$\n\rUpload_method\x18\x03 \x01(\x0e\x32\r.Uploadmethod\x12\x17\n\x0fUpload_interval\x18\x04 \x01(\r\x12\'\n\x0f\x65nabled_sensors\x18\x05 \x03(\x0e\x32\x0e.EnabledSensor\x12\x15\n\rVoltage_Slope\x18\x06 \x01(\x01\x12\x16\n\x0eVoltage_Offset\x18\x07 \x01(\x01\x12\x15\n\rCurrent_Slope\x18\x08 \x01(\x01\x12\x16\n\x0e\x43urrent_Offset\x18\t \x01(\x01\x12\x11\n\tWiFi_SSID\x18\n \x01(\t\x12\x15\n\rWiFi_Password\x18\x0b \x01(\t\x12\x18\n\x10\x41PI_Endpoint_URL\x18\x0c \x01(\t\x12\x19\n\x11\x41PI_Endpoint_Port\x18\r \x01(\r*O\n\rEnabledSensor\x12\x0b\n\x07Voltage\x10\x00\x12\x0b\n\x07\x43urrent\x10\x01\x12\x0b\n\x07Teros12\x10\x02\x12\x0b\n\x07Teros21\x10\x03\x12\n\n\x06\x42ME280\x10\x04*\"\n\x0cUploadmethod\x12\x08\n\x04LoRa\x10\x00\x12\x08\n\x04WiFi\x10\x01\x62\x06proto3')
|
|
28
|
+
|
|
29
|
+
_globals = globals()
|
|
30
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'soil_power_sensor_pb2', _globals)
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
DESCRIPTOR._loaded_options = None
|
|
34
|
+
_globals['_ENABLEDSENSOR']._serialized_start=2759
|
|
35
|
+
_globals['_ENABLEDSENSOR']._serialized_end=2838
|
|
36
|
+
_globals['_UPLOADMETHOD']._serialized_start=2840
|
|
37
|
+
_globals['_UPLOADMETHOD']._serialized_end=2874
|
|
38
|
+
_globals['_MEASUREMENTMETADATA']._serialized_start=27
|
|
39
|
+
_globals['_MEASUREMENTMETADATA']._serialized_end=96
|
|
40
|
+
_globals['_POWERMEASUREMENT']._serialized_start=98
|
|
41
|
+
_globals['_POWERMEASUREMENT']._serialized_end=150
|
|
42
|
+
_globals['_TEROS12MEASUREMENT']._serialized_start=152
|
|
43
|
+
_globals['_TEROS12MEASUREMENT']._serialized_end=232
|
|
44
|
+
_globals['_TEROS21MEASUREMENT']._serialized_start=234
|
|
45
|
+
_globals['_TEROS21MEASUREMENT']._serialized_end=288
|
|
46
|
+
_globals['_PHYTOS31MEASUREMENT']._serialized_start=290
|
|
47
|
+
_globals['_PHYTOS31MEASUREMENT']._serialized_end=350
|
|
48
|
+
_globals['_BME280MEASUREMENT']._serialized_start=352
|
|
49
|
+
_globals['_BME280MEASUREMENT']._serialized_end=428
|
|
50
|
+
_globals['_SEN0308MEASUREMENT']._serialized_start=430
|
|
51
|
+
_globals['_SEN0308MEASUREMENT']._serialized_end=485
|
|
52
|
+
_globals['_SEN0257MEASUREMENT']._serialized_start=487
|
|
53
|
+
_globals['_SEN0257MEASUREMENT']._serialized_end=542
|
|
54
|
+
_globals['_YFS210CMEASUREMENT']._serialized_start=544
|
|
55
|
+
_globals['_YFS210CMEASUREMENT']._serialized_end=578
|
|
56
|
+
_globals['_MEASUREMENT']._serialized_start=581
|
|
57
|
+
_globals['_MEASUREMENT']._serialized_end=961
|
|
58
|
+
_globals['_RESPONSE']._serialized_start=963
|
|
59
|
+
_globals['_RESPONSE']._serialized_end=1051
|
|
60
|
+
_globals['_RESPONSE_RESPONSETYPE']._serialized_start=1013
|
|
61
|
+
_globals['_RESPONSE_RESPONSETYPE']._serialized_end=1051
|
|
62
|
+
_globals['_ESP32COMMAND']._serialized_start=1054
|
|
63
|
+
_globals['_ESP32COMMAND']._serialized_end=1287
|
|
64
|
+
_globals['_PAGECOMMAND']._serialized_start=1290
|
|
65
|
+
_globals['_PAGECOMMAND']._serialized_end=1472
|
|
66
|
+
_globals['_PAGECOMMAND_REQUESTTYPE']._serialized_start=1417
|
|
67
|
+
_globals['_PAGECOMMAND_REQUESTTYPE']._serialized_end=1472
|
|
68
|
+
_globals['_TESTCOMMAND']._serialized_start=1475
|
|
69
|
+
_globals['_TESTCOMMAND']._serialized_end=1605
|
|
70
|
+
_globals['_TESTCOMMAND_CHANGESTATE']._serialized_start=1545
|
|
71
|
+
_globals['_TESTCOMMAND_CHANGESTATE']._serialized_end=1605
|
|
72
|
+
_globals['_WIFICOMMAND']._serialized_start=1608
|
|
73
|
+
_globals['_WIFICOMMAND']._serialized_end=1862
|
|
74
|
+
_globals['_WIFICOMMAND_TYPE']._serialized_start=1751
|
|
75
|
+
_globals['_WIFICOMMAND_TYPE']._serialized_end=1862
|
|
76
|
+
_globals['_MICROSDCOMMAND']._serialized_start=1865
|
|
77
|
+
_globals['_MICROSDCOMMAND']._serialized_end=2255
|
|
78
|
+
_globals['_MICROSDCOMMAND_TYPE']._serialized_start=2041
|
|
79
|
+
_globals['_MICROSDCOMMAND_TYPE']._serialized_end=2073
|
|
80
|
+
_globals['_MICROSDCOMMAND_RETURNCODE']._serialized_start=2076
|
|
81
|
+
_globals['_MICROSDCOMMAND_RETURNCODE']._serialized_end=2247
|
|
82
|
+
_globals['_IRRIGATIONCOMMAND']._serialized_start=2258
|
|
83
|
+
_globals['_IRRIGATIONCOMMAND']._serialized_end=2406
|
|
84
|
+
_globals['_IRRIGATIONCOMMAND_TYPE']._serialized_start=2359
|
|
85
|
+
_globals['_IRRIGATIONCOMMAND_TYPE']._serialized_end=2376
|
|
86
|
+
_globals['_IRRIGATIONCOMMAND_STATE']._serialized_start=2378
|
|
87
|
+
_globals['_IRRIGATIONCOMMAND_STATE']._serialized_end=2406
|
|
88
|
+
_globals['_USERCONFIGURATION']._serialized_start=2409
|
|
89
|
+
_globals['_USERCONFIGURATION']._serialized_end=2757
|
|
90
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
-
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
-
# source: soil_power_sensor.proto
|
|
5
|
-
# Protobuf Python Version: 6.31.1
|
|
6
|
-
"""Generated protocol buffer code."""
|
|
7
|
-
from google.protobuf import descriptor as _descriptor
|
|
8
|
-
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
-
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
-
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
-
from google.protobuf.internal import builder as _builder
|
|
12
|
-
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
-
_runtime_version.Domain.PUBLIC,
|
|
14
|
-
6,
|
|
15
|
-
31,
|
|
16
|
-
1,
|
|
17
|
-
'',
|
|
18
|
-
'soil_power_sensor.proto'
|
|
19
|
-
)
|
|
20
|
-
# @@protoc_insertion_point(imports)
|
|
21
|
-
|
|
22
|
-
_sym_db = _symbol_database.Default()
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17soil_power_sensor.proto\"E\n\x13MeasurementMetadata\x12\x0f\n\x07\x63\x65ll_id\x18\x01 \x01(\r\x12\x11\n\tlogger_id\x18\x02 \x01(\r\x12\n\n\x02ts\x18\x03 \x01(\r\"4\n\x10PowerMeasurement\x12\x0f\n\x07voltage\x18\x02 \x01(\x01\x12\x0f\n\x07\x63urrent\x18\x03 \x01(\x01\"P\n\x12Teros12Measurement\x12\x0f\n\x07vwc_raw\x18\x02 \x01(\x01\x12\x0f\n\x07vwc_adj\x18\x03 \x01(\x01\x12\x0c\n\x04temp\x18\x04 \x01(\x01\x12\n\n\x02\x65\x63\x18\x05 \x01(\r\"6\n\x12Teros21Measurement\x12\x12\n\nmatric_pot\x18\x01 \x01(\x01\x12\x0c\n\x04temp\x18\x02 \x01(\x01\"<\n\x13Phytos31Measurement\x12\x0f\n\x07voltage\x18\x01 \x01(\x01\x12\x14\n\x0cleaf_wetness\x18\x02 \x01(\x01\"L\n\x11\x42ME280Measurement\x12\x10\n\x08pressure\x18\x01 \x01(\r\x12\x13\n\x0btemperature\x18\x02 \x01(\x05\x12\x10\n\x08humidity\x18\x03 \x01(\r\"\x84\x02\n\x0bMeasurement\x12\"\n\x04meta\x18\x01 \x01(\x0b\x32\x14.MeasurementMetadata\x12\"\n\x05power\x18\x02 \x01(\x0b\x32\x11.PowerMeasurementH\x00\x12&\n\x07teros12\x18\x03 \x01(\x0b\x32\x13.Teros12MeasurementH\x00\x12(\n\x08phytos31\x18\x04 \x01(\x0b\x32\x14.Phytos31MeasurementH\x00\x12$\n\x06\x62me280\x18\x05 \x01(\x0b\x32\x12.BME280MeasurementH\x00\x12&\n\x07teros21\x18\x06 \x01(\x0b\x32\x13.Teros21MeasurementH\x00\x42\r\n\x0bmeasurement\"X\n\x08Response\x12$\n\x04resp\x18\x01 \x01(\x0e\x32\x16.Response.ResponseType\"&\n\x0cResponseType\x12\x0b\n\x07SUCCESS\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"\x8b\x01\n\x0c\x45sp32Command\x12$\n\x0cpage_command\x18\x01 \x01(\x0b\x32\x0c.PageCommandH\x00\x12$\n\x0ctest_command\x18\x02 \x01(\x0b\x32\x0c.TestCommandH\x00\x12$\n\x0cwifi_command\x18\x03 \x01(\x0b\x32\x0c.WiFiCommandH\x00\x42\t\n\x07\x63ommand\"\xb6\x01\n\x0bPageCommand\x12.\n\x0c\x66ile_request\x18\x01 \x01(\x0e\x32\x18.PageCommand.RequestType\x12\x17\n\x0f\x66ile_descriptor\x18\x02 \x01(\r\x12\x12\n\nblock_size\x18\x03 \x01(\r\x12\x11\n\tnum_bytes\x18\x04 \x01(\r\"7\n\x0bRequestType\x12\x08\n\x04OPEN\x10\x00\x12\t\n\x05\x43LOSE\x10\x01\x12\x08\n\x04READ\x10\x02\x12\t\n\x05WRITE\x10\x03\"\x82\x01\n\x0bTestCommand\x12\'\n\x05state\x18\x01 \x01(\x0e\x32\x18.TestCommand.ChangeState\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x05\"<\n\x0b\x43hangeState\x12\x0b\n\x07RECEIVE\x10\x00\x12\x13\n\x0fRECEIVE_REQUEST\x10\x01\x12\x0b\n\x07REQUEST\x10\x02\"\xfe\x01\n\x0bWiFiCommand\x12\x1f\n\x04type\x18\x01 \x01(\x0e\x32\x11.WiFiCommand.Type\x12\x0c\n\x04ssid\x18\x02 \x01(\t\x12\x0e\n\x06passwd\x18\x03 \x01(\t\x12\x0b\n\x03url\x18\x04 \x01(\t\x12\x0c\n\x04port\x18\x08 \x01(\r\x12\n\n\x02rc\x18\x05 \x01(\r\x12\n\n\x02ts\x18\x06 \x01(\r\x12\x0c\n\x04resp\x18\x07 \x01(\x0c\"o\n\x04Type\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x08\n\x04POST\x10\x01\x12\t\n\x05\x43HECK\x10\x02\x12\x08\n\x04TIME\x10\x03\x12\x0e\n\nDISCONNECT\x10\x04\x12\x0e\n\nCHECK_WIFI\x10\x05\x12\r\n\tCHECK_API\x10\x06\x12\x0c\n\x08NTP_SYNC\x10\x07\"\xdc\x02\n\x11UserConfiguration\x12\x11\n\tlogger_id\x18\x01 \x01(\r\x12\x0f\n\x07\x63\x65ll_id\x18\x02 \x01(\r\x12$\n\rUpload_method\x18\x03 \x01(\x0e\x32\r.Uploadmethod\x12\x17\n\x0fUpload_interval\x18\x04 \x01(\r\x12\'\n\x0f\x65nabled_sensors\x18\x05 \x03(\x0e\x32\x0e.EnabledSensor\x12\x15\n\rVoltage_Slope\x18\x06 \x01(\x01\x12\x16\n\x0eVoltage_Offset\x18\x07 \x01(\x01\x12\x15\n\rCurrent_Slope\x18\x08 \x01(\x01\x12\x16\n\x0e\x43urrent_Offset\x18\t \x01(\x01\x12\x11\n\tWiFi_SSID\x18\n \x01(\t\x12\x15\n\rWiFi_Password\x18\x0b \x01(\t\x12\x18\n\x10\x41PI_Endpoint_URL\x18\x0c \x01(\t\x12\x19\n\x11\x41PI_Endpoint_Port\x18\r \x01(\r*O\n\rEnabledSensor\x12\x0b\n\x07Voltage\x10\x00\x12\x0b\n\x07\x43urrent\x10\x01\x12\x0b\n\x07Teros12\x10\x02\x12\x0b\n\x07Teros21\x10\x03\x12\n\n\x06\x42ME280\x10\x04*\"\n\x0cUploadmethod\x12\x08\n\x04LoRa\x10\x00\x12\x08\n\x04WiFi\x10\x01\x62\x06proto3')
|
|
28
|
-
|
|
29
|
-
_globals = globals()
|
|
30
|
-
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
-
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'soil_power_sensor_pb2', _globals)
|
|
32
|
-
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
-
DESCRIPTOR._loaded_options = None
|
|
34
|
-
_globals['_ENABLEDSENSOR']._serialized_start=1851
|
|
35
|
-
_globals['_ENABLEDSENSOR']._serialized_end=1930
|
|
36
|
-
_globals['_UPLOADMETHOD']._serialized_start=1932
|
|
37
|
-
_globals['_UPLOADMETHOD']._serialized_end=1966
|
|
38
|
-
_globals['_MEASUREMENTMETADATA']._serialized_start=27
|
|
39
|
-
_globals['_MEASUREMENTMETADATA']._serialized_end=96
|
|
40
|
-
_globals['_POWERMEASUREMENT']._serialized_start=98
|
|
41
|
-
_globals['_POWERMEASUREMENT']._serialized_end=150
|
|
42
|
-
_globals['_TEROS12MEASUREMENT']._serialized_start=152
|
|
43
|
-
_globals['_TEROS12MEASUREMENT']._serialized_end=232
|
|
44
|
-
_globals['_TEROS21MEASUREMENT']._serialized_start=234
|
|
45
|
-
_globals['_TEROS21MEASUREMENT']._serialized_end=288
|
|
46
|
-
_globals['_PHYTOS31MEASUREMENT']._serialized_start=290
|
|
47
|
-
_globals['_PHYTOS31MEASUREMENT']._serialized_end=350
|
|
48
|
-
_globals['_BME280MEASUREMENT']._serialized_start=352
|
|
49
|
-
_globals['_BME280MEASUREMENT']._serialized_end=428
|
|
50
|
-
_globals['_MEASUREMENT']._serialized_start=431
|
|
51
|
-
_globals['_MEASUREMENT']._serialized_end=691
|
|
52
|
-
_globals['_RESPONSE']._serialized_start=693
|
|
53
|
-
_globals['_RESPONSE']._serialized_end=781
|
|
54
|
-
_globals['_RESPONSE_RESPONSETYPE']._serialized_start=743
|
|
55
|
-
_globals['_RESPONSE_RESPONSETYPE']._serialized_end=781
|
|
56
|
-
_globals['_ESP32COMMAND']._serialized_start=784
|
|
57
|
-
_globals['_ESP32COMMAND']._serialized_end=923
|
|
58
|
-
_globals['_PAGECOMMAND']._serialized_start=926
|
|
59
|
-
_globals['_PAGECOMMAND']._serialized_end=1108
|
|
60
|
-
_globals['_PAGECOMMAND_REQUESTTYPE']._serialized_start=1053
|
|
61
|
-
_globals['_PAGECOMMAND_REQUESTTYPE']._serialized_end=1108
|
|
62
|
-
_globals['_TESTCOMMAND']._serialized_start=1111
|
|
63
|
-
_globals['_TESTCOMMAND']._serialized_end=1241
|
|
64
|
-
_globals['_TESTCOMMAND_CHANGESTATE']._serialized_start=1181
|
|
65
|
-
_globals['_TESTCOMMAND_CHANGESTATE']._serialized_end=1241
|
|
66
|
-
_globals['_WIFICOMMAND']._serialized_start=1244
|
|
67
|
-
_globals['_WIFICOMMAND']._serialized_end=1498
|
|
68
|
-
_globals['_WIFICOMMAND_TYPE']._serialized_start=1387
|
|
69
|
-
_globals['_WIFICOMMAND_TYPE']._serialized_end=1498
|
|
70
|
-
_globals['_USERCONFIGURATION']._serialized_start=1501
|
|
71
|
-
_globals['_USERCONFIGURATION']._serialized_end=1849
|
|
72
|
-
# @@protoc_insertion_point(module_scope)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|