RaspBerry
En las fincas se usa un modelo de micro servidores usando Modelo Raspberry Pi 4 Model B Rev 1.1
Con las siguientes características:
Modelo de despliegue
processor : 0
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 1
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 2
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 3
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
Hardware : BCM2835
Revision : b03111
Serial : 10000000fe58541b
Tiene instalado el sistema operativo LINUX UBUNTU
Herramientas instaladas
· Base de datos Postgres ver 11
· Apache Tomcat 9
· Servidor de páginas Nginx
· netvfy-agent para VPN Client
Conexiones
Con VPN
Server page : 198.18.0.3
BD : 198.18.0.2
Contraseñas de las raspberry
Usuario:ubuntu
Contraseña: softcaribbean2020
Servicios creados en el sistema operativo
Se tiene los siguientes servicios creados en el sistema operativo que se encargan de subir y detener los micro servicios desplegados
- Servicios de la plataforma
- serafinsync
Para subir o detener los servicios debes usar los comandos
sudo service fincas stop | start | status | restart
sudo service serafinsync restart
La ruta donde quedan los servicios es: /etc/systemd/system
Para configurar los servicios para que inicien cuando la raspberry inicie se usa el comando
Se desplegaron en la ruta: /home/ubuntu/agro
systemctl enable nombreservicio
Base de datos
La base de datos postgres instalada es la versión 11x, los archivos de configuración de la BD están en la ruta: sudo vim /etc/postgresql/11/main/
Para manipular el servicio de la Bd usa el comando: sudo service postgresql restart | stop | start
Servicios de la plataforma
Todos los servicios que usa la plataforma se despliegan en un tomcat9.
Ruta de despliegue automática es : /var/lib/tomcat9/webapps
¿Dónde se puede ver el log del tomcat?
El log principal del Tomcat donde se pueden ver los errores que arroja la plataforma esta en la ruta.
/var/log/tomcat9
Instalar un módulo de la plataforma de forma manual
1. ejecuta el comando: cd /var/lib/tomcat9/webapps
2. verifica si hay carpeta con el nombre del war que va a desplegar
3. Si la hay elimine el .war con el comando: sudo rm archivo.war
4. Si elimino el .war verifica con el comando ls hasta que desaparesca la carpeta con el mismo nombre
5. Copie por winscp los archivos .war que va a desplegar a la carpeta /home/ubuntu
6. ejecute el comando: cp /home/ubuntu/archivo.war /var/lib/tomcat9/webapps
7.verifique con el comando ls que se creo la carpeta con el mismo nombre
¿Como desplegar ultimas versiones en la raspberry?
Despliegue de servicios en las raspberry Montañita
1. Ingresar a la ruta de los fuentes /home/ubuntu/fuentes
cd /home/ubuntu/fuentes
|
|---|
. Ejecutar el script bash para el respectivo despliegue del servicio:
| SERVICIO | COMANDO |
| Fincas | sudo sh fincas.sh |
| Fitoplagas | sudo sh fitoplagas.sh |
| Inventario | sudo sh inventario.sh |
| Kuye | sudo sh kuye.sh |
| Labores | sudo sh labores.sh |
| LoginUser | sudo sh loginuser.sh |
| SerafinSync | sudo sh serafinsync.sh |
| Terceros | sudo sh terceros.sh |
| Master | sudo sh master.sh |
Kuye Front-end
La parte web de la plataforma se despliega en el servidor de paginas Nginx , dicho fron end esta desarrollado usando el framework fosforito con solo HTML5/Boostrap y Js.
nGinx lee la ruta : /var/www/html
|
|---|
sudo cp -r /var/tmp/kuye /var/www/html
Para detener o parar el servicio de Nginx usa el comando:
sudo service nginx restart | stop | start
Log generales de los microservicios
Los logs generales que se generan cuando se inician los microservicios quedan en la ruta.
/var/log/agro
CONFIGURACIONES DE MICROSERVICIOS
Labores
Los servicios de labores se le deben configurar los siguientes parámetros en los siguientes archivos de configuración.
web.xml
Este parámetro define la ruta temporal done se descargan los archivos que se cargan por medio de microservicio.
<context-param>
<param-name>upload_path</param-name>
<param-value>c:/temp</param-value>
</context-param>
Aplicación.xml
Cuando se ejecuta una labor se hace envio al servicio de inventario, por lo tanto, en estos dos parámetros se define el puerto y host del servicio de inventario para validar el PING.
<param id="ip_ping_inventario">
<value>localhost</value >
<description>Define la ip donde está el servicio de inventario</description>
</param >
<param id="puerto_ping_inventario">
<value>8080</value >
<description>Define el puerto donde está el servicio de inventario</description>
</param >
Parámetro donde se especifica la ruta del servicio de inventario a consumir
<services>
<service id="service_inventario">
<endpoint>http://localhost/InventarioServices</endpoint>
<description> </description>
</service >
</services>
Springcontext.properties
Hay un hilo que se ejecuta cada X tiempo que se encarga de tomar las labores de realizadas y cargarlas a la ejecución de labores, este hilo se activa y configura asi.
#Configuracion el monitoreo de la recepcion de ejecución de labores
#Cuando trabaja el servicio en modo escalvo debe estar en modo true la variable
#active-planeador=true
jdbcUrl=jdbc:postgresql://kuyedb:5432/montanita
userdb=montanita
passworddb=montanita123
#Configuracion el monitoreo de la recepcdion de ejecuci\u00f3n de labores
#Cuando trabaja el servicio en modo esclavo debe estar en modo true la variable
#active-planeador=true
minutos-iniciar=300000
tiempo-espera=350000
active-planeador=false
Fitosanidad
Los servicios de fitosanidad se le deben configurar los siguientes parámetros en los siguientes archivos de configuración.
web.xml
Este parámetro define la ruta temporal done se descargan los archivos que se cargan por medio de microservicio.
<context-param>
<param-name>upload_path</param-name>
<param-value>c:/temp</param-value>
</context-param>
Aplicación.xml
Este parámetro define la ruta dende se almacenan los archivos de trabajo de monitoreo de plagas temporalmente mientras se envían al servidor de imágenes.
<param id="path_imagen_local">
<value>C:/services-kuye/images</value >
<description>Almacenamiento local de las imagenes</description>
</param >
Ruta de servidor de imágenes para la finca especifica.
<param id="path_x_finca">
<value>vaticano/monitoreo/plagas/</value >
<description></description>
</param >
Springcontext.properties
#Configuracion del planeador de envio de imagenes de monitoreo de plagas a la plataforma central
#active-prediccion se usa para activar predicciones cuando el servicio está en la nube con acceso a la red neuronal
minutos-iniciar=50000
tiempo-espera=50000
active-planeador=true
active-prediccion=false
Configuración de Mapa Local
Se debe cambiar la URL local con la IP del servidor en la tabla de parámetros
http://192.168.42.30/mapTiles/{z}/{x}/{y}.png
Comandos rapidos
¿Cómo modificar la fecha de la raspberry?
04-Mes
30-Dia
0233 hora
2021 Año
sudo date "051107022021"
sudo service serafinsync stop
sudo service serafinsync start
sudo service tomcat9 stop
sudo service tomcat9 start
service postgresql restart
cd /fuentes
sudo sh kuye.sh
sudo sh fincas.sh
sudo sh master.sh
sudo sh labores.sh
sudo sh inventario.sh
sudo sh terceros.sh
sudo sh serafinsync.sh


