ScaleConf

ScaleConf was an awesome 2 day conference.
https://scaleconf.org/ In is held annually at Kirstenbosch, which is an amazing venue. There were some really interesting talks too!

I was lucky enough to this year be helping out at the Microsoft booth. I’m always in my element to be able to chat to the community about anything developer related.

The plan was an agenda of various Microsoft Demos presented by the booth team:
https://cptscaleconfmsdemos.z6.web.core.windows.net/

It didn’t quite end up like that, and we ended up talking about what was requested, which was great. In my case, not only did I get to chat about Bots and ML .NET, but also got to speak about Xamarin and IoT too, which for me is always just plain awesome!!!

ScaleConf Kicking off
We are ready 🙂

Stickers!!
More Stickers 🙂

Day 2 Kicks Off
Azure IoT was a hot topic

Twitter Verse

ZX Spectrum IoT Fun

I started programming when I was 5. The ZX Spectrum started it all, back in the 80s. I recently started collecting ZX Spectrums. I’m also busy with IoT projects on Azure. Anything can really use Azure IoT Hubs, so how better to illustrate this than combine my two passions. 🙂

Azure Cape Town – Azure and the Internet of Things

Last night was a fun evening of Azure Iot at the Azure Cape Town user group.   Thanks to all for coming, I hope it was useful.   The turnout was awesome!

 

I’ve made all content available.

 

Presentation:   https://github.com/apead/XUGSA/tree/master/12092017

 

Android Things Weatherstation (Android Studio):   https://github.com/androidthings/weatherstation

 

Android Things Weatherstation (Xamarin):   https://github.com/apead/Xamarin-AndroidThings-Contrib

 

MX Chip kit Twitter Shake-Shake:  https://microsoft.github.io/azure-iot-developer-kit/docs/projects/shake-shake/

 

This session featured

 

Azure Functions

Azure Iot Hub

Azure Stream Analytics

Azure Machine Learning

Android Things

MX Chip Azure Iot Kit

And other Iot platforms and devices (Arduino, Netduino, Raspberry Pi, Windows 10 Iot, Xamarin Iot)

 

 

More Devices!

 

Weatherstation

 

Happy Iot’ing!

Cross Platform Iot at CTXUG

Last night was the Cross Platform Iot Session at CTXUG in Cape Town.    The turnout was absolutely amazing!    Thank you to all for coming it was a really fun evening!

 

Roger Weiss from Aliens kicked off with an overview of Windows 10 Iot Core and a few demos.  These demos featured some awesome use of Microsoft Cognitive services and also some nifty voice controlled home automation.

 

It was then my turn.   Unfortunately Chris van Wyk couldn’t make it this evening.  🙁

 

The session featured

 

Visual Micro for Visual Studio

Visual Studio Code with Arduino Extension which is now Open Source.

Xamarin Forms and Xamarin.Android with Android Things 0.41 Preview

The new Xamarin Iot preview for Linux based devices

Azure Iot Hubs

 

Devices wise 

 

Raspberry Pi 3

Intel Edison

Raspberry Pi Zero W

Latte Panda and Arduino Leonardo

MXChip Azure Kit

Devices everywhere! Latte Panda, Pi With Android Things. NexDock

 

The awesome new MXCHIP Azure Iot kit (Arduino)

 

The presentation can be found here:  https://github.com/apead/XUGSA/tree/master/19072017

Android Things Weather Station Sample with Azure Iot Hubs:    https://github.com/apead/Xamarin-AndroidThings-Contrib

Cross Platform Generic Xamarin Forms sample that ran on Phone, Android Things and Windows 10 Iot (I didn’t demo this, but it works too):   https://github.com/apead/XUGSABuildAutomation

 

Xamarin Android Things Nuget:  https://www.nuget.org/packages/Xamarin.Android.Things/0.4.0-devpreview

 

Xamarin Android Things Contrib Drivers:  https://www.nuget.org/packages/Xamarin.AndroidThings.Contrib.RainbowHat/0.40.0-beta

 

Getting Started with Xamarin Iot:   http://explorationspace.co.za/2017/06/21/xamarin-iot-comes-to-visual-studio-2017-on-windows/

 

MXChip Azure Kit:   https://microsoft.github.io/azure-iot-developer-kit/

 

Android Things Starter Kit with Rainbow Hat:   https://shop.pimoroni.com/products/rainbow-hat-for-android-things

 

Rainbow HAT

 

There’s a Xamagon!

 

Interesting VR Stuff happening in Aliens office

Cross Platform Iot at GXUGSA

Last night was the Cross Iot Session at GXUGSA in Johannesburg.    It’s always fun presenting all the Iot toys, but also what can actually be done with Xamarin and the rest of the Microsoft tooling.

 

It’s also not always clear that you can basically do anything you want with Xamarin, so always nice and exciting to showcase it outside the usual phone type scenarios.

 

 

Gert Talking Windows 10 Iot Core

 

 

The session featured

 

Visual Micro for Visual Studio

Visual Studio Code with Arduino Extension which is now Open Source.

Xamarin Forms and Xamarin.Android with Android Things 0.4 Preview

The new Xamarin Iot preview for Linux based devices

Windows 10 Iot Core

Azure Iot Hubs

 

Devices wise 

 

Raspberry Pi 2 + 3

Intel Edison

Raspberry Pi Zero W

Latte Panda and Arduino Leonardo

MXChip Azure Kit

Devices Devices Everywhere

The presentation can be found here:   https://github.com/apead/XUGSA/tree/master/11072017

 

Android Things Weather Station Sample with Azure Iot Hubs:    https://github.com/apead/Xamarin-AndroidThings-Contrib

Cross Platform Generic Xamarin Forms sample that ran on Phone, Android Things and Windows 10 Iot:   https://github.com/apead/XUGSABuildAutomation

 

Xamarin Android Things Nuget:  https://www.nuget.org/packages/Xamarin.Android.Things/0.4.0-devpreview

 

Xamarin Android Things Contrib Drivers:  https://www.nuget.org/packages/Xamarin.AndroidThings.Contrib.RainbowHat/0.40.0-beta

 

Getting Started with Xamarin Iot:   http://explorationspace.co.za/2017/06/21/xamarin-iot-comes-to-visual-studio-2017-on-windows/

 

MXChip Azure Kit:   https://microsoft.github.io/azure-iot-developer-kit/

 

Android Things Starter Kit with Rainbow Hat:   https://shop.pimoroni.com/products/rainbow-hat-for-android-things

 

Rainbow HAT

 

Behind the Scenes Fun 🙂

Android Things Contrib Drivers for Xamarin Sample Added

Last week I pushed the Xamarin version of the Google Contrib drivers to Nuget.    I’ve now added a sample project, to illustrate how it all works.    The sample also includes the use of Azure Iot Hubs.

 

The sample and the Xamarin components for Android Things Contrib can be found here:  https://github.com/apead/Xamarin-AndroidThings-Contrib

 

The Google Contrib drivers provides for the following components:

 

  • Sparkfun ADC Block for Intel Edison – adcv2x
  • Apa102 RGB LED strip
  • Bmx280 temperature and pressure sensor
  • Push button over GPIO
  • Cap12xx capacitive touch buttons
  • GPS
  • Ht16k33 7-digit alphanumeric segment
  • Mma7660fc accelerometer sensor
  • PWM speaker/buzzer
  • Metadriver for the Rainbow HAT
  • Metadriver for the Sense HAT
  • Ssd1306 OLED display
  • Tm1637 4-digit numeric segment display

 

You can find more details on each can be found within the Android Things Github repo:  https://github.com/androidthings/contrib-drivers

 

A great test of the contrib drivers is Pimoroni’s Rainbow Hat.   https://shop.pimoroni.com/products/rainbow-hat-for-android-things   The Rainbow HAT brings together a lot of the components mentioned above on one board.   It’s provided with the Android Things Starter Kit so it’s a very good place to start.       The first sample I’ve added here focus’s on this specific HAT.

 

I’ve added a Nuget package which contains the entire contrib library.    The nuget is built on version 0.4 preview of Android Things  It can be found on nuget.org:   https://www.nuget.org/packages/Xamarin.AndroidThings.Contrib.RainbowHat/0.40.0-beta   Something to note, it’s still a pre-release nuget package.

 

The sample added is based on the google Weather Station sample.  It has one difference, it uses Azure Iot Hubs for cloud messaging.

 

Sample Functionality

  • Temperature Monitoring
  • Pressure Monitoring
  • Push Button (A) to swap display from Temperature and Pressure on the board display
  • Native UI for RaspberryPi to display weather based on air pressure
  • Telemetry sent from Android Things Device to  Azure via Azure Iot Hubs
  • Message support from Azure to Android Things Device.

 

To uses the Iot hub in the sample, the DeviceId, DeviceKey and HostName of an Azure Iot hub will need to be provided.    I will do a post specific on Iot Hubs to provide more detail on this in subsequent blog posts.    These variables are set in the MainActivity.

 

 private bool _useHubs = true;   //  Set this to true to use Azure Iot Hubs

 _weatherDevice.DeviceId = "<Add Azure Iot Hub Device Id Here>";
 _weatherDevice.DeviceKey = "<Add Azure Iot Hub Device Key Here>";
 _weatherDevice.HostName = "<Add Azure Iot Hub Hostname Here>";

 

Weather Station

 

The sample  uses Xamarin’s own 0.4 Preview nuget for Android Things:   https://www.nuget.org/packages/Xamarin.Android.Things/0.4.0-devpreview

 

I’m in the process of creating more samples of the rest of the contrib library.    I’m also packaging more third-party drivers from around the community into reusable Nuget packages for Android Things with Xamarin.

 

I’m also having a lot of fun at the moment with a version of these drivers, built from scratch to work with Xamarin Iot.  We can then have these components (and Rainbow HAT) working on Linux devices which will of course be awesome!

 

Happy Iot’ing with Xamarin!