Construción Voilier según planos

Si te gustan los modelos Radio Control RC este es tu foro.
Responder
Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Mié Ene 20, 2016 11:14 am

Mil gracias Luis y lo mismo te deseo a tí y a los otros foristas del foro
--------------------
Saludos Hellmut

Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Vie Ene 29, 2016 3:46 pm

Paso a Paso de mi Proyecto con el RaspBerry
Hola amigos, después de lo que a mí se me hizo una eternidad aparentemente ahora puedo empezar a dedicarme a lo concreto y a compartir mis esfuerzos, vaivenes consistiendo en logros y fallas.

Este hilo se va a dedicar a reportar paso-a-paso mis trabajos dentro del ámbito de mi sistema de control de escotas y de lograr una de los objetivos relacionados, el simular y verificar el control de escotas escribiendo este en el lenguaje de modelación "Modelica" usando como herramientas los productos "Mathematica y SystemModeler" de Wolfram. El Raspi es un sistema que la software de Wolfram apoya y hasta ofrece de forma gratuita para el Raspberry Pi, B+ o 2B su software Mathematica y su entorno y lengua de programación "Wolfram Language".

Para lograr este objetivo y limitándome al contexto de este hilo a temas relacionados al Raspi. Para ello, por un lado, tenía que avanzar mis trabajos relacionados a mi taller y en especial a mi laboratorio electrónico, cosa que describo en otro hilo.
laboratorio electrónico.JPG
En esta foto tomada esta noche pueden ver la placa del RaspBerry Pi B+ montada en una placa de madera que iré poblando con otras placas en el transcurso de este hilo. También me compré la nueva RaspBerry Pi 2B por ser tan económica, pero empiezo con esta por si la llego a destruir durante mi aprendizaje! A la derecha ven el dispositivo que me armé con la protoboard y no mas para mostrar una placa que permite junto con un cable especial que también tengo los 40 pines del Raspi con el protoboard! Así puedo armar circuitos usando el protoboard y mantener la placa Raspi distante. estoy considerando comprarme un empaque transparente para la placa para así tenerla mas protegida.

La instalación del sistema operacional Raspbian no la voy a describir en detalle pues la única posibilidad haciendo esto es hacerlo menos bien de la multitud de tutoriales disponibles en el Internet en general y en Youtube específicamente. Pero la instalación inicial que pueden apreciar en la pantalla usa la microSD NOOB de 8 GBytes, instalación que resulta en extremo sencilla. Raspbian se puede activar en uno de 2 modos, cada cual teniendo sus ventajas.

Aquella mas adecuada para la programación y los experimentos, al menos inicialmente es aquella no gráfica. Muestro aquí de como se ve esa interfaz pero usando ese modo dentro del ordenador y ejecutando la versión correspondiente de Python 3. Por eso en esta pantalla/ventana aparece la versión 3.5.1 de mi ordenador.
Shell Prompt01.png
Con la instalación, partiendo de la microSD NOOB o descargando la imagen de NOOB del Internet, se instalan 2 versiones del lenguaje Python. Resulta que el lenguaje "Python" completamente compatible con el inmenso repertorio de software en el Internet es la vieja versión "2.x", siendo allí la versión actual instalada en la placa Raspi es la versión 2.7.3 y que ven en la vista "shell":
RaspiShell273s.JPG
La misma versión de Python 2.7.3 pero en el entorno de Windows 7:
Python273_shellraspis.jpg
La nueva y más moderna versión 3.x y es en la cual me concentro en el ordenador bajo Windows 7 es la versión 3.5.1. Aquí una vez en la versión command line y en la versión IDLE:
pantalla351shells.jpg
Para el Raspi hice la actualización antes de decidirme por hacer este hilo por lo que solo puedo mostrar la versión ya actualizada 3.2.3 y que actualicé usando la siguiente sentencia en el raspi:

sudo apt-get install update Python3

En mi sistema algo no funcionó y tengo que entenderlo para saber que hacer. Sigo teniendo la version 3.2.3 y no la 3.3.

Otra cosa que he investigado es la posibilidad de escribir los códigos de mis programas en el ordenador y de tener ese entorno IDE dentro del ordenador, pero ejecutar los programas en la Raspi. Relacionado a esto está el deseo de también poder hacer el "debuging" dentro del entorno del PC pero el programa siendo ejecutado en la Raspi.

Buscando en el Internet y analizando para este propósito me encontré con el proveedor "Wingware" y me descargue la versión "Personal 5.1.9-1 (rev27910). hay que proceder como si se quisiera instalar la versión personal comprando la licencia y no la versión "Trial"! La versión descargada pinchando "Trial" me resulto en un archivo "zip" conteniendo un folder con todo y escribiendo que se pudiera sacar del "zip" a cualquier lugar en el disco duro y que no se requeriría una instalación. Pues bien, eso no funciona en el entorno de mi ordenador por la software de protección. Pero al iniciar la instalación de la versión "Personal" descargando como archivo "*.exe" permite activar el programa por 10 días de forma gratuita e indica la posibilidad de prolongar 2 veces para un total de 30 días! Vale la pena probarlo, pues el entorno del ordenador es bastante mas poderosa que lo que brinda la Raspi! ya iré contando mis experiencias!
--------------------
Saludos Hellmut

Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Vie Ene 29, 2016 3:50 pm

Hola amigos, realmente creo que vale contar el estado actual! En general en mi proyecto de la construcción del modelo navegable de un velero siempre vuelve a confirmarse que un tema abre las puertas para ramificaciones!

En este caso finalmente mi entorno del taller y del laboratorio electrónico llego a un punto, lejos de haberlo completado, que puedo iniciar trabajos concretos. Así mis actividades en torno del uso de la placa Raspi, resultando que este entorno es apoyado por las herramientas de Wolfram Software que uso, ha vuelto a abrir un ramo de campos que tengo que investigar.

Como aficionado a la electrónica hacer parpadear un LED puro visto desde el aspecto de conectar a uno de los pines la LED y la resistencia es elemental. Gracias a las librerías disponibles para usar los pines del conector GPIO, que mi foco está en hacer ese ejercicio necesario para confirmar una base que funciona, combinándolo con el inicio de las actividades en torno al implementar un GUI!

También aquí vale mencionar que los materiales de información de como usar el "binding" llamado "tkinter", creo que la traducción apropiada del término inglés sería "conectar" objetos del GUI, llamados "widgets", como son Botones y elementos similares que en conjunto implementan el GUI, con las funciones o instancias de "objetos" del código escrito por ejemplo en el lenguaje "Python"!

Para aquellos de Ustedes no tan familiarizados con lo que son "widgets" y con la lengua de programación "Python, aquí una breve presentación:

"Widgets" son objetos como los "botones" que todos conocemos de las GUIs de Windows o Mac por ejemplo. Si con el ratón pinchamos uno de esos botones entonces el programa al que corresponden ejecuta una acción. Herramientas como "Tk", el cual está disponible en el entorno de desarrollo de Python, usa un programa que hace accesible la herramienta "Tk" al lenguaje de Python por medio de las funcionalidades de "Tkinter". Lo que se puede apreciar muy pronto, observando tutoriales en video disponibles en Youtube, Tkinter en combinación con "Tk" y Python conecta un elemento gráfico llamado widgets, aquí como ejemplo un "botón", con un módulo del programa escrito en Python. Así existen por ejemplo 3 parámetros que se pueden asociar a ese widget, "Button-1" = botón izquierdo del ratón, "Button-2" el botón céntrico del ratón y "Button-3", el botón derecho del ratón! Si ejecuto el botón izquierdo del ratón estando el cursor por encima de ese botón, entonces es ejecutado la función conectada a ese parámetro, "Botton-1".
Todo lo que normalmente exige una cantidad considerable de código como por ejemplo:
1.: Monitorear la posición del cursor en la pantalla y detectar que este se encuentra por encima del botón.
2.: Posicionar el botón en la pantalla aún si cambio las dimensiones físicas de la ventana.
3.: Detectar cuál botón del ratón se pincho, eso se denomina "evento".
4.: Habiendo detectado la acción del usuario de haber pinchado un cierto "widget" y por lo tanto haber sido confrontado con ese evento de haber pinchado uno de sus 3 botones el conectar este evento con cierta función de mi programa escrito en Python.
Todo esto ocurre de forma invisible para el programador con solo conector una función al evento correspondiente del "widget" que el usuario pincho!

Esto hace muy sencillo el sumar al código que usualmente hacemos como primer ejercicio, el parpadear de un LED un GUI!

Los problemas para mi en mi proyecto empiezan cuando pienso y considero la implementación de un GUI apropiado para los experimentos que tengo planeados! Yo quiero crear un GUI como los que conocemos de otras herramientas de software, donde es fácil usar y crear un panel instrumental. No mas hay que ver las funcionalidades en esto ofrecido por ejemplo de las herramientas de NI, "National Instruments"!

Lo primero que hice fue investigar las funcionalidades ofrecidas por Tk a través de Tkinter. Aquí existen 3 formas diferentes de implementar el diseño de un GUI. Pero realmente fuera de ofrecer métodos sencillos para definir la GUI se pueden usar los widgets posicionándolos usando un "grid". Grid es una estructura de tabla como lo conocemos por ejemplo de Excel. Los widgets disponibles de forma incluidas en tkinter según lo que mis investigaciones han dado al momento no incluyen un "instrumento" análogo a aquellos que se usan para indicar tensiones de forma análoga en un panel instrumental! Por otro lado widgets adicionales existen, pero identificar un paquete que incluya tales widgets no he sido capaz de encontrar. Adicionalmente se dificulta el asunto de una cantidad inmensa de paquetes para extender la funcionalidad puesta a disposición, pero que se subdivide en versiones que funcionan o solo con las versiones 2.x o de las 3.x de Python. Yo uso la versión 3.5.1
GUI.png
esta imagen, por bonita que parezca, no implementa widgets como la imagen de un instrumento análogo, sino solo como mostrar o datos digitales y imágenes creadas a base de datos que son mostrados en la pantalla como curvas para lo que se usa un widget llamado "Canvas"en Tkinter por ejemplo. Un instrumento análogo debería permitir definir entre que valores puede cambiar el dato y después poner la aguja de acuerdo al valor de los datos.

Claro, existen programas donde es posible crear datos basándose en gráficas vectoriales, pero debe haber alguna herramienta que ofrezca tal funcionalidad!

Para no limitar mi punto de vista en estas investigaciones conscientemente investigo que otras herramientas existen para crear el GUI que ejecutaré en la Raspi finalmente. "Qt" es un ejemplo. Pero también veo la posibilidad de crear el GUI usando herramientas disponibles en javascript. Aquí se gana el acceso a herramientas usadas para el diseño de páginas en el Internet. Pero es posible conectar widgets creados en tal entorno a Python y finalmente al nivel físico de mi placa Raspi? Será posible instalar y ejecutar todo esto en el entorno de la Raspi? Cual camino es el mas sensato a seguir? Aquí estoy abierto y a la espera de consejos de ustedes mis lectores del hilo!

También aquí entra a jugar la posibilidad de usar "Crossplatform" herramientas! Programar en el entorno de Windows 7 en mi ordenador y ejecutar y analizar el comportamiento en la placa Raspi! Como funciona todo esto si me decido por un camino en conjunto en el entorno ofrecido por la herramienta "Wing" de wingware que me acabé comprando una licencia personal no comercial por su apoyo de hacer "crossplatform" desarrollo del PC a la placa Raspi con Python!

Leyendo toda la información que publico ahora el asunto suena apto de crear problemas que no puedo solucionar! Claro, que una vez que mi placa Raspi se comunique con el ordenador por Wifi, que aprenda y logre implementar la funcionalidad de "crossplatform" de mi herramienta "Wing" implementaré aquella solución con foco en simple, que me permita controlar el parpadeo del LED por un GUI y actualmente no veo problema alguno en lograr esto con Python y Tkinter/tk. Pero lo que aquí pongo como prerequisito me exige a mi, por mi decisión de hacerlo en tal forma", entender como Samba o "sh" funcionan y permiten e implementan la comunicación entre mi Raspi y la herramienta Wing por la cual ya me he decidido!
--------------------
Saludos Hellmut

Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Vie Ene 29, 2016 3:51 pm

Tengo ya mas y mejores herramientas que pensado!
Investigando las posibilidades para poder hacer girar una imagen dando un ángulo específico como ocurriría si representa la parte de la brújula que giro, me parecía una opción interesante poder hacer girar una foro. Claro, hacerlo en el ordenador usando Photoshop por ejemplo la cosa es clara. Pero teniendo como objetivo el hacer girar tal imagen de forma integrada en el GUI ya es otra cosa.
Me encontré ayer con la posibilidad de copiar una imagen a una matriz y de realizar la multiplicación entre la matriz que contendría todos los pixel de la imagen y una matriz "4x4" con la cual se puede definir libremente el ángulo de giro de la imagen que resulta! Habiendo tenido noción de esa técnica esta noche en la cama me vino el punto a la mente que para la placa RaspBerry Pi B+ y 2B tambien existe integrado el lenguaje "Wolfram" usado en la software Mathematica. Teniendo no solo una licencia legal de Mathematica 10 en el PC, sino también en las placas Raspi fui al programa y me encontré que allí existen las sentencias requeridas:

1. Import ["file"]: Siendo file el "Path" al archivo en la memoria del disco del Raspi (tarjeta Flash o como tengo pensado hacer en un disco duro conectado por USB).

2. ImageDimensions: Que me da el tamaño de la imagen en pixels (2D)

3. ImageData: que me crea una matriz donde se graban los pixels individuales.

4. ImageTake: Que puede captar los datos provenientes de la cámara fotográfica del Raspi.

5. ImageRotate: Hace girar la foto alrededor del centro de la foto.

6. Ahora no encuentro el nombre de la sentencia, pero también existe una sentencia para hacer girar la foto alrededor de un punto cualquiera a definir.

7. Finalmente existe la posibilidad de manipular imágenes con todas las funciones imaginables e inimaginables usados por aquellos dedicados a trabajar en gráficas.

Se que había la forma de usar las funciones de Mathematica y el lenguaje Wolfram desde el lenguaje de programación Python!

Sigo reportando mis avances!
--------------------
Saludos Hellmut

Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Vie Ene 29, 2016 3:53 pm

Desafortunadamente estar vigilando que no aparezcan promociones de los productos de algún proveedor es algo importante para mantener la credibilidad de un foro! Ahora el porque de mi foco en las herramientas de este proveedor, cosa que creía ya haber aclarado. Existen mínimo 4 candidatos de herramientas del tipo que necesito. Son de los proveedores Maple, Mathworks, Dassault con su producto Dymola y Wolfram, fuera de las herramientas que ofrece la misma institución que fomenta y desarrolla el lenguaje "Modelica"! maple es muy bueno y apoya lo que he decidido va a ser y es mi estrategia, pero prohibitivamente caro para la herramienta Maplesim, pero ahora tambien ofrece una licencia para uso no comercial de maple, que sería la equivalencia con Mathematica. Mathworks finalmente con sus productos Matlab, Simulink y un muy alto número de módulos ofreció su producto no comercial cuando ya había invertido en la licencia de Mathematica. Pero el lenguaje "Modelica" modela usando objetos acausales, donde la dirección y así lo que es "Input" y "Output" es implementado a la hora de compilar y de forma invisible para el usuario. eso permite reusar los objetos que se van desarrollando. Un buen ejemplo para comparar objetos causales, donde la dirección es imperativa a la hora de diseñar un modelo es un motor eléctrico:

Si le aplico la tensión a un motor DC aparee en la salida un torque físico. Si ahora uso ese mismo motor como generador, entonces como "Input" hay un "toque" físico que genera una "tensión" a la salida. la implementación de ambos casos en un lenguaje de modelación causal resulta en 2 modelos totalmente diferentes. En objetos acausales como los ofrece Modelica el modelo del motor DC queda siendo el mismo en ambos casos. Existen vídeos por ejemplo en el sitio de Maple donde se da el ejemplo que menciono.

Pero volvamos al tema de mi proyecto del diseño de mi sistema de control de escotas para el modelo de mi velero:

Quiero aplicar la técnica de diseño por modelación para diseñar una implementación de mi sistema eficiente y que entonces entenderé en un alto grado. De allí las herramientas en forma de los 2 productos de software que menciono se vuelven tal una herramienta de electrónica como lo es un soldador.

Ahora una componente esencial en el diseño de modelos es la verificación de los modelos comparando los resultados de la simulación de un modelo con los datos que se ganan de experimentos físicos. Los aspectos se pueden expresar usando 2 términos. HiL y SiL, o "Hardware-in-the-Loop" y "Software-in-the-Loop". No los explico ahora si no recibo la pregunta! Pero es de allí que mis experimentos físicos con el motor de paso y el sensor magnético angular, actor y sensor, son controlados y monitoreados por placas con controladores. Ya he presentado varias veces el diagrama de bloques de mi sistema de control de escotas y para no aburrirlos mas de la cuenta no lo repito aquí.
Para poder usar las placas y las herramientas de Wolfram tengo que aprender e investigar un cierto número de temas:

SystemModeler se comunica con hardware externa usando el protocola firmata. Cuando hacía mis estudios de como meterme en esta materia SystemModeler y la placa Teensy 3.1, un ARM Cortex M4 de Freescale si no mal recuerdo era el entorno en el cual se podía estudiar como eso se efectúa allí para aprender como puedo lograr comunicarme con las placas LPCXpresso1769 de NXP que utilizo.

Mathematica y el lenguaje de programación Wolfram Language son disponibles de forma gratuita como parte de la instalación de la distribución de Linux llamada Raspbian, nombre que combina Raspi y Debian! De allí mi decisión de adquirir la placa RaspBerry Pi B+ y posteriormente también la placa RaspBerry Pi 2B.

A razón de esto resultó que tenía que adquirir conocimientos de Linux y de la placa Raspi. En Raspi la lengua de programación mejor apoyada es Python que existe en las versiones 2.X y 3.x. de allí me embarqué en sendos cursos MOOC disponibles de forma gratuita de universidades gringas.

Finalmente estudiando Python para el Raspi para mi resultó evidente que sería un ejercicio que me gusta hacer el generar una GUI usando tkinter. Así se cierra el círculo de lo que presenté en mi última contribución, donde resultó que en la versión 3 de Python los elementos usuales para hacer girar una imagen no están disponibles en todas sus variantes. Investigando este tema fue donde realicé que mi herramienta Mathematica efectivamente ofrece las funcionalidades de forma súper sofisticadas. Como las interacciones con la software Mathematica con mi hardware son uno de los objetivos, así usando Mathematica para girar imagenes de fotos al mismo tiempo me permite empezar a familiarizarme con el tema de las interacciones de mis placas con la software Mathematica.

Ojalá comparten mi posición que no estoy promocionando los productos de un proveedor. Ojalá he podido explicar el porqué estas herramientas obligadamente tienen que ser parte de mi reporte en este hilo y de porque todos estos temas informáticos si son una parte de los trabajos electrónicos y así parte del tema de este foro y de allí concluyo mi justificación de mencionar y tratar estos productos en el contexto de mi reporte en este hilo!
--------------------
Saludos Hellmut

Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Vie Ene 29, 2016 3:54 pm

Aquí las images tomadas de mi pantalla e utilizando Mathematica.

Primero importo la imagen con la sentencia:

data4 = Import["C:\\Users\\Hellmut Kohlsdorf\\Pictures\\foto Carina con Velas.jpg"]

El resultado en la foto:

Imagen

La próxima foto muestra esta girada por 10 grados:

Imagen

Existen además opciones para la sentencia del lenguaje "Wolfram Language" con el atributo "crop" se puede borrar el fondo por ejemplo dejando solo la imagen girada.

Así ya he podido verificar que el lenguaje disponible en la placa raspi con la software gratuita "Wolfram Language" tener la funcionalidad sin crear los "huecos"! Claro, tengo que poner el esfuerzo de aprender eso del "crop". Pero me he decidido por hacerlo en el entorno de la placa Raspi cuando haya echo los trabajos para poner mi entorno. Pero si por ejemplo en el caso de la brújula consideran que la parte del centro que gira es circular ya esos bordes no ocurren, al menos eso pienso que lo podré lograr.

Ya me empiezan a ocurrir usos de esto! Imagínense si monto una placa raspi con una pantalla en mi emisora de R/C, claro protegido de la intemperie, entonces podría ser posible ver la imagen de la brújula actualizada por los datos recibidos por ejemplo por WiFi desde el modelo mientras este navega!
--------------------
Saludos Hellmut

Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Mar Feb 16, 2016 2:30 pm

Me encontré con otro reto, cosa que tiene como efecto lateral, me mas aún me meto en lo de Linux y en ciertos detalles de la hardware!

Mi configuración de la hardware es la placa Raspberry Pi B+, una microSD de 8 GB y un disco duro de 1 TB conectado al Raspi por USB.

El problema resulta cuando quiero expandir la partición de datos, ahora en el disco duro. Se suma a ello que quiero hacer esto con la versión actual de Raspbian, la versión Jessi.

No tuve problemas al instalar en el pasado la versión Wheezy del Raspbian 100% en un microSd de 32 GB. Efectivamente el programa de configuración, raspi-config, ofrece esta funcionalidad expandiendo la partition de datos, por lo general la partición 2 para usar el total restante de la microSD.

Tampoco tuve problemas copiando la imagen de Raspbian Jessie al disco duro formateado con FAT32. Luego hay que copiar ciertos archivos a la boot partition de la microSD y modificar el texto en un archivo para registrar que el Raspbian encuentra el resto de los datos en el HDD conectado al USB. La rutina de inicialización del Raspi exige encontrar ciertos archivos en la boot partition de la microSD. Después recibe la información para seguir la inicialización del Raspbian con los datos que encuentra en un archivo que se tiene que copiar del HDD a la boot partición de la microSD. Como modifique la dirección todo funciona perfecto.

Mi Raspi con la versión del Raspbian Jessie es iniciado y aparece la nueva GUI, bastante mas sofisticada que la de la versión Wheezy! El problema ocurrió al querer expandir la partición de datos para incluir el resto del disco duro de 1 TB! Para hacer esto, lo que no funciona con la rutina que se utiliza para la microSD, en el Internet y en 2 libros que tengo se encuentra la forma de hacerlo. El problema es que tanto mis libros, como en el Internet no se encuentran tutoriales para expandir la partición de datos usando el Raspbian Jessie! Lo que me pasó, es que mi Raspi es inicializado y cuando debería aparecer la GUI en la pantalla, esta queda en negro y solo en la esquina superior izquierda de la pantalla aparece la imagen del cursor bölinqueando de forma irregular.

Mis investigaciones me llevaron a descubrir que existen 2 tipos de tablas de partición. La antigua "MBR" para la cual se utilizan ciertas sentencias y la mas moderna llamada "GUID". Ambas tablas son definidas por Microsoft y la GUID entre otras permite usar discos duros mas grandes. Las preguntas ante las cuales me encuentro son:

1. Como reconozco si la partición en un disco duro es MBR o GUID? Ya he encontrado que tambien en la versión GUID existe una tabla MBR especial que tiene como objetivo permitir entornos viejos adaptarse al uso de la tabla GUID. También he encontrado informaciones de como poder identificar la tabla conectando el disco pre-formateado al ordenador con Windows.

2. Si una MBR o una GUID es usada, esto lo determina el sistema operacional o esta definido por el formateado del disco duro?

3. El listado de como expandir la partición de datos en el disco duro o flash stick es adecuado cambiando las sentencias como por ejemplo "fdisk" or "gdisk" y de la misma forma las otras?

4. Alguien ya tiene experiencia en este campo?

Un cordial saludo
--------------------
Saludos Hellmut

Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Mar Feb 16, 2016 2:30 pm

Sigo reportando de mis investigaciones. Desafortunadamente mi salud los últimos días a impactado tanto mi habilidad de investigar y estudiar como el experimentar las cosas que voy descubriendo. Como siempre una situación como esta resulta en mi deseo de estudiar mas a fondo nuevos campos de conocimientos. Así ahora voy por aquí:

1. El desarrollo de las tablas de particiones por un lado resulta por la limitación que resulta de solo tener 32 bits para poner la dirección de un bloque en el medio de almacenamiento que da la bien sabida limitación de 2 TB para el tamaño del medio de almacenamiento de datos, sea una SD o microSD, sea un stick de memoria USB o sea un disco duro.

Las tablas de partición según el concepto MBR, "Master Boot Record", es el sistema que data desde los tiempos del DOS.
Las tablas de particiones GPT, "GUID Partition Tables", "Global Unique Identifier" fue adoptado primero por Apple en sus productos en 2005 y el PC dio ese paso en otoño del 2012 con Windows 8. Sin embargo también hay PCs mas antiguos que eran GPT compatibles. Para capacitar la compatibilidad con sistemas que se esperan una tabla de particiones MBR la tabla GPT empieza conteniendo los datos de partición de acuerdo al sistema MBR. Junto con ese cambio tambien se hizo la migración de los BIOS tradicionales al sistema nuevo llamado EFI. Así las tablas de particiones GPT pueden ser utilizada en sistemas con un BIOS tradicional. EFI esta para "Extensible Firmware Interface" y UEFI para "Unified Extensible Firmware Interface".

Esto según lo entiendo es de importancia, a pesar que el objetivo es usar Raspbian Jessie en la placa Raspi, porque para inicializar las memorias del Raspi se necesita otro ordenador, preferiblemente Windows. Mi ordenador ya es bastante viejo, tiene un BIOS del 2009, pero aparentemente es capaz de reconocer y usar discos duros con tabla de particiones GPT.

Otro aspecto que he estado aprendiendo se refiere al formato de formación del disco duro. El formato nativo de Linux aparentemente se llama ext4, pero requiere de un sector con formato FAT32. Si se forma la partición del disco duro y se desea que se pueda tener acceso a ella desde Windows lo normal es formatear esa partición 2, la partición de datos también usando FAT32.

El formato "ext4" de Linux, similar a las propiedades del formato NTFS, permite grabar datos adicionales que capacitan al sistema operacional una mayor seguridad del medio, fuera de lo de los límites de tamaño. He encontrado referencia que es posible capacitar Linux y Raspbian en especial aquí, para también poder utilizar particiones formateadas con NTFS.

Estas informaciones y mi estudio a largo trecho de ser completado de forma inicial de mis libros sobre Linux y el Raspi me están haciendo reflexionar sobre como sería la configuración de particiones y de su formato mas sofisticada y en consecuencia útil para mí. Recuerden que mi disco duro tiene 1 TB de capacidad y que el tamaño de la partición de boot en ese disco duro es de unos 100 a 200 MB.

No sería sensato formatear la partición de datos en ese disco usando "ext4" como formato nativo de Linux, tener una partición formateada en "NTFS" para poder intercambiar datos con el PC bajo Windows?

Otro idea que se está cristalizando en mi mente es la de hacer la instalación del Raspbian Jessie para la Raspi con varios pasos intermedios, pudiendo así verificar que he comprendido y puedo aplicar los conocimientos sobre Linux? La idea sería empezar instalando el Raspbian Jessie exclusivamente en mi microSD de 32 GB. Luego desde el entorno del Raspbian en la placa Raspi crear las particiones y formatear estas de acuerdo a las ideas que presenté arriba usando por ejemplo Firefox o Chromium como web browser para bajar del Internet las herramientas requeridas. Me parece que el entorno de Raspbian me permitiría usar las reconocidas capacidades de las herramientas disponibles allí.

Lo que tendría que analizar adicionalmente es el impacto que esto tendría en usar la IDE de WingWare, Wing, para programar y hacer los "debug" desde el entorno del PC.
--------------------
Saludos Hellmut

Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Mar Feb 16, 2016 2:31 pm

Me encuentro en el proceso de aprender como logro el objetivo que me he puesto y que presento ahora aquí:

Quiero desarrollar los programas para el Raspi en el PC y de ejecutar y "debug", búsqueda de errores y su corrección , usando una IDE en el ordenador. 2 IDEs se encuentran actualmente en el PC mio y los estoy estudiando:

1. Wing de Wingware
2. PyCharm de Jetbrains

Empecé usando Wing no mas familiarizándome con al herramienta y ahora lo interrumpí para estudiar PyCharm con la versión profesional en tiempo de 30 días disponible. La razón para esto es por un lado que para realmente entender el de como ejecutar programas escritos en Python 3 en un editor, parte de la IDE en el ordenador, dejando la ejecución del programa Python ser hecho por el interpretador Python en la Raspi. PyCharm hace esto realmente ejecutando el programa no en el PC, sino realmente con el interpretador de la Raspi en la Raspi. Para ello, al iniciar un proyecto se define que el interpretador a usar es el que se escoge libremente, sea en el PC, máquina local, o remoto. Allí se define en mi caso que quiero usar el interpretador en la Raspi. Para ello es necesario establecer el enlace entre la IDE PyCharm en el PC con el interpretador en la Raspi. El medio a usar es "ssh" y "SCP". Me varé estos últimos 2 días por falta de conocimiento tanto de "ssh", como del uso de "llaves" privada y pública.

Así por un lado me puse a estudiar la literatura que tengo tanto sobre Raspi Raspbian y sobre Linux. Durante estas investigaciones aprendí que una vez que la Raspi sea accesible desde el Internet hay que dedicar esfuerzo para evitar abrir puertas a ataques desde el exterior y que pudieran utilizar esto para acceder nuestra red en la casa y sus PCs!

Pues bien, actualmente he aprendido como, de forma relativamente sencilla se generan las llaves privadas y públicas en el Raspi bajo el os Raspbian. Por otro lado acabo de descubrir para mi el como crear las llaves en el PC y de ponerlas en un lugar definido por mi.

El paso que tomaré después de lograr que la IDE PyCharm en el PC pueda ser configurada a usar el interpretador Python 3.4 del Raspi, dedicaré mis estudios a entender como hacer que la comunicación tengan lugar dentro de un "túnel" "VNC", Virtual Network Computing", conexión virtual de redes. Me explico. existe en el Internet la posibilidad de conectar 2 o más PCs y/o redes de PCs como si estos estuvieran físicamente en el mismo cuarto, creando un túnel VNC entre las redes o PCs y que las comunicaciones tengan lugar atravesando ese túnel estando así protegidas de ataques.

Sigo ahora primero estudiando como se reparten las llaves, privada y pública entre la Raspi y mi PC con Windows 7 Ultimate. Luego ya entendiendo esto seguiré con mis intentos de relacionar la IDE de PyCharm al interpretador del raspi! Aquellos de Ustedes que ya saben de esto, perdonen por presentar lo obvio. Pero es que yo no sé eso y me puedo imaginar que alguno de mis lectores de este hilo son tan sabios como yo!

