[#IOT] #RaspberryPi2 y #Windows10, Accediendo a los devices conectados (7 de N)

Hola !

Nuevo post para la serie de Windows 10 y Raspberry Pi 2

  1. Hardware y software (1 de N)
  2. Montando la SD en el device (2 de N)
  3. Ahora si el Hello World ! (3 de N)
  4. Sobre el proceso de despliegue desde VS y Web Management app (4 de N)
  5. Hello Blinky !!! (5 de N)
  6. Acciones de administrador, cambiar password, cambiar nombre, etc (6 de N)
  7. Accediendo a los devices conectados (7 de N)
  8. Desplegando una app desde un paquete (8 de N)

Hoy vamos a utilizar un poco la clase DeviceInformation que fue bastante mejorada en Windows 8.1 para listar todos los devices conectados a nuestra Raspbery PI.

El ejemplo es bastante sencillo, solo llamar a DeviceInformation.FindAllAsync(), un poco de linq para eliminar los duplicados y listo

Clipboard02

El output que tenemos es el siguiente

  1. Generic SU32G SD Card 
    1. – Id \\?\STORAGE#Volume#{06b09fe3-ebbb-11e4-8d8e-806e6f6e6963}#0000000004800000#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}
  2. MINWINPC
    1. – Id \\?\ACPI#A_-_ARM_Family_7_Model_C07_Revision___5#1#{dbe4373d-3c81-40cb-ace4-e0e5d05f0c9f}
  3. Generic USB Hub
    1. – Id \\?\USB#VID_0424&PID_EC00#5&3753427a&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
  4. Generic Non-PnP Monitor
    1. – Id \\?\DISPLAY#Default_Monitor#1&8713bca&0&UID0#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
  5. Microsoft GS Wavetable Synth
    1. – Id \\?\SWD#MMDEVAPI#MicrosoftGSWavetableSynth#{6dc23320-ab33-4ce4-80d4-bbb3ebbf2814}
  6. Microsoft USB Optical Mouse
    1. – Id \\?\USB#VID_045E&PID_0737#5&3753427a&0&5#{a5dcbf10-6530-11d2-901f-00c04fb951ed}

Además del nombre es importante tener en cuenta la propiedad ID que es la que nos muestra el path completo de acceso al device. Por ejemplo, si analizamos el 6to elemento correspondiente al mouse podemos inferir los valores de Vendor Id y Product Id

  • ID: \\?\USB#VID_045E&PID_0737#5&3753427a&0&5#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
  • Vendor Id = 045E
  • Product Id = 0737

Que siempre son útiles cuando trabajamos con dispositivos conectados.

Solo como curiosidad, este es parte del output de la misma app ejecutada en modo local en mi laptop. Esto de las Universal Apps me está gustando ;)

Clipboard04

Como siempre el código en GitHub que se puede descargar desde aquí.

Saludos @ Home

/El Bruno

MSDN Device Information, https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.devices.enumeration.deviceinformation.aspx

ENG [#IOT] #RaspberryPi2 and #Windows10, Some admin tasks, like change password and change name (6 on N)

Hello!

New post for Windows 10 and Raspberry Pi 2 series

  1. Hardware and software (1 on N)
  2. Boot from SD card in the device (2 of N)
  3. Hello World mode! (3 of N)
  4. Visual Studio deployment process and Web Management app (4 on N)
  5. Hello Blinky !!! (5 on N)
  6. Some admin tasks, like change password and change name (6 on N)
  7. List of connected devices in the Raspberry Pi 2 (7 on N)
  8. Deploy an app using the deploy package (8 on N)

Yesterday there was Windows IoT Core for Raspberry PI 2 update. In the waht’s new section we can read most of the new features was focused on security. In example: now the web access, requires username and password to get into the device. For this reason, today I’ll take a pause in the source code samples and I’ll leave a couple of PowerShell commands to perform basic actions with our device.

1. Once the device is online, we need to open a PowerShell console in administrator mode

Clipboard02

2. In the console, run the following commands

  1. net start WinRM
  2. Set-Item WSMan:\localhost\Client\TrustedHosts – Value 169.254.186.22
  3. Remove – module psreadline – force
  4. Enter-PsSession – ComputerName 169.254.186.22 – Credential 169.254.186.22\Administrator

In each one of them we must replace the IP address for the corresponding with our device

3. The last command will open a window of Windows credentials so that the same enter credentials by default to access the device.

Clipboard04

By default the device credentials are

User: IP Address\Administrator

Password: P@ssw0rd

Clarification: (P {at} ssw {zero} rd ))

