1 February, 2018

January 2018 change log

Major flespi improvements in January 2018

January 2018 was a productive month with a few new features introduced to the platform. We have something for developers relying on flespi in their applications and for laymen, a little technically-savvy, but not software engineers.

  • The most exciting feature for many people in telematics industry is our universal configurator. We introduced the concept of device type in the flespi registry. Now flespi registry and flespi gateway — two separate communication layers with telematics and IoT devices — become independent. To communicate with tracking devices in flespi, you need to create a channel that operating over a specified protocol. Previously, during device setup, you had to specify an ident (a unique device identifier) and a channel you want the device to connect to. Now you only specify a type of device and flespi will allow using any channel operating on the protocol associated with this device type to connect to flespi.
  • Why did we need an additional level of abstraction over protocols? To make flespi platform more powerful, flexible, and affordable for our users. Let’s take a look at teltonika protocol. We have 20+ various device types associated with this protocol. All of them have different I/O parameter meanings, different settings, expect different SMS and GPRS configuration commands, and may behave a bit differently. But all these devices can communicate over one channel operating via teltonika protocol. Same is true for the queclink protocol. Multiple queclink devices, but all relying on one protocol.
  • To make things even simpler, we introduced a built-in flespi modem that can be used to send 50 free SMS each month. Now to connect a device to flespi, you do not need a cable anymore — everything is doable over-the-air (OTA). You do not have to know or type the SMS commands on your phone — everything is formatted by the platform itself. For those needing more than 50 SMS monthly, it is still possible to create and configure another modem — we integrated two types: generic SMPP and Clickatell SMS Platform. You can use multiple modems simultaneously and prioritize them.
  • We integrated flespi gateway into Traccar — Open Source GPS Tracking Platform. Now Traccar users receive all the benefits of both platforms — more precise parsing of various input parameters, processing more devices on the same hardware due to the reallocation of CPU and RAM load out of the Traccar platform.
  • flespi.com website got new pages covering the support of the MQTT technology in flespi. First, we published our MQTT broker as a separate product that can be used outside telematics industry and independent from the flespi platform. Second, we published a special page for flespi-related part of MQTT technology — our MQTT API. We strongly recommend our users that started with REST API to try MQTT as well. We benchmarked various aspects of HTTP vs MQTT and came to a conclusion — when you need the lowest latency to process data from devices, MQTT API is preferable.
  • Our MQTT broker in January obtained a couple of new features — we introduced the possibility to define special MQTT-only pub/sub ACL entries for tokens and the possibility to connect to the broker directly from a web-browser/javascript using MQTT over WebSockets. The new features gave developers a mechanism to implement a new technological stack for communication between backend and frontend components in any system, not just telematics. We talk about the new technology stack on our blog and will use it in new Gurtam projects. The new technology ensures seamless and secure data delivery from backend components to web-applications, and rough estimates promise a significant cut in implementation time and maintenance cost. 
  • The flespi platform showed 99.979% uptime in January 2018. We had a few small network connectivity problems due to core routers maintenance by the uplink provider and one 423 seconds downtime resulting from the complex upgrade of the gateway and registry modules related to introducing device types. We failed to upgrade the system from the first attempt and, after four minutes of downtime, we reverted the process. After we found the reason for failure, removed the human factor, and started the upgrade for the second time, everything went smoothly and we finished the large upgrade with less than 40 seconds downtime. Note, that only the telematics part of the platform went offline, while our storage engine and MQTT broker provided uninterruptible service.
  • During the implementation of the new authorization system and deep analysis of existing authorization scripts, we discovered a vulnerability that could be used to obtain access with other person’s account. The vulnerability occurred due to our flexible REST API selectors and is similar to an SQL-injection. To take advantage of this vulnerability a person should have known a lot about flespi or better have access to the source code. Well, we fixed it before anyone tried to use this hole and revised all other places where such vulnerability could pop up. Now flespi authorization system is checked and protected properly.
  • For those of you using the flespi storage engine for persisting time series data, we have added some new features like events over MQTT when a new message is registered into a container or abque and visualization of containers and abques on the panel GUI.

On February 12-16 the flespi team will work from Groningen, the Netherlands. We picked the Netherlands because this country strives for the highest standards in many domains, and this is what we want to keep delivering to the world. We will discuss our future projects and recharge in the new setting away from the Belarusian winter and closer to the North Sea. We may be slow to reply but not because of Dutch pubs or coffee shops, but because of our strategic talks and brainstorming sessions :)

In February we plan to integrate more protocols, add lots of settings for OTA devices configuration to existing protocols and some new features for our MQTT broker — shared topics subscription for load balancing in messages queue processing.

Thanks for staying with us!