martes, 28 de marzo de 2017

Repetidores Wifi: configuración y pruebas



1. Configuración de un repetidor Wifi

A continuación, Pedro y Alberto Carlos nos explican paso a paso cómo configurar un repetidor inalámbrico para aumentar el alcance de la cobertura de nuestra red Wifi.



2. Midiendo el alcance de un repetidor Wifi


A continuación, Matheo Arce demuestra de forma práctica cuál es el alcance del repetidor Wifi. Para ello, se irá alejando de él hasta que se pierda la conexión.





3. Midiendo la distancia máxima entre dos equipos usando un router y un repetidor


En el siguiente vídeo, Alberto Ogando nos muestra pruebas y evidencias del correcto funcionamiento de un repetidor Wifi que hemos configurado sobre un router inalámbrico para aumentar el área de cobertura inalámbrica.

Además muestra el gran alcance de la red usando un único repetidor conectado a nuestro router.

Alcance máximo de la red con un router y un repetidor


En la siguiente imagen, gentileza de Fran y Yojanán, se muestra un croquis con la colocación del router y del repetidor y de los dos móviles que están haciendo ping entre sí.



4. Roaming: transmisión de datos en movimiento y cambio de celda


Ahora, David Curra y Mateo Core demuestran que el proceso de cambio de celda de cobertura Wifi es totalmente transparente. Para ello, con el router y el repetido Wifi perfectamente configurados, hacen un ping entre dos teléfonos móviles que están en movimiento, de modo que en un momento dado del desplazamiento salen del área de cobertura del repetidor para entrar en el área de cobertura del router y el teléfono móvil, de forma transparente, cambia la conexión y el proceso de ping continua perfectamente.

Proceso roaming: transmisión de datos en movimiento y salto de celda



5. Configurando un router inalámbrico como repetidor de la señal Wifi de otro

Un router también puede ser utilizado como repetidor, de tal manera que también podamos aumentar el área de cobertura de nuestra red inalámbrica. A continuación, Roberto nos explica cómo se hace:


lunes, 27 de marzo de 2017

Arduino: comunicaciones GSM


En este vídeo te mostramos cómo controlar remotamente una placa Arduino mediante GSM. Para ello, haremos uso de mensajes SMS para gobernar algunas de sus salidas.

Hemos añadido una tarjeta SIM a nuestro Arduino para habilitar las comunicaciones desde/hacia nuestra placa.

En el siguiente vídeo te mostramos una demostración del funcionamiento de nuestra instalación.




Enhorabuena a Jonathan Santana, Brian García y Ayrton del Toro por el excelente trabajo realizado.

Arduino: transmisión y recepción de datos por Ethernet


En este vídeo te mostramos un control de temperatura que manejamos, gestionamos y controlamos vía Ethernet.
Para ello, le hemos añadido a nuestro módulo Arduino un shield que nos facilita las comunicaciones por la red.
Además, se ha creado una interfaz web para el control remoto del dispositivo que hemos publicado en un servidor web que se ha montado sobre el propio Arduino.

En el siguiente vídeo te explicamos paso a paso todo el proceso:



Enhorabuena a Jonathan Santana, Brian García y Ayrton del Toro por el excelente trabajo realizado.


miércoles, 15 de marzo de 2017

Hoy estamos cumpliendo años


Todo empezó hace 6 años, con un primer post sobre una estantería. Era una prueba, un ensayo de laboratorio. ¿Sirve para algo un blog? ¿Se puede usar para la docencia? ¿Y para aprender? ¿Y para ayudar?

domingo, 12 de marzo de 2017

Atlántico autocentros busca 7 profesionales para incorporar a su plantilla


Son 7 plazas de diferentes disciplinas:

  • Programador web
  • Jefe de taller
  • Responsable de marketing
  • Asesores comerciales
  • Mecánicos
  • Responsable de recursos humanos
  • Técnico de mantenimiento electromecánico

Fuente: periódico El Día

sábado, 11 de marzo de 2017

VNC Server en Windows 10



Llevamos unos días intentando instalar un servidor VNC en los ordenadores de clase, que son Windows.

Con el RealVNC Server hemos conseguido algún progreso, pero siempre vía VNC Connect, es decir, usando la nube la Real VNC. Queremos montar un servidor VNC en Windows que no requiera de Internet, que lo podamos usar con nuestra propia infraestructura.

Pues bien, la solución pasa por TightVNC. El proceso es realmente sencillo:


TightVNC Viewer y Server instalado en Windows 10



TightVNC Server corriendo como un servicio



Con nmap -v 192.168.1.141 comprobamos que el puerto 5900 está abierto





Conexión desde Elementary OS con Real VNC Viewer a Windows 10

miércoles, 8 de marzo de 2017

RealVNC: control remoto multiplataforma y gratuito



