This commit is contained in:
M.Scholz 2012-03-20 09:26:35 +01:00
parent fb5de5fdf6
commit 06a00119cc
2 changed files with 7 additions and 7 deletions

View File

@ -325,7 +325,6 @@ In
\end{itemize}
Die korrekte Funktionsweise dieser beiden Use-Cases hat die höchste Priorität, da sie zusammen die Schnittstelle zu der Smartphone-App, der Basisstation der Waspmote-Sensoren und der Website darstellen.
\subsubsection{Use-Case: Parsen der JSON-Pakete}
Ideen für diesen Absatz (bitte vervollständigen!!): JSON-Konvention der zwei verschiedenen Pakete auflisten, dann PHPUnit-Tests der einzelnen Exceptions des JSON-Parsers. Beispielpakete parsen, erhaltene und erwartete Antwort vergleichen.! \\
Der JSON Parser wird durch die \gls{API} aufgerufen. Er kann zwei festgelegte Formate verarbeiten, welche durch gesetzte Flags unterschieden werden. Die Daten werden mittels GET oder POST übertragen.\\
Vorbedingung: Datenbank mit korrektem Schema existiert. \\
Nachbedingung: Daten sind korrekt in die Datenbank eingetragen. \\
@ -335,10 +334,11 @@ Fehlerbehandlung:
\item Eingabedaten, welche nicht dem JSON Format entsprechen, führen zu einer JSONException.
\item Eingabedaten, welche nicht dem festgelegten Format entsprechen, führen zu einer DataFormatException.
\end{itemize}
Um die Konsistenz der Datenbank zu gewährleisten, haben wir uns dazu entschieden die Fremdschlüssel in der Datenbank \glqq restrict'' zu deglarieren. Somit verhindert die Datenbank beispielsweise selbstständig, dass Werte eines Sensors eingetragen werden, der in der Datenbank nicht existiert. \\ \\
\textbf{Format zum Ändern der Sensorinformationen:}\\
Dieses Format wird beim Start, Login oder der Änderung von Optionen von den einzelnen Sensoren gesendet. \\
HTTP-Post-Parameter: flag=deviceinfo\&json=JSON-Daten \\
Beispiel: http://www.da-sense.de/api.php?flag=deviceinfo\&json=\{.....\} \\
Dieses Format wird beim Start, Login oder der Änderung von Optionen der einzelnen Sensoren gesendet. \\ \\
HTTP-Post-Parameter: flag=deviceinfo\&json=JSON-Daten \\ \\
Beispiel: http://www.da-sense.de/api.php?flag=deviceinfo\&json=\{''deviceType'': 2, ''deviceID'': 12345, ''deviceManufactor'': ''LIBELIUM'', ''deviceModel'': ''TESTWASPMOTE'', ''deviceName'': ''Test Waspmote'', ''sensors'': [\{''type'': 4, ''sensorAttributes'': [\{\}]\}]\} \\ \\
Das vereinbarte JSON Format sieht wie folgt aus:
\begin{tabbing}
\{\= ''deviceType'': INT,\\
@ -356,9 +356,9 @@ Das vereinbarte JSON Format sieht wie folgt aus:
\}\\
\end{tabbing}
\textbf{Format zum Senden der Daten:}\\
Durch dieses Format werden die gemessenen Daten der Sensoren übermittelt. \\
HTTP-Post-Parameter: flag=input\&source=smartphone bzw. waspmote\&json=JSON-Daten \\
Beispiel: http://www.da-sense.de/api.php?flag=input\&source=smartphone\&json=\{.....\} \\
Durch dieses Format werden die gemessenen Daten der Sensoren übermittelt. \\ \\
HTTP-Post-Parameter: flag=input\&source=smartphone bzw. waspmote\&json=JSON-Daten \\ \\
Beispiel: http://www.da-sense.de/api.php?flag=input\&source=smartphone\&json=\{''device'':''201288'',''measurementType'':1, ''user'':20, ''series'': [\{''name'':''newTableNames'', ''visibility'':0, ''timestamp'':123 , ''values'': [\{''timestamp'':1, ''value'':52.25234634, ''longitude'':0, ''latitude'':0, ''altitude'':0, ''accuracy'':0, ''speed'':null, ''provider'':''GPS'', ''tags'': [\{''key'': 1, ''value'':35\}]\}]\},\{ ''name'':''testseries5'', ''visibility'':0, ''timestamp'':2 , ''values'': [\{ ''timestamp'':1, ''value'':62.25234634, ''longitude'':0, ''latitude'':0, ''altitude'':0, ''accuracy'':0, ''speed'':null, ''provider'':''GPS'', ''tags'': [\{''key'': 1, ''value'':35\}]\}]\}]\} \\ \\
Das vereinbarte JSON Format sieht wie folgt aus:
\begin{tabbing}
\{\= ''device'': STRING, \\