4. The authentication with the device takes approximately 30 seconds. Once is connected we can do the 2 most recommended actions: change the administrstor password and change the name of the device.

5. In order to change the administrator password, we should use the next command

NET user Administrator {new password}

6. In order to change the name of the device, let’s go with this one

setcomputername {new name}

For example, in the following command I have changed the name to my device and then restart it

Clipboard06

Once restarted, we can see the device with its new name in Windows IoT app watcher

Clipboard07

Now if, new password, new name, our device is a little more secure :D

Greetings @ Madrid

/El Bruno

[#IOT] #RaspberryPi2 y #Windows10, Acciones de administrador, cambiar password, cambiar nombre, etc (6 de N)

Hola !

Nuevo post para la serie de Windows 10 y Raspberry Pi 2

  1. Hardware y software (1 de N)
  2. Montando la SD en el device (2 de N)
  3. Ahora si el Hello World ! (3 de N)
  4. Sobre el proceso de despliegue desde VS y Web Management app (4 de N)
  5. Hello Blinky !!! (5 de N)
  6. Acciones de administrador, cambiar password, cambiar nombre, etc (6 de N)
  7. Accediendo a los devices conectados (7 de N)
  8. Desplegando una app desde un paquete (8 de N)

Ayer hubo actualización de Windows IoT Core para Raspberry PI 2 y una de las novedades fue centrada en la seguridad. Ahora el acceso web, requiere usuario y password para acceder al mismo. Por eso, hoy toca una pausa en el código para dejar un par de comandos de PowerShell para realizar acciones básicas con nuestro device.

Conectar al device

1. Una vez que el device está en linea, debemos abrir una consola de PowerShell en modo administrador

Clipboard02

2. Con la consola abierta, ejecutamos los siguientes comandos

  1. net start WinRM
  2. Set-Item WSMan:\localhost\Client\TrustedHosts -Value 169.254.186.22
  3. remove-module psreadline -force
  4. Enter-PsSession -ComputerName 169.254.186.22 -Credential 169.254.186.22\Administrator

En cada uno de ellos debemos reemplazar la dirección IP por la correspondiente con nuestro device

3. El último comando abrirá una ventana de credenciales de Windows para que en la misma ingresemos las credenciales por defecto para acceder al device.

Clipboard04

Por defecto las credenciales son

User: IP Address\Administrator

Password: P@ssw0rd

Aclaración: (P {arroba} ssw {zero} rd)

4. La autenticación con el device tarda unos 30 segundos aproximadamente. Una vez conectados ya podemos realizar las 2 acciones más recomendables: cambiar la password del administrador y cambiar el nombre del device.

5. Para cambiar la password el comando que debemos ejecutar es el siguiente

net user Administrator {nueva password}

6. Para cambiar el nombre del device

setcomputername {nuevo nombre}

Por ejemplo, en el siguiente comando le he cambiado el nombre a mi device y luego reinicio el mismo

Clipboard06

Una vez reiniciado, podremos ver el device con su nuevo nombre en la app Windows IoT watcher

Clipboard07

Ahora si, nueva password, nuevo nombre, nuestro device está en un poco más seguro :D

Saludos @ Madrid

/El Bruno

ENG [#IOT] #RaspberryPi2 and #Windows10, Hi Blinky! (5 of N)

Hello!

New post for Windows 10 and Raspberry Pi 2 series

  1. Hardware and software (1 on N)
  2. Boot from SD card in the device (2 of N)
  3. Hello World mode! (3 of N)
  4. Visual Studio deployment process and Web Management app (4 on N)
  5. Hello Blinky !!! (5 on N)
  6. Some admin tasks, like change password and change name (6 on N)
  7. List of connected devices in the Raspberry Pi 2 (7 on N)
  8. Deploy an app using the deploy package (8 on N)

After the last post is pending to see a little more in depth what you can do with Windows IoT Core and a device, if you want to interact with some sensors in digital mode.

In today’s post I’ll show you what is known as the Hello world in the world of makers: make a led to blink in a device. For this demo, I am using the Grove Raspberry Pi Starter Kit that allows me prototype quickly to these scenarios. In this example, I use one which brings the Starter Kit using a LED on pin 4.

Clipboard04

In the previous post I explained how to create a Universal App, in this case we follow the following steps with the exception that in the MainForm, we will add a timer with the following code.

Clipboard03

At every tick of the timer change the State of the LED on Pin 4 of ON to OFF, then ON, etc. To be able to begin interaction with the digital Pins of the device, we need to add a reference in our project to Windows IoT Extension SDK

Clipboard01

Once added the reference we can add the code necessary to interact with the LED, it is similar to the following

Clipboard05

Now we can already deploy the app in our Raspberry Pi. Remember the important thing is to change the platform to ARM, rather than X 86

Clipboard03

After a few seconds the app it is already running, see how led begins its flashing

The source code for this solution is available on Github

https://github.com/elbruno/W10Rpi2.git

Saludos @ Madrid

/El Bruno

References

Grove Raspberry PI StarterKit, http://www.seeedstudio.com/depot/GrovePi-Starter-Kit-for-Raspberry-Pi-p-2240.html?cPath=122_154_151

[#IOT] #RaspberryPi2 y #Windows10, Hola Blinky !!! (5 de N)

Hola !

Nuevo post para la serie de Windows 10 y Raspberry Pi 2

  1. Hardware y software (1 de N)
  2. Montando la SD en el device (2 de N)
  3. Ahora si el Hello World ! (3 de N)
  4. Sobre el proceso de despliegue desde VS y Web Management app (4 de N)
  5. Hello Blinky !!! (5 de N)
  6. Acciones de administrador, cambiar password, cambiar nombre, etc (6 de N)
  7. Accediendo a los devices conectados (7 de N)
  8. Desplegando una app desde un paquete (8 de N)

Después del último post queda pendiente ver un poco más en profundidad lo que podemos hacer con Windows IoT Core y un device, si queremos interactuar con algunos sensores en modo digital.

En el post de hoy mostraré lo que se conoce como el hola mundo en el mundo de makers: hacer que un led parpadee en un device. Para esta demo, estoy utilizando el Grove Raspberry Pi Starter Kit que me permite prototipar de forma rápida estos escenarios. En este ejemplo me basaré en uno de los que trae el Starter Kit utilizando un LED en el pin 4.

Clipboard04

En el post anterior expliqué como crear una Universal App, en este caso seguimos los siguientes pasos con la salvedad de que en el MainForm agregaremos un timer con el siguiente código.

Clipboard03

En cada tick del timer cambiaremos el estado del LED en el Pin 4 de ON a OFF, luego ON, etc. Para poder comenzar la interacción con los Pins digitales del device, necesitamos agregar una referencia en nuestro proyecto a Windows IoT Extension SDK

Clipboard01

Una vez agregada la referencia podemos agregar el código necesario para interactuar con el LED, el mismo queda similar al siguiente

Clipboard05

Ahora ya podemos desplegar la app en nuestra Raspberry Pi. Recuerda lo importante que es cambiar la plataforma a ARM, en lugar de X86

Clipboard03

Luego de unos segundos la app ya está en ejecución,  ver como el led comienza su parpadeo

El código fuente de esta solución está disponible en Github

https://github.com/elbruno/W10Rpi2.git

Saludos @ Madrid

/El Bruno

References

Grove Raspberry PI StarterKit, http://www.seeedstudio.com/depot/GrovePi-Starter-Kit-for-Raspberry-Pi-p-2240.html?cPath=122_154_151

ENG [#IOT] #RaspberryPi2 and #Windows10, VS deployment process and Web Management app (4 on N)

Hello!

New post for Windows 10 and Raspberry Pi 2 series

  1. Hardware and software (1 on N)
  2. Boot from SD card in the device (2 of N)
  3. Hello World mode! (3 of N)
  4. Visual Studio deployment process and Web Management app (4 on N)
  5. Hello Blinky !!! (5 on N)
  6. Some admin tasks, like change password and change name (6 on N)
  7. List of connected devices in the Raspberry Pi 2 (7 on N)
  8. Deploy an app using the deploy package (8 on N)

In yesterday’s post I wrote on how to deploy our first “Hello World” app to the device, today I will discuss a little bit what happens behind and the tools we have like Visual Studio and Windows 10 IoT Core to analyze as our apps behavior.

I usually start analyzing the log DEPLOY that Visual Studio 2015 creates when we deploy and app from the IDE. This is a “Summary” of the full deployment log

It is interesting to see read that, after creating the deployment package, a search is performed for the deployment agent in Raspberry Pi 2 and then copied the local package.

If we also want to debug an app in remote with the device, it must be in the same running process MSVSMON. EXE.The image of Windows 10 IoT launches this process in the startup of the OS. If we want to validate that it is running, we can see running processes from the web console

Clipboard02

2 lines on top we can see our application executable now in debug mode. In another post I’ll comment on log options we have in Windows 10 IoT Core, EWT among them.

Another interesting feature of the web console is to see in real time the consumption of CPU and I/o in the SD actions

W10rpi2 perfomance

In addition to these options, we have the ability to see information about the network

Clipboard03

the connected devices

Clipboard04

And many other things. The truth that as remote console is quite well although most advisable to perform most delicate actions is done with PowerShell.

Greetings @ Home

/El Bruno

[#IOT] #RaspberryPi2 y #Windows10, sobre el proceso de despliegue desde VS y Web Management app (4 de N)

Hola !

Nuevo post para la serie de Windows 10 y Raspberry Pi 2

  1. Hardware y software (1 de N)
  2. Montando la SD en el device (2 de N)
  3. Ahora si el Hello World ! (3 de N)
  4. Sobre el proceso de despliegue desde VS y Web Management app (4 de N)
  5. Hello Blinky !!! (5 de N)
  6. Acciones de administrador, cambiar password, cambiar nombre, etc (6 de N)
  7. Accediendo a los devices conectados (7 de N)
  8. Desplegando una app desde un paquete (8 de N)

En el post de ayer desplegamos nuestro primer “hola mundo” al device, hoy voy a comentar un poco lo que sucede por detrás y las herramientas que nos da Visual Studio y Windows 10 IoT Core para analizar como se comportan nuestras apps.

En estos casos lo primero que suelo analizar es el log de DEPLOY que nos deja Visual Studio 2015. Este es un “resumen” del log completo de despliegue

Es interesante ver cómo en el mismo, luego de crear el paquete de despliegue, se realiza una búsqueda para el agente de despliegue en la Raspberry Pi 2 y luego se copia el paquete local.

Si además queremos depurar una app en remoto con el device, es necesario que en el mismo esté en ejecución el proceso MSVSMON.EXE. La imagen de Windows 10 IoT lanza este proceso en el startup del SO. Si queremos validar que esté en funcionamiento, podemos ver los procesos en ejecución desde la consola web de control

Clipboard02

2 entradas por arriba podemos ver el ejecutable de la aplicación de depuración. En otro post comentaré las opciones de trazas que nos brinda Windows 10 IoT Core, EWT entre ellas.

Otra característica interesante de la consola web es poder ver en tiempo real el consumo de CPU y de las acciones de I/O en la SD

W10rpi2 perfomance

Además de estas opciones tenemos la capacidad de ver información sobre la red

Clipboard03

los devices conectados

Clipboard04

Y muchas otras cosas más. La verdad que como consola remota está bastante bien aunque lo más recomendable para realizar acciones más delicadas es realizarlo con PowerShell.

Saludos @ Home

/El Bruno