lunes, 10 de febrero de 2020

Práctica # 14: Gestión de errores inesperados mediante excepciones utilizando el bloque try / except en Python3 sobre la Raspberry Pi4


Raspberry Pi para desarrolladores

PRÁCTICA # 14

“Gestión de errores inesperados en Python3 mediante excepciones utilizando el bloque <try:> sobre la Raspberry pi 4”



Durante el desarrollo de un programa podemos encontrar dos tipos de errores:

  1.   Errores por sintaxis: Los cuales son corregidos durante el desarrollo de un programa.

  2.   Errores por excepciones: Los cuales suelen ocurrir por “causas inesperadas” durante el proceso de ejecución, en códigos que tienen una sintaxis correcta y “funcional”.

Ahora, con el fin de poder gestionar los errores por excepciones, Python nos ofrece una instrucción o bloque denominada “try”, la cual es complementada bajo 3 gestores llamados “except”, “finally” y “else”. Los cuales, permiten atender o ignorar un error por excepción. Evitando un cierre inminente por este tipo de caso; tal cual se muestra a continuación:



En donde, se hace evidente como la implementación del gestor de error por excepciones, hace que un proceso pueda continuar con su flujo de programa. Evitando un cierre inminente del mismo.

Con el fin de poder entender más a fondo la importancia de la gestión de errores por excepciones, ahora analicemos el siguiente programa desarrollado en python3 capaz de “Determinar si un número es par o impar”, con y sin gestor de excepciones:



En la imagen anterior, se puede determinar como el programador mediante el gestor de excepciones, ha evitado que el algoritmo planteado, no se cierre por un error de entrada de datos. Evidenciando de forma clara y sencilla, que todo algoritmo esta expuesto a un conjunto de errores inesperados, los cuales deben ser atendidos y optimizados por cada desarrollador.

Finalmente, es de destacar que el bloque “except”, permite clasificar el tipo de excepción de forma directa, en base a un conjunto de errores ya predefinidos por el mismo lenguaje de programación. Por lo cual, es de tener en cuenta que en esta práctica se ha definido un ejemplo que toma el proceso de forma general, en donde, el mismo desarrollador define lo que quiere hacer al detectar un error. Por lo cual si esta interesado en aprender mucho más de este tema ingrese al siguiente enlace http://docs.python.org.ar/tutorial/3/errors.html, en donde se explica detalladamente, mediante documentación oficial de Python como funciona cada una de las herramientas de esta instrucción.

Así que, si te ha gustado esta pequeña guía, compártela en tus redes, comenta y dale like, para que podamos seguir creciendo como comunidad. Muchas gracias.

martes, 4 de febrero de 2020

Práctica # 13: Sistema de verificación de aprobación de un curso mediante consola, Python3 y Raspberry Pi4


Raspberry Pi para desarrolladores

PRÁCTICA # 13

“Programa en consola para definir la aprobación de un estudiante en un curso de 3 periodos utilizando Python3 y Raspberry Pi4”



 El objetivo de esta práctica es realizar un ejemplo que nos permita evaluar lo aprendido en las publicaciones anteriores, con los temas de:

  1.    Variables
  2.    Operadores
  3.    Condicionales

Por lo cual, se plantea el siguiente problema:

“El director de un colegio le pide a una desarrolladora de software que genere un programa en consola, el cual debe calcular si un estudiante aprobó o no el curso académico, tomando como medida de cuantificación, un ciclo de 3 períodos bajo nota de aprobación superior o igual a 3.5”

NOTA: es de destacar que la solución planteada a continuación no es la única que existe ya que depende de la lógica como cada desarrollador genera su esquema de proceso bajo el nivel de programación y experiencia que tiene.

Para solucionar el ejercicio se presenta a continuación el siguiente diagrama de flujo, el cual representa el flujo de ejecución del algoritmo a desarrollar para cumplir los planteado en el problema:



En donde se inicia definiendo una variable ‘nota’ de forma global, la cual actual como acumulador de la suma de los 3 períodos que el usuario debe ingresar, junto a otra variable definida como ‘estado’, que permite establecer si el usuario quiere o no seguir utilizando el programa.

Una vez son definidas las variables de gestión, el flujo de programa ingresa a un condicional ‘while’, tomando el valor de la variable ‘estado’. En donde este condicional de tipo bucle, pedirá información del estudiante o cerrará el programa dependiendo del valor de la variable ‘estado’; 1 para calcular otro estudiante y 0 para salir del condicional ‘while’ generando salida el programa.

Si la variable ‘estado’ tiene el valor de 1, el flujo del programa automáticamente pedirá al usuario que ingrese el nombre del estudiante y la nota de cada uno de los 3 periodos cursados. En donde esta última petición, estará inmersa en un condicional ‘for’, ajustado para 3 iteraciones, que pedirán al usuario que ingrese la nota de cada uno de los cortes, generando una acumulación o suma tomando la variable ‘nota’ como contenedor.

Una vez el programa capturar la nota de todos los periodos, pasa a definir mediante una ecuación sencilla el promedio académico del estudiante durante el curso. Dividiendo en 3 periodos, el valor acumulado sobre la variable ‘nota’. El cual es directamente evaluado mediante un condicional ‘if’, que establece un mensaje en consola tomando el nombre y el promedio calculado, emitiendo un APROBADO si el valor es superior o igual a 3.5 y NO APROBADO si el valor es menor que 3.5.

Finalmente, el programa define un mensaje en consola utilizando la instrucción ‘print’, pidiéndole al usuario que ingrese 1 para seguir evaluando otro estudiante, o 0 para salir del bucle ‘while’. Generando una reiniciación de la variable acumuladora ‘nota’ y una limpieza de la consola de comando, utilizando la librería ‘import os’ mediante el comando ‘clear’, dejando una interfaz limpia e intuitiva.

A continuación, se presenta el algoritmo escrito en Python que representa lo planteado por el diagrama de flujo, y una imagen que muestra su funcionamiento:



Así que, si te ha gustado esta pequeña guía, compártela en tus redes, comenta y dale like, para que podamos seguir creciendo como comunidad. Muchas gracias.

viernes, 31 de enero de 2020

Práctica # 12: Flujo de ejecución y condicionales en Python3 para Raspberry Pi 4

Raspberry Pi para desarrolladores

PRÁCTICA # 12

“Flujo de ejecución y condicionales de un programa en Python 3 para el desarrollo de proyectos en Raspberry Pi 4”



El flujo de ejecución de un programa es el orden con que se ejecutan sus instrucciones, en donde el termino instrucción, es cada línea de código organizada una de bajo de otra. Ahora, este flujo avanza de forma vertical de arriba hacia abajo, y cambia su estado dependiendo de los condicionales de flujo. Los cuales no son más que instrucciones especializadas en la iteración y evaluación de procesos, que presentan un resultado de forma directa o basado en incertidumbres.

Partiendo de lo anterior, veamos a fondo los condicionales de Python con su respectivo flujo de ejecución:

   1.   Condicional if:

Este condicional evalúa de forma directa un estado o varios estados al tiempo, tomando como estructura general, una condición verdadera “if”, otra condición de anidación intermedia verdadera “elif” y un estado de negación final “else”. Bajo un flujo de ejecución que termina de forma automática al ingresar en alguno de los tres estados definidos. Tal cual se describe a continuación:



   2.   Condicional for:

Este condicional tiene varias funcionalidades tanto como evaluador de procesos como acumulador e iterador de datos. El cual tiene la capacidad de repetir una sentencia bajo un bucle controlado y definido por el programador. El cual presenta una variable de iniciación, que incrementa automáticamente hasta cumplir su condición. Tomando como ejemplo general el mostrado a continuación:



   3.   Condicional while:

Este condicional ejecuta un bucle indefinidamente mientras se cumpla su condición de forma verdadera. Convirtiéndolo en el condicional perfecto para evaluar procesos con incertidumbre, que no pueden ser controlados y definidos por el programador.





   4.   Condicional switch:

Este condicional es un evaluador directo, que compara una entrada calculada bajo un conjunto de bloques denominados “case”, los cuales son cerrados por una función llamada “break” y definidos bajo una variable única de valor contante predeterminada por el programador.  Pero Python no lo tiene implementado, ya que su énfasis esta basado en el uso de métodos y clases, los cuales permiten generar un paradigma de programación orientado a objetos.


