Question: I am using Visual Studio 2015 to create my Windows Universal Application and when I build and deploy it, I can’t find it listed on device or it is listed but with a GUID instead of the human readable name that I carefully gave it. How can I fix this? How can I see this problem? The picture below shows the web access to a Raspberry Pi running Windows 10 IoT Core. The highlighted item is the app that we will fix by giving it a human readable name. In Visual Studio, the Build output window shows: 1>Deployment complete (13982ms). Full package name: "77fae4cd-630a-45ec-9927-a72b8129f477_1.0.0.0_arm__j932756y98c8a" How can I fix this problem? You can edit the Package Manifest file, Package.appxmanifest, to change the Identity Name: Original <Identity Name="77fae4cd-630a-45ec-9927-a72b8129f477" Publisher="CN=bruce.eitman" Version="1.0.0.0" /> Modi ...
Read the rest of entry »
Building on my previous articles (Windows 10 IoT Core: Starting a Package on Raspberry Pi and Windows 10 IoT Core: Getting the MAC Address from Raspberry Pi) the following shows how to stop a running package. We start with the function StopApp(), which can be called either of the following ways: StopApp("PushButton", true); StopApp("PushButton", false); private async void StopApp(string appName, bool Force) { String FullName = await GetPackageFullName(appName); byte toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(FullName); string appName64 = System.Convert.ToBase64String(toEncodeAsBytes); String URL = "http://localhost:8080/api/taskmanager/stop?" + (Force ? "?forcestop=true&" : "") + "package=" + appName64; System.Diagnostics.Debug.WriteLine(URL); StreamReader SR = await PostJsonStreamData(URL); } To stop the package ...
Building on my previous articles (Windows 10 IoT Core: Starting a Package on Raspberry Pi and Windows 10 IoT Core: Getting the MAC Address from Raspberry Pi) the following functions will shutdown and reboot the Raspberry Pi running Windows 10 IoT Core. private async void ShutdownComputer()
{
String URL = "http://localhost:8080/api/control/shutdown";
System.Diagnostics.Debug.WriteLine(URL);
StreamReader SR = await PostJsonStreamData(URL);
}
private async void RebootComputer()
String URL = "http://localhost:8080/api/control/reboot";
Copyright © 2015 – Bruce Eitman and Embedded101.com All Rights Reserved
Just for fun, I thought that I would build on my previous article (Windows 10 IoT Core: Getting the MAC Address from Raspberry Pi) and this time use POST to send data to the web server. I decided on starting a package. To start a package, we need a some information, this includes: 1. The URL, in the case of starting packages it is “api/taskmanager/start” 2. How to POST the app to start. We do this with the parameter “appid” which requires a Base 64 string 3. The name of the app – surprisingly this was the most challenging. This required that we get the Relative Package ID, which is a very odd name for the app, not a user friendly name. I started with an function that handles the items above. private async void StartApp( string appName ) { ...
Never one to back down from a challenge, I decided to try to get the MAC address from my Raspberry Pi running Windows 10 IoT Core. It was clear to me from doing some searching that Windows Universal Apps cannot get the MAC address, but all of that advice might just be wrong. Conventional wisdom is that we don’t need to know the MAC address because it is just a unique number, and we can get a UUID associated with our system – but that is to ignore the reasons why we might want the MAC address, which include but are not limited to: 1. We have a tradition of identifying systems using the MAC address of the on board Ethernet port, so changing it now would create unnecessary work. 2. We need to show the user the MAC address so they can set up their router with a static IP for the device. 3. Manufacturing needs a way to confirm the MAC address Th ...
I was about to board a Southwest flight last night, when the Scanner and Camera Wizard error dialog suddenly popped up on top of the boarding group display (see picture). I know people who like to take pictures of things like this, and to be honest I have been doing it myself lately, but I really didn’t know what to do with them. Then I thought about this being a teachable moment, how can we prevent this from occurring on systems that we manage? I am not sure exactly how to get to this point. But I can guess, I think that one of the Southwest employees probably plugged their smartphone into the computer that controls this display (probably to charge it. Reminds me of the time that one of the judges on Americas Got Talent unplugged the shows judging buttons to charge her phone.) There are actually a few things wrong in the picture: The Explorer shell and start bar a running. That means that someone can always figure out a way to jump on the sys ...
I recently needed to create and format a disk partition from a batch file. To make this more fun, I needed to run the batch file from a USB disk which mounted as the D drive, but I needed the new partition to be the D drive when finished. in the interest of full disclosure, there are other ways to do this, but I wanted to do it from a batch file because I was doing other things from batch files at the time – so this method fit in. I started this by doing running diskpart and learning what could do and how to do it. To start I knew that I needed to create disk 0 partition 2 and format it with NTFS. The commands in diskpart are: select disk 0 create partition primary noerr select part 2 format fs=ntfs label=Data quick These command create and partition disk 0 partition 2 and format the disk. But what I found is that the USB disk was the D drive and the new partition was the F driver, not what I want. But if before creating the partition, I ch ...
I was installing a driver over and over, and thought that there must be a better way than going to the device manager. Well, it turns out that there is.
The plug and play utility (pnputil.exe) is designed for this purpose. The following installs from an INF named mydriver.inf.
pnputil.exe -i -a "c:\OEM\mydrive.inf"
Which I included in the following batch file, which copies the driver to a folder on the C drive, installs the driver, then reboots if the user agrees.
@echo off xcopy /s /e /q /Y /I OEM c:\OEM pnputil.exe -i -a "c:\OEM\mydrive.inf" echo. echo. echo A reboot is necessary for these changes to take effect. echo. set /p input= "Reboot Now (Y/N)?" echo %input% IF "%input%"=="y" goto :REBOOT IF "%input%"=="Y" goto :REBOOT goto :EOF :REBOOT shutdown /r /t 0
@echo off
xcopy /s /e /q /Y /I OEM c:\OEM
echo. echo. echo A reboot is necessary for these changes to take effect. echo. set /p input= "Reboot Now (Y/N)?"
echo %input% IF "%input%"=="y" goto :REBOOT IF "%input%"=="Y" goto :REBOOT goto :EOF
:REBOOT shutdown /r /t 0
Re: Windows 10 IoT Core: Shutdown and Reboot the Raspberry Pi
Bruce, I noticed that you are sending a REST web request for controlling the pi. I looked online a for...
-- Waleed Elmandouh
Re: Windows 10 IoT Core: Getting the MAC Address from Raspberry Pi
Hi. This no longer works for me in the iot-core custom OEM-build/FFU. They have changed the access levels...
-- GG
Hi, since I am having trouble with this intervace in an OEM-custom Image/FFU scenario, I wonder, how...
I like your project here, and I've used it, and at one time it worked, at least with an older version...
-- integral
Nifty, Bruce!
-- David Jones
Hi Bruce, Good to know you are playing with Windows 10 IoT, and thanks for sharing these great finding...
-- Samuel Phung