Hi there
I´ve been reading a lot of threads about Web component and the error 1101. The thing is, my app starts working properly but, in some moment (I use a clock to trigger grabbing o writting data into the server) it crashes with this error 1101.
I made a simple php script to mimic the tinyWebDB. I´m using two cell phones, and them both have the same issue. One of them is linked to Arduino by Bluetooth, and sends some sensor data to the other cell phone. This other cell phone can send some config data to the Arduino - attached one.
I appreciate some help, cause I´m running out of ideas. Thanks in advance. These are the main procedures and the "receiver phone" app. I don´t think is necessary to upload the "emitter phone app", that shows the same problem.
domoticaReceptorMiTinyWebDB.aia (54.8 KB)
this is the PHP script:
$tag = $_GET["Tag"];
$valor = $_GET["Valor"];
$accion = $_GET["Accion"];
//posibles valores son ObtenerRegistro, ListarTags, ListarBD, GrabarRegistro, EliminarRegistro
$separadorInicioTag = "#";
$separadorInicioValor = "~";
$archivoBD = "tinywebdb.dbf";
// *** PROCEDIMIENTO PARA GRABAR UN REGISTRO ***
if ($accion == "GrabarRegistro")
{
$volcado = file($archivoBD, FILE_SKIP_EMPTY_LINES);
$localizacionLinea = (array_search($separadorInicioTag.$tag."\n", $volcado));
if ($localizacionLinea === False) // NO ESTÁ LA TAG, AÑADO EL REGISTRO AL FINAL
{
$archivoAbierto = fopen($archivoBD, "a");
fputs($archivoAbierto, $separadorInicioTag.$tag."\n");
fputs($archivoAbierto, $separadorInicioValor.$valor."\n");
fclose($archivoAbierto);
}
else // SÍ ESTÁ LA TAG, SUSTITUYO EL REGISTRO
{
$localizacionLinea++;
while (substr($volcado[$localizacionLinea], 0, 1) <> $separadorInicioValor)
{
$localizacionLinea++; //BUSCO EL VALOR
}
$volcado[$localizacionLinea] = $separadorInicioValor.$valor."\n"; //SUSTITUYO EL VALOR
$archivoAbierto = fopen($archivoBD, "w"); // Y GUARDO EL ARRAY MODIFICADO EN EL ARCHIVO
for ($i = 0; $i < count($volcado); $i++)
{
if ((substr($volcado[$i], 0, 1) == $separadorInicioTag) or (substr($volcado[$i], 0, 1) == $separadorInicioValor))
fputs($archivoAbierto, $volcado[$i]);
}
fclose($archivoAbierto);
}
} //end if accio
// *** FIN DEL PROCEDIMIENTO PARA GRABAR UN REGISTRO ***
if ($accion == "ObtenerRegistro")
{
$volcado = file($archivoBD, FILE_SKIP_EMPTY_LINES);
$localizacionTag = (array_search($separadorInicioTag.$tag."\n", $volcado));
if ($localizacionTag >= 0) // está la tag, y tengo su índice
{
$localizacionValor = $localizacionTag;
$localizacionValor++;
while (substr($volcado[$localizacionValor], 0, 1) <> $separadorInicioValor)
{
$localizacionValor++; //BUSCO EL VALOR
}
// echo json_encode(array(trim($volcado[$localizacionTag], $separadorInicioTag."\n"),trim($volcado[$localizacionValor], $separadorInicioValor."\n")));
echo json_encode(array(trim($volcado[$localizacionTag], "\n"),trim($volcado[$localizacionValor], "\n")));
}
}