Search

The Foobot Tech Blog

Only for experienced geeks!

Categories

Data Science at EnergyWise – Part 2

In the second article in a two-part series, we look at the main problems we are trying to solve by applying data science, and how it is technically designed.

Read More

Data Science at EnergyWise – Part 1

In the first of a two-part series, we look at the data-driven philosophy we have in our company, and how work is organized around it.

Read More

Lean Approach to Spark Streaming with AWS EC2

We’ve been using Apache Spark for 1 year, and we wanted to share some thoughts and tips about it.Spark is beautiful. It has a strong and simple API, a vibrant community, a wide ecosystem and lot of satellite projects. However, it doesn’t come for free: you need to understand its API, internal structures, and deployment […]

Read More
drinking-out-of-a-hose

Scaling MQTT connections with RabbitMQ – Part II

We’ve been running our messaging gateways with a more distributed approach as described in for more than a year now, and wanted to share problems we faced and solutions we found.First of all, let’s face it: it has been a shaky road. After an initial period of a few weeks where everything seemed to run […]

Read More

Detecting and visualizing Foobot communities with Louvain method, Spark GraphX and D3.js

Here at EnergyWise, we collect and analyze indoor pollution to make people life safer and easier.We’re analyzing Foobot sensors data individually so we can inform and alert our customers when pollution levels are higher than recommended, but we’re also trying to analyze global trends with various technics.Lately, we’ve been interested in using community detection algorithms. […]

Read More
Scaling MQTT connections with RabbitMQ

Scaling MQTT connections with RabbitMQ

Suddenly, it failedIt happened at the beginning of 2017. Our number of clients had grown steadily so far, and we were confident our current MQTT clusters configuration was strong enough to cope with it for a while.Wrong! So wrong! While we were quietly preparing for weekend leave, several alarm bells rang: rabbitmq node 1 not […]

Read More

Tuning Quartz Scheduler for large number of small jobs

  What we do with Quartz SchedulerWe used Quartz Scheduler in first place to schedule time-based events on a large number of our HVAC devices, in order to trigger changes from one mode to another, and define interactions between modes. We then extended usage of Quartz to different areas, but the main usage pattern remains […]

Read More
Image showing streaming pipeline for the IoT with Apache Spark

A streaming pipeline for the IoT with Apache Spark & microservices

What is EnergyWise doing with Foobot data?We build Foobot, which sends indoor air quality data on a regular schedule. This data represents our users most valuable information, and is why they are buying a Foobot for. This data itself is the core of our business, and as engineers we have to secure the process of […]

Read More