Una vez que haya entendido esto lo presentaré aquí con fotos. Pero es que hay gran trecho entre "lograr" un objetivo como el aquí presentado y el "entenderlo tan bien" que yo pueda presentarlo aquí!
--------------------
Saludos Hellmut

Avatar de Usuario
Hellmut1956
Miembro Leal
Miembro Leal
Mensajes: 1232
Registrado: Sab Nov 29, 2008 1:06 pm
Ubicación: Mammendorf, Alemania

Re: Construción Voilier según planos

Mensaje por Hellmut1956 » Dom Feb 21, 2016 8:53 pm

Vuelto a tener que enfrentarme a problemas o asuntos aún no entendidos! Resulta que de pronto mi WiFi del Raspi dejo de funcionar. Como si fuera poco en los trabajos relacionados a los objetivos mencionados en mi contribución anterior me encontré que mi Raspi seguía usando la microSD como base del Raspbian y no como había pensado el disco duro USB! Así entre estudiar e investigar los asuntos de pronto mi Raspi dejo de reconocer el disco duro USB, a pesar que estaba utilizando una microSD que generé completamente nueva y usando el Raspbian Jessie! No fue de sorprenderse que al intentar arrancar mi Raspi usando la microSD conteniendo bajo "/" el contenido del directorio de "boot" del disco duro USB al que pasé la imagen del Raspbian Jessie y habiendo cambiado la referencia de "root=..." a "root=/dev/sda2" en el archivo "cmdline.txt"!

Bueno, me sentía en un estado de salud aceptable y me metí de forma metódica a estudiar el asunto entre la lectura de mis libros sobre "Linux", "RaspBerry PI", "Computer-Networks" y "Referencia de comandos de Linux". Adicionalmente investigaba en el Internet!

Resulta que parte del reto consiste en saber como o que preguntar en "google"! Para eso hay que avanzar tanto en la materia como en la terminología!

Pues bien, finalmente pude averiguar que en Linux existe la posibilidad motivada para economizar el consumo de energía, que Linux desactive el Wifi! Eso no me paso con Raspbian Wheezy pero si con el Raspbian Jessie! Lo malo es que a la larga es para mi casi imposible determinar si el responsable soy yo y lo que hice con el Raspi y Linux o si se debe a funcionalidades del Raspbian Jessie! Así me puse a investigar en el Internet sobre este asunto haciendo la pregunta: "How to manually activate Wifi". Me encontré con un sitio que me permitía investigar si el módulo de Wifi había sido reconocido, si los drivers requeridos estaban cargados y una cantidad de información interesante sobre como analizar este tipo de cosas, en que archivos mirar y encontré instrucciones de como reactivar mi Wifi! Desafortunadamente allí mi salud, mi mente se despidió forzándome a descansar e interrumpir estas labores! Mañana seguiré y les promete dar informaciones mas detalladas tanto de las fuentes de información, los archivos y blocks y si y como resolví primero mi problema con el Wifi, luego también lo de porqué de pronto el disco duro no aparece en el listado de la sentencia de Linux: "lsblk".
Si ya puedo compartir otro error, como de costumbre estúpido por mi parte de porqué el Raspi y su Raspbian no funcionaban. reporte incompleto por ser acción en vivo!
Me deje influenciar de las posibilidades de la herramienta "Mini Tools Partition Wizard"! Así me descuidé de hacerme consciente que el Win32DiskImager encargado de grabar la imagen del Raspbian en el disco duro USB no copia de forma normal el archivo del raspbian al disco o microSD, sinó que copia bloque por bloque el contenido del archivo Raspbian.img a los bloques correspondientes del microSD o disco Duro USB! Claro que entonces mi placa Raspi al iniciarse ejecutando las instrucciones del archivo "cmdline.txt" y los otros archivos del directorio "boot" no era capaz de montar el árbol de archivos del SDA2 y por lo tanto se colgaba! Cuando finalmente reconocí ese mi error, es cuando me encontré que de pronto la sentencia "lsblk" ya no veía el disco duro sda y por lo tanto se varaba!
Ojalá no los aburran esta descripción! Pero egoístamente confieso que leyendo contribuciones mías en algunos temas hace ya muchos años gozo recordando esos vaivenes, por lo que sigo documentándolos también para mi!
--------------------
Saludos Hellmut

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado