Tutoriales https://masttl.com/articulos/tutoriales Thu, 21 Nov 2024 10:09:50 +0000 Joomla! - Open Source Content Management es-es Reiniciar Modem Huawei HG658D con Script de Python en Windows 10 https://masttl.com/articulos/tutoriales/12-reiniciar-modem-huawei-hg658d-con-script-de-python-en-windows-10 https://masttl.com/articulos/tutoriales/12-reiniciar-modem-huawei-hg658d-con-script-de-python-en-windows-10 En el tutorial anterior, aprendimos a como instalar ChromeDriver en un entorno con Debian 10.x, en esta ocasión haremos usado de ChromeDriver en el sistema operativo Windows 10.

En este tutorial se explica cómo instalar el entorno necesario para poder automatizar procesos en páginas web haciendo uso del ChromeDriver y Google Chrome. El uso de esta técnica se emplea cuando deseamos automatizar un proceso, pero la plataforma no cuenta con una API Rest (como es el caso de este modem), el API Rest no es publica o el uso de esta puede conllevar un costo.

En primer lugar, es necesario tener instalado Python 3.x, así como tener agregado Python a las variables de entorno del sistema.  Adicionalmente debemos tener instalador Google Chrome.

Una vez completado el paso anterior, debemos de abrir una terminal de “Símbolo de Sistema” e instalar selenium, para ello debemos de usar el siguiente comando:

python3 -m pip install selenium

El siguiente paso es obtener la versión correspondiente de ChromeDriver, en función de la versión de Google Chrome que tenemos instalado, para ello abrimos Google Chrome, dar clic en “Personaliza y controla Google Chrome”, a continuación, dirigirnos a “Ayuda” y finalmente dar clic en “Ayuda de Google Chrome”.

Consiguientemente, no dirigimos a la siguiente página, en donde descargamos el ChromeDriver que corresponde según la versión de Google Chrome que tenemos instalada en nuestro equipo.

Debemos de descargar el fichero nombrado como “chromedriver_win32.zip”, una vez finalizada la descarga de este, debemos de extraer su contenido usando una herramienta como “7-Zip”, “WinRAR”, u otro.

El contenido de este fichero es un ejecutable titulado “chromedriver.exe”, este recomiendo moverlo a “C:\chromedriver”, para ello, debemos de crear una carpeta en la raíz del disco duro C y titularla “chromedriver”, esto con la finalidad de que sea fácil de recordar la ubicación.

El siguiente paso es ejecutar el siguiente código de Python, en donde debemos de cambiar los campos de la sección de variables, por el nombre de usuario, contraseña, IP del Modem, asi como la dirección del ChromeDriver en caso de ser necesario.

Lo que pasara es que este script abrirá una ventana de Google Chrome la cual no será visible (excepto si se comenta la línea 14 "chrome_options.add_argument('--headless')"), en donde en primer lugar, realizara el inicio de sesión usando las credenciales proporcionadas, posteriormente se dirigirá a la sección de “Mantenimiento”, a continuación a la sección de “Gestión de Dispositivos”, presionara el botón de “Reiniciar”, y finalmente aceptara la confirmación del reinicio.

Este solo fue un ejemplo de cómo es posible automatizar un proceso usando ChromeDriver y Google Chrome, pero es posible automatizar cualquier otra tarea que se desee, así como si lo fusionamos con lo aprendido en el tutorial anterior, una vez finalizada la tarea podemos extraer información que sea relevante y nos permita verificar que se ha realizado la tarea satisfactoriamente.

Espero que este articulo sea de utilidad y te permita automatizar procesos o tareas.

]]>
Tutoriales Mon, 11 May 2020 03:11:02 +0000
Realizar Web Scraping con Python y Google Chrome en Debian 10.x https://masttl.com/articulos/tutoriales/11-realizar-web-scraping-con-python-y-google-chrome-en-debian-10-x https://masttl.com/articulos/tutoriales/11-realizar-web-scraping-con-python-y-google-chrome-en-debian-10-x El Web Scraping, es el proceso mediante el cual se nos permite extraer información de una sitio web de forma automatizada, dependiendo del nivel de complejidad del algoritmo que realicemos, podemos extraer cantidades industriales de información en cuestión de minutos.

Ese artículo, tiene como finalidad exponer el proceso de instalación de todas las dependencias necesarias para la realización del proceso de Scraping en un equipo con Debian 10.x x64, usando como lenguaje de programación Python 3.x, así como Selenium, BeautifulSoup4 y Google Chrome.

