Comunidades tecnicas de Microsoft en España

Es bueno saber que no todo se encuentra en la red, así que si tienes «sed» de compartir tu día a día de forma presencial participando en las actividades que se propician desde los UG’s , estoy seguro de que el siguiente enlace os será de mucha utilidad :

http://msdn.microsoft.com/es-es/cc424933.aspx

En el encontrareis la mayor parte de grupos que periódicamente organizan actividades abiertas a toda la comunidad. Aunque no están todas, espero que poco a poco se vaya actualizando con todos los grupos que mantienen el espíritu.

Geeks world 🙂
PepLluis,

Netduino 1 – C# – timer

Hablando con un amigo, salió el tema de que tenia un netduino de los antiguos y recordaba un ejemplo que les dieron en un taller donde lo compraron, pero argumentaba que era un poco precario pues en la demo encendían/apagaban el led de la placa con «thread.Sleep»… rápidamente me puse a reír y le explique que como en sus hermanos mayores también dispone de timers!

Tengo un ejemplo posteado en VB, pero tal y como me comprometí en la conversación lo posteo en C# aunque estoy seguro que existen 101 ejemplos que explican lo mismo, pues este es solo un «hola mundo» para microframework.

using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
 
namespace NetduinoApplication1
{
    public class Program
    {
        static OutputPort onboardLed = new OutputPort(Pins.ONBOARD_LED, false);
        static Timer firstTimer = new Timer(new TimerCallback(tictac), null, 250, 250);
 
        public static void Main()
        {
            Thread.Sleep(Timeout.Infinite);
        }
 
        static Boolean onOff;
        public static void tictac(object status)
        {
            onboardLed.Write(onOff);
            onOff = !onOff;
        }
    }
}

Aunque es de lo mas básico, espero que ayude algún que otro rezagado.
Saludos,
PepLluis,

Sant Jordi : El Libro y la Rosa

Estoy seguro de que todos conocéis la fiesta del Libro y la Rosa, para los que somos tecquis… quizás se nos antoja raro, raro, leer libros que no sean de tecnología, también estoy casi seguro de que tu chica no va a regalarte ningún libro de esos J estate tranquilo pues no te vas a quedar con las ganas!

Durante el próximo 24 y 25 de abril todos los que queráis “hojear” literatura técnica, tendréis la oportunidad de acceder gratuitamente a los libros de ediciones eni. Creo que es una buena forma de conocerlos, a lo sumo cuando además están cumpliendo 15 años!

www.ediciones-eni.com/librosgratis

O sea que Felicidades!

Saludos,
PepLluis,

 

Cerbuino y el módulo ENC28

Si estas intentando obtener una IP de un DHCP de tu router y no lo estas consiguiendo… existe un “gapo conocido” con el lwip compilado en la versión de GHI 4.2.6.2, asi que no pierdas el tiempo pues no podrás obtener ninguna IP del DHCP de algunos routers.

Solo te queda la opción de configurar una IP estática.

Por otra parte debes tener en cuenta que el evento “networkAddressChanged” solo se levanta una vez al iniciarse el procesador, por lo que si se cambia la IP de “forma manual” deberás seguirlo de “forma manual”.

Os dejo un pequeño ejemplo como punto de entrada para experimentar reacciones.

Como ya sabéis el firmware del Cerbuino es de comunidad i la parte del ENC28 está basada en la aportación de comunidad, espero que entre todos podamos pulir la próxima liberación.

 

No dudéis pedirlo en VB si lo necesitais 🙂

Saludos,

using System;
using Microsoft.SPOT;
 
using Microsoft.SPOT.Net.NetworkInformation;
using GT = Gadgeteer;
 
Namespace GadgeteerApp1
{
 
    Partial Public Class Program
    {
        NetworkInterface miEth;
        GT.Timer tmr = new GT.Timer(30000);
 
        void ProgramStarted()
        {
            miEth = NetworkInterface.GetAllNetworkInterfaces()[0];
            miEth.PhysicalAddress = miMac;            
            Debug.Print("Program Started... wait for an IP");
            NetworkChange.NetworkAddressChanged += NetworkChange_NetworkAddressChanged;            
            tmr.Tick += tmr_Tick;
            tmr.Start();
        }
 
        Boolean tictac;
        string lastIP;
        void tmr_Tick(GT.Timer timer)
        {
            if (lastIP != miEth.IPAddress.ToString())
            {
                lastIP = miEth.IPAddress.ToString();
                Debug.Print("Current Ip : " + lastIP);
            }
 
            if (miEth.IPAddress == "0.0.0.0")
            {
                Mainboard.SetDebugLED(true);
                Debug.Print("No DHCP server response :-(");
                miEth.EnableStaticIP("192.168.1.50", "x.x.x.x", "y.y.y.y");
            }
            else
            {
                Mainboard.SetDebugLED(tictac);
                tictac = !tictac;
                if (tmr.Interval.Milliseconds > 1000) tmr.Interval = new TimeSpan(0, 0, 1);
            }
        }
 
        void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
        {
            Debug.Print("Nueva IP : " + miEth.IPAddress.ToString());
        }
    }
}

CatDotNet Open Space 2014

CatdotNet es la suma de esfuerzos de diferentes grupos de usuarios de .NET, unidos con el propósito de aprender y compartir. El próximo Sábado 12 de Abril de 2014, de 10 a 19h, Catdotnet en colaboración con el Ajuntament de Barcelona organizamos un Open Space, con el objetivo de reunirnos todos los usuarios de .net para aprender, practicar, difundir y compartir, juntos.

no pierdas este link : http://catdotnet.net/cdnos14/

Será la oportunidad para encontrarnos todos en un mismo espacio, en el que compartir experiencias y conocimientos entre nosotros! Queremos estar todos, y eso te incluye a ti. Para que dentro de unos años, cuando te pregunten dónde estabas tu cuando los grupos de usuarios .net nos unimos para aprender y compartir.

Nos vemos allí!
PepLluis,