Cesanta has attended Embedded World Conference in Nuremberg, Germany held on 14-16th of March 2017.
Ceanta’s CTO Sergey Lyubka delivered a keynote on the IoT Stage.
Cesanta has attended Embedded World Conference in Nuremberg, Germany held on 14-16th of March 2017.
Ceanta’s CTO Sergey Lyubka delivered a keynote on the IoT Stage.
Ceanta’s CTO Sergey Lyubka delivered a keynote on the Developer's Stage of IoT Tech Expo in London held on January 23rd, 2017.
Cesanta has released the next version of Mongoose Networking Library. The highlights of this release are:
Problem solved: AWS IoT + Mongoose OS + crypto chip = IoT Security
An interpreter for a dynamically typed language needs to encode values in such a way that the value type is accessible at runtime alongside the value itself. There are a few tricks to encode the type compactly. Here, we discuss a quite common and ingenious trick, shared with some well known JS virtual machines.
One of the things that make programming today so much more approachable is the the automatic memory management feature of many high-level programming languages. However, exactly this piece is often missing from embedded platforms, and there is a reason for that: the well-established techniques used by modern Garbage Collection (GC) systems are designed with radically different trade-offs than what embedded systems with a few KB of RAM dictate.
We are delighted to release Mongoose Embedded Web Server 6.6 today!
You know, Mongoose is more than an embedded web server. It’s a multi-protocol networking library. And, in this spirit, we have expanded the functionality even further. Check out the below, download Mongoose and test for yourself!
Last week, I shared the huge amount waste each household faces simply from food that wasn’t consumed. Check out the blog post “Is there real value in smart fridges”. The solution here was simple, put a fridge in the pockets of consumers and they will buy what they need (not what they already have the fridge and forgot about). But, let’s spin the idea further. What is the larger Internet of Things potential for refrigerators?
How often do you want to test something and need hardware? How often do you then not have the right hardware to hand? Well, we hear your pain. This is why the cloud of Mongoose IoT Platform comes with a virtual device. It allows you to test a potential IoT integration without needing a physical device.
Mongoose Embedded Web Server supports a lot of protocols. We think we’ve added the most popular ones like HTTP, WebSocket, MQTT and more. But, there are many protocols that aren’t supported. And there always will be.
All problems in computer science can be solved by another level of indirection, except of course for the problem of too many indirections.
A great quote and a good intro to this blog post! We want to give you an insight into the Internal Networking Interface (INI) of Mongoose Embedded Web Server.
Embedded development is complex and many companies simply don’t have the internal know-how to embed and connect their devices. These organisations either face the challenge of hiring new engineering teams or working with established system integrators.
Cookie authentication and session management are important for web applications. Mongoose Embedded Web Server supports basic and digest authentication, which gets the job done, but, it doesn’t let web app control the UI. It’s a simple prompt created by the browser and rarely blends well with the rest of the app.
Our engineers share the background to our Continuous Integration (CI) process in this design doc. Internally, the team decided to nickname it OurCI and you’ll see it referred to as such in the design doc below.
Hot on the heels of our 1.0 release come newly implemented improvements and suggestions from our users. We are proud to announce Mongoose IoT Platform 1.1 with the following new features:
Today, we are sharing the first of our design docs with you. If you remember, our design docs show a history of our engineering process and shed some light on how we develop Mongoose IoT Platform. This one is all about the visual design of the “on/off switch” control.
Mongoose IoT Platform is growing, in fact stay tune for some exciting releases soon. We get asked a lot how we make decisions and the background to how Mongoose IoT Platform is built. So, over the coming months we are going to share a series of our Design Docs to give you an unique insight into how our engineering team works.
Mongoose Embedded Web Server is back with this quarter’s release: 6.5.
As always, we have taken your suggestions and feedback to improve Mongoose on board and hope you like the new functions:
Mongoose is known as one of the best embedded web servers currently available. From starting as a single-click-to-run executable to now being an embedded networking library, its functions range from WebSocket to MQTT and more.
In an industrial setting the Internet of Things is known as the Industrial Internet of Things (learn about the difference between M2M, IoT and IIoT here). Here some of the most well-known example applications:
We are delighted to share the release of Mongoose IoT Platform 1.0RC with you. Our goal with Mongoose IoT platform has always been been to make IoT product development faster and simpler.
For many Internet of Things (IoT) applications, embedding a HTTP / WebSocket server on a device is enough to get the job done. Oftentimes, this solution can be faster, simpler and more cost effective. Choosing the right web server can be difficult, so let’s run through the decision making factors.
The summer is finally here! Longer evenings, quieter days around the office as vacation season is in full swing. What a great time to catch up with the hot IoT and embedded topics from our blog from the last year!
Development aid and nonprofit organisations are faced with adversities on a daily basis. Natural disasters, breakages of water pumps and other equipment, funding gaps and much more. Can technology really help to deliver aid and support to people in need?
The most well-known IoT-enabled devices sit firmly in the HVAC (heating, ventilation and air conditioning) space. We all know Google’s Nest as the home thermostat that can be accessed from anywhere and that learns your habits. There are plenty more HVAC opportunities for the Internet of Things. Let’s check out some of them:
Cesanta is delighted to announce that NASA has become a Mongoose Embedded Web Server customer. Our team here are space travel enthusiasts and being part of the International Space Station (ISS) is a real honour.
The definition of hospitality is the friendly and generous reception and entertainment of guests, visitors or strangers. It’s all about the guest. For the hospitality industry it is key to provide experiences that delight each and every customer. A challenge that the Internet of Things can help with!
Today, I am going to show you how to use Mongoose to file upload to Amazon S3 service. In essence, this is an example on how to make a RESTful service that uses another RESTful service. As always, the full source code of this example is available on Github. All you need to do is to clone the repo and type “make” in the example directory.
Health is a growing industry. From gyms and new training methods, to clothing and of course medical advances. In each of these the Internet of Things plays an important role. Check out these examples:
We are pleased to announce that Cesanta has become a partner of Texas Instruments (TI). You can now find us in the Texas Instrument’s IoT ecosystem.
Our homes are incredibly important to us. They are where we enjoy our family time, have our dinner parties with friends and come to relax after a busy day. They are our sanctuary and hold many memories. We want to keep our homes safe, and here are some IoT-enabled products that help you do exactly this.
Supermarkets, coffee shops, restaurants and catering kitchens all deal with perishable food. The fear being that through a malfunction or a regulatory issue, the food fuelling their business perishes and losses are made. The Internet of Things can step in to help avoid these situations. Here’s how:
Netcat is a well known networking tool that can do tons of things. Arguably, the most common use case is reading data from a remote TCP or UDP endpoint and write it to the stdio, or vice versa. For example, this is how a simple HTTP request could be made with netcat:
“A dry March, a wet April and a cool May fill barn and cellar and bring much hay.” While farmers may have considered proverbs like this one in the past, smart farming adds the data to prove it.
When we think of connected or smart products, our minds first tend to think about consumer products like thermostats. However, many other industries benefit from the Internet of Things. Let’s check out examples and ideas for the automotive industry.
Many users ask us how Mongoose Embedded Web Server can be used in a multi-threaded environment. It is not trivial, and today we’ll show you how to do it correctly.
The Internet of Things is transforming how business is done and how close companies can get to their consumers. Smart products need to be developed at speed and at scale. Security is often the piece of the puzzle that suffers.
Taking you from the definition of the Internet of Things and the impact on business it already has, right through to how products can become connected and the pitfalls to watch out for. This complete series gives you the overview you need to start your business's journey into the world of the IoT.
What are the most important elements of firmware? Regardless, whom we asked we kept getting the same answer:
Mongoose 6.4 embedded web server was released earlier this week it has come with improved support for TI CC3200 and MSP 432. Here are the details:
On the International Day of Human Space Flight we are taking Mongoose Embedded Web Server to new heights with its 6.4 release. Check out why NASA and other technology innovators are integrating with Mongoose:
There is demand and we have the tools to deliver connected products (see our blog on the growth of connected devices). One final issue remains, developing embedded software is complex and requires specialised skills which very few software engineers posses.
Do you want to upload files of any size simply and joyously? You definitely need Mongoose.
Here’s how you do it, step by step:
After a little absence we are back with our Internet of Things News Roundup - the articles we’ve been reading at Cesanta all around IoT. Here it goes:
Most of us understand what the Internet of Things can accomplish. But when it comes to understanding the technical components that facilitate connectivity, it can get a bit sketchy. Let’s look at these components before explaining how they interact.
JSON-RPC is a protocol that allows you to execute some commands remotely, pass arguments to these commands and get the results back. Both requests and responses are JSON encoded.
ESP8266 is all the rage these days. A very affordable single chip WiFi solution, with a fairly capable CPU core on board. It came onto the scene in 2014 and made a pretty big splash, especially in DIY circles. It is one of the primary platforms supported by Mongoose IoT Platform, but what if you want just Mongoose Embedded Web Server? The answer is - of course. We prepared a simple example to help you get off the ground quickly. We’ll show you how to use Mongoose Embedded Web Server to create a simple webserver running on ESP8266.
CeBit 2016 did not disappoint! With all the major tech players active and showing their new developments. To no surprise, there was a strong focus on the Internet of Things. Cesanta’s CEO Anatoly Lebedev presented a keynote on Thursday on IoT security.
We’ve looked at quite a number of IoT aspects during this foundation series. Getting down to business, let’s examine how IoT can impact on your bottom line.
In this blog post I’ll demonstrate how Mongoose can be used to implement a RESTful server. We’ll set up a key-value database server. This simple server can do three operations:
Data is the new oil. Companies grow and profits are made through data access of product usage, consumer data, production statistics etc. The Internet of Things opens the door for companies to mine data on a whole new level, but do we really consider the IoT security risks?
Growing from a single-click-to-run executable, to an embedded web server and now an open source multi-protocol embedded networking library; There is really no stopping Mongoose! This is our 6.3 release:
Well, this is going to be short blog post because the answer is just about everything. But since you are here, let’s look at a few great examples and dive a little into what the Internet of Things can do when connected to devices.
Mongoose is known as one of the best embedded web servers currently available. From starting as a single-click-to-run executable to now being an embedded networking library. Read on to find out how it all started, where we are today and the basic concepts you need to understand before using Mongoose.
It’s the week after #MWC16 and just as other major shows of the year, it was all about IoT. As the Irish Times put it, it took centre stage. We’ve seen commentary on security, new devices and the speed of connectivity growth. And, as always, there are plenty of articles to catch up on:
IoT has been the buzzword in 2015 and in 2016 things are not going to slow down. Just in January, CES, the world’s largest consumer electronics show, kicked off and IoT was no longer one part of the show, but infact the show. The reason for growth is twofold: we have the capability now and there is demand.
On we go with our examples of what you can do with Mongoose our embedded web server. Today, we look at creating a settings panel for your device. This is one of the most used functions of Mongoose.
A few weeks ago we joined developers for FOSDEM 2016 in Belgium. This conference is organised by the developer community for the developer community to meet, share ideas and collaborate. For us, it was a great opportunity to show our IoT platform journey and get some feedback directly from users.
With only a few days to go to the Mobile World Congress in Barcelona, we see more Internet of Things news with a focus on growth and security. The two most recurring topics really when it comes to IoT. Here the articles we’ve been reading over the past few days:
The Internet of Things is everywhere. And so are the abbreviations associated with it. M2M, IoT, IIoT are the three main ones that all describe part of the Internet of Things. Let’s look at what they actually mean.
In our series “IoT Foundation” we’ll go through all the basics of the Internet of Things to give you the foundation you need to bring your business forward. Let’s start by looking at what the Internet of Things actually is and why you need to care about it.
Mobile World Congress is just a couple of weeks away and we are gearing up for a great event in Barcelona. Of course, we are bringing Mongoose IoT Platform, our Internet of Things solution for you to view but more on this later.
The start of a brand new month and we are back with our Internet of Things News Roundup where we share the articles that have caught our interest in the last couple of weeks. Here we go!
Hype or reality? That’s the question many business leaders are still asking when it comes to the Internet of Things. After CES 2016 the answer is clearly: reality. We take a deeper look at how IoT innovation grows within a business and how you can drive it.
Mongoose IoT Platform is now in Beta 2 release. Here, an overview of the most requested feature: OTA Update.
Demand for simple, yet secure and robust access to the Internet of Things is growing. Especially the ability to push secure upgrades to devices is becoming a heavily requested feature. Mongoose IoT Platform has answered this call and in its Beta 2 release.
Here’s what’s new:
The heap on a device is usually a kind of black box: heap API rarely provides anything more than just returning free space size, and quite often it doesn't provide even that (since C standard doesn't oblige it to). We have little idea of the fragmentation (in particular, we're interested in longest contiguous free chunk of memory) and the behaviour of the allocator in general. But in the resource-limited circumstances we're highly concerned about being memory efficient, right?
Security is a hot topic when it comes to IoT and a vital consideration as you build your connected devices. Strangely enough, it is frequently overlooked at prototyping stage. We have seen products that went through to production stage with poorly designed security mechanism or little security measures at all.
Halfway through January and 2 weeks following CES 2106, news on the Internet of Things is not slowing down. Here the articles we’ve been reading recently:
You’ve got the idea for a game-changing new smart product, you’ve selected your hardware, you have even built your prototype and success! You have received funding and it’s time to go into production. What a great situation to be in - congratulations! But when you started development, did you consider how scalable your connectivity solution is?
Our commitment to you has always been continuous improvement of our software. We are kicking off 2016 with the release of Mongoose 6.2 Embedded Web Server. Here’s what’s new:
From phones to call your pet to fully connected cities, IoT offer so many opportunities that only your imagination can hold you back. Whether it’s rethinking products or developing brand new innovations the hardware development is often complex and extremely custom; ergo you need to develop a custom software to match. We don’t think so, and here’s why:
Happy New Year! And from the looks of our last news roundup in 2015 it’s going to be a connected one; we are excited! So let’s not dwell on the past or get stuck on predictions for 2016 and get stuck right in:
Coming up to Christmas and the new year, it’s time to check out some predictions for 2016 in our final IoT news roundup for 2015.
Things are starting to quiet down at work while Holiday parties, last minute shopping and decoration sprees are in full swing.
In only a few short weeks CES 2016 will kick off in Las Vegas. This is the world’s largest gathering for everyone involved in consumer technologies. And when they say large, they mean it! Last year 170k attendees ascended onto the 2.2 million square feet exhibition space.
We have been working with TI CC3200 a lot over the past months to make sure that it is fully compatible with Mongoose IoT Platform. We came up against some issues around the file system implementation and wanted to share how we solved this.
New IoT statistics, trends and opinion pieces from around the globe in our new roundup for December 11th. Let’s get right to it:
In the second part of our series “3 Ways IoT Will Revolutionise Your Business” we look at the product and in particular innovation (check out Part 1 Customers).
The Internet of Things (IoT) is here to stay. The most recent prediction by Gartner looks at 6.4 billion connected devices in 2016. That’s a 30% increase on 2015. No doubt, businesses will look at this trend more closely next year and see how IoT will affect their business.
You have a great idea for a new product; a piece of IoT enabled hardware that you are confident will be well received by the market. Your clock starts now! Whether you are bootstrapping, relying on the 3Fs (Friends/Family/Fools) or have already made it into accelerator, you know you have to deliver your proof of concept fast to make it to investment. So how do you save time?
There is a lot happening in the land of the Internet of Things. New statistics, great opinion pieces, trends and products being launched. Here in the office we share the articles that we found most interesting with the entire team, and hey, you are part of team Cesanta, right?
Hardware startups are faced with a race against time and money to get their product to prototype stage. Initial funding in the idea may be strong, but is it enough to see you through prototyping and ultimately the next funding round? If you are considering a ‘smart’ product, costly embedded development will stand in the way of delivery.
The Internet of Things (IoT) is not just a buzzword or the latest trend in tech, it is the future and will affect most devices we use every day whether at work or in our private lives. Still, some companies are hemming and hawing about whether to get their devices connected today or hold off.
Recently, I’ve been catching up on my embedded programming reading. Instead of just looking at what’s new, I wanted to take a look back and see what’s happened in the last number of years. I came across a post that I wanted to share here. It struck a chord with me:
Are you a startup and developing connected products? Stop. Focus on your product innovation not the connection piece. Why? Read on!
It’s post Web Summit week and once again, what a great event it has been! We reflected upon our own growth from Web Summit 2014 - arriving with our idea - to launching our Beta at Web Summit 2015 in a previous blog post. So, our expectations for Web Summit this year were high, and we are glad to say, they were exceeded. Thank you to Paddy and his team for helping to open up these opportunities for us:
I was excited to be asked to speak on the Data Stage at Web Summit 2015 this year. Of course, I wanted to talk about IoT, but I also wanted to hit a hot topic; Secure Data Transfer.
Cesanta’s Mongoose IoT Platform is an IoT solution that has both a device firmware and a cloud part. Mongoose IoT Platform is aimed to work on many hardware platforms. Already, the following platforms are supported:
At Cesanta we are excited, next week the Dublin Web Summit kicks off. With over 1k speakers and 30k attendees expected, this is shaping up as the best summit yet!
If you had to connect a device you are working with, maybe a home appliance, thermostat or software application, and were looking for a solution with a low footprint, where would you start?
Part of the fun of working on Mongoose IoT Platform is that you get to play with all sorts of interesting hardware and Texas Instrument’s (TI) CC3200 is definitely an interesting one. With respectable 256K of RAM on board, full set of peripheral interfaces, integrated WiFi support, hardware crypto engines and JTAG in-circuit debugging, the only thing missing is the proverbial kitchen sink. But as we’ll come to see in this post, not all elements went as easy as we hoped.
We’ve been working on the ALPHA 2 release of Mongoose IoT Platform. Key for us in this release was to ensure that we make Mongoose IoT Platform available to a broader audience. So while we first worked with ESP8266, we wanted to quickly move on to TI and the popular CC3200 chip to increase IoT connectivity options for developers.
Based on them, we developed Mongoose IoT Platform.
But despite the fact, that both V7 and Mongoose Embedded Web Server Library were developed in POSIX OS (OS X and Linux), the first platform for Mongoose IoT Platform was ESP8266, followed by CC3200 as two of the most popular chips out there.
Did you realise that Mongoose has been around since 2004? Since we first published the embedded web server for the first time, it’s grown - a lot. There have been several upgrades and, of course, the introduction of Meerkat (the lightweight version) and Fossa (with many additional features). Today, we announce Mongoose 6.0 and a major overhaul to the entire platform!
Especially in the Heating, Ventilation, and Air Conditioning (HVAC) space product development into the Internet of Things (IoT) arena is becoming more and more important. Consider this, 70% of the M2M market will be dominated by two sectors: consumer electronics and intelligent buildings (including HVAC systems). Machina Research goes on to estimate the market worth by 2022 to be $18 billion. But when it comes to defining the right IoT move for your business, where should you head first?
We always keep a look out for not only on the newest devices that are released with IoT capabilities but also trends in terms of countries that are at the forefront of IoT innovation and adoption.
Being in the Heating, Ventilation, and Air Conditioning (HVAC) field these days is a good place to be. With growth predicted as high as 5.7 percent by 2018, it's a potential $120 billion industry. The global economy is on the up too, which makes for the first major growth factor. New markets are opening themselves up to air conditioning or heating systems. As a HVAC provider, you could rest and ride this wave. That is if there weren’t a second growth factor.
The Heating, Ventilation, and Air Conditioning (HVAC) industry is changing and the Internet of Things (IoT) is playing a big factor in making this change happen. Whether in the home or business space, smart solutions are in demand to save energy and cost as well as to provide ultimate convenience in the usage of the product.
Receiving real-time data from heating or cooling equipment is a must for many customers of HVAC businesses. A manufacturing plant may need to monitor the cooling units on its production line carefully to ensure the right temperature is always available. Real-time data here doesn’t simply allow to avoid malfunctions, it also allows to predict temperatures and ensure that no energy is wasted over time. You can achieve this transfer of real-time data from machine to control unit with an embedded web server library like Mongoose.
During 2008, the number of things connected to the internet surpassed the number of people on earth (*Cisco). Hold on, that was six years ago? Phones, laptops, tablets, the first wearables, manufacturing equipment the list grew from there. And the Heating, Ventilation, and Air Conditioning (HVAC) market is not far behind anymore. But despite all these HVAC industry changes, does connectivity for HVAC products really make sense already?
Most of us have been there, a great idea is generated between engineers, R&D and product management. Then we, in the engineering team, are left to make it happen. That’s the challenge and what we do the job for! But this doesn’t mean that we don’t mind finding simple solutions to complex challenges.
Our feet have just about hit the ground again in Dublin after a great week in Hong Kong and two days at the RISE conference there. For us, it was, of course, all about IoT and we found plenty of impressive talks and industry colleagues to trash ideas out with.
If you have come across Mongoose IoT Platform in forums or have heard about it in the IoT community and you are ready to take it out for a test drive, then this guide will help you get started!
Mongoose IoT Platform's flashing tool by default needs to read a couple of things from the device before flashing: 1) existing ID and 2) the flash configuration for the ESP SDK. Reading the ID is needed in order to know whether we need to generate a new one. The ID is located at offset 0x10000 and is simply a piece of JSON with SHA-1 hash: if the recorded hash doesn't match the hash of the JSON – we write a new ID.
Only a week to go until Cesanta makes its way to RISE in Hong Kong. We are excited to be invited to such a great event. In case you haven’t heard of it before, RISE is part of the successful Web Summit family of events and this is its first time in Asia.
From our previous blog posts you know that at Cesanta we’ve been developing on ESP8266 chips and today I wanted to let you know about a problem I noticed when using
esptool.py for flashing ESP8266. Hope you find it useful.
TL;DR: we’ve implemented a GDB server stub for the ESP8266 that allows you to get a full symbolic C stack trace and do limited source level debugging.
Currently, device programming is in the realm of experienced engineers who are highly skilled in the embedded space, expensive and above all hard to find. It’s not very different to personal computers. Throw your mind back a few decades; software engineers were a rare breed. The market however drove the explosion of software products across business verticals. And the industry responded by producing high-level development tools that allow a much bigger and more diverse set of engineers to create software products. Imagine things stayed as they were with Assembly and C; we’d be far from where we are today!
One of our goals is to build a communication platform for devices to connect to the cloud. For it to be of any use, it must be programming language agnostic and easy to use. To achieve that we decided to go with a JSON schema as a way to describe data structures and generate stubs for particular programming languages from that.
Sometimes when you walk in on someone else's fight you get hit. This is the experience I had recently trying to configure our testbed.
The open source movement has significantly changed the software industry over the last decade. Nowadays, open source projects are available for almost any functionality you can imagine. That gives everybody a lot of freedom; businesses as well as individuals, because there are many alternatives to choose from. So, when a business makes a decision to choose a software for its product or operation, what criteria should be considered?
At Cesanta, our focus is on providing connectivity to devices. This means that we often find ourselves dealing with exotic hardware. However, Intel Galileo 2 promised to be simple due to its x86, produced by Intel, with impressively looking processor chip, decent amount of RAM and coming with a Linux distribution out of the box. Apart from testing Mongoose Premium and V7 on it, we were going to use it as a board to drive other boards in our testbed. Should be easy, right?
Enterprise Ireland organised a semiconductor conference in Dublin, on May 07th 2015. Senior executives from the likes of NXP, Socionext and others were invited to present. Participating countries included Germany, Austria, France, the UK, Ireland, Switzerland and Benelux.
At some point, I was working on a deep packet inspection and database for storing network statistics. For the database, I needed a lightweight big numbers library, and I rolled out my own. The library was implemented as a single C header file with a bunch of inline functions.
In this article, I describe the importance of keeping software (especially networking software) up-to-date.
Any running process has several memory regions: code, read-only data, read-write data, et cetera. Some regions, such as code and read-only data, are static and do not change over time. Other regions are dynamic: they can expand and shrink. Usually there are two such regions: dynamic read-write data region, called heap, and a region called stack. Heap holds dynamic memory allocations, and stack is mostly used for keeping function frames.