El primer comando por ejecutar actualizara la lista de paquetes disponibles y sus versiones, mientras que el segundo se encarga de instalar algunos paquetes que necesitaremos.

apt-get update
apt-get install python3 python3-pip zip unzip wget

Posteriormente instalaremos los paquetes que usaremos en Python 3.x

pip3 install selenium
pip3 install beautifulsoup4

El siguiente paso es instalar la última versión de Google Chrome para Linux, lo cual podemos hacer descargándolo e instalando, usando los siguientes comandos.

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
apt install ./google-chrome-stable_current_amd64.deb

Un paso critico es saber la versión de Google Chrome que se ha instalado, para ello ejecutamos el siguiente comando.

google-chrome --version

En mi caso la versión que tengo instalada es la 80.0.3987.163, pero esto puede ser diferente en tu instalación. Una vez que conocemos la versión de Google Chrome que tenemos instalada, debemos de ir a la siguiente página web "https://chromedriver.chromium.org/downloads" y descargar la versión de ChromeDriver que corresponda a nuestra versión de Google Chrome.

Una vez seleccionada la versión de ChromeDriver, nos redijera a una serie de enlaces, en donde dependiendo del sistema operativo que tengamos debemos de elegir la indicada, en este caso seleccionaremos "chromedriver_linux64.zip" y procedemos a copiar la dirección de enlace.

A continuación, procedemos a descargar el fichero zip, pegando el enlace que acabamos de copiar, quedando de la siguiente manera.

wget https://chromedriver.storage.googleapis.com/80.0.3987.106/chromedriver_linux64.zip

Una vez finalizada la descarga, procedemos a ejecutar los siguientes comandos, que se encargaran de instalar ChromeDriver.

unzip chromedriver_linux64.zip
mv chromedriver /usr/bin/chromedriver
chown root:root /usr/bin/chromedriver
chmod +x /usr/bin/chromedriver

 A continuación, podemos ejecutar el siguiente código de ejemplo, en donde obtendremos el nombre y precio de artículos de Mercado Libre que cumplen con una serie de parámetros de búsqueda.

El resultado de la ejecución del anterior código fuente debe de ser similar al siguiente.

Como podemos ver, se ha realizado correctamente el scraping y hemos obtenido la información que deseábamos, posteriormente podríamos almacenarla en una base de datos o realizar análisis sobre ella.

Espero que este tutorial te haya servido y permita obtener información que te sea de utilidad.

]]>
Tutoriales Sun, 05 Apr 2020 19:22:46 +0000
Aumentando Autonomía de Audífonos Bluetooth https://masttl.com/articulos/tutoriales/7-aumentando-autonomia-de-audifonos-bluetooth https://masttl.com/articulos/tutoriales/7-aumentando-autonomia-de-audifonos-bluetooth Hace un tiempo adquirí unos audífonos bluetooth, pero siendo honestos no quería gastar una gran cantidad de dinero en este producto, por lo que compre uno modelo económicos de 250 MXN (15 Dólares), a pesar de su costo tiene una serie de funciones interesantes como lo son radio FM, un puerto micro SD para poder conectar una memoria micro SD y escuchar música sin necesidad de un teléfono, además de un puerto de 3.5 mm para conectar un cable de audio y poder seguir usándolos a pesar de que no tengan batería. A pesar de todas estas maravillas estos audífonos contaban con un pequeño defecto y en efecto como lo habrás imaginado era la autonomía de estos, en donde el tiempo promedio de uso continuo con una sola recarga era de aproximadamente 2.5 horas. Por lo que, durante una tarde de ocio, decidí abrirlos y examinarlos, al desarmarlos me di cuenta de que contaban con una batería de 3.7 Volts y 300 mAh.  Pasaron unos días, hasta que curioseando en una tienda de equipo de cómputo y celulares me encontré con una rebaja, en donde ofrecían algunas baterías (muchas de ellas descontinuadas) a un costo de risa solo 10 MXN (0.60 Dólares) por lo que sin pensarlo me decidí a comprar una de ellas, siendo honesto no creía que estuviera en buen estado, pero por el precio valía la pena arriesgarse. Esta batería de la marca Mobo es de 3.7 Volts y 650 mAh por lo que en teoría debería de ofrecer 5.5 horas de autonomía (el doble de la autonomía original).

El primer paso que realice fue desarmar mis audífonos y verificar que la nueva batería encajara en el espacio existente, después de quebrarme la cabeza pude encontrar la manera en que encajara. Como se podrán dar cuenta la nueva batería es considerablemente más grande.

