IoT Developers, Check Out These Development Tools!


Many developers have heard about the buzz: Internet of Things (IoT).  As a standalone IT field, IoT has attracted lots of attentions for its huge potentials. But the ecosystem of IoT is too complicated and fragmented, leaving people easily get lost.

 

IoT Developers Need Tools

In recent years, more and more people realized that the IoT technology adoption has a developer driven nature. It's largely due to the fragmented nature of IoT ecosystem: there are so many scenarios, technology choices; there are always multiple ways to resolve the same problem using different technologies. Providing useful development tools and helping developers to learn, evaluate and adopt different technologies become more and more important.

At Microsoft, with our offerings on Microsoft Azure IoT, we realized that there is a big gap for developers to be more productive when they develop the IoT applications on public cloud like Azure. We encountered different type of developers: traditional embedded developers who are familiar with C-based technical stack and want to learn and prototype cloud applications; mobile and cloud application developers who are comfortable developing in cloud using the popular tech stacks, but feel challenging handling hardware, drivers and firmware; traditional enterprise software developers who often need to integrate their legacy system with new technical stacks on device or in cloud.

In order to help them to succeed on public cloud, for the past months, we developed different tools to help IoT developers to be productive on Microsoft Azure.

 

Tools for IoT Developers to Learn and to Prototype

For developers who come from other software background, and new to IoT, we provided the following tools for them to effectively get started about developing IoT application on Microsoft Azure, and turn their IoT ideas into reality by leveraging the cloud services Microsoft Azure can offer:

  • MXChip IoT Developer Kit
    • An all-in-one, Arduino compatible development kit with lots of essential sensors (humidity, temperature, gyroscope...) and modules (microphone, screen, security chip...) on a smaller than credit card sized board.  With the integration of Azure IoT Device SDK makes it really easy to connect to Azure IoT services to build your Azure powered IoT applications.
  • Visual Studio Code Extension for Arduino
    • An Arduino extension for the cross-platform open-sourced Visual Studio Code, to make it easy to code, build, deploy and debug Arduino codes. It provides rich set of extra functionalities, like IntelliSense, auto code completion and on-device debugging for supported boards, in addition to the Desktop Arduino IDE's core features. The project has seamless support for "MXChip IoT Developer Kit", and has been open sourced at GitHub.

  • "Happy Path" Get Started Tutorials
    • A collection of tutorials with step-by-step get started or scenario-based lessons, to teach developers how to easily prepare, configure, and connect devices to the cloud, develop and deploy IoT applications and prototypes to Microsoft Azure IoT. Currently the tutorials support more than 500 devices listed in Azure IoT Device Catalog and all Azure IoT Starter kits. It also covers the simulated devices using popular languages such as .NET, Java, NodeJS and Python, as well as the simulated gateways.

  • Online Device Simulator
    • There are many developers who want to try IoT development, don't have a device, or haven't decided on a device yet. We built this Online Device Simulator to help them experience how to quickly connect to the Microsoft Azure IoT by modifying the sample codes. We started with the popular device Raspberry Pi for the simulator, so you can try it out all within a web browser!

Connect Raspberry Pi web simulator to Azure IoT Hub

 

Tools for Professional IoT Developers

For developers who are developing in a team with real-world IoT applications, we provided tools to empower them to easily develop, test, debug, monitor and operate the IoT applications on Microsoft Azure. Some of the tools we have released or will release soon:

  • Azure IoT Gateway/Edge SDK packages
    • Microsoft Azure has previewed the IoT Edge, to extend cloud intelligence and advanced analytics to edge devices, reduce the IoT solution costs, simplify the development and enable devices to operate offline or with intermittent connectivity. We provide the developer tools to enable the IoT developers to easily develop on Azure IoT Edge. We are working towards the tools for next version of IoT Edge, and will release soon.

  • IoT connected service extension for Visual Studio
    • A Visual Studio 2017 extension to help developers easily provision, manage the IoT Hub, create, connect and manage the device on IoT Hub, and support key operations such as Device-to-Cloud/Cloud-to-Device messages, Device Twin and Direct Methods between the connected devices and IoT Hub in the cloud.

 

We Want Developers to Use the Tools

We are actively reaching out to the developer community to learn their real pain points and tooling needs when developing IoT application in public cloud. We work hard to continuously improve our existing tools, add new tools to our portfolio. And we work with community contributors through the projects we open sourced to exemplify our goal: Develop by the Developers, for the Developers.

Our biggest rewards and incentives are that developers use our tools everyday to help their IoT development.

For future updates on our IoT Tooling, please bookmark and follow our blog for IoT developers: https://aka.ms/iotdevblog

Comments (5)

  1. Eric Tsai says:

    Hey! Thanks for writing this up. I do have a few comments. I haven’t found a good microcontroller-based example that uses a cellular module to connect Azure. The existing microcontroller examples seem to assume a wifi interface. Just like this one with the MXChip.

    You guys have an mbed AMQP example. What hardware target was this tested on? It looks like it relies on using a ethernet library. How about an AMQP IoTHub example that uses a Telit cellular modem’s AT commands?

    1. Zhidi Shang says:

      Thank you for your comments! Currently the DevKit (with MXChip) doesn’t have cellular module, largely due to the cost constraint. Based on your interest, you can always extend the hardware using the accessories like https://www.kitronik.co.uk/microbit/bbc-micro-bit-accessories.html or https://www.sparkfun.com/products/13988, with other modules/sensors. If you can make it work, you’re welcome to share with the community, e.g. publish your work at https://microsoft.hackster.io. You can get more community technical support at https://gitter.im/Microsoft/azure-iot-developer-kit

  2. Walt says:

    Do you have a Twitter account we can follow rather than an RSS feed?

  3. Jon Mikel Inza says:

    Hi,

    Is there any plan to deliver a set of simulators (local, not online) in order to make development easier?

    Thanks.

    1. Hi, Jon. Do you want to a local simulator to send messages to the Azure IoT Hub? You could try the cross-platform Azure IoT Toolkit extension for Visual Studio Code: https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.azure-iot-toolkit
      It lets you simulate the device-to-cloud messages very easily, as well as other features like interacting with Azure IoT Hub and managing devices connected to Azure IoT Hub

Skip to main content