summaryrefslogtreecommitdiffstats
path: root/notFinishedCode/Report/test.tex.backup
diff options
context:
space:
mode:
Diffstat (limited to 'notFinishedCode/Report/test.tex.backup')
-rw-r--r--notFinishedCode/Report/test.tex.backup35
1 files changed, 29 insertions, 6 deletions
diff --git a/notFinishedCode/Report/test.tex.backup b/notFinishedCode/Report/test.tex.backup
index d520c00..7c427aa 100644
--- a/notFinishedCode/Report/test.tex.backup
+++ b/notFinishedCode/Report/test.tex.backup
@@ -105,7 +105,14 @@ Gradually we implemented a bit-by-bit of the final software. Every single step w
\section{Requirements} % chapter 2
\newpage
\section{Database design}
-How we designed our database and why, explain in this section! Our database of choice was MySQL b
+At the start our database of choice was MySQL.
+When the
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[width=130mm]{DBRelationship.png}
+ \caption[]{Database relationship diagram}
+\end{figure}
+
\newpage
\section{Software design} % section 2.1
\subsection{Database access} % subsection 2.1.1
@@ -130,7 +137,7 @@ our first approach was inferior and slower. The state controlled method connecte
One can easyly apply the class just by correctly defining the parameters: port address, baud rate and timeout. The former two are self-explanatory and the timeout parameter is used to define when the alarm function should raise a timeout exception.
A timeout exception gets raised when the cell phone does not respond (i.e. when the cell phone enters a deadlock or delayed state.) We had used the serial port library inside of Python although we use USB cables to connect to our cell phones. One should
be aware that our USB cables create a virtual serial port. More details on class design and an example can be found on our project wiki \cite{wiki}.
-\subsection{Client and Server model}
+\subsection{Client and Server class}
Our socket communication code is based on the example given in the Python socket manual \cite{socket}.
We extended it into two classes, a client and a server class. We had used the TCP protocol to base our two classes on\footnote{TCP is reliable compared to UDP (i.e. transmitted packets get also delivered),
packets are ordered when received and data are received in a stream (i.e. multiple packets can be read at once.)}.
@@ -146,14 +153,29 @@ Before solving the problem without using the socket parameter, we had another so
\includegraphics[scale=0.8]{serverClass.png}
\caption[]{Server class, used by the server application}
\end{figure}
-With the client class we did not have any problems. There The client class can be seen in the following figure.
+In the process of testing the client class we did not have any major problems. The only major flow we had to debug was when one of the sides disconnects that we get out of the waiting loop if the timeout variable was set to \emph{0} (i.e. infinite waiting loop.)
+The client class can be seen in the following figure. To initialize the client object one needs to define the IP address and the port of the server application listening on it.
\begin{figure}[hb!]
\centering
\includegraphics[scale=0.5]{ClientClass.png}
\caption[]{Client class, used by the client application}
\end{figure}
-
-
+Once an instance of it is created and loaded with the IP address and the port, one needs to call the \emph{connect()} method.
+The method will produce an integer based on its connection state. Output information and the programming code can be found on our project wiki page \cite{wiki}.
+\subsection{Ping class}
+Before making any test and establishing a connection we were required to ensure that the server is online. The best way to assess the liveness property was to ping the server computer running the required service. Once the class is properly defined, we could easily set the number of ping tries.
+A ping timeout response was set up to 2 seconds. For more details and insights, one can read more about it on our wiki page \cite{wiki}.
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[width=70mm]{ping.png}
+ \caption[]{Ping class, used by test software}
+\end{figure}
+\subsection{Data logging}
+\begin{figure}[ht!]
+ \centering
+ \includegraphics[width=60mm]{logging.png}
+ \caption[]{Logging class}
+\end{figure}
\clearpage
\section{Hardware design}
In our team project we had the option to choose all the required hardware ourself beside the two BeagleBoards, which we were supplied by Konrad and Dennis.
@@ -191,7 +213,8 @@ Once they were plugged into the USB port, Ubuntu automatically recognized the ca
The virtual serial ports were created and could be found on \emph{/dev/ttyUSBx}, where $x$ is the automatically assigned number for the port.
Some of the cables had the cability to charge the Siemens S55 phones.
Konrad had opened several cables to solder the power supplies to some contacts and the problem was solved for all of the cables.
-
+\subsection{Server}
+We were given an old Pentium 3 computer where we installed Ubuntu Linux. Configured the Appache web server and MySQL.
\clearpage
\section{Communication protocol}