El siguiente paso fue ubicar tanto el polo positivo como negativo de la batería, para esta tarea me ayude de un multímetro y un plumón, una vez que los ubique decidí rotular la batería para no olvidarlo.

A continuación, soldé unos cables para facilitar la conexión, recomiendo usar cable que sea flexible, debido a que el espacio que tenemos para acomodar todo no es tan espacioso como nos gustaría.

Por último, solo queda retirar y desconectar la antigua batería, es importante recordar la forma en que esta está conectada, ya que tenemos que conectar la nueva batería respetando la misma polaridad, en caso de no hacerlo podríamos dañar permanente los audífonos (este será el momento en donde se empieza a sudar). Además, recomiendo que este empalme se refuerce con un poco de soldadura para garantizar la conexión, y cubrir tanta los conectores de la batería, así como los empalmes con un poco de cinta de aislar para evitar cualquier corto circuito. Antes de volver a armar los audífonos es una excelente idea probar el correcto funcionamiento, para que en caso de fallo poder solucionar la falla y no perder tiempo volviendo a desarmarlos.

]]>
Tutoriales Tue, 26 Sep 2017 06:04:39 +0000
Creación de un servidor VPN en un VPS https://masttl.com/articulos/tutoriales/6-creacion-de-un-servidor-vpn-en-un-vps https://masttl.com/articulos/tutoriales/6-creacion-de-un-servidor-vpn-en-un-vps Antes de empezar con este tutorial me gustaría explicar algunos conceptos:

VPN (Virtual Private Network): Es una red virtual que nos permite interconectar dos o más dispositivos que se encuentran físicamente en diferentes locaciones. Una de las principales características de esta es que la comunicación entre ambos extremos va cifrada, por lo tanto, en caso de ser interceptada, no será posible conocer su contenido.

VPS (Virtual Private Server): Es un servidor (a grandes rasgos una computadora con acceso a internet y encendida los 365 días del año), el cual haciendo uso de software permite fraccionar sus recursos (procesador, memoria RAM, almacenamiento), de esta manera podemos crear varias máquinas virtuales que funcionan de manera independiente, por consiguiente, el costo final de rentar una sola máquina virtual es solo una fracción de lo que costaría un servidor dedicado. El adquirir un VPS es una excelente idea cuando deseamos realizar pruebas, experimentos o el despliegue de aplicaciones que no necesitan demasiados recursos a un costo bajo.

En este caso usaremos la plataforma de Digital Ocean, la cual nos permite rentar equipos por hora, siempre y cuando la VPS (en Digital Ocean son llamados Droplets) no esté más 672 horas al mes desplegada (no importa si esta encendida o no, con el siempre hecho de existir nos cobran, por lo que una vez que hemos dejado de usarla es mejor destruirla), en caso de superar esta cantidad de horas nos cobraran el precio mensual. En caso de que te interese esa plataforma, puedes usar este link con el cual te regalaran 10 dólares para iniciar.

Una vez que hemos iniciado sesión en Digital Ocean procedemos a crear un Droplet, para ello damos clic en “Create Droplet”

El siguiente paso consiste en elegir el Droplet que se ajuste a nuestras necesidades, para la creación de un servidor VPN para conectar de 1 a 3 dispositivos, es suficiente con el Droplet más básico, el cual solo cuesta 0.007 dólares cada hora.

Uno de los pasos cruciales para nuestro servidor VPN es la ubicación de este, debido a que entre más cerca este de nuestra ubicación, mejor será la navegabilidad. Por eso recomiendo hacer algunas pruebas de velocidad y ping, para ello podemos realizarlas desde el siguiente link. En mi caso el mejor servidor ha sido el servidor 2 ubicado en San Francisco.

En este caso, no será necesario realizar más modificaciones a la configuración por defecto, por lo que nos dirigimos a la parte inferior y damos clic en “Create”.

 Una vez que se ha creado nuestra Droplet el siguiente paso es obtener la dirección IP de la misma.

El siguiente paso consiste en conectarnos al Droplet haciendo uso de la tecnología SSH, en mi caso el programa que uso en Windows se llama Putty y lo puedes descargar desde este link. Seleccionamos como tipo de conexión SSH, ingresamos la dirección IP y el número de puerto.

Al conectarnos por primera vez a nuestro servidor, nos pedirá que guardemos en el registro de Putty la huella del servidor. Damos clic en aceptar.

