Code Monkey home page Code Monkey logo

gps-tracker's Introduction

English

GPS Tracker (Laravel 9 + PHP 8.1 + MySQL 8)

Plataforma de gestión de dispositivos Sinotrack ST-90x creada con Laravel 9 + PHP 8.1 y MySQL 8.

Instalación

  1. Creamos la base de datos en MySQL.

  2. Clonamos el repositorio.

git clone https://github.com/eusonlito/GPS-Tracker.git
  1. Copia el fichero .env.example como .env y rellena las variables necesarias.
cp .env.example .env
  1. Realizamos la primera instalación (recuerda que siempre usando el binario de PHP 8.1).
composer install --no-dev --optimize-autoloader --classmap-authoritative --ansi
  1. Generamos la clave de aplicación.
php artisan key:generate
  1. Regeneramos las cachés.
composer artisan-cache
  1. Lanzamos la migración inicial.
php artisan migrate --path=database/migrations
  1. Lanzamos el seeder.
php artisan db:seed --class=Database\\Seeders\\Database
  1. Generamos los GeoJSON para los Timezones.
php artisan timezone:geojson
  1. 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
  1. Creamos el usuario principal.
php artisan user:create [email protected] --name=Admin --password=StrongPassword2 --enabled --admin
  1. Configuramos el DocumentRoot del servidor web para apuntar a /var/www/project/public.

  2. Profit!

Conexión vía Socket

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.

SMS comunes para Sinotrack ST-901

Configurar el Teléfono desde el cual te puedes conectar al dispositivo

{TELEFONO}{PASSWORD} 1

Configurar la zona horaria para UTC y así delegar en la plataforma el ajuste horario

896{PASSWORD}E00

Activar Modo GPRS

710{PASSWORD}

Configurar APN Operadora

803{PASSWORD} {OPERADORA}

Configurar Servidor

804{PASSWORD} {IP/HOST} {PUERTO}

Configurar frecuencia en segundos de envío reportes de posición con el contacto puesto

805{PASSWORD} {SEGUNDOS}

Configurar frecuencia en segundos de envío reportes de posición SIN el contacto puesto

809{PASSWORD} {SEGUNDOS}

Configurar tiempo de espera antes de pasar a modo SLEEP con el coche parado

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}

Activar SMS de Alarma de Batería baja

011{PASSWORD}

Desactivar SMS de Alarma de Batería baja

010{PASSWORD}

Activar SMS de Eventos (Batería baja, SLEEP, reporte diario, aviso grúa, salida geovalla, contacto)

712{PASSWORD}

Desactivar SMS de Eventos (Batería baja, SLEEP, reporte diario, aviso grúa, salida geovalla, contacto)

713{PASSWORD}

Cambiar Contraseña

777{PASSWORD-NEW}{PASSWORD-OLD}

Reiniciar dispositivo

RESTART

Mostrar configuración actual

RCONF

Actualización de la Plataforma

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"

Comandos

Alta de usuario:

php artisan user:create {--email=} {--name=} {--password=} {--enabled} {--admin}

Iniciar/Reiniciar todos los servidores configurados:

La opción de reset permite reiniciar el puerto en caso de que esté siendo usado.

php artisan server:start:all {--reset}

Iniciar/Reiniciar servidor en un puerto en concreto:

La opción de reset permite reiniciar el puerto en caso de que esté siendo usado.

php artisan server:start {--port=} {--reset}

Capturas

gps-tracker-2022-12-30-11_46_09

gps-tracker-2022-12-30-11_47_14

gps-tracker-2022-12-30-11_47_46

gps-tracker-2022-12-30-11_48_31

gps-tracker-2022-12-30-11_49_20

gps-tracker-2022-12-30-11_49_55

gps-tracker-2022-12-30-11_51_24

gps-tracker-2022-12-30-11_51_49

gps-tracker-2022-12-30-11_52_07

gps-tracker-2022-12-30-11_52_51

gps-tracker-2022-12-30-11_55_23

gps-tracker-2022-12-30-11_55_48

gps-tracker-2022-12-30-11_56_07

gps-tracker-2022-12-30-11_56_33

gps-tracker-2022-12-30-11_57_50

gps-tracker-2022-12-30-11_58_06

gps-tracker-2022-12-30-11_58_56

gps-tracker-2022-12-30-11_59_25

gps-tracker-2022-12-30-11_59_48

gps-tracker-2022-12-30-12_00_04

gps-tracker-2022-12-30-12_00_30

gps-tracker-2022-12-30-12_01_20

gps-tracker-2022-12-30-12_01_43

gps-tracker-2022-12-30-12_02_01

gps-tracker-2022-12-30-12_03_07

gps-tracker-2022-12-30-12_03_37

gps-tracker's People

Contributors

eusonlito avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.