diff --git a/rfid_project.ipynb b/rfid_project.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..8081df2214100431776ede48c0643d8e72e9d7b0 --- /dev/null +++ b/rfid_project.ipynb @@ -0,0 +1,352 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "5c97bc34", + "metadata": {}, + "outputs": [], + "source": [ + "import pyodbc\n", + "import pandas as pd\n", + "from sqlalchemy import create_engine\n", + "import urllib" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "7d08db1a", + "metadata": {}, + "outputs": [], + "source": [ + "params = urllib.parse.quote_plus(\"DRIVER={ODBC Driver 17 for SQL Server};\"\n", + " \"SERVER=dbserver.mif.pg.gda.pl,1433;\"\n", + " \"DATABASE=silkycoders;\"\n", + " \"UID=LOGIN;\"\n", + " \"PWD=HASLO\")\n", + "\n", + "engine = create_engine(\"mssql+pyodbc:///?odbc_connect={}\".format(params))" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "55a5bbdb", + "metadata": {}, + "outputs": [], + "source": [ + "query = 'SELECT [EPC],[PROXIMITY],[TIMESTAMP],[MEASUREMENT]FROM [silkycoders].[rfid].[Logs] WHERE MEASUREMENT = 1;'" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "b072f454", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_sql_query(query, engine)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "83ef096e", + "metadata": {}, + "outputs": [], + "source": [ + "df = df.sort_values(by=\"TIMESTAMP\").reset_index(drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7172cc5a", + "metadata": {}, + "outputs": [], + "source": [ + "df[\"HOUR\"] = df.TIMESTAMP.astype('datetime64[ns]').dt.hour.astype(int)\n", + "df[\"MIN\"] = df.TIMESTAMP.astype('datetime64[ns]').dt.minute.astype(int)\n", + "df[\"SEC\"] = df.TIMESTAMP.astype('datetime64[ns]').dt.second.astype(int)\n", + "df[\"MICROSEC\"] = df.TIMESTAMP.astype('datetime64[ns]').dt.microsecond.astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "2572ee69", + "metadata": {}, + "outputs": [], + "source": [ + "df[\"MILISEC\"] = df.MICROSEC/1000 + df.SEC*1000 + df.MIN*60000 + df.HOUR*3600000" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "b273fdb2", + "metadata": {}, + "outputs": [], + "source": [ + "df[\"DELTA_MS\"] = df.MILISEC - df.MILISEC[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "f090bb86", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>EPC</th>\n", + " <th>PROXIMITY</th>\n", + " <th>TIMESTAMP</th>\n", + " <th>MEASUREMENT</th>\n", + " <th>HOUR</th>\n", + " <th>MIN</th>\n", + " <th>SEC</th>\n", + " <th>MICROSEC</th>\n", + " <th>MILISEC</th>\n", + " <th>DELTA_MS</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>3035684754340E0000B594FD</td>\n", + " <td>-70.4</td>\n", + " <td>2021-10-26T09:46:33.735</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>46</td>\n", + " <td>33</td>\n", + " <td>735000</td>\n", + " <td>35193735.0</td>\n", + " <td>0.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>303568480C2B874000B59A39</td>\n", + " <td>-61.8</td>\n", + " <td>2021-10-26T09:46:33.747</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>46</td>\n", + " <td>33</td>\n", + " <td>747000</td>\n", + " <td>35193747.0</td>\n", + " <td>12.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>303568480C357A0000B59999</td>\n", + " <td>-74.4</td>\n", + " <td>2021-10-26T09:46:33.751</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>46</td>\n", + " <td>33</td>\n", + " <td>751000</td>\n", + " <td>35193751.0</td>\n", + " <td>16.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>30356847541DA78000B5BA4D</td>\n", + " <td>-78.0</td>\n", + " <td>2021-10-26T09:46:33.754</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>46</td>\n", + " <td>33</td>\n", + " <td>754000</td>\n", + " <td>35193754.0</td>\n", + " <td>19.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>30356847542A2B0000B5B215</td>\n", + " <td>-71.1</td>\n", + " <td>2021-10-26T09:46:33.758</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>46</td>\n", + " <td>33</td>\n", + " <td>758000</td>\n", + " <td>35193758.0</td>\n", + " <td>23.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>10917</th>\n", + " <td>30356847542B6DC000B5B6BD</td>\n", + " <td>-78.0</td>\n", + " <td>2021-10-26T09:48:17.687</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>48</td>\n", + " <td>17</td>\n", + " <td>687000</td>\n", + " <td>35297687.0</td>\n", + " <td>103952.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>10918</th>\n", + " <td>30356847542B6CC000B5B642</td>\n", + " <td>-78.9</td>\n", + " <td>2021-10-26T09:48:17.688</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>48</td>\n", + " <td>17</td>\n", + " <td>688000</td>\n", + " <td>35297688.0</td>\n", + " <td>103953.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>10919</th>\n", + " <td>3035684754501E0000B59704</td>\n", + " <td>-88.4</td>\n", + " <td>2021-10-26T09:48:17.689</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>48</td>\n", + " <td>17</td>\n", + " <td>689000</td>\n", + " <td>35297689.0</td>\n", + " <td>103954.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>10920</th>\n", + " <td>303568475450208000B5B622</td>\n", + " <td>-80.5</td>\n", + " <td>2021-10-26T09:48:17.690</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>48</td>\n", + " <td>17</td>\n", + " <td>690000</td>\n", + " <td>35297690.0</td>\n", + " <td>103955.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>10921</th>\n", + " <td>30356847542A2B0000B5B21C</td>\n", + " <td>-78.0</td>\n", + " <td>2021-10-26T09:48:17.691</td>\n", + " <td>1</td>\n", + " <td>9</td>\n", + " <td>48</td>\n", + " <td>17</td>\n", + " <td>691000</td>\n", + " <td>35297691.0</td>\n", + " <td>103956.0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>10922 rows Ă 10 columns</p>\n", + "</div>" + ], + "text/plain": [ + " EPC PROXIMITY TIMESTAMP \\\n", + "0 3035684754340E0000B594FD -70.4 2021-10-26T09:46:33.735 \n", + "1 303568480C2B874000B59A39 -61.8 2021-10-26T09:46:33.747 \n", + "2 303568480C357A0000B59999 -74.4 2021-10-26T09:46:33.751 \n", + "3 30356847541DA78000B5BA4D -78.0 2021-10-26T09:46:33.754 \n", + "4 30356847542A2B0000B5B215 -71.1 2021-10-26T09:46:33.758 \n", + "... ... ... ... \n", + "10917 30356847542B6DC000B5B6BD -78.0 2021-10-26T09:48:17.687 \n", + "10918 30356847542B6CC000B5B642 -78.9 2021-10-26T09:48:17.688 \n", + "10919 3035684754501E0000B59704 -88.4 2021-10-26T09:48:17.689 \n", + "10920 303568475450208000B5B622 -80.5 2021-10-26T09:48:17.690 \n", + "10921 30356847542A2B0000B5B21C -78.0 2021-10-26T09:48:17.691 \n", + "\n", + " MEASUREMENT HOUR MIN SEC MICROSEC MILISEC DELTA_MS \n", + "0 1 9 46 33 735000 35193735.0 0.0 \n", + "1 1 9 46 33 747000 35193747.0 12.0 \n", + "2 1 9 46 33 751000 35193751.0 16.0 \n", + "3 1 9 46 33 754000 35193754.0 19.0 \n", + "4 1 9 46 33 758000 35193758.0 23.0 \n", + "... ... ... ... ... ... ... ... \n", + "10917 1 9 48 17 687000 35297687.0 103952.0 \n", + "10918 1 9 48 17 688000 35297688.0 103953.0 \n", + "10919 1 9 48 17 689000 35297689.0 103954.0 \n", + "10920 1 9 48 17 690000 35297690.0 103955.0 \n", + "10921 1 9 48 17 691000 35297691.0 103956.0 \n", + "\n", + "[10922 rows x 10 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a4d3973", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}