Computer_Science_Arbeit/Code + Data/get_data.ipynb

84 lines
2.5 KiB
Plaintext
Raw Normal View History

2024-01-17 20:38:22 +01:00
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "initial_id",
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import paramiko\n",
"import pandas as pd\n",
"from datetime import datetime\n",
"import time\n",
"\n",
"\n",
"def get_data(hostname, port, username, password, script_path):\n",
" try:\n",
" client = paramiko.SSHClient()\n",
" client.set_missing_host_key_policy(paramiko.AutoAddPolicy())\n",
" client.connect(hostname, port, username, password)\n",
"\n",
" stdin, stdout, stderr = client.exec_command(f'python3 {script_path}')\n",
" output = stdout.read().decode('utf-8').strip()\n",
"\n",
" client.close()\n",
"\n",
" output_pairs = output.split(',')\n",
"\n",
" variable_values = [float(pair.split('=')[1]) for pair in output_pairs]\n",
"\n",
" variable1, variable2, variable3 = variable_values\n",
"\n",
" return variable1, variable2, variable3\n",
"\n",
" except Exception as e:\n",
" print(f\"An error occurred: {e}\")\n",
" return None, None, None\n",
"\n",
"\n",
"df = pd.read_csv('Data.csv')\n",
"while True:\n",
" try:\n",
" temp, pressure, humidity = get_data('hostname', port, 'username', 'password', 'script_path')\n",
" time_1 = datetime.now().time().replace(microsecond=0)\n",
" date_1 = datetime.today().date().strftime('%d-%m-%Y')\n",
" df_temp = pd.DataFrame(\n",
" {'Date': [date_1], 'Time': [time_1], 'Temperature': [temp], 'Barometric Pressure': [pressure],\n",
" 'Humidity': [humidity]})\n",
" df = pd.concat([df, df_temp])\n",
" df.to_csv('Data.csv', index=False)\n",
" time.sleep(59)\n",
"\n",
" except KeyboardInterrupt:\n",
" break\n",
"\n",
"df.to_csv('Data.csv', index=False)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}