RealVNC es un software que nos permite el control remoto de una máquina X desde otra Y.
Es multiplataforma, y lo hemos probado en Ubuntu, Elementary OS, Raspbian, Android, Windows,...

En el siguiente vídeo Alberto Ogando nos muestra el control de un PC con W7 desde otro PC también con W7 usando VNC Viewer y VNC Server usando VNC Connect.


Construye tu propio DDNS rudimentario en Ubuntu Linux



He hecho esto como un paso más en la automatización de la radio escolar.
La realidad es que me conecto remotamente al PC que tenemos en el estudio para poderle subir el volumen y programar un apagado cuando empieza al recreo del centro, de tal forma que suene por la megafonía la radio.


Esta conexión remota la hago vía VNC, pero para ello es necesario conocer la IP del PC de la radio. El problema está cuando esa IP cambia, que ya no puedo hacer una conexión remota.

Conexión al PC por su nombre [descartado]
Ten en cuenta que el PC de la radio tiene Meduxa, que es una distro basada en Ubuntu, así que la conexión por nombre no es trivial, ya que a veces lo hago desde el mi PC (Elementary OS), otras veces desde el móvil (Android), otras desde el PC del departamento (Windows 10), otras desde el PC de un aula (Windows 7),... La conexión por nombres entre sistemas diferentes (Windows, Linux, Android,...) no es trivial, así que la he descartado.

IP estática al PC de la radio [descartado]
Tampoco puedo usar una IP estática ya que el ordenador de la radio se conecta a la red Medusa y no tengo permisos para modificar las políticas de asignación de IPs de modo que tampoco puedo evitar que la IP que ponga no esté ya en uso ni que se vaya a asignar a ningún otro PC.

DynDNS [descartado]
Otra posible solución podría haber sido vía DynDNS o cualquier otro servicio online de DDNS. También he descartado esta opción porque el PC de la radio es Linux y porque es un ordenador muy viejo, con unos recursos muy limitados.

¿Cómo lo he resuelto?
Lo que he hecho es programar una tarea que me envía todos los días un correo con la IP del PC de la radio, así, si ha cambiado, ya tengo en mi móvil o en mi propio PC la nueva IP.

Lo primero que he hecho es crear un script que he llamado reportIP.sh que consulta la IP de la máquina, vuelca el resultado a un fichero que he llamado myIP.txt y luego automáticamente con sendmail me envía ese fichero adjunto en un correo electrónico.

Éste es el aspecto de reportIP.sh:

Aspecto del archivo /home/moises/scripts/reportIP.sh


#!/bin/sh
SHELL=/bin/bash
# /sbin/ifconfig | grep "Direc. inet:" > /home/moises/scripts/myIP.txt
/sbin/ifconfig > /home/moises/scripts/myIP.txt
sendemail -f mi_correo@gmail.com -t mi_correo@gmail.com -s smtp.gmail.com:587 -u "reportIP" -m "IP Address" -a /home/moises/scripts/myIP.txt -v -xu mi_correo@gmail.com -xp mi_clave -o tls=yes
Contenido del archivo /home/moises/scripts/reportIP.sh



A continuación, en crontab, programo dos tareas, que se ejecutará una todos los días a las 10:00am y la otra a las 4:00pm. Aquí te muestro el aspecto de mi archivo crontab:

Aspecto de mi crontab



# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
0 10 * * * /home/moises/scripts/reportIP.sh
0 16 * * * /home/moises/scripts/reportIP.sh
Contenido de mi crontab



Empiezan a llegar los correos...




Y en su interior me llega adjunta la dirección IP del PC de la radio



Cómo enviar un correo desde la consola de Linux:
http://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/

Programar una tarea con crontab:
http://systemadmin.es/2010/03/como-programar-tareas-con-el-cron

Instalar mando bluetooth para diapositivas en Elementary OS Loki: más fácil imposible

La evolución en el reconocimiento de hardware de los sistemas Linux en los últimos años es absolutamente impresionante.

Recuerdo cuando estudiaba la carrera lo complicado que era que el sistema reconociera la tarjeta gráfica y el modo de vídeo adecuado para tu equipo. Hoy eso está totalmente superado y funciona a la primera.

Bien, acabo de comprar un mando a distancia bluetooth para clase y debo reconocer que tenía mis dudas de que mi sistema lo fuera a reconocer. Pues de verdad que no ha podido ser más fácil:
  1. Conectar el receptor/transmisor USB a un puerto del PC
  2. Encender el mando
  3. Pulsar el botón connect
  4. Todo listo
En el siguiente vídeo te muestro el mando funcionando para que veas que todo ha ido de maravilla:

martes, 7 de marzo de 2017

Aprender a hablar y a callar

Un ser humano necesita

