Dela via


NETMF Applications: Smart Gateway for a range of heating/power generation plants

A question that I am frequently asked is where NETMF is used commercially.  This would be an easy question to answer if we charged for the platform, because then we would know who our customers are.  But as an Open Source project, we only hear anecdotally what people are doing.  This is the second in a series of blog posts (NETMF Applications) to share some of the creative implementations that we have heard about.

For this blog, I am cheating a bit. The application that I am writing about is already well described in a PDF posted by the Mountaineer Group.  All I want to do is add some context and otherwise let you read what they already have said.

The Mountaineer Group is located in Europe (Switzerland and Italy) where they offer a full set of engineering services from hardware to firmware to application development. Their focus is on IoT applications.  In his spare time, Cuno Pfister  principal of Oberon microsystems – part of the Mountaineer Group) wrote “Getting Started with the Internet of Things”. This introductory text was written for the maker community.  He has also written heavier books on “IT architecture: Fundamentals, concepts and implementation”In the commercial project mentioned earlier, connectivity was added to a range of combined heat and power plants by adding a low cost and flexible gateway. Here is a description of the project and how they executed on it.  Take a read - https://www.mountaineer.org/app/download/7120290775/NETMF+Reference+2G+Drives+V20131023+final.pdf?t=1382521965

In talking with Cuno about the project, the biggest challenge was to make the network code “industrial strength”. This was achieved thanks to the cooperation with CSA Engineering, the other Mountaineer Group member involved in the project who also did the hardware design of the industrial M4-MCU board (https://www.mountaineer-boards.com/prime/m4-mcu/) that was used for 2G Drives and which could easily be used in similar projects. The thing Cuno would like to change in the Micro Framework is  more robust tooling for NETMF within Visual Studio in the short term, and the option for a NETMF-compatible C# cross-compiler for Cortex-M in the long term.

The Mountaineer Group has created an open source hardware platform with two mainboards that support the Gadgeteer interfaces for rapid prototyping.  The Oberon microsystems team has their own port of NETMF to the STM32 microcontroller family – a port which has become the basis of many, if not all, of today’s NETMF ports targeting Cortex-M microcontrollers and which has been used by a number of commercial devices from different vendors. Oberon has meanwhile extended their port in a number of interesting ways including:

  • a fast driver for SD Cards (4-bit interface)
  • a driver for USB Host support (mass storage profile)
  • both SD cards and USB sticks can be used with a FAT file system
  • the file system and drivers support more than the 4 GB limit common to most NETMF implementations
  • a full-featured hardware watchdog implementation (supporting timeouts of up to two minutes)
  • a library for reading an STM32 microcontroller's unique 96-bit ID, and for creating and storing public/private key pairs
  • a hardware random number generator supporting the standard .NET namespace System.Security.Cryptography
  • the Oberon.NaCl crypto library, which implements Daniel Bernstein’s crypto API but with a considerably smaller footprint and more than an order of magnitude faster than Bernstein’s standard C implementation
  • an example and documentation of how to implement encrypted and signed in-field firmware updates using the MFUpdate mechanism and Microsoft Azure for distributing update images
  • More information about the background and history of the Mountaineer Group can be found here on their Web
    site: https://www.mountaineer.org/mountaineer-group/history-and-team/.

What’s next? CSA Engineering is working on a major revision of their M4-MCU industrial board, using a newer microcontroller and a different memory subsystem. The Italian Mountaineer Group company Innovactive is working on a NETMF module in SODIMM format (https://www.tinyclr.it/in-esclusiva-per-tinyclrit-un%E2%80%99anteprima-del-primo-modulo-net-micro-framework-con-co-microcontrollore-dedicato.aspx). Oberon microsystems is working on a third commercial derivative of the original Mountaineer platform: a reference design for smart gateways programmable in C# and Visual Studio. Initially, these gateways will enable Web access to Bluetooth Smart beacons, for person and asset tracking applications (www.limmat.co).

These guys are obviously a very bright set of engineers with great assets. Check them out.

Comments

  • Anonymous
    December 15, 2014
    The comment has been removed

  • Anonymous
    December 15, 2014
    Yes, I have been pouring over their website.  I am so glad they are out there doing the work.  When is MS going to pick up the pace with providing netmf on lots of boards, including Intel Edison? Thanks for the great work. Terrence

  • Anonymous
    December 16, 2014
    Intel Edison is an interesting selection.   What is it you like about that board?   BTW - we are looking into platform portability and networking support.

  • Anonymous
    December 18, 2014
    The comment has been removed

  • Anonymous
    December 20, 2014
    Colin, I like the fact that it has wireless and ble all in a tiny package.  I want to build sensor modules that are small and capable and the Edison has that.  The problem is I would rather use c# as that is my language of choice. Thanks.

  • Anonymous
    December 20, 2014
    I would also like netmf to run on the Nordic nRF51822.  Have you seen what they are doing with that chip, enabling the ble to talk with wifi routers via ipv6.  Yikes.

  • Anonymous
    January 06, 2015
    @ Terrence The Nordic chip has by far too little memory for NETMF. For our Limmat gateway (www.limmat.co) we are using a separate STM32 for NETMF and the application logic. Regarding IPv6 over BLE, I'd first like to see the power consumption penalty - measured real-life numbers - before getting too excited ;-)