viernes, 19 de octubre de 2018

Problemas que te pueden pasar después de instalar Debian 9


Página principal

Problemas que te pueden pasar después de instalar Debian 9




Debian 9.3 no funciona con adaptadores externos de USB Wifi.
Lo primero debemos estar seguro que hemos instalado los firmware. Por defecto en Debian no instala los firmware (ubuntu instala todos), debemos instalarlos previamente los paquetes mediante Synaptic.
Solución:
Añadir en /etc/NetworkManager/NetworkManager.conf 
 [device]
wifi.scan-rand-mac-address=no

Hago reiniciar las redes con:

/etc/init.d/network-manager restart
/etc/init.d/networking restart

Ahora funciona, ya puedo probar todos mis adaptadores USB-WIFI


En el caso que tengáis varios linux en diferentes particiones, os pasará un error en la próxima vez que entréis en la otra distribución.
Esto es debido que el linux cuando se instala, formatea por defecto la partición de intercambio swap. Pero resulta que le cambia la identificación de nombre, que es como reconoce linux las particiones. Al reiniciar el primer linux, no encuentra el nombre partición que dio el, y se pasa 1:30 minutos pensando.
Este es el sintoma:
ERROR de Running /scripts/local-premount 
Running /scripts/local-premount ... Begin: Waiting for suspend/resume device ... Begin: Running /scripts/local-block ... done.
Running /scripts/local-block ... done.
Running /scripts/local-block ... done.
Running /scripts/local-block ... done.
Running /scripts/local-block ... done.
Running /scripts/local-block ... done.
Running /scripts/local-block ... done.
Running /scripts/local-block ... done.

Gave up waiting for suspend/resume device.

La forma de arreglarlo siendo root es mediante la orden:
update-initramfs -u
 
o
update-initramfs -u -k all

Probar una u otra y ahora lo normal es que se arregle.
Yo también cambio el fichero /etc/fstab , quito la etiqueta y lo sustituyo por la referencia directa,lo prefiero.

# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdb5 during installation
/dev/sdb5 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda9 during installation
/dev/sda9 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0


La tarjeta gráfica que tengo:
VGA compatible controller: NVIDIA Corporation C61 [GeForce 7025 / nForce 630a] (rev a2)
En principio Debian 9.x instala por defecto el controlador libre nouveau.
Pero resulta que no es demasiado estable con aplicaciones 3D, y lo normal es que se cuelgue.
Debemos instalar el controlador propietario de Nvidia.
echo -e "blacklist nouveau" > /etc/modprobe.d/fbdev-blacklist.conf
echo -e "options nouveau modeset=0" > /etc/modprobe.d/modesetting.conf

echo "deb http://deb.debian.org/debian stretch main contrib non-free " >> /etc/apt/sources.list
echo "deb-src http://deb.debian.org/debian stretch main" >> /etc/apt/sources.list
apt-get update
apt-get install nvidia-detect
apt-get install linux-headers-$(uname -r) nvidia-legacy-304xx-driver
Reiniciamos el ordenador y se soluciona los cuelgues.


El entorno de escritorio PLASMA (KDE) , no funciona o funciona raro.
Resulta que el entorno gráfico utiliza muchos efectos en 3D, y mi tarjeta no es muy compatible con el OpenGL, el resultado es el mal funcionamiento de PLASMA.
La solución es cambiar el Método de renderizado a Xrender.
Desde otro entorno de escritorio, por ejemplo MATE, entrar en el:
  • Centro de control.
  • Preferencias del sistema KDE.
  • Tema espacio de trabajo.
  • Compositor.