unos 2 años para aprender a hablar 

y 60 o más para aprender a callar.


Ernest Hemingway
1899 ~ 1961

lunes, 6 de marzo de 2017

Establecer Elementary OS, o cualquier otra distro Linux, como sistema de arranque por defecto en UEFI

Hace casi dos años que conseguí arrancar una distro Linux en un ordenador con Windows 8 preinstalado y con el famoso sistema de protección UEFI, cosa que en realidad empecé hace 4 años y en aquel momento desistí.

Allá por el año 2013, cuando en realidad empecé todo este proceso, apenas había información al respecto, así que estuve leyendo y probando multitud de cosas pero no lo conseguí.

Bueno, por fin hoy queda me queda el ordenador en el estado deseado. Desde que enciendo, automáticamente arranca mi sistema favorito, sin necesidad de estar navegando por las opciones de la BIOS UEFI una y otra vez para indicarle que no hay problema y que debe arrancar otra imagen .efi que hay almacenada en una partición de mi disco.

Bueno, para no aburrirte, te resumo en unos cuantos pasos básicos, aunque quizás antes deberías comenzar por donde yo empecé:
http://fpkanarias.blogspot.com.es/2015/05/arranque-dual-kubuntu-1504-windows-8-y.html


1. Instala tu sistema Linux con normalidad
No creo que sea una buena idea explicarte aquí cómo instalar Linux en un ordenador.

2. Localización del ESP
ESP viene de EFI System Partition. Cuando termina la instalación de tu sistema, en algún lugar del sistema de archivos de Linux se ha creado el ficheros .efi de arranque de tu distribución. Pues bien, lo primero que habrás de hacer es averiguar dónde se están almacenando para luego poder montar esa partición.

df /boot/efi

El comando df /boot/efi me muestra en qué partición se encuentra el ESP. En mi caso en /dev/sda2, pero NO tiene por qué ser así.


3. Monta el ESP
Ahora que ya sabes dónde se encuentra tu ESP, monta esa partición, si no está montada ya. En mi caso ya estaba montada.

4. Explorando el ESP
Ahora que ya la partición que contiene tu ESP se encuentra montada, vamos a "navegar" por ella. Abre una consola con permisos de root (sudo su) y vete a la ruta en que la has montado (cd /boot/efi).

Esto es lo que hay en mi ESP:

Éste es el aspecto interno de mi ESP



Dentro de la carpeta EFI se encuentran todos los ficheros de arranque.
Dentro de la carpeta ubuntu se encuentra el gestor de arranque para Elementary OS



En la carpeta Boot se encuentra el archivo .efi que va a buscar la BIOS al arrancar, y que lo llama exactamente bootx64.efi. Yo he copiado aquí el fichero grubx64.efi y lo he renombrado como bootx64.efi. Para no perder los archivos originales, sencillamente los he renombrado como .old



Y con esto ya queda mi sistema listo y funcionando, de modo que cada vez que enciendo mi ordenador con el sistema EFI automáticamente va a elegir distribución favorita (
Fíjate lo que tenía que hacer una y otra vez cada vez que arrancaba el PC para poder iniciar Elementary OS o cualquier otra distribución:




En este vídeo te muestro cómo ahora mi sistema arranca directamente en Elementary OS, sin tener que pasar por el engorroso sistema de menús de la BIOS UEFI:




Para poder lograr que funcionara usé y probé muchísimos enlaces, pero la clave está aquí:
http://www.rodsbooks.com/efi-bootloaders/installation.html

Cómo instalar impresora HP Deskjet 3720 all-in-one en Elementary OS Loki



HP ha hecho un gran esfuerzo porque sus impresoras funcionen en Linux. Ha desarrollado todo un protocolo de impresión llamado HPLIP (HP Linux Imaging and Printing) que actualizan cada vez que sacan una nueva impresora al mercado y/o añaden nuevas funcionalidades a las que ya están comercializadas.

He comprado una HP Deskjet 3720 all-in-one y ya la tengo operativa en mi ordenador, en el que tengo instalado Elementary OS Loki.

En realidad la documentación que he usado es para Ubuntu, pero ya sabes que esta versión de Elementary está basada en Ubuntu 16.04.

He seguido paso a paso las indicaciones que aquí figuran y no he tenido ningún gran problema, sino algún detalle de dependencias sobre Python que he podido resolver:
http://hplipopensource.com/hplip-web/install/manual/distros/ubuntu.html

Debo reconocer que no ha sido trivial, que he estado un buen rato buceando en internet, leyendo, probando,... hasta que por fin ha funcionado.

En cuanto vi salir la página de prueba con HPLIP 
lo vi claro: esto funciona


En el siguiente vídeo te muestro evidencias de la impresora imprimiendo desde mi Elementary OS tanto por Wifi como por USB: