84 lines
2.5 KiB
Plaintext
84 lines
2.5 KiB
Plaintext
|
{
|
||
|
"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
|
||
|
}
|