Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Python
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-03-2018
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
Instalar Firebird 2.xx sobre RaspBerry

Saludos …

Hace un tiempo realizamos una pequeña aplicación en Python sobre una Raspberry Pi con firebird en linux.
El servidor está montado en Windows con una versión de Firebird 2.1.
En su día, cuando instalamos el paquete de firebird en la Raspberry con el comando
Código:
Pip install fdb
nos instaló por defecto la versión 2.5 de firebird, y ha funcionado sin problemas contra la versión 2.1 de firebird del servidor.

El caso es que ahora, cuando intentamos reinstalar el firebird en un dispositivo nuevo con el mismo comando, nos instala la versión 3.0 de firebird y algunas consultas nos devuelven errores.

Alguien conoce la forma de poder instalar una versión 2.xx de firebird en una ReapBerry Pi??

Gracias y saludos a todos
Responder Con Cita
  #2  
Antiguo 06-03-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Supongo que necesitarás instalar la versión correspondiente de libfbclient2, pero debe ser siempre la misma versión de cliente que la del servidor. No mezcles versiones.
Responder Con Cita
  #3  
Antiguo 06-03-2018
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
En si pip install fdb no te instala libfbclient2 ese lo tienes que instalar vía

apt-get install libfbclient2

Por lo que se me hace raro que digas que te instala la versión 3.0.

Con fdb puedes acceder a los 2.1, 2.5,3.0 dependiendo de la librería libfbclient2.so que esté instalada en tu sistema.

La última versión de armbian viene con la versión 2.5.4 de libfbclient2

En la raspberry pi puedes ver de que versión dispones ejecutando el siguiente comando

apt-cache show libfbclient2

Si algunas consultas devuelven errores ha de ser por otra razón, y las pistas te las van a dar el tipo de consultas que te regresen el error.

No conozco firebird, pero por lo poco que acabo de leer maneja 3 dialectos sql, ¿Podría ser ese el problema?. Por defecto la función connect pone el parámetro sql_dialect=3, prueba cambiando ese parámetro a 1.
Responder Con Cita
  #4  
Antiguo 07-03-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por tsk Ver Mensaje
No conozco firebird, pero por lo poco que acabo de leer maneja 3 dialectos sql, ¿Podría ser ese el problema?. Por defecto la función connect pone el parámetro sql_dialect=3, prueba cambiando ese parámetro a 1.
No exactamente, la base de datos puede ser dialecto 1 (se usaba en versiones viejas), hace años que se debería usar dialect 3.
Por supuesto, al igual que el cliente debe ser la misma versión que el servidor, también sql_dialect debe ser el mismo que la base de datos.
Responder Con Cita
  #5  
Antiguo 14-03-2018
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
Gracias compañeros por vuestra ayuda....Problema resuleto

Casimiro.
Teníamos versiones diferentes en el cliente y en el servidor... y por tanto, problemas como bien comentas.

tsk
Efectivamente, la foma correcta de instalar el cliente era:

Código:
apt-get install libfbclient2

Tenemos 60 raspberry atacando una base de datos Firebird.
Alguien tiene experiencia en este tipo de instalaciones??
Responder Con Cita
  #6  
Antiguo 14-03-2018
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
En primera instancia no le veo problema en que 60 raspberry pi hagan transacciones a la base de datos, por lo general todas ellas no se hacen al mismo tiempo, a menos que la forma en que se conectan tenga periodicidad, por lo que tendrías que preguntar cuantas transacciones por segundo puede manejar Firebird,y creo que esa respuesta te la puedan dar aquí.

Otro aspecto es si estás buscando mostrar los datos provenientes de las Raspberry Pi, a uno o varios clientes, en tiempo real.
Responder Con Cita
  #7  
Antiguo 14-03-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por manelb Ver Mensaje
Tenemos 60 raspberry atacando una base de datos Firebird.
Alguien tiene experiencia en este tipo de instalaciones??
¿Instalaciones de raspberry?
Responder Con Cita
  #8  
Antiguo 14-03-2018
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Instalaciones de raspberry?
Como lo interpreto es que si firebird puede manejar 60 clientes simultáneos.
Responder Con Cita
  #9  
Antiguo 14-03-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por tsk Ver Mensaje
Como lo interpreto es que si firebird puede manejar 60 clientes simultáneos.
Yo he tenido clientes con una media de mil conexiones simultáneas durante años. Sin ningún problema.
Responder Con Cita
  #10  
