Category · 22 posts

iot

  1. From MQTT to InfluxDB with Dapr

    In a previous post, we looked at using the Dapr InfluxDB component to write data to InfluxDB Cloud. In this post, we will take a look at reading data from an MQTT topic and storing it in InfluxDB. We will use Dapr 0.10, which includes both components. To get up to speed with Dapr, please…

    cloud
  2. Update to IoT Simulator

    Quite a while ago, I wrote a small IoT Simulator in Go that creates or deletes multiple IoT devices in IoT Hub and sends telemetry at a preset interval. However, when you use version 0.4 of the simulator, you will encounter issues in the following cases: You create a route to store telemetry in an…

    azure
  3. Further improvements to the IoT Hub to TimescaleDB Azure Function

    In the post Improving an Azure Function that writes IoT Hub data to TimescaleDB, we added some improvements to an Azure Function that uses the Event Hub trigger to write messages from IoT Hub to TimescaleDB: use of the Event Hub enqueuedTime timestamp instead of NOW() in the INSERT statement (yes, I know, using NOW() did…

    iot
  4. Improving an Azure Function that writes IoT Hub data to TimescaleDB

    In an earlier post, I used an Azure Function to write data from IoT Hub to a TimescaleDB hypertable on PostgreSQL. Although that function works for demo purposes, there are several issues. Two of those issues will be addressed in this post: the INSERT INTO statement used the NOW() function instead of the enqueuedTimeUtc field;…

    analytics
  5. Dashboard your TimescaleDB data with Grafana

    In an earlier post, I looked at storing time-series data with TimescaleDB on Azure Database for PostgreSQL. To visualize your data, there are many options as listed here. Because TimescaleDB is built on PostgreSQL, you can use any tool that supports PostgreSQL such as Power BI or Tableau. Grafana is a bit of a special…

    analytics
  6. Azure Functions with Consumption Plan on Linux

    In a previous post, I talked about saving time-series data to TimescaleDB, which is an extension on top of PostgreSQL. The post used an Azure Function with an Event Hub trigger to save the data in TimescaleDB with a regular INSERT INTO statement. The Function App used the Windows runtime which gave me networking errors…

    iot
  7. IoT with Azure Database for PostgreSQL and TimescaleDB

    In IoT projects, the same question always comes up: “Where do we store our telemetry data?”. As usual, the answer to that question is not straightforward. We have seen all kinds of solutions in the wild: save directly to a relational database (SQL Server, MySQL, …) save to a data lake and/or SQL save to…

    iot
  8. Adaptable IoT

    On May 24, 2017 I gave a short partner session at Techorama, a technology event in Belgium for both developers and IT Pros. You can find the slides on SlideShare: https://www.slideshare.net/gbaeke/adaptable-iot Since it was a short session and a short slide deck, this post provides a bit more background information. First, what do I mean…

    analytics
  9. IoT Hub Device Twin and MQTT

    When you connect to IoT Hub with MQTT directly, you need to connect with a ClientId, username and password. Those three values need to be set according to Azure IoT Hub specificiations: ClientId: use the IoT Hub deviceId Username: use {iothubhostname}/{deviceId}/api-version=2016-11-14 Password: use a SAS token When you connect with MQTT, you will notice it…

    api
  10. IoT Hub and Azure Time Series Insights

    Azure Time Series Insights is a new service that makes it very easy to store and visualize time series data. In this blog post, we will create a dashboard that looks like the one below (click to enlarge): The dashboard has four sections: Query1: a heat map of events per device; in this case there…

    analytics
  11. Getting started with Kubernetes on Azure

    As you may or may not know, at Xylos we have developed an IoT platform to support sensor networks of any kind. The back-end components are microservices running as containers on Rancher, a powerful and easy to use container orchestration tool. In the meantime, we are constantly evaluating other ways of orchestrating containers and naturally,…

    azure
  12. Controlling Sonos from a Particle Photon using a Sonos API on a Pi 3

    In the previous article, Control Sonos with a easy to use API, we configured a Docker container on a Raspberry Pi 3 to run an easy to use Sonos API. I prefer this solution over writing code on the Photon to control Sonos. Now it is time to let the Photon talk to the API…

    api
  13. Control Sonos with an easy to use API

    In an earlier post, Controlling Sonos from a Particle Photon, we created a small app to do just that. The app itself contained some C++ code to interact with a Sonos player on your network. Although the code works, it does not provide you with full control over your Sonos player and it’s tedious to…

    api
  14. Temboo, Twilio and Nexmo: SMS and voice messages from your IoT device

    In this post, I will provide an overview of how to use Twilio and Nexmo to send SMSs and voice messages directly from your device. I will use a Particle Photon but this also works from an Arduino, or a Raspberry Pi or basically any other system. The reason for this is that I will…

    api
  15. Controlling Sonos from a Particle Photon

    Now for something fun! Let’s control a Sonos from a Particle Photon and a connected button. I connected a Grove Button to the Particle with simple male-to-female wires. The SIG line on the button should go to a digital port (D0 in my case). When the button is pressed, the port will read HIGH and…

    arm
  16. Particle and Azure IoT Hub: forward events for storage and analysis

    In a previous post about Partice published events, you have seen how to publish custom events to the Particle Cloud. Other devices or applications can subscribe to these events and act upon them. What if you want to do more and connect these events to custom applications? In that case, Particle has a couple of…

    arm
  17. IoT with Particle and Porter

    In an earlier article, we took a look at Particle Functions and Variables. We wrote a simple application that can blink an LED with a function and read the value of a photoresistor with a variable. Although you can easily call the function or read the variable with the Particle CLI or with a REST…

    arm
  18. IoT with Particle: publishing events

    In the two previous posts, we discussed setup and talked about triggering actions and reading sensor data. Particle also allows you to publish events. You can subscribe to these events or pass them to other systems such as Azure IoT Hub. Let’s build on the previous example with the LED and the photoresistor. When we…

    arm
  19. IoT with Particle: Functions and Variables using the Build IDE

    In yesterday’s post, I talked a bit about the setup process and initial configuration of a Particle Photon. To start quickly, we used the Tinker firmware and the Particle iOS app to light up a LED using digitalWrite to light it up with full brightness (full 3.3V) but also with analogWrite to vary the brightness…

    arm
  20. IoT with Particle: a smooth experience

    At ThingTank, the IoT brand of Xylos, we make our own IoT hardware which can be quite complex if you need to connect multiple sensors efficiently, or even multiple MCUs where each MCU has its own set of sensors. Most people that want to start with IoT (typically at home or for a small company…

    arm
  21. IoT Hub Scaling

    When you work with Azure IoT Hub, it is not always easy to tell what will happen when you reach the limits of IoT Hub and what to do when you reach those limits. As a reminder, recall that the scale of IoT Hub is defined by its tier and the number of units in…

    azure
  22. Bots in an IoT context

    At ThingTank (@thingtankBE), we are constantly looking to expose IoT data in different ways. A chat bot can be a great way to ask for device measurements or even instruct devices to perform actions. In this post, I will describe a bot that gets air quality data for a meeting room with Slack. I chose…

    azure