Cuando nos conectemos, nos preguntara el nombre de usuario con el que iniciaremos sesión, ingresaremos root, y la contraseña la encontraremos en el correo electrónico que nos han mandado desde Digital Ocean. La primera vez que nos conectemos, nos pedirá que ingresemos la actual contraseña (la que nos han mandado en el correo electrónico) y a continuación ingresaremos la que será la nueva contraseña, además de ingresarla por segunda ocasión para confirmarla.

Para poder crear nuestro servidor VPN, usaremos el siguiente comando, el cual instalara OpenVPN con ayuda de un asistente.

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

A continuación nos preguntara la que será la dirección IP desde la que se conectaran los clientes a nuestro servidor, en este caso dejar la que está por defecto. Dar enter.

En el tipo de protocolo usado para OpenVPN, dejamos por defecto UDP. En el caso del puerto por el cual se hará la conexión por defecto es el 1194, pero lo podemos cambiar. En caso de que tengamos problemas para conectarnos, podríamos usar el puerto 443 que es el correspondiente a las conexiones HTTPS, que en raras ocasiones se encuentra bloqueado.

En el caso del servidor de direcciones DNS, lo que mejor me ha funcionado ha sido usar los que están por defecto. Aunque también las proporcionadas por Google son una excelente opción.

A continuación, ingresamos el que será el nombre del certificado de conexión, recomiendo darle un nombre representativo con respecto al dispositivo desde el que se realizará la conexión.

Para continuar damos enter y esperamos a que se genere el certificado de conexión.

Cuando lleguemos a este instante, sabremos que se ha concluido el proceso de generación del certificado, es importante mencionar que cada certificado solo sirve para conectar un dispositivo a la vez, por lo que, si necesitamos conectar más de un dispositivo al mismo tiempo, tenemos que generar más certificados, por lo que lo único que tienes que hacer es volver a ejecutar el comando anteriormente descrito.

 El siguiente paso es descargar el certificado de conexión, pero es necesario que usemos un método seguro para ello, porque cualquier persona que tenga acceso a él, podrá conectarse a nuestra VPN. Para esta tarea usaremos WinSCP, el cual podrá descargar desde el siguiente link. Para poder conectarnos lo único que necesitamos ingresar en la dirección IP de nuestro servidor, el puerto (que por defecto es el 22) y la nueva contraseña que hemos ingresado cuando nos hemos conectado por primera vez a nuestro servidor.

Nuevamente aceptamos la huella del servidor. Damos clic en aceptar.

Una vez que se ha establecido la conexión, seleccionamos el certificado de conexión, el formato de este tipo de ficheros es ovpn. Para poder descargarlos, seleccionamos el fichero y presionamos F5.

Indicamos en donde descargaremos el fichero y damos clic en aceptar.

 

Uso de OpenVPN en Windows

Para poder usar nuestro servidor VPN en Windows, necesitamos instalar el cliente de OpenVPN para Windows, el cual podemos descargar desde el siguiente link. Además debemos copiar el certificado de conexión en la siguiente ubicación C:\Program Files\OpenVPN\config

Una vez realizados estos pasos, procedemos a ejecutar el cliente de conexión de OpenVPN.

OpenVPN solamente muestra un icono en el área de notificaciones, por lo que tenemos que dar clic con el botón derecho sobre el icono del mismo.

En caso de solo tener un certificado de conexión, nos aparecerá el siguiente menú, en donde debemos de dar clic en “Connect”. Cuando queramos desconectarnos del servidor OpenVPN, realizar el mismo procedimiento, solo que debemos de seleccionar la opción de “Disconnect”.

Una vez establecida la conexión, se nos mostrara un mensaje similar a este.

Si a partir de este momento nos conectamos a alguna página como whatismyipaddress.com, podremos ver cómo es que ahora nuestra dirección IP, es la misma que la del servidor VPS. En mi caso un servidor ubicado en San Francisco.

 

Pruebas de Velocidad y Ping

Máxima velocidad de nuestro Droplet

Máxima Velocidad de conexión con Telmex sin VPN

Máxima Velocidad de conexión con Telmex a traves del VPN

Máxima Velocidad de conexión con Axtel sin VPN

Máxima Velocidad de conexión con Axtel con VPN

Máxima Velocidad de Conexión con Axtel sin VPN al mismo servidor Ubicado en California

 

Conclusiones

