Pushing usando Parse desde Netduino a Xamarin.Forms


Parse es un proveedor BaaS (Backend as a service) que, entre su conjunto de características, ofrece un servicio de notificaciones Push . Se usa  ese servicio para enviar las notificaciones push a nuestros  dispositivos. Es bastante sencillo comenzar, en primer lugar, crear una nueva aplicación, tomar las claves (para ambas REST API y .NET), escribir  un código y empezaré a enviar pushes.

Configurando el Netduino

Se puede utilizar  un simple interruptor de contacto magnético(es decir un rele reed)  para detectar cuándo la puerta se abrió o se cerró, en el código se verá algo así como var doorPort = new InputPort(... y un bucle infinito en el que reside la lógica «principal»). while el netduino lee el estado actual del sensor, lo compara con un estado previo y, si hay algún cambio, envía la notificación de inserción utilizando mi biblioteca parse-dotnetmf .

La biblioteca parse-dotnetmf

Para consumir las funciones REST Api de Parse de un Netduino 3, se puede í crear una biblioteca de clientes para facilitar las cosas , esta biblioteca actualmente solo admite el envío de notificaciones push o Parse, pero puede ampliarse fácilmente para admitir todas las demás funciones también , es fácil de usar simplemente cree un cliente var pc = new ParseClient("AppId", "Api Key"); y luego envíe una notificación push así: pc.SendPushToChannel("Hey!"); .

Esta biblioteca está muy inspirada en la biblioteca MicroTweet2 de Matt Isenhower. Utiliza la clase HttpWebRequest , no requiere dependencias adicionales y cabe fácilmente en un tablero de Wi-Fi Netduino 3.

Configuración de la aplicación Xamarin.Forms

Hay algunos pasos que debe seguir para implementar Parse Push en su aplicación Xamarin, le recomiendo que siga los tutoriales que ya existen en el sitio web de Parse. Voy a hacer un resumen rápido de lo que hice (además de tratar de crear mi propio complemento).

En primer lugar, para Windows Phone no hay pasos obligatorios que no sean seguir este tutorial , por otro lado, para Android tendrás que hacer dos cosas:
1. Marque este tutorial pero haga solo la parte de AndroidManifest.xml .
2. Compruebe la muestra en GitHub , en particular la implementación de la clase ParseApplication en el proyecto de Android.

El complemento CrossParse

Como sabemos, cuando queremos ofrecer experiencias específicas de la plataforma desde una aplicación Xamarin.Forms podemos usar o crear un complemento que nos permita resumir las funcionalidades de cada plataforma para interactuar con cada plataforma a través de una API común.

Tratar de hacer un complemento para manejar todas las interacciones con Parse push o resulta que no es tan fácil como se puede pensar al principio, pues  los Componentes Xamarin de Parse para cada plataforma ya son compatibles con las notificaciones push, pero no existe una capa de abstracción que pueda usarse con formularios, sin mencionar que hay algunos pasos especiales necesarios para cada plataforma que debe gestionar explícitamente en cada proyecto específico de plataforma como por ejemplo crear la clase ParseApplication extra en el proyecto de Android, por ejemplo).

Por lo tanto, este complemento no es tan útil o, pero aún ayuda proporcionando la capa de abstracción mencionada e instalando los nugets de Parse por ti. Con este complemento, puede suscribirse / darse de baja de los canales y gestionar las notificaciones mientras el usuario se encuentra en la aplicación. Realmente esperemos que Parse lance un complemento para formularios pronto, ya que es bastante fácil de hacer dado que ya tienen los componentes.

El autor ha realizado un video donde mostra cómo funciona el sistema:

Enlaces

No pretendemos desde este blog  crear una publicación llena de enlaces, así que aquí están los enlaces a los complementos GitHub repos (y su respectiva página NuGet):

Mejoras Xiaomi Mijia


A finales del 2016  apareció de la mano de  Xiami   un novedoso patinete  eléctrico :el Xiaomi Mijia. Al igual que con todos los productos de Xiomi, el scooter de inmediato atrajo la atención de un público más amplio gracias a su diseño exitoso tal vez minimalista  y sobre todo por sus muy buenas características técnicas donde destacaríamos su relación calidad/precio  y sus prestaciones excepcionales donde destaca su sistemas de frenada regenerativa y una especie de ABS.

Los datos técnicos mas destacados son los siguientes:

  • Velocidad de 25 km / h
  • Autonomía de 30 km
  • Bateria 280 Wh, LG M26 10s3p;
  • Ruedas de 8,5 pulgadas (neumáticos de caucho inflables con la cámara);
  • Potencia de 250 vatios (nominal), 500 vatios (máximo);
  • Plegable;
  • 12,5 kg de peso;
  • Peso máximo del usuario de 100 kg;
  • Clase de protección IP54.

La  verdad  es que con una impresora 3d   no hay limite para la imaginación, de modo que si juntamos por un lado una maquina excelente,  y por otro lado la posibilidad de mejora   y customización  gracias en parte a las posibilidades que ofrece la impresión en  3d ,  las   mejoras se  hacen factibles.

Veamos  algunas de estas mejoras :

Mejora en el mecanismo de plegado.

Muchas personas hacen referencia a los pocos problemas que da esta maquina excepto que con cierta regularidad se han  de apretar los tornillos que sujetan el mecanismo de su plegado para evitar un exceso de “juego” de las piezas así como de un “molesto” ruido. Este problema  se puede corregir con una pieza impresa 3d  diseñada por Cerega que sirva  para  amortiguar el juego de dirección. Esta pieza   se puede descargar desde Thingiverse e imprimir en una impresora 3d o bien pedirla desde la propia pagina en cargándola directamente por medio de impresión bajo demanda,

Esta pieza  esta disponible en  3 tipos de almohadillas  de 0,4 mm, 0,6 mm y 0,8 mm. Si tiene un modelo para trabajos sólidos, usted mismo debe cambiar las configuraciones.

amortiguador.png

 

 

Protector luz trasera

Una mejora interesante es un protector de cableado de la luz trasera  pues a la larga el polvo y la suciedad pueden impedir el funcionamiento de esta útil  funcionalidad

La  pieza ha sido diseñada  por  Aminokislota y    se puede descargar desde Thingiverse e imprimir en una impresora 3d o bien pedirla desde la propia pagina encargándola directamente por medio de impresión bajo demanda.

backlight.png

 

En el siguiente vídeo podemos ver  los dos accesorios en acción;

 

 

 

Otras mejoras

También  hay algunas cosas útiles que permitan   que el  Xiaomi  sea más agradable o al menos más conveniente.

Algunas de las mas típicas son las siguientes:

  • Lo primero que  viene a la mente es conseguir un buen soporte de manillar para su smartphone con el objetivo  que su teléfono muestre la velocidad, la dirección, la batería restante y la distancia mientras está montando. Hay muchos  diferentes  básicamente  para bicicleta que puede adaptarlos  . Un buen montaje es difícil de encontrar, pero al menos no son caros y puede experimentar con ellos hasta encontrar el perfecto.
  • En segundo lugar un extensor de manillar puede ser necesario debido a la estrecha longitud del manillar de la scooter y con el control del acelerador más la campana del anillo ya montada, no hay mucho espacio para trabajar. Al agregar el extensor del manillar le permitirá por ejemplo instalar  una cámara de acción y
  • Los últimos son un conjunto de neumáticos de goma maciza sin cámara  pues así se olvidara de los pinchazos .Lo negativo con los sólidos es que sentirá cada bache y crack en la carretera, pero al menos no habrá miedo a pinchar los neumáticos  y tener que arrestar el scooter hasta casa.