Plataforma de gestión de dispositivos Sinotrack ST-90x creada con Laravel 9 + PHP 8.1 y MySQL 8.
-
Creamos la base de datos en MySQL.
-
Clonamos el repositorio.
git clone https://github.com/eusonlito/GPS-Tracker.git
- Copia el fichero
.env.example
como.env
y rellena las variables necesarias.
cp .env.example .env
- Realizamos la primera instalación (recuerda que siempre usando el binario de PHP 8.1).
composer install --no-dev --optimize-autoloader --classmap-authoritative --ansi
- Generamos la clave de aplicación.
php artisan key:generate
- Regeneramos las cachés.
composer artisan-cache
- Lanzamos la migración inicial.
php artisan migrate --path=database/migrations
- Lanzamos el seeder.
php artisan db:seed --class=Database\\Seeders\\Database
- Generamos los GeoJSON para los Timezones.
php artisan timezone:geojson
- Configuramos la tarea cron para el usuario relacionado con el proyecto:
* * * * * cd /var/www/tracker.domain.com && install -d storage/logs/artisan/$(date +"\%Y-\%m-\%d") && /usr/bin/php artisan schedule:run >> storage/logs/artisan/$(date +"\%Y-\%m-\%d")/schedule-run.log 2>&1
- Creamos el usuario principal.
php artisan user:create [email protected] --name=Admin --password=StrongPassword2 --enabled --admin
-
Configuramos el
DocumentRoot
del servidor web para apuntar a/var/www/project/public
. -
Profit!
El puerto abierto para la conexión de dispositivos con protocolo H02 se realiza por defecto en el puerto 8091
, pero puede ser personalizado desde el panel de configuración (como administrador).
Para configurar tu dispositivo vía SMS puedes hacerlo con el siguiente comando:
804{PASSWORD} {IP/HOST} {PUERTO}
Puedes configurar el servidor de conexión en el dispositivo usando o bien la IP o bien un HOST que resolverá internamente PERO SÓLO EN EL MOMENTO DE RECIBIR EL COMANDO, con lo cual si el servidor no tiene IP fija en cuanto cambie dejarás de recibir los datos del dispositivo.
{TELEFONO}{PASSWORD} 1
896{PASSWORD}E00
710{PASSWORD}
803{PASSWORD} {OPERADORA}
804{PASSWORD} {IP/HOST} {PUERTO}
805{PASSWORD} {SEGUNDOS}
809{PASSWORD} {SEGUNDOS}
SLEEP{PASSWORD} {MINUTOS}
Activar llamadas de eventos (Batería baja, reporte diario, aviso grúa, salida geovalla, contacto, SOS)
150{PASSWORD}
Desactivar llamadas de eventos (Batería baja, reporte diario, aviso grúa, salida geovalla, contacto, SOS)
151{PASSWORD}
011{PASSWORD}
010{PASSWORD}
712{PASSWORD}
Desactivar SMS de Eventos (Batería baja, SLEEP, reporte diario, aviso grúa, salida geovalla, contacto)
713{PASSWORD}
777{PASSWORD-NEW}{PASSWORD-OLD}
RESTART
RCONF
La actualización de la plataforma se puede realizar de manera sencilla con el comando composer deploy
ejecutado por el usuario que gestiona ese projecto (normalmente www-data
).
Este comando realiza las siguientes acciones:
"rm -f bootstrap/cache/*.php",
"git checkout .",
"git pull",
"@composer env-version --ansi",
"@composer install --no-dev --optimize-autoloader --classmap-authoritative --ansi",
"@php artisan migrate --force --ansi",
"@php artisan db:seed --force --ansi --class=\"Database\\Seeders\\Database\"",
"@php artisan maintenance:migration:clean",
"@php artisan server:start:all --reset"
php artisan user:create {--email=} {--name=} {--password=} {--enabled} {--admin}
La opción de reset
permite reiniciar el puerto en caso de que esté siendo usado.
php artisan server:start:all {--reset}
La opción de reset
permite reiniciar el puerto en caso de que esté siendo usado.
php artisan server:start {--port=} {--reset}