Netduino ha sido una plataforma abierta Open sw basada en Microsoft.NET Micro Framework ,la cual por desgracia ha quedado discontinuida ( es decir no se van a fabricar mas placas )
La plataforma Netduino ha sido buena con nosotros y con la comunidad pues .NET MicroFramework de hecho fue una incursión bienvenida para permitir el desarrollo de .NET en dispositivos integrados, y sin su inspiración no tendriamos Meadow ( digamos la «evolucion» de Netduino).
Desde este blog nuestras felicitaciones para el equipo original de .NET MicroFramework, Colin, Lorenzo, y todos los demás que lo construyeron y trabajaron en él. Y el corazón de todo el ecosistema de .NET MicroFramework. GHI, Mountaineer, MikroBus, IngenuityMicro, José y la gente de NanoFramework, ( Mark, Craig, Adrian, Frank, Jorge, Scott) asi como tantos Y, por supuesto, el mayor abrazo a Chris Walker, el ingeniero original que creó Netduino.
Haciendo un poco de historia Wilderness Labs adquirió Netduino en 2017 y lo usaron para ayudar a crear prototipos de nuestros esfuerzos de .NET de próxima generación en embebidos, así como para apoyar a la comunidad que construyó a su alrededor. Arreglaron errores antiguos creando Netduino.Foundation (el precursor de Meadow.Foundation) para que se conectara y jugara con sensores.
Sin embargo, el progreso tecnológico de la humanidad avanza inevitablemente, y desde el primer día, Wilderness tubo la visión de poner la bondad de la experiencia .NET en hardware embebido, como es el caso de . Meadow que da cuenta de esa visión, y ahí es donde van sus esfuerzos ahora.
Netduino Foundation
Wildeerness Lab en este contexto creó Netduino.Foundation,, una plataforma que toma gran parte de la complejidad del desarrollo de hardware y permite una experiencia de desarrollo lista donde se pueden crear soluciones de hardware sofisticado utilizando C#.
Usando Xamarin,se pueden crear aplicaciones móviles que hablan y controlan cosas conectadas asi como escribir soluciones de extremo a extremo en. net,
El ecosistema Netduino
Haciendo un poco de historia la versión Plus se diferenciaba por el interfaz Ethernet integrado, así como el apoyo de una ranura para microSD en la misma tarjeta , pero además existía una version avanzada con adaptador wifi integrado
Esta placa contaba con un potente microcontrolador de 32 bits integrado Cortex-M que ejecuta .NET Micro Framework (NETMF) v4.3 y con un entorno de desarrollo estándar que está disponible gratuitamente a través de Microsoft (Visual Studio 2010).
Recuerde que Microsoft. NET Micro Framework combina la facilidad de un lenguaje de programación de alto nivel (C #) con las características de los microcontroladores permitiendo la depuración de programación basada en eventos, multi-threading, línea por línea,puntos de interrupción y mucho más. Ademas ..,se pueden añadir mas accesorios ofreciendo funcionalidades extra ( por ejemplo la ubicación GPS, el control de servos ,displays de todo tipo).
Una característica ademas muy interesante es que el desarrollo es multiplataforma por lo que se puede hacer tanto en Windows, con Visual Studio, o con Xamarin Studio en Mac OS X.
La plataforma permitía una fácil interconexión con switches, sensores, LEDs, dispositivos de serie, y mucho más pues Netduino combina 20 GPIO con SPI, I2C, UART 2 (1 RTS / CTS), 4 y 6canales de PWM ADC ,los cuales son compatibles con pin / puerto con los escudos Arduino, abriendo asi mucha mas posibilidades de ampliacion.
Características de la placa original , mantenida en las siguientes versiones Netduino 2 y Netduino 3 (esta ultima con interfaz wifi) :
● all 20 digital and analog pins: GPIO ● digital pins 0-1: UART 1 RX, TX ● digital pins 2-3: UART 2 RX, TX ● digital pins 5-6: PWM, PWM ● digital pins 7-8: UART 2 RTS, CTS ● digital pins 9-10: PWM, PWM ● digital pins 11-13: SPI MOSI, MISO, SPCK ● analog pins 4-5: I2C SDA, SCL
● ethernet: 100 mbps (solo versiones con ethernet en v1, v2, v3) con network stack via lwIP
● micro sd (up to 2 GB) ● auto card detect
Y ahora hablemos de las variantes de esta placa :
Netduino 3 :Era la ultima evolución de esta placa. Contaba con procesador 168Mhz Cortex-M4 (STM32F4) con o 1,408 KB of almacenamiento para código y 164 KB de RAM.
Existía comercialmente en tres variantes:
N3 :384 KB Code Flash Storage,SIn ethenert ni wifi
Si no consigue arrancar su Raspberry Pi, hay varias posible causas que podrían originar su mal funcionamiento. Afortunadamente, la mayoría de las veces no es un problema tan serio como podría haber pensado, y en algunas ocasiones podemos revertir el problema
En esta guía repasamos posibles causas y cómo solucionarlas.
Energía o SD dañada
Vamos a empezar con los mas sencillo : es decir problemas con la alimentación de 5v DC o que este mal la imagen del sistema operativo en la tarjeta SD, ambas orígenes muy probables de ser el origen de que nuestra Raspberry Pi no arranque no generando vídeo alguno .
Para detectar qué puede estar pasando, analizaremos el comportamiento de los diodos de nuestra Raspberry:
PWR (rojo): led testigo de alimentación que por lo tanto debería estar fijo
ACT (amarillo o verde según la version): led de actividad y que por tanto con una imagen correcta del SO debería parpadear ( es decir no estar fijo).
El led de energía
Comenzaremos con el diodo PWR (power ) , es decir de energía. Como consideración inicial, comentar que una buena fuente de alimentación de 5V y al menos 700mA o mayor según la version de Raspberry , es fundamental para el correcto funcionamiento de esta placa .
Tenemos dos casuísticas asociadas a este led:
El LED rojo no se enciende : es decir no hay suficiente energia para alimentar a la placa porque la fuente de alimentación no está correctamente dimensionada porque debe tener en cuenta que necesita una fuente de 5 voltios y como mínimo 700 mA ( lo ideal es qeu al menos sea de 1000mA).
El LED rojo parpadea: Este LED no debería parpadear jamás de modo que si lo hace, la fuente de alimentación que esta usando es de mala calidad o no está trabajando como debiera. Lo recomendable seria probar con otra fuente de alimentación de mejor calidad.
Hasta aquí los posibles casos en los que descartemos cualquier problema con la alimentación de la Raspberry;
Pasemos ahorar a tratar el comportamiento del LED de actividad (ACT).
El led de actividad
Suponiendo el LED rojo de pwr esté encendido y fijo ( es decie como debería estar en caso de funcionamiento ) , ahora analizemos el estado del LED verde o amarillo que no se enciende, o hace con una cadencia mínima o simplemente se queda encendido fijo (recordemos que su estado «correcto» es parpadeando)
Algunas de las posibles causas de que luzca el led de forma anómala podrian serán:
LED DE ACTIVIDAD APAGADO
No hay tarjeta microSd insertada en la ranura
La tarjeta microSD no tiene bien cargada la imagen del sistema operativo. La solución a aplicar será formatearla y volver a cargar el S.O.
El voltajees demasiado bajo(por debajo de5V) asi que debería probar con otra fuente diferente ( recuerde que se necesita un suministronominal de700mAo más , según los periféricos que tenga conectados)
Pruebe a arrancar la Raspberry sin ningún cable conectado( es decir sólo el de alimentación) sin ningún periférico conectado por USB: si ve que el LED de actividad parpadea al menos durante 20 segundos, querrá decir que hay algo que le estamos enchufando que interfiere con nuestro arranque.
Para solucionar el problema ,iremos conectando dispositivos a los USB de unos en uno para saber cual de esos dispositivos esta interfiriendo en el arranque de la placa.
LED DE ACTIVIDAD PARPADEA CON UN PATRÓN
¿Que ocurre si el LED amarillo parpadea con un patrón predeterminado? Pues es un síntoma de que hay algo mal en la imagen del sistema operativo. Gracias a los últimos firmwares, el LED de actividad puede parpadear con un patrón predeterminado para indicar una serie de errores:
1 parpadeo: posiblementetienes una RaspberrydeMicron. Echaele un vistazo al procesador y si pone unaMcon una órbitaalrededor en ella, debería utilizar el software más reciente(después deseptiembre 2013) para resolver el problema.También asegúrese de que tiene una tarjetaSD/microSDde 4 Gb pues una de2Gbno funcionaen este caso particular.
3 parpadeos: archivo start.elf no se encuentra.
4 parpadeos: archivo start.elf no se puede lanzar (está corrupto).
7 parpadeos: archivo kernel.img no se encuentra.
8 parpadeos: la SDRAM no se reconoce. Necesita un nuevo firmware de bootcode.bin/start.elf o la SDRAM está dañada.
En las Raspberrys con un firmware anterior al 20 de octubre de 2012, se requiere el archivo loader.bin para el arranque y el significado de los parpadeos del LED de actividad varían ligeramente:
3 parpadeos: archivo loader.bin no se encuentra.
4 parpadeos: archivo loader.bin no se puede lanzar (está corrupto).
5 parpadeos: archivo start.elf no se encuentra.
6 parpadeos: archivo start.elf no se puede arrancar.
7 parpadeos: archivo kernel.img no se encuentra.
LED DE ACTIVIDAD FIJO
Llegamos al problema central, donde el led de actividad queda fijo , señal inequívoca de que algo no va bien.
Por supuesto , suponemos que hemos descartado los siguientes cuestiones:
Fuente de alimentación que estamos usando es de mas de 700mA (mejor al menos de 1000mA) y hemos probado con varias de potencia mayor o similar
Hemos probado con diferentes tarjetas micro-sd y con diferentes sistemas operativos
Por supuesto hemos desconectado todos los periféricos conectados por USB que podrian interferir en el arranque
Hemos desmontado la placa de su carcasa y comprobado que no había nada metálico tocando con algún componente de la placa ( por ejemplo un radiador pasivo o incluso activo que se ha soltado pudiendo la parte interna metílica hacer contacto eléctrico con algún componente de la placa )
No hemos observado algún calentamiento anormal de alguno de los componentes internos de la placa Raspberry pi ( asi como olor a quemado, apagones intermitentes, etc ) , todo ellos síntomas claros de que el hardware de nuestra placa esta claramente dañado.
Bien, el led verde o amarillo esta encendido fijo y por supuesto no hay video , lo cual es por desgracia un síntoma de hardware dañado .
Veamos ahora algunos de los posibles formas de intentar corregir el problema:
PROBLEMAS CON LOS PUERTOS USB
Andrea nos muestra en su vídeo como consiguió arreglar una Raspberry Pi donde los puertos USB dejaron de funcionar . !Tal fue su alegría que de hecho en el video se puede ver en una pantalla como dice 1 gamepad detectado ya que la Raspberry Pi tiene un gamepad conectado y todo funcionaba correctamente!
Y ahora veamos lo que hizo Andrea con la Raspberry Pi que en efecto había estado en uso en un sistema funcionando bien , hasta que de repente los puertos USB fallaron totalmente
Obviamente sin puertos no podemos comunicarnos con las Raspberry , así que es una avería muy invalidante sobre todo cuando sin causa aparente deja de funcionar ,pues según Andrea en su caso nada había cambiado, aunque afortunadamente con un puente soluciono el problema
En las raspberry hay un punto de prueba llamado PP 27 , de modo que podemos conectar un multímetro en PP 27 y medir entre la carcasa del USB mientras está enchufado . Si no vemos los 5 voltios eso significa que no hay 5 voltios en el puerto USB y por tanto nada que enchufemos a estos puertos responderá.
Andrea llego a esta conclusión mirando en el esquemático fácilmente donde el puerto USB 3 obtiene su poder de PP 1 que también es un punto de prueba de 5 voltios y que por tanto debería medir 5 voltios directamente desde la entrada.
La solución pues es seguir a PP 1 en el tablero para tener exactamente el mismo punto de prueba desde todo el camino hasta PP 27 que es justo donde esta el poder en el puerto USB, así que pensó hacer un puente entre ambos puntos y asi arrancamos el USB con alimentación de modo que cuando los probo conectando un dispositivo se sorpendio que en realidad estaba funcionado
Empíricamente pues viendo que este puente es funcional nada podemos alegar así que si le ocurre algo similar no perdemos nada por intentarlo.
En el siguiente vídeo podemos ver el vídeo ingles con estas explicaciones
PROBLEMAS CON EL LECTOR MICRO SD
Es relativamente frecuente , especialmente en las versiones antiguas ( sobre todo la primera) , que el lector de SD (version 1) o micro-sd (en las siguientes versiones ) presente avería por mal contacto.
Obviamente si no hace alguno de los contactos ( aqunue solo sea uno de ellos ) no podrá leer la tarjeta micro-sd y la placa no arrancará, por lo que ,como vemos, es un problema muy serio
Una cuestión relevante para decidir su reemplazo son marcas en el propio lector, que la tarjeta no entre bien en el lector o simplemente que no quede bien sujeta a esta.
En estas situaciones quizás habría que plantearse reemplazar el lector por uno similar por ejemplo reciclado de algún otro dispositivo electrónico.
En el siguiente vídeo podemos ver el modo de actuar.
PROBLEMA CON EL CHIP LAN514
Un anomalía frecuente es el chipset de lan y hub USB ( esta cerca de lso puerto USB) cuyo primer síntoma se manifiesta porque no arranca con una SD que era funcional ( o que hemos probado que funciona en otra placa) y normalmente ha habido un sobrecalentamiento previo del chip controlador de USB y ethernet LAN9514
Ademas el led de power esta activo ( verde ) pero no el led de actividad ( no parpadea)
Sin cortocircuitos aparentes o componentes con fallo , lo cual apunta a este chip como responsable ai que toca reemplazarlo o intentar solo usar una de las salidas de la CPU
Los pasos para repararlo se resumen solo a dos pasos , pero requieren cierto dominio de las herramientas :
Paso 1: remover el chip de lan
Es aconsejable usar pietola de aire caliente asi como estación de soldadura ajutadas a medio o bajo o un desoldador a temperatura : 220 a 25 C
Respecto al tiempo, intentar que sea tan corto como sea posible pues puede averiar a otros componentes cercanos. El chip debería liberarse en menos de 10 segundos
Paso 2 : puentes
El chip Broadcom BCM2836 ( el chip principal) envía señales USB al HUB usb , así que al menos un puerto debería estar operativo
Des afortunadamente no tendríamos puerto ethernet nunca mas
De acuerdo con la hoja de características del LAN9514, las señales USB son recibidas desde la CPU a través de los puertos 58 y 59 enviando los puertos en los pines 1-4 y 6-9.
Por ejemplo se puede elegir los pines 1-2 como vemos en el diagrama USBDP/USBDM que son los pines USB D+ y D-
Para hacer prácticos estos puentes , lo aconsejable es usar un microscopio para electronica usando hilos muy finos. El liquido flux también puede ayudar
En la imagen vemos como como con dos simples hilos con barniz en la qeu hemos raspado los bordes podemos hacer el trabajo.
Obviamente al quedar solo un puerto disponible un hub de puertos USb es altamente recomendable siendo ademas interesante que sea con alimentación externa.
Esta idea tiene ademas un pequeño defecto: tenemos que usar el primer puerto o no sera reconocida en la Raspberry Pi
Si después de leer estas casuisticas consigue revivir su Raspberry, es fundamental que recuerde que cuando vayas a apagar la placa lo haga bien desde el menú de apagado o por consola con la siguiente instrucción sudo shutdown -h now y NUNCA desenchufándola directamente de la alimentación
Si a pesar de todo no ha conseguido hacerla funcionar de nuevo ¡¡¡no la destruya!!! Por muy raro que parezca, se han dado casos que dejando la Raspberry sin actividad y desenchufada durante unos cuantos días, al volverla a enchufar ha funcionado a la perfección, así que ánimo.
Debe estar conectado para enviar un comentario.