De igual modo a continuación se comparte el diagrama de flujo que representa el modo de trabajo de un condicional switch, ya que partiendo de su metodología puede ser construido de muchas otras formas.




De forma resumida todos los condicionales expuestos anteriormente conforman la estructura general de un algoritmo en Python y cualquier otro lenguaje de programación. De tal forma que, para poder aprender a usarlos de forma única y conjunta, lo único que nos queda es realizar un grupo de ejemplos que abarquen el funcionamiento de estos. Y es por esto que en la próxima practica se planteara el primer ejercicio de programación.

Así que, si te ha gustado esta pequeña guía, compártela en tus redes, comenta y dale like, para que podamos seguir creciendo como comunidad. Muchas gracias.

martes, 28 de enero de 2020

Práctica # 11: Variables y Operadores con Python3 en la Raspberry Pi 4


Raspberry Pi para desarrolladores

PRÁCTICA # 11

“Variables y operadores en Python3 para Raspberry Pi 4”



Variables:

Una variable en programación se define como un contenedor identificado mediante un nombre definido, que permite almacenar un valor en un espacio de memoria limitado. El cual, puede cambiar su valor durante el proceso de ejecución.



Valor que es clasificado directamente por el compilador de Python en tres niveles definidos como numérico, texto y booleano, mediante la auto designación referida por el tipo de contenido asignado. Lo que quiere decir que, el lenguaje de programación de Python a diferencia de otros lenguajes, no establece un cabecero de identificación para la definición de una variable, en anteposición al nombre que la identifica.



Generando una ventaja con respecto a la indexación de la sintaxis del lenguaje de programación y una desventaja ante la administración del espacio limitado de la memoria de almacenamiento. En donde el lenguaje Python de forma autónoma aumenta la distribución de bytes durante el acopio de cada variable, durante los posibles cambios del valor contenido en cada una:




Ahora, que ya entendemos que es una variable, como se definen en Python y como se clasifica según el contenido de su valor, definamos que son los operadores en Python.

Operadores:

Un operador como tal es una instrucción del sistema, que permite realizar una operación de cálculo, comparación, asignación, búsqueda o referenciación de una variable o un conjunto de variables. Los cuales están clasificados de forma resumida mediante la siguiente distribución:




Convirtiéndolos en la columna principal de un algoritmo, partiendo de que gracias a estos operadores, podemos tomar decisiones que dan solución a los procesos de un sistema.

Finalmente, con el fin de poder evaluar el alcance de variables y operadores en Python se plantean las siguientes prácticas:

   1.    En la consola de comandos de la Raspberry Pi, ejecute el compilador de python3 mediante el comando:
python3



   2.    Genere 3 variables a su gusto, en donde cada una represente una tipología general: numérica, texto y booleano, tomando como ejemplo:



  
   3.    Identifique que tipo de variable le asignó el compilador de Python a las variables definidas en el punto anterior, utilizando el comando type(), el cual permite ver qué tipo valor contiene una variable:



   4.    Defina dos o más variables y realice pruebas con cada uno de los operadores, evaluando su resultado:



En donde usted posiblemente encontrará que:

·       Todos los operadores trabajan de forma perfecta con variables de tipo numérico.
·       El operador + al ser utilizado con variables de tipo texto, lo que hace es realizar una concatenación.
·       Los operadores aritméticos a excepción del + solo funcionan para variables de tipo numérico.
·       No se puede realizar operaciones con los operadores aritméticos al usar dos tipos de variables diferentes.
·       La respuesta de un operador de comparación o lógico, es un estado booleano de formato True o False

Si te ha gustado esta práctica, compártela en tus redes sociales, deja tu comentario y dale like. Ya que, con esos simples pasos, nos ayudas a crecer como comunidad.

Muchas gracias y nos vemos hasta la próxima.

miércoles, 22 de enero de 2020

Práctica #1: Breve descripción de la Raspberry Pi


Raspberry Pi para desarrolladores

PRÁCTICA # 1

“Breve descripción de la Raspberry Pi”


La Raspberry Pi es un computador de tamaño reducido de muy bajo costo, que permite a profesionales como aficionados en el área tecnológica, dar solución a procesos educativos e industriales basados en temas como: robótica, procesamiento de imágenes, telecomunicaciones, entretenimiento, investigación, domótica, dispositivos inteligentes etc.

Mediante un hardware que ha venido evolucionando, llegando actualmente a ofrecer dispositivos con procesador Quad core de 64 bit a 1.5 GHz, memoria RAM LPDDR4 de hasta 4Gb de capacidad con transferencia de datos a 3200 Mbits/s. Bajo un conjunto de puertos y antenas de uso común como USB 3.0, wifi a 2.4 Ghz y 5.0Ghz, BLUETOOTH 5.0 BLE (Low energy), ethernet y salida de video HDMI con decodificadores que llegan incluso a soportar los 4K en formatos de 30 y 60 fps.


Ofreciendo de manera conjunta 40 pines de acceso directo, para el procesamiento de señales digitales y pwm, que incluso llegan a soportar protocolos de transferencia SERIAL, i2c y SPI, siendo estos, funciones relativas que también son expuestas en otras tecnologías de menor escala, ya conocidas como los microcontroladres.


“Tomando como advertencia del mismo fabricante, que el voltaje lógico de estos pines no debería superar los 3.3v, convirtiéndose en un pequeño dolor de cabeza para los que vienen de otras tecnologías como Arduino con lógica digital a 5V”

Otro aspecto que se debe tener en cuenta para entender que es y como funciona la Raspberry Pi, es que al ser un computador a escala mínima basado en un sistema embebido, está enfocado en la implementación y ejecución de sistemas operativos. Los cuales están conformados por versiones ajustadas para trabajar en Ubuntu y Window 10 y otras de uso especifico como NOOBS y RISC OS o incluso Raspbian como oficial de la misma marca, bajo distribuciones de Linux en su gran mayoría.




Conllevando una excelente compatibilidad de lenguajes de programación. Los cuales se clasifican con respecto a que es lo que se quiere desarrollar, tomando en cuenta si es un proyecto de software o hardware de forma independiente o conjunta.

En conclusión, para entender a fondo que es y como funciona la Raspberry Pi, es mejor realizar prácticas tocando diferentes temas que permitan desarrollar habilidades sobre la misma. Siendo precisamente este uno de los objetivos de la compañía S.T.E.I.P Ingeniería. Así que si quieres aprender más de este tema no te pierdas las próximas publicaciones y comparte este pequeño articulo en tus redes sociales.

jueves, 16 de enero de 2020

Práctica # 5: Ensamblaje de una estación de trabajo utilizando una Raspberry pi 4 con un monitor, mouse y teclado

¿Como conectarse a una Raspberry Pi 4?

PRACTICA # 5

“Ensamblaje de una estación de trabajo utilizando una Raspberry pi 4 con un monitor, mouse y teclado”



El primer problema que confronta un principiante utilizando el sistema embebido Raspberry Pi 4 durante el desarrollo de algún proyecto es:

¿Cómo conectarse a la Raspberry Pi 4 bajo las limitaciones del entorno de desarrollo en el que se encuentra?

Por lo cual para poder solucionar esta problemática vamos a plantear la siguiente situación:

Entorno de desarrollo #5:

El jefe de desarrollo del departamento I+D, nos ordena conectarnos a una Raspberry Pi 4, para iniciar con la configuración de un proyecto, entregándonos las siguientes herramientas:

·        Una Raspberry Pi 4 (La cual contiene conexión ethernet, wifi, HDMI y puertos usb).
·        Un cable de alimentación USB a 5v para encender la Raspberry Pi 4.
·        Una memoria SD con el sistema operativo Raspbian Desktop
·        Un monitor con puerto HDMI (Adjunto a un cable HDMI)
·        Mouse y teclado

Con el fin de implementar el siguiente entorno de trabajo:

<<Montaje de una estación de desarrollo para trabajar sobre el escritorio del sistema operativo Raspbian precargado en la memoria SD de la Raspberry pi 4>>

Ahora ustedes se preguntarán, ¿Cómo hago para implementar lo que fue planteado anteriormente?, y para ello vamos a seguir las siguientes instrucciones:

PASO # 1: Conectar el teclado y el mouse a la Rasperry pi 4, utilizando los puertos USB a disposición sobre esta.



PASO # 2: Conectar el Monitor utilizando el cable HDMI en uno de los 2 puertos disponibles.



PASO # 3: Insertar la memoria SD en el socket de la Raspberry Pi 4, con el sistema operativo previamente cargado.



PASO # 4: Conectar la Raspberry pi 4 al la respectiva fuente de alimentación, seguido de la espera del arranque el escritorio de desarrollo del sistema operativo Raspbian.



NOTA: Como recomendación la fuente de alimentación para encender la Rapsberry pi 4 por lo menos debería ser de 3000 mA / 5v, con el fin de evitar reinicios constantes del sistema por falta de energía. Además se recomienda comprar la fuente oficial de Raspberry pi $ que viene a 15.3W, el cual presenta una estabilidad excelente para no tener problemas.

Por lo tanto, hasta el momento podemos considerar que ya somos capaces de instalar una estación de trabajo con la Raspberry pi 4, para todos aquellos que quieren desarrollar sobre esta sin utilizar enlaces remotos, como los explicados en las prácticas anteriores.

Pero antes de finalizar esta práctica les quiero contar algo que he visto en mi experiencia como desarrollador:

“Usualmente los proyectos a los que somos vinculados, son para realizar desarrollos en sistemas embebidos que están instalados en sitios no alcanzables o en lugares lejos a la estación de trabajo sobre la que nos encontramos. Por lo cual esta metodología de usar un monitor para desarrollar sobre la Raspberry pi 4, se convierte en una estrategia poco práctica. Así que como desarrolladores deberemos entender y dejar el miedo al uso de la consola terminal para gestionar, atender y desarrollar los diferentes proyectos que se nos plantean.

Obligándonos a estudiar y entender temas como:

·        Protocolos de enlace remoto como el SSH
·        Comandos para navegación bajo consola terminal en sistemas operativos de distribución Linux

Aunque también existe otras formas para poder trabajar sobre el escritorio del sistema operativo Raspbian sin utilizar un monitor, el cual consiste en realizar una conexión remota VNC. Tema que será explicado en la práctica # 6.

Así que muchas gracias y nos vemos pronto.

Práctica # 4: Enlace remoto entre el computador y las Raspberry Pi 4, mediante la red local del área trabajo administrada por el modem

¿Como conectarse a una Raspberry Pi 4?

PRACTICA # 4

“Enlace remoto entre computador y Raspberry Pi 4
utilizando <la red local del área de trabajo>”



El primer problema que confronta un principiante utilizando el sistema embebido Raspberry Pi 4 durante el desarrollo de algún proyecto es:

¿Cómo conectarse a la Raspberry Pi 4 bajo las limitaciones del entorno de desarrollo que se encuentra?

Por lo cual para poder solucionar esta problemática vamos a plantear la siguiente situación:

Entorno de desarrollo #4:

El jefe de desarrollo del departamento I+D, nos ordena conectarnos a una Raspberry Pi 4 para iniciar con la configuración de un proyecto, entregándonos las siguientes herramientas:

·        Un computador portátil (El cual tiene antena wifiethernet, lector SD y usb).
·        Una Raspberry Pi 4 (La cual contiene conexión ethernetwifi, HDMI y puertos usb).
·        Un cable de alimentación USB a 5v para encender la Raspberry Pi 4.
·        Un cable ethernet (Rj-45)
·        Una memoria SD con el sistema operativo Raspbian

Y su vez se nos informa que podemos usar el modem que provee y administra la red local de la oficina, respetando la disponibilidad de enlaces (cableado o inalámbrico).

Informándonos las siguientes limitaciones:

·        No se dispone de un monitor con cable HDMI, teclado y mouse para un control directo mediante la interfaz gráfica que trae el sistema operativo Raspbian.

Por lo cual en base a estas limitaciones y herramientas se implementa la siguiente solución:

<<Generación de un enlace remoto entre el computador y las Raspberry Pi 4, mediante la red local del área trabajo administrada por el modem>>

Ahora ustedes se preguntarán, ¿Cómo hago para implementar lo que fue planteado anteriormente?, y para ello vamos a seguir los siguientes pasos:

PASO # 1: Verificar la disponibilidad de enlaces del modem que podemos utilizar. ¿Ustedes se preguntarán a que me refiero con esto?, pues resulta y pasa, que los modem traen un número limitado de puertos físicos ethernet, para conectar dispositivos (generalmente entre 3 y 5), como se muestra en la siguiente imagen.



En donde según estas limitaciones, tendremos que escoger si realizamos un enlace directo mediante un cable ethernet Rj-45 o si realizamos un enlace inalámbrico mediante la red WiFi emitida y administrada por el modem. Por lo cual deberemos tener en cuenta siempre la siguiente situación:

·        Si el modem esta instalado en un lugar inalcanzable, si o si, tendremos que utilizar el enlace inalámbrico (Wifi).
·        Si el modem esta un lugar alcanzable pero no tiene a disposición puertos físicos ethernet, tendremos que utilizar el enlace inalámbrico (Wifi). A menos que podamos liberar algún puerto ethernet, mediante previo permiso del director, ya que no sabemos si son enlaces de dispositivos de alta importancia.

Entonces previo a esto podemos definir dos casos para esta práctica:

CASO 1: “Enlace inalámbrico mediante red WiFi”.

Para enlazar un computador con la raspberry pi 3 utilizando la red WiFi del modem del área local de trabajo, lo único que debemos tener a mano, es el nombre de usuario de la red Wifi con su respectiva clave. La cual, se obtendrá mediante una solicitud previa al departamento de desarrollo, partiendo de que esta configuración ya debería estar predefinida y administrada por el ISP (Proveedor de servicio de internet) contratado y a su vez por el mismo departamento.

Una vez que nos dan esta información debemos entender lo siguiente:

·        Cuando conectamos un dispositivo a un modem previamente configurado por un ISP (Proveedor de servicio de internet), generalmente este provee una dirección IP dinámica a cada enlace dispuesto, con respecto al rango de host disponibles.

Entonces partiendo de lo anterior, lo único que debemos hacer es generar la conexión inalámbrica del computador utilizando la información de conexión de la red ya configurada por el ISP (Proveedor de internet y el departamento de desarrollo) mediante los siguientes pasos:

Paso # 1: Conectar el computador a la red inalámbrica del área local, emitida por el modem a disposición.


Paso # 2: Conectar la Raspberry pi 4 a la red wifi emitida por el modem utilizando la información
Aportada por el departamento, encontrándonos ahora con el siguiente problema:

¿Cómo hacemos para configurar el wifi de la Raspberry Pi 4 si no tenemos una forma de prenderla y poder trabajar sobre ella hasta el momento?

Pues muy sencillo compañeros desarrolladores, este problema se soluciona bajo la manipulación directa de los archivos contenidos en la memoria SD que contiene el sistema operativo de la Raspberry Pi 4, desde el computador de trabajo utilizando un lector de memoria SD.

Así que, hasta el momento no tenemos excusa alguna para no poder realizar la conexión entre el PC y la Raspberry Pi 4 utilizando la red local de nuestra área de trabajo, por lo cual hacemos lo siguiente:

·        Insertamos la memoria SD de la Raspberry Pi 4 en un lector de memoria a nuestro computador de trabajo.



·        Abrimos la carpeta de información de la memoria SD y creamos un archivo con nombre “wpa_supplicant” y extensión “conf”.


Finalmente, dentro del archivo “wpa_supplicant.conf”, copiamos y pegamos el siguiente texto tal cual
como se muestra a continuación:

# /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=ES

network={
ssid="SSID de la wifi"
psk="password"
key_mgmt=WPA-PSK
}

En donde, el texto “SSID de la wifi” corresponde al nombre de la red que queremos conectarnos y “password” a la clave de la red wifi previamente configurada. Aclarando que las <<comillas no se borran>>. Solo se edita el texto resaltado.

Listo, ahora solo basta con conectar la Raspberry pi 4 con su adaptador de corriente.

Paso # 3: Verificar la conexión entre el computador y la Raspberry pi 4 mediante el comando “ping IP” (En donde IP es la dirección asignada por el modem a la Raspberry pi), en la consola de comando de Windows (suponiendo que están trabajando en un computador con sistema operativo Windows). Pero para ello, primero identificaremos cual es la IP de la Raspberry pi 4 mediante el comando “arp -a” sobre la consola terminal de Windows, antes y después de conectar la Raspberry pi 4 o mediante el programa Advanced Ip Scanner (si lo tienen instalado), logrando así identificar la nueva dirección IP asignada a este dispositivo por el modem.



Paso # 4: (Para implementar este paso por favor verifique el paso opcional # 5)
Ahora para finalizar este primer caso, lo que faltaría es realizar la conexión remota mediante el entorno previamente enlazado por los pasos anteriores, en donde se permita realizar cambios directos sobre la Raspberry Pi 4 mediante una consola terminal bajo protocolo:
SSH
(protocolo de administración remota que permite a los usuarios controlar y modificar sus servidores remotos a través de la red, mediante una consola de comandos)

Y ustedes dirán, ¿Cómo implemento o realizo una conexión remota SSH entre un computador y una Raspberry Pi 4?, Pues déjenme decirles que es algo sencillo y existen dos posibilidades:

La primera: Mediante el uso de un software externo previamente instalado que nos permite realizar conexión SSH como los es PUTTY o MobaXterm, recomendando el MobaXterm por la capacidad de manipular archivos de forma directa.




La segunda: Mediante una conexión directa utilizando la consola de terminal del sistema operativo que estamos trabajando, bajo el comando:

ssh user@ip

(Este comando es válido tanto para sistemas operativos Window como Linux, y vienen prestablecido para usarse por defecto)

En donde user es el nombre de usuario para iniciar sesión en la raspberry pi 3 que por defecto es “pi” y la ip es la dirección asignada por la red a la raspberry pi.




Es de destacar que independiente del método que utilicemos, a medida que se inicia la sesión se nos pedirá una clave de ingreso la cual por defecto en la Raspberry Pi 4 con sistema operativo Raspbian es “raspberry”.

NOTA: EL SIGUIENTE PASO ES PARA LOS QUE NUNCA HAN ACTIVADO EL SSH A LA RASPBERRY PI 4

PASO # 5: Si el paso numero 4 le genero error de conexión al momento de generar el enlace SSH, es porque la Raspberry Pi 4 por defecto trae el protocolo SSH desactivado, y para poderlo activar partiendo de las limitaciones de esta práctica, lo que debemos hacer es crear un archivo con nombre “ssh” sin extensión dentro de la memoria SD de la Raspberry Pi, el cual no deberá contener ningún contenido interno.

CASO 2: “Enlace cableado utilizando cable ethernet Rj-45”.

Para realizar un enlace remoto utilizando un cable ethernet Rj-45 solo enfatizare en el tema de la Raspberry pi.  Ya que configurar el computador a la red es un tema sencillo que solo consiste en conectar un cable ethernet, del PC al modem, o de enlazarlo a la red wifi. Teniendo en cuenta que independiente de que se use wifi o cable para el computador se seguirá direccionando sobre la misma red.

Por lo tanto, en este caso pasando a lo que nos interesa, ¿Cómo enlazar la Raspberry pi 4 mediante el cable ethernet a uno de los puertos del modem?, lo único que debemos hacer es conectar un extremo del cable ethernet a cualquiera de los puertos LAN disponible sobre el modem, y el otro extremo al puerto físico de la Raspberry pi 4 tal y como se muestra en la siguiente imagen.



En donde, no tenemos necesidad de realizar una configuración previa como pasaba en el caso de los enlaces inalámbricos utilizando el archivo wpa_supplicant.conf. Por lo cual directamente pasamos a realizar los test de enlace y conexión remota. Ya que el modem directamente asignara una IP dinámica a la Raspberry pi 4.

Destacando que los pasos de verificación de la conexión son exactamente los mismos planteados en el CASO # 1, en donde  realizamos una prueba mediante el comando "ping IP" y a su vez nos conectamos mediante el protocolo de administración de terminal SSH. Así que solo se debe verificar de nuevo esa parte de la práctica.