Posts Tagged IoT
I’ve had somewhat of an adventure with the Windows Update process on the Windows 10 IoT Core.
In the Windows Device Portal I was on the Windows Update page. So to make sure my device was up to date, I clicked the “Check for updates” button and … nothing happened on screen. Knowing that the process was probably running in the background, I moved on to check other pages.
When I came back to that screen later I got a You must restart your device to apply the updates kind of button. So I clicked on it and the device proceeded to reboot as expected. I got the cog wheel going and a progress bar for a number of minutes. Then I got a giant frown emoticon:
And the screen went blank. I waited for 30 minutes then turned off the device. Then turned it back on, got cog wheels for a few minutes, then frown, then blank. It had essentially screwed up the Operating System.
Flashing the SD card
I took out my SD card, placed it in my development machine. And proceeded to re-image it without issues. Placed the card back in my device and it started without issues.
In any case, it gave me the material to write a post about Flashing the SD card…
This happened to me on a brand new device with a new SD card that is part of a starter pack.
This may have been a bad fluke. But getting errors like this on a clean device is a bit worrisome.
So I finally got the Raspberry Pi hardware yesterday. I will spare you the unboxing video, I’m sure there are a number of them already.
I plugged in the Raspberry Pi to a keyboard, a mouse, and a screen. Added the Wifi USB dongle and started it up.
This blog explores the different ways we can access the device by default. This is only an introduction, we probably will return to see some of those interfaces in more depth as we need them in the future.
Raspberry Pi on screen Experience
(Sorry, I have not figured out how to take screen shots on the Raspberry Pi yet, and phone picture are horrible. I will add screen shots when/if I figure it out)
First Start Up
After churning for a couple minutes, it prompted me for language and selecting the wireless network. That done, it re-directed me to the main screen.
If you saved the default settings, on subsequent start ups, the boot process sends you directly to the main screen.
On the main screen, the device information application is displayed. The top of the screen look like a task bar with applications running on the left with a system tray to the right.
The applications running are:
- Device info
The system tray has:
- Device Settings
- On/Off button
The On/Off button offers:
Device Settings Page
The Device Settings page allows you to set:
- Basic preferences: Only sets language at this point
- Network & Wi-Fi: Select and configure Wi-Fi
Windows 10 IoT Core Dashboard
Going back to my development computer and I fired up the Windows 10 IoT Core Dashboard to see what would show up.
The startup page gets you on the Set up a new device. Setting up a new device is used to create a new SD card. I already had a pre-configured SD card (from the starting pack) so I went directly to My devices.
My devices show a list of devices connected on your network. Give it a few minutes to detect your device.
From here you can open up the device Settings or Open in Device Portal. I went for Settings.
The Device Settings page allows you to change your device name and set your administrator password. You should take the time to at least change the password. The default password for the Administrator account is: p@ssw0rd
From here we’ll go to the Windows Device Portal in browser.
Windows Device Portal
The Windows Device Portal is a web page served directly by the device. It provides a lot more functionality than the IoT dashboard or the device interactive UI. The left hand menu allows you to navigate to different sections.
The sections are:
- Perf Tracing
- Windows Update
Also a number of functions are available on the right hand header:
Here are the more high level and useful pages for now:
The home page provides information about the device, allows you to change the device name and change the administrator password.
The App Manager page provides a lot of functionality. It allows you to manage applications, uninstall application, select default startup application. It also allows you to deploy new applications.
The debugging page provides a list of the current processes, displays error logs and set error reporting parameters. It also allows you to manually start the Visual Studio Remote Debugger.
Note: The remote debugger is not installed by default on Windows IoT Core 10586. It is only deployed the first time you start a debugging session from Visual Studio. If you attempt to start the Remote Debugger before you start a debugging session, you get the following error message is:
The networking section allows you to set the networking parameters. It provides a list of available networks and displace the current IP configuration for the different networking interfaces on the device (I snipped the screen shot, it actually showed 3 network adapters).
The Windows Update page allows you to check for available operating system updates. If updates are available they will be installed on the next restart.
This seems to be most of the out of the box high level user interfaces available to interact with the Windows 10 IoT Core operating system.
Of course there are also more advanced mode of interaction available like command lines, PowerShell and programming APIs. But we will see those in other posts in the future.
Before going too far into the specific of Windows 10 Core IoT, I should define the guidelines of what I am trying to achieve with this blog.
As with any project, this blog needs objectives. Objectives helps guide development. They should be used to validate what you do on the project. And they can ultimately be used to identify success or failure.
Here are my objectives:
- Explore and learn the many different aspects of IoT. Form device building to cloud integration to user interfaces, there are a wide variety of IoT related subjects I want to explore.
- Leverage my software development knowledge to put together a system(s) and create re-usable components that will be useful for the development of IoT devices and infrastructure.
- Promote programming best practices and leverage OOP to build sound software systems to control IoT devices.
- Help other developers get started or do more with IoT.
As with any vision, I expect these objectives to evolve over time. But I think it should be enough get us started.