En primer lugar, tenemos que mencionar que el usar una conexión VPN nos ofrece seguridad extra, debido a que nuestra información se manda encriptada, esto es especialmente útil si estamos haciendo uso de una conexión insegura a internet como lo es desde un Aeropuerto, Terminal de Autobuses, Hotel, Plaza Comercial, Parque, entre otros. Por desgracia esto tiene una contraparte negativa, en donde no lograremos alcanzar la máxima velocidad ofrecida por el proveedor de internet, además de aumentar el ping. Por lo tanto, el uso de un VPN solo debe de ser reservado para conectarse desde redes inseguras para proteger nuestra información o para evitar algunos bloqueos como los que podemos encontrar en redes de universidades o laborales.

]]>
Tutoriales Sun, 24 Sep 2017 21:10:41 +0000
Raspberry PI 3: Conexión WiFi y Ethernet al mismo tiempo https://masttl.com/articulos/tutoriales/2-raspberry-pi-3-conexion-wifi-y-ethernet-al-mismo-tiempo https://masttl.com/articulos/tutoriales/2-raspberry-pi-3-conexion-wifi-y-ethernet-al-mismo-tiempo Recientemente he empezado un proyecto en donde es necesario usar una Raspberry PI 3, en este momento me encuentro de vacaciones y en donde actualmente estoy pasando mis vacacionando no tengo un monitor con HDMI, por esta razón antes de emprender mis vacaciones realice la siguiente configuración para poder conectarme por SSH usando la conexión Ethernet, pero también teniendo la posibilidad de conectarme por WiFi a la Red Inalámbrica para poder descargar nuevos paquetes y sus correspondientes actualizaciones.

En primer lugar, es necesario tener Raspbian en nuestra Raspberry PI y además tener activada la conexión SSH, no entrare en grandes detalles esta información está disponible en el siguiente enlace Remote Access SSH.

Ahora procederé a explicar la configuración que he realizado.

1.- Acceder al fichero de configuración de las interfaces de red de nuestra Raspberry PI. Para ello usaremos el siguiente comando:

sudo nano /etc/network/interfaces

2.- Deberemos ingresar la siguiente configuración en la interfaz Ethernet:

auto etho
iface eth0 inet static
address 10.0.0.2
netmask 255.255.255.0

Para la interfaz WiFi será la siguiente:

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "Nombre_Red_WiFi"
wpa-psk "Contraseña_WiFi"

En donde "Nombre_Red_WiFi" será el nombre que tiene la Red Inalámbrica a la que nos deseamos conectar y "Contraseña_WiFi" será la contraseña de la red a la que nos estamos intentando conectar. Guardar las modificaciones con Ctrl + O y salir con Ctrl + X.

3.- Reiniciar la Raspberry PI 3. Usar el comando:

sudo reboot

4.- Dirigirnos a la computadora desde la que nos conectaremos a la Raspberry PI usando la interfaz Ethernet a través de SSH. En mi caso será una computadora con Windows 10. En otros sistemas operativos los pasos serán diferentes.

A.- Abrir el Centro de Redes y Recursos Compartidos.

B.- Seleccionar la opción de Cambiar Configuración del adaptador.

C.- Dar clic derecho sobre nuestra tarjeta de red Ethernet y seleccionar la opción de Propiedades.

D.- Seleccionar Protocolo de Internet versión 4(TCP/IPv4) y dar clic en propiedades

E.- Indicar la opción Usar la siguiente dirección IP. En Dirección IP recomiendo colocar 10.0.0.1 y en Mascara de subred: 255.255.255.0. Dejar Puerta de enlace predeterminada en blanco, si ingresamos alguna IP podría causar problemas al momento de navegar por internet.

5.- Usar alguna herramienta como PuTTY para poder conectarse por SSH, si has seguido el tutorial al pie de la letra, la siguiente configuración será válida.

6.- Nos logueamos con nuestro usuario y contraseña. Para verificar que nuestras Raspberry PI está conectada correctamente a la Red WiFi podemos ingresar el comando:

sudo ifconfig

Como podemos ver se nos ha asignado una dirección IP, Mascara de Subred y Puerta de Enlace.

7.- Para verificar la conexión a internet, podemos hacer algunas pruebas de ping. Para ello el comando es el siguiente:

ping masttl.com

En este caso podemos cambiar masttl.com por el dominio al que queremos hacer pruebas, como puede ser google.com u otro.

Espero que este tutorial te haya servido, a mí me ha ayudado a poder hacer uso de Raspberry PI sin la necesidad hacer uso de un monitor.

]]>
Tutoriales Thu, 13 Jul 2017 00:01:03 +0000