Antiguo 17-03-2018
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
Efectivamente, las transacciones de los terminales no son continuas y consideramos que con firebird no vamos a tener problemas en lo que respecta a BD.
Otra cosa será la fiabilidad de los terminales Raspberry.

El idea surgió hace un tiempo cuando nos propusieron desarrollar el software necesario para la puesta en marcha de un nuevo proyecto relacionado con la venta al mayor en almacenes de fruta y verdura.

Es un nuevo sistema autoservicio patentado del cual os dejo un enlace por si alguien le quiere echar un vistazo…
Considero que no es publicidad, es la presentación que nos hicieron del proyecto en su día.

https://vimeo.com/156380116

Saludos....
Responder Con Cita
  #11  
Antiguo 17-03-2018
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
He visto variaciones del mismo tipo de sistema a varios niveles, así que no se que tan patentable sea, más si aun no saben como se cuecen las habas.

¿Raspberry Pi Confiable? Al mismo grado que puede ser una computadora.

¿Lo haría con una Raspberry Pi? Definitivamente respondería con un No rotundo, porque es como ir a cazar patos a cañonazos. Hablan de reducir gastos, pero planean gastar bastantes euros tan sólo en las raspberry pi.

Piensa en lo siguiente:

1.- El sistema requiere Galgas para obtener el peso, por lo general las galgas son analógicas, pero el Raspberry Pi no cuenta con conversor analógico a digital, por lo que tendrían que adquirir uno que se comunique por medio de i2c o spi y de preferencia uno que tenga los drivers en el kernel de Linux. Ya ese es un gasto extra a lo contemplado inicialmente, Ahí ya son por lo menos unos 3 a 4 euros más, pero se puede incrementar a más de 20, dependiendo de los requerimientos. Aunque esto se puede diluir, en parte, cuando usan una escala por USB.

2.- Consumo Energético. Estamos hablando de estar conectados las 24 horas del día, son por lo menos alrededor de 29Watts por día tan sólo del RPi. Parece poco pero si juntas 60 de ellos son 1.7KWatt por día, cuando el usar otras opciones podría dar tan sólo una fracción de ese consumo.

3.- Estamos hablando de un Sistema Operativo instalado en una memoria micro SD y un sistema de ficheros, que como cualquier otro, se puede corromper. Las NAND Flash pueden generar bloques defectuosos más fácilmente que las NOR Flash. Si es un sistema que debe de permanecer sin ningún tipo de mantenimiento por años y que esté funcionando las 24 horas del día esto es algo a tomar en cuenta. También no es lo mismo el consumo de una memoria micro SD a una memoria NOR Flash que va por SPI.

4.- Si falla algo, lo más seguro es que tener otro Raspberry Pi de respaldo como FailSafe aumentaría el costo del sistema, además de incrementar el consumo energético (bueno si están pensando en un uso sin interrupciones).

5.- Tipo de comunicación y los costos asociados por su consumo energético. No es lo mismo a usar lo que comúnmente conocemos como Wifi a usar otro método también inalámbrico como lo pudiera ser con el nrf24l01 que consume menos potencia, es más económico y además tiene mayor cobertura, por lo que en almacenes grandes reduces la cantidad de repetidores. Y cabe mencionar que no es la única forma de hacerlo.

6.- ¿Que tanto necesita un control en tiempo real de las variables como temperatura, humedad, etc.?

Mencionan que puede escalar a miles de establecimientos en todo el mundo, pero no está implícito si el software será local o ellos lo controlaran de forma global. De ahí la diferencia entre generar un arquitectura usando una base de datos central con Firebird, a usar protocolos que están pensados para ser ligeros y escalar a miles (sino es que millones) de conexiones concurrentes y con baja latencia.

También implica la integración del sistema a sistemas previos que el cliente ya tenga (ERPs), o piensan crear su propio ERP y hacerlos migrar. Lo más cuerdo es dejarlo genérico y no tratar de monopolizar y forzar a que cambien el sistema.

Aquí me imagino su integración con ERPs como Odoo.

Saludos.
Responder Con Cita
  #12  
Antiguo 26-03-2018
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
Muchas gracias tsk por tus apreciaciones y perdona por el retraso en contestarte.

En cuanto a lo de “pantentable”, no sabría que decirte.
Es lo que dice el cliente y se explica en el video.
No entro en si hay sistemas similares ya funcionando.

La instalación que tenemos ahora en funcionamiento es un prototipo y no se descartan cambios en función de su resultado.
Ahora, la conexión de red está cableada y la conexión con las básculas es a través de un puerto serie.

Tomo nota de alguno de tus comentarios que me han parecido muy interesantes.

Gracias de nuevo por la ayuda …
Responder Con Cita
  #13  
Antiguo 27-03-2018
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
A lo que me refiero es que muchas veces patentan cosas como "Método para venta y re abastecimiento de productos en anaqueles y exhibidores" pero todos manejan el mismo principio de funcionamiento y la misma metodología, donde llega el cliente, se sirve sólo y paga. Esto lo vemos aplicado mucho en tiendas en línea como amazon, donde vía web tu te sirves, pagas y hay robots que llevan los artículos de tu pedido para el área de empaque. También he visto anaqueles de supermercado que le indican a la persona encargada, la cantidad de producto en el anaquel y cuando re surtir. Otro ejemplo que vi fue de un proyecto de un bar, donde usando pulseras vas y te sirves las bebidas de forma automática, te lleva el conteo de lo que has bebido y al final pagas.

Probablemente sea porque veo las cosas de una forma muy general que me parece lo mismo pero con distinto maquillaje, donde el mismo concepto lo puedo aplicar a infinidad de cosas.

Recuerdo hace tiempo, que intentaron hacer que firmara un NDA para un proyecto en el que el planteamiento era tan escueto, que con sólo leer que querían que el sistema fuera confiable, a prueba de fallos ya me estaban dando todo lo necesario para que lo que hiciera pasara a ser parte de su propiedad intelectual. No tenían ni la menor idea como hacer un sistema de ese tipo, pero la idea de que fuera confiable y a prueba de fallos era completamente de ellos, como si el concepto no existiera antes que ellos y no pudiera existir sin ellos.

Muy distinto es cuando te dicen quiero (requerimientos) a cuando te dicen como hacerlo (especificaciones).

¿Entonces cual propiedad intelectual se está poniendo al servicio de la "propiedad intelectual" de otro?

Saludos.
Responder Con Cita
  #14  
Antiguo 06-11-2019
BlackPrince BlackPrince is offline
Registrado
 
Registrado: abr 2017
Posts: 8
Poder: 0
BlackPrince Va por buen camino
Hola, disculpas que vuelvo sobre este tema. Capaz alguno pueda ayudarme. Tengo una aplicación con bases de datos Firebird 2.1 en un servidor y Raspberries que funcionan como terminales de captura de datos que envían por red al servidor. Debe existir la posibilidad de que ante una caída de conexión con el servidor, caída de red, o caída del servidor, la Raspberry funcione localmente contra una base de datos local hasta que se recupere la conexión, y luego cuando se restablece la conexión traslade la data local al servidor.



El problema es que desde los repositorios de Raspbian:
En Raspberry Pi3B solo está disponible el motor de base de datos Firebird 2.1/2.5
En Raspberry Pi3B+ y Raspberry Pi4 solo puede instalarse el motor Firebird 3.0


Preferiría no tener que llevar todo a Firebird 3.0, por un lado porque ya tengo muchas RBPi3B instaladas, y además tendría que rehacer todas las aplicaciones administrativas y de las terminales llevando todo a Firebird 3.0 cuando hoy todo anda de maravillas con Firebird 2.1/2.5


La consulta es: hay alguna manera de bajar el instalador del motor Firebird 2.1/2.5 para instalarlo "a mano" en una RaspberrypI3B+ ??


Gracias de antemano.
Responder Con Cita
  #15  
Antiguo 06-11-2019
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 280
Poder: 8
manelb Va por buen camino
Disculpa BlackPrince, pero hay algo que se me escapa:

¿Porqué la necesidad de instalar Firebird3.0?
¿No puedes continuar con las Pi3B?

¿Con que tienes programada la aplicación cliente que corre sobre los terminales?
¿Como te planteas guardar los datos en local cuando pierdas la conexión con el servidor?
Responder Con Cita
  #16  
Antiguo 06-11-2019
BlackPrince BlackPrince is offline
Registrado
 
Registrado: abr 2017
Posts: 8
Poder: 0
BlackPrince Va por buen camino
Hola manelb, gracias por responder. La necesidad es que tengo que instalar un motor de base de datos local en la Raspberry. Esto es posible, pero sucede que en las RaspberryPi3B desde el repositorio está disponible solamente la versión 2.1 o 2.5 de Firebird. Mientras que en las Raspberry Pi3B+ y 4, solamente está disponible Firebird 3.0.
Justamente mi consulta es si habrá una manera de bajar de algun lado un instalador del motor Firebird 2.5 para instalarlo en Raspberry Pi3B+ o Pi4.
Mi aplicación está instalada en varios clientes donde hay diversidad de Raspberrys modelos 3B y 3B+. Hasta ahora todo anda de maravillas porque la base de datos es única y está en un servidor, y es una Firebird 2.1, y en todas las Raspi es posible instalar el cliente libfbclient2 para acceder a una base externa. El problema es cuando quiero instalar un motor local. No están todas las versiones disponibles, vuelvo a decir. Si uno hace "sudo apt-cache firebird" desde una RBPi3B te trae los motores 2.1 y 2.5, y desde una RBPi3B+ o RBPi4 te mestra que solo está disponible Firebird3.0,
La aplicación de las terminales está desarrollada en Lazarus. Ya he probado usar los componentes de sqldb y zeos satisfactoriamente para acceder a datos tanto de bases de datos locales como remotas. También he probado acceder desde un servidor a las bases locales de cada raspberry, no hay problemas por ese lado...
El sistema trabaja con dos bases de datos, una de configuración y otra de producción. La de configuración dice lo que debe ejecutarse en cada terminal, y la de producción mantiene solo registros de trazabilidad de todas las operaciones hechas en las terminales.

La idea es tener replicas de las bases de datos de configuración del sistema en cada raspberry, que se mantendrían actualizadas/sincronizadas con la base de datos maestra del servidor, de eso se encargaría una aplicación que correría en el servidor. En cuanto se cayera el servidor, el sistema detectaría la perdida de conexión y le pregunta al operador si desea seguir trabajando en modo local, entonces mientras dure la pérdida de conexión, los datos de producción se grabarían localmente como instrucciones pendientes de ejecución.
Las aplicaciones de administración del sistema y la del servidor de momento están hechas en Delphi6, y estaría planeando migrarlas a Lazarus.
Responder Con Cita
  #17  
Antiguo 06-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En teoría, la descargas de firebirdsql.org y la instalas.
Responder Con Cita
  #18  
Antiguo 06-11-2019
BlackPrince BlackPrince is offline
Registrado
 
Registrado: abr 2017
Posts: 8
Poder: 0
BlackPrince Va por buen camino
Hola Casimiro. Lo único que veo disponible para ARM es la versión Firebird3.0. Alguien podría decirme cómo encontrar en el sitio de firebird la versión 2.1 o 2.5 para Raspbian? Gracias
Responder Con Cita
  #19  
Antiguo 06-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por BlackPrince Ver Mensaje
Hola Casimiro. Lo único que veo disponible para ARM es la versión Firebird3.0. Alguien podría decirme cómo encontrar en el sitio de firebird la versión 2.1 o 2.5 para Raspbian? Gracias
Puede que la hayan retirado porque decían que era una versión inestable para probar y que no era para producción.
De todas formas, seguramente puedas descargarlo o extraerlo de una imagen iso debian para la raspberry. Creo recordar que en la web de debian estaban todas las versiones.
Responder Con Cita
  #20  
Antiguo 06-11-2019
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Poder: 7
tsk Va por buen camino
Y si lo compilas?

Código:
git clone https://github.com/FirebirdSQL/firebird.git
cd firebird
git checkout origin/B2_5_Release
./autogen.sh
make
sudo make install
Si, tienes problemas al compilar, probablemente quieras separar tu aplicación del acceso a la base de datos, probablemente a través de un servicio en la misma máquina, al cual tu aplicación acceda a través de una API, y esta se encargue de retransmitir las peticiones hacia la base de datos correspondiente, que podría ser SQLite3, firebird 3 o la que se encuentre disponible en la distribución, o la base de datos remota que tienes con firebird 2.

De esta forma para tu aplicación sería transparente el acceso a la base de datos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lazarus y Firebird en Raspberry Pi mjjj Lazarus, FreePascal, Kylix, etc. 4 11-09-2018 16:36:16
Conculta de Ventajas Optimización de Firebird 3.0 sobre Firebird 2.5 Combat-F2D Firebird e Interbase 18 20-04-2016 00:11:42
Windows 10 para la Raspberry Pi 2 nlsgarcia La Taberna 8 11-02-2015 10:58:03
instalar Win2003R2 sobre WinXP rafita Windows 4 13-08-2007 10:40:36
Instalar PHP + Firebird brandolin PHP 3 24-05-2004 17:48:40


La franja horaria es GMT +2. Ahora son las 15:30:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi