“DevTest Scenarios in the DevOps World” Resources

Today, 10/20/2014 Cale Teeter, Charles Sterling, Jeff Levinson and I will be delivering a live session on Microsoft Virtual Academy on “Dev/Test Scenarios in the DevOps World”. 

You can grab a copy of Bret’s Demo Files here: http://1drv.ms/1r0CFJw

Spark Core enabled Compressed Air Rocket Launcher

Earlier this month some teammates and I were lucky enough to participate in TechCrunch Disrupt Hackathon in San Francisco

SNAGHTML16ced63

Our team project was called “Notifly” and was an online social media aggregation and activation platform.  In the end, we used it to watch a twitter hashtag, and launch a compressed air rocket when a threshold was crossed! We used a Spark Core from Spark.with a Relay Shield to activiate the rocket via a REST API!  Super cool Here’s a pic of everything assembled. 

image

Anyhow, if you would like to build your own, you can find the instructions for doing so on github at http://github.com/dxdisrupt/rocket

SNAGHTML1802406

Dollar Store Food Containers Make Great Project Enclosures…

At the end of summer when my kids were in need of school supplies, we ended up passing through the local dollar store to find a few things. Right next to the pencil boxes and binders were plastic food containers for the kids to bring lunches and snacks to school in.  As soon as I saw them, I realized they would make fantastic project enclosures!  Here is the dollar sandwich container housing a Spark Core and a Relay Shield for my Compressed Air Rocket Launcher (I didn’t have a 9V battery clip on me when I put this together so the pink bubble wrap is there to keep the battery from knocking around):

image

The even smaller “snack” size boxes came in packs of three for $1.  Each one is a perfect (well, maybe a little tight) enclosure for an Arduino Uno with a a Shield and a 9V battery:

image

The one thing you do need to look out for is that sometimes the plastic can crack when you are drilling holes, so take your time, go slow.  And if you end up breaking one, it was only a buck!

Also, I went back just the other week, and the “back-to-school” stock has been pulled and replaced with Halloween items.  I couldn’t find these containers in my local dollar stores any more. There were others, but I didn’t like them as well.  However with some searching, I was able to find some online on dollartree.com

Just ordered my Edison!

I’ve been having a ton of fun with my Intel Galileo Blog Posts, but I have been anxiously awaiting the Intel Edison, a much smaller, but still “arduino compatible” development board.  On September 9, at the Intel Developer Forum (IDF) Intel announced the Edison, and showed off a lot of cool things you can do with it.

I just jumped on SparkFun and ordered both the Edison with the Arduino Breakout Kit as well as the Edison with the Mini Breakout Kit and some of the SparkFun “Blocks”.  Now I just have to wait 6-8 weeks to get them (fingers drumming on table).

Intel® Edison and Arduino Breakout Kit

Shutting Down Your Intel Galileo running Windows

UPDATED ON 09/10/2014 – Added remote shutdown info

On the “Setting up your Galileo” page, at the very bottom, there is a strong recommendation to shutdown your Intel Galileo running Windows.  The promise is that if you properly shutdown the Galileo, as opposed to just pulling the power cord, or hitting the “Reboot” button, you will experience shorter boot times.  I can confirm this personally after having rebooted my Galileo’s repeatedly, using all of the methods, over the past few days.  If you can connect to your Galileo via Telnet, and shut it down formally, it will boot much quicker next time. 

Here is a repeat for the instructions from the “Setting up your Galileo” page:

Shutting down the Galileo

Before you unplug the power from the Galileo, it is advisable to gracefully shut it down. To do this:

  1. Telnet to the Galileo
  2. Enter the following command to shutdown:
    shutdown /s /t 0

After the microSD activity LED stops blinking, you may unplug the Galileo.

NOTE:

If you do not shut the Galileo down, the next boot will take much longer. During this time, Windows will run a check disk on the SD card to verify the integrity of the file system. Please allow this to finish.

Shutting down the Galileo REMOTELY

This morning, I started to think about shutting it down remotely.  Not a big deal.  Windows admin do remote shutdowns all the time, and it is no different with the galileo.  You just need to authenticate against the galileo before you run the shutdown command against it.  I created a batch file called “bouncegalileo.cmd” that let’s me do that easily.  Here are the contents of the batch fi8le:

@ECHO OFF
REM
REM USAGE: bouncegalileo.cmd <galileoname>
REM Where <galileoname> is the host name of your galileo
REM
REM First, remove any existing connections to the galileo
net use \\%1 /del
REM Now, authenticate against the galileo as the Administrator
net use \\%1 /user:Administrator
REM Then use the shutdown command to restart the galileo immediately
REM The /r causes the galileo to RESTART.  Use /s to SHUTDOWN
shutdown /m \\%1 /r /t 0

Wrap that up in a batch file (I called mine “bouncegalileo.cmd”) and then the call to it would look something like this:

image

You can monitor your Galileo’s status in the “GalileoWatcher” .  It should take minute or so to come back on line.

SNAGHTML491e103

Getting Started with Windows on the Intel Galileo (Gen 1)

This is the second video in my Intel Galileo Series.  In this video, I show you how to get the free version of Windows from the Windows Developer Program for IoT running on your Intel Galileo Gen 1 board.

Here are some handy links for this video:

You can get the source files for the entire series from:
http://aka.ms/IoTSource

Or download a .zip file with the latest version of the files from:
http://aka.ms/IoTZip

And finally, watch all the other videos here:
http://aka.ms/IoTVids

Getting Started with the Intel Galileo (Gen 1)

If you watched the //BUILD Day 1 keynote back in April, you may have seen the Intel Galileo board in action driving a gigantic keyboard (02h:03m:15s).  While I was watching it, I opened another browser and ordered a Galileo for myself.  It took me a long time to get my Galileo (almost four months, due to backorders), but they are readily available now, from a number of suppliers for somewhere between $50-$80 USD. 

Microsoft has even released a version of Windows that you can install on the Intel Galileo Gen 1 boards through the “Windows Developer Program for IoT".  In subsequent videos and blog posts I’ll show you how to do just that, but I thought I’d get started with a 101 introduction to the Intel Galileo and working with it as it ships from Intel.

So without any further ado, here is the video:

Here are some handy links:

Grab a copy of my slides: http://1drv.ms/1wyqU4S

Intel Maker community: http://maker.intel.com

Intel Galileo Software Downloads:  https://communities.intel.com/docs/DOC-22226

This IoT Stuff Takes a Lot of Room

I mentioned at the end of a previous post how my office is really just a hole under the stairs.  We call it the Harry Potter Room.

Multiple-Monitors1

However, as I get deeper and deeper into the “Internet of Things” (IoT) and playing with Arduinos, Galileos, Teensys, Raspberry Pis, sensors, resistors, motors, shields, soldering irons, etc. I have learned that my old office space just didn’t cut it.  I moved onto the kitchen table for a while:

WP_20140812_005

but my wife put a quick end to that.  The next stop, the garage:

WP_20140824_018

Hopefully I can stay put here for a while.  Hope to send some new blog posts and videos your way with my new setup.  See you soon!

Velleman EDU09 PC Oscilloscope

In my IoT endeavors, I have been learning a lot, but also finding that I need more tools.  I’ve been thinking about an oscilloscope but couldn’t really justify the cost of a desktop unit.  Then I ran across the Velleman EDU09 PC Oscilloscope Kit. I ended up getting mine from Amazon for about $52USD. 

image

I was just talking with my dad and reminiscing about the Heathkit projects we built when I was a kid.  Among them , there was a multi-meter kit, and after hours of assembly, it didn’t work.  My dad says it took him some painstaking investigation before he discovered a single diode we had inserted backwards.  But you kind of expect that with a kit, and I was not disappointed this time around.  I had a great time putting the kit together, and quickly learned that my soldering skills aren’t what they used to be.  Of course when I was all done, it didn’t work.  I got up the next morning, found some solder joints I had just plain missed, and of course, found a diode (actually an LED) that I had put in backwards. After fixing the problems, my EDU09 worked great.

There are some handy downloads for you if you are going to get one yourself:

One of the first things I used it for was to visualize a Pulse Width Modulation (PWM) signal from my Arduino. I wrote an arduino sketch that simply loops a PWM pin output from 0-255-0 over and over and over.  This signal is visualize by an LED getting brighter then dimmer over and over:

/*

PWMRamp - Ramps a PWM pin up and down

*/

//Output Pin (needs to be a PWM enabled pin)
int outputPin = 9;
//Min value for analogWrite
int minVal = 0;
//Max value for analogWrite
int maxVal = 255;
//Current value
int val = 0;
//Current increment
int inc = 1;
//Delay between loop iterations
int delayMs = 3;

void setup() {
  Serial.begin(9600);
  pinMode(outputPin,A0);  
}

void loop() {
  //Display the current value
  Serial.println(val);

  //Write the current value to the output pin
  analogWrite(outputPin,val);

  //Increment the value by the inc amount
  val += inc;

  //Test to see if the new value is outside the range
  if(val <= minVal || val >= maxVal)
  {
    //if so, invert the increment
    inc *= -1;
    //And clamp the value in range
    val = max(min(val,maxVal),minVal);
  }

  //Wait for the specified ms before continuing
  delay(delayMs);
}

Then I connected the EDU09 via USB to my PC, launched the EDU09 software and connected the EDU09 leads to my  circuit (black lead to ground, red lead to the PWM pin output), and watched the signal on my EDU09.

PWMRamp_bb

I found that the easiest way to get the EDU09 to show the signal was to hit “Run”, then “Autoset”.  It changed the coupling to AC, so I switched it back to DC, and got a great result:

PWMOScope

If you’d like a copy of the files I used, you can GRAB THEM HERE (http://1drv.ms/1upkPpa)

DevOps with Azure and Visual Studio Online

I’m presenting at Denver Dev Day today on “DevOps with Azure and Visual Studio Online”.  If you’d like a copy of my slides, you can grab there here: http://1drv.ms/1mVXDGI

Azure Tour Overview