Ahora podremos entrar en PLASMA.
Debemos ser honesto, por lo menos en KDE se puede cambiar la forma de renderizado para hacerlo por software. En Gnome no he podido deshabilitar la aceleración gráfica por hardware, por lo que no he podido hacerlo funcionar (me parece increíble hasta donde llego Gnome). :(

Saludos
Juan

martes, 16 de octubre de 2018

Caja de tienda con lector de código de barras

Página principal


Gambas
Caja de tienda
con
lector de código de barras


Teniendo un lector de código de barras, se me pasó por la cabeza hacer una registro de caja de tienda.
Para una fácil realización del programa, lo he realizado en Gambas (V.Basic para Linux).
El programa debía almacenar productos con los códigos de barras, nombre del producto y precio.
Cuando se lee el código de barras, busca en su registro el correspondiente código, si existe añade el precio al ticket. Si no existe el código, abre un dialogo para dar de alta el producto.
También tiene un registro de los movimientos, para una posible revisión.
El registro de los diferentes productos se realiza en un fichero de tipo *.csv , el cual puede abrirse con un editor de textos  o con una hoja de cálculo. Tener cuidado en no introducir ENTER sin motivo, da error al cargar el programa.

Si tenéis que imprimir etiquetas de código de barras os recomiendo ver el artículo:
http://seta43.blogspot.com/2018/10/crear-etiquetas-de-codigo-de-barras-con.html

El programa es simple, y cumple su función, no pretendo nada mas.





VIDEO DE FUNCIONAMIENTO





PROGRAMA



Saludos
Juan Galaz

Bibliografía:

http://seta43.blogspot.com/2018/10/crear-etiquetas-de-codigo-de-barras-con.html

miércoles, 10 de octubre de 2018

Arduino Sensor de temperatura Modelo KNEISSEL 433MHz

Página principal

Arduino
Sensor de temperatura
Modelo KNEISSEL
433MHz
xsetaseta@gmail.com

Continuando con el proyecto de receptores de sensores comerciales externos , ahora nos toca el modelo KNEISSEL.


El programa se basa en el anterior, lo único que cada fabricante codifica los datos de forma diferente.
En este caso la onda de  datos mandados tienen este formato:

Como vemos los bit mandados son 24.
En este modelo se mandan los grados divididos, por una parte los decimales y por otro los grados.

El arduino transforma estas ondas en datos decimales que son mandados al PC por medio del interface  serie mediante el USB.
Datos transmitidos :   1,22,2,196,24
Datos:
  • 1-canal.
  • 2-grados.
  • 3-decimal.
  • 4-El primer byte mandado.
  • 5-bits recibidos, deberán siempre ser 24.


Realizado en Gambas (Visual Basic para Linux)

Dispongo de dos sensores y no he podido comprobar si realmente están bien programado la detección de canales.
Lo curioso es que no existe un conmutador para cambiar el número de canal.
Para este modelo solo he realizado el programa en Gambas.

PROGRAMA


Hasta pronto.
JUAN GALAZ

Bibliografía:

receptores de sensores comerciales externos
setacom.html
hantek.html
https://fetzerch.github.io/2014/11/15/reveng433/
https://es.aliexpress.com/item/1pair-2pcs-433mhz-rf-transmitter-and-receiver-kit-For-Wireless-Power-switch-socket-remote-control-LED/32311933574.html?spm=a2g0s.9042311.0.0.lWlrua

domingo, 7 de octubre de 2018

Arduino Sensor de temperatura Modelo prinston 433MHz

Página principal

Arduino
Sensor de temperatura
Modelo prinston
433MHz
xsetaseta@gmail.com

Continuando con el proyecto de receptores de sensores comerciales externos , ahora nos toca el modelo prinston.


El programa se basa en el anterior, lo único que cada fabricante codifica los datos de forma diferente.
En este caso la onda de  datos mandados tienen este formato:

Como vemos los bit mandados son 36.
Los primeros 14 bit contienen codificación propia y estado de batería.
los siguientes 2 bit corresponden al canal,
La temperatura son los siguientes 12 bits,
Y el porcentaje de humedad utiliza 8 bits.

El arduino transforma estas ondas en datos decimales que son mandados al PC por medio del interface  serie mediante el USB.
Datos transmitidos :    Canal,02,Grados,00232,Humedad,024,Control,9003


Realizado en Gambas (Visual Basic para Linux)


Con las librerías wxwidgets en Windows y Linux.

PROGRAMA


Hasta pronto.
JUAN GALAZ

Bibliografía:

receptores de sensores comerciales externos
setacom.html
hantek.html
https://fetzerch.github.io/2014/11/15/reveng433/
https://es.aliexpress.com/item/1pair-2pcs-433mhz-rf-transmitter-and-receiver-kit-For-Wireless-Power-switch-socket-remote-control-LED/32311933574.html?spm=a2g0s.9042311.0.0.lWlrua

martes, 2 de octubre de 2018

Crear etiquetas de código de barras con gLabels

Crear etiquetas con gLabels

Por necesidad estuve el otro día buscando programas para hacer etiquetas de código de barras. Las etiquetas debían de ser reconocidas por el lector  MX009-2MA7C .
El programa debía funcionar en Linux, y el mejor programa que encontré fue gLabels.
Este programa tiene la posibilidad que utilizando una hoja de textos crear etiquetas con sus datos.
He creado este vídeo a modo de tutorial, espero que les guste.



Saludos.
Juan Galaz

domingo, 30 de septiembre de 2018

wxwidgets - Base de datos de libros SQLite - Lector código de barras MX009-2MA7C

Informática

wxwidgets
 Base de datos de libros
SQLite
Lector código de barras
MX009-2MA7C

Este artículo es una continuación de wxwidgets-Base de datos de libros-SQLite .
A pocos días de la realización de la base de datos de libros, por casualidades del destino, me dejaron un lector de código de barras MX009-2MA7C.
El lector funciona como un teclado mas, traslada el código de barras a código numérico, tecleando el código como si fuera un teclado, ademas de pulsar ENTER.
En pocos minutos añadí una entrada de texto (en verde), donde el lector introduce el código y lo busca en la base de datos.

El programa con el cambio realizado.


Probando el lector de código de barras.

Da gusto ver como en 1 segundo te busca el libro en la base de datos, después de leer el código de barras.
El programa lo he compilado solo en Linux, en cualquier momento lo compilo también en Windows.
Solo tienes que copiar el fichero ejecutable en el directorio donde está la base de datos  libros.sqlite .

PROGRAMA


Saludos.
Juan Galaz

viernes, 28 de septiembre de 2018

wxwidgets Base de datos de libros SQLite

Informática

wxwidgets
 Base de datos de libros
SQLite


Buscando por internet encontré una base de datos de libros, estaba realizada para access microsoft. Era del programa abies 2 que se utilizaba para una gestión de  bibliotecas escolares.
La página del proyecto es http://www.abies.es/web/ , ahora el proyecto se basa en web, por lo que faltan en mi base de datos muchos libros desde hace 10 años hasta ahora.
Me puse manos a la obra y la base de datos en formato mdb la pase a formato sqlite.
La base de datos consta de 388.000 libros, 200.000 autores, y 50.000 editoriales.
Por lo que podéis ver es bastante grande, era una experiencia nueva trabajar con tanta cantidad de libros, por lo que lo tome como un reto.
En primer lugar hice pruebas con los autores, y me dí cuenta que era un problema las mayúsculas y  los acentos, en las búsquedas.
Había autores que los habían escrito de diferentes formas, Garcia, García, GARCIA, GARCÍA.
En MySQL había una solución, pero en SQLite no funcionaba.
Esto era un problema en las búsquedas, por lo que tome la solución mas drástica, poner todo en mayúsculas y quitar acentos.
También me pasó con las editoriales, por lo que también pasé todo a mayúsculas y quitar acentos.
El programa lo he realizado solo para consultas, por lo que no se puede añadir nada a la base de datos.
Anteriormente había realizado el mismo programa en Gambas (Visual Basic para Linux):
                01/08/2018 - Gambas -Base de datos de libros con SQLite. LIBROS
Existe una librería llamada  wxSQLite, pero no he querido utilizarla.
He utilizado parte del código realizado en el programa hecho para consola para no complicarme mucho.
El programa se realiza en Linux, y cuando funciona bien se intenta compilar en Windows.
El problema ocurre al utilizar las diferentes versiones de las librerías wxwidgets.


Funcionando Linux.


Funcionando en Windows.


Funcionando en Linux pero con Wine.

La base de datos consta de 3 tablas o bases de datos, Fondos,Autores,Editoriales.
La base de datos principal es Fondos, en esta se encuentran los los libros con su  IdAutor y IDEDITORIAL, que son numeros enteros.
Los  campos IdAutor y IDEDITORIAL enlazan a las bases de datos o tablas, de Autores y Editoriales, donde se encuentran los nombres de cada autor y editorial.
En resumen son 3 bases de datos con datos enlazados o datos vinculados.

PROGRAMA


Saludos.
Juan Galaz




Como curiosidad existe una página web donde se encuentra una base de datos de libros inmensa.
REBECA: registros bibliográficos para bibliotecas públicas españolas


Bibliografía:

https://poesiabinaria.net/2015/03/usando-sqlite-en-nuestros-programas-en-cc/
http://apuntes-para-no-olvidar.blogspot.com/2012/01/conectar-con-una-bd-de-sqlite-en-c.html
http://www.aprendoencasa.com/index.php/2014/02/12/base-de-datos-sqlite-con-el-lenguaje-de-programacin-c/