The Eclipse IoT foundation published results of IoT developer survey – this is the third annual installment. Eclipse IoT, under its umbrella, has several significant open-source IoT projects. And if you have not looked at it – it is definitely worth checking out and to be considered for your IoT development strategy.
I would strongly recommending reviewing the survey and also signing up for a virtual meetup that they are hosting to discuss these results. It has very good insights into the state of IoT from a developer perspective. I must admit that I kept intending to fill in the survey myself but despite several reminders ultimately never filled it!.
I would certainly be leveraging the trends in this survey in formulating my strategy with the following thoughts/observations:
- Distributed Software: IoT applications are distributed across Sensor (Device / Thing etc.), Gateway (Edge/Fog/Hub) and Cloud. This year’s survey has the feedback split across the above three. And that’s the right way to look at it because each aspect requires different approach, perspective and strategy.
- Stats 101: Note that the percentages do NOT add up to 100, keep that in mind as you look at the look at them. This is, probably, because it reflects reality – there is no single correct answer. This also, probably, points to a trend that there are multiple projects going on or multiple products being worked on by the same set of developers.
- Linux dominates: Raspbian and Ubuntu are winners. Canonical would be very happy or probably already knows this since they are ditching the smartphone/tablet focus and switching over to IoT. I am pleasantly surprised that it dominates constrained devices as well. Reading between the lines – the popularity of Raspberry Pi as a prototyping devices drives Raspbian?
- IoT HW Architecture: The percentages do not represent device or gateway volumes. This is important to bear in mind especially when you look at the results for IoT Hardware architectures. For example 32.9% of developers use Intel x86_64 for Gateways – to state the obvious – these are not 32.9% of gateways but the number of developers.
- Cloud Programming: Ruby On Rails is missing? No mention of RoR in the IoT Cloud. (May be the option did not exist in the survey).
- Machine Learning (Slide #32): Interesting to note that 29.5% of developers claim that they are building machine learning.
- Cloud Services for IoT: No IoT platform other than GE Predix made this – e.g. no PTC. (this is a blog post in itself given the huge number of IoT platforms out there).
- Connectivity Protocols: This actually mixes both – transport or medium of connectivity and also the ‘data’ protocol. To give an example – Cellular, from a developer perspective, is IP (Internet Protocol). Same with Wifi & Ethernet yet TCP/IP is broken out separately. Zigbee & Thread are mapped to IEEE 802.15.4. This is important to keep in mind because you can’t easily split IoT into black and white categories. There is shades of grey all around.
- Messaging Protocols – yet another sign – there is absolutely no point in trying to get to one standard – the use case should drive if you want to use HTTP, MQTT, XMPP, CoAP etc.
- Industrial Protocols – this is a great slide. It would be interesting to dig into what “None” really implies – does it imply that it is proprietary?
- Leading Indicators – these results are leading indicators – of things that are to come. The survey is what the developers are working on (presently or in recent past). And that makes them more interesting because they are indicators of where IoT is heading.
The Internet of Things (IoT) is going to be a game changer for companies to transform their businesses. Here are two great examples:
A 150-year old provider of speciality insurance company – Hartford Steam Boiler (HSB) has acquired Meshify last year. HSB is owned by the reinsurance company – Munich Re – which was ranked as the #1 reinsurer in 2015. HSB Ventures is an active investor in the IoT space with investments in Augury, Slice, Helium, Waygum etc.
CEO Greg Barats of HSB has said(just a month before the Meshify acquisition) that “insurers must be ready to embrace the disruption through IoT – or risk being made obsolete by hungrier technology companies”.
Meshify was founded in 2012, and had raised seed money, followed by debt financing (Crunchbase info). It is an interesting strategy. HSB has chosen to acquire and own an IoT platform that aids in critical issues of remote diagnostics, predictive maintenance and equipment monitoring. Meshify is part of HSB’s IoT business – yes an insurance company HSB has an IoT business.
Xylem is a water technology company, spun off originally from ITT in 2011. Their current CEO Patrick Decker (3rd since the spinoff) has been growing Xylem through a series of strategic acquisitions. Last year Xylem acquired Sensus and set the stage for an IoT-driven diversification and growth.
This is a bold move for a company that is not a software or a digital company. It proves the point that IoT can be a strategic differentiator for companies dealing with the ‘physical’ world.
Sensus brings a wide spectrum of “smart” solutions to the Xylem brands (Sensus sales are dominated today by Smart Metering for Electric, Gas & Water utilities). The Sensus division will now be the home for all things ‘analytics’ for all Xylem brands (see link to investor deck). Xylem has a bold vision on how to transform the company with IoT.Xylem also has acquired Visenti (a Smart Water analytics company based out of Singapore) following the Sensus acquisition in November 2016. Sensus in 2015 had acquired a Smart Grid analytics company called Verdeeco.
Bottom line IoT is going to disrupt industries, and visionary companies are getting ahead of the curve by making IoT a key part of their future strategy.
HSB/MunichRe/Meshify & Insurance:
Xylem/Sensus & Smart Water Resources:
There’s lots of ways to move from Point A to Point B: trains, ships, and planes. We instinctively assess the logistics of travel by basing our decisions on factors like distance, cost, and urgency.
If we have to ship goods, similar logic comes into play. It is cheaper to plan in advance if you are importing goods from China to the US. If the delivery of a good is important enough, you would have your product air-shipped.
Barring specific nuances, the same approach needs to be taken for picking up IoT protocols and connectivity options.
- Range between the communicating nodes – for example between the sensor and the gateway.
- Reliability of signal between the communicating nodes – range alone is not enough.
- Latency (time it takes from one to another)
- Throughput/Bandwidth – how much usable information (not the raw rate) can you send through at a time
- Power Source: is it battery powered or not?
- Security: while security is extremely critical – it needs to work at a system level based on the rest of the parameters
- Ease of use, installation and maintenance: these translate to cost, and impact profitability
Note – ‘Node’ above implies all types of physical entities involved in interacting and communicating with each other – devices, sensors, gateways, cloud etc.
Things to keep in mind:
Don’t be myopic when making decisions! For example when addressing the cost of the solution – evaluate more than the COGS (cost of goods). Address, for example, costs associated with installation, provisioning and subscription for data network. To quote a British saying – “don’t be penny wise, pound foolish”.
Do make your decision with eyes wide open – tactical business pressures may prevent you from making a strategic decision – do make a note of the reasons and document them. For example if you are reducing requirements to meet a deadline – make a note of it. Be clear on the reasons you are making so as to adapt the architectural evolution of your IoT application.
Don’t get stuck in an analysis / paralysis. This is a counter-point to the first one. Don’t be stuck in an endless cycle of analysis. Take a decision. Ensure that your system design and development approach is in sync with decision. Make sure trials are rapid, especially in real world environments.
Smartphones and all kinds of GPS-enabled devices are enabling highly accurate location for everything. As consumers with Smartphones, we leverage Web-based Mapping frequently especially for navigation with apps such as Google Maps or Apple Maps.
Location is becoming a critical context to both consumer (e.g. geo-tagged photos) and enterprise applications (e.g. tracking your fleet & assets). Visualizing this information on a map is necessary, and by token understanding Web Mapping is critical.
I have been involved in building a asset tracking solution and personally wanted to delve deeper into the technology behind Web Mapping over the last 4 weeks or so.
Here are the resources I discovered and learnt:
- Primer: Study through this excellent set of slides hosted by Maptime.IO. This is the best place to get started. Don’t worry if you have a hard time understanding the first time. Come back to it after sometime if the first going is rough.
- The gold standard for web mapping, by far, is Google Maps. Google provides both free and paid developer API services. Google provides APIs for calculating distances, getting directions, and the tiles they have are tremendous source of information. Here is a link to get started with Web Mapping & Google Maps APIs.
- Open Source & Crowdsourcing has been at work in the world of Web Mapping as well. Open Street Maps (OSM) is a crowd-funded movement to map the world. The primary challenge for using OSM is that there are places for which the data is still lacking so when you attempt to zoom-in – the information coming is going to lack details. However it is open source, and free. And digging deeper by using OSM will make you an expert at Web Mapping.
- The primer would have mentioned about Google Maps and OSM, also something known as Leaflet. I think right after you have gone over the Primer material listed in #2 above, and if you know HTML/CSS/JS – you want to hop over to the Leaflet Tutorial site and start building maps. Leaflet was created by Vladimir Agafonkin – he works at Mapbox.
- Mapbox defines itself as – an open source mapping platform for custom designed maps. Check out their site, and I would recommend start with the Mapbox JS Library.
I have built, as a tutorial and learning experience, a web map that leverages Leaflet and OSM to show an interactive map of the US. You can select different overlays on the map for US Population Density, State-by-State Renewable Energy goals and Earthquake data from USGS. You can check it out by clicking the image below or going to https://ashujoshi.github.io/leaflet-maps
Verizon is getting aggressive in growing its IoT business. Verizon’s first foray in IoT was in Smart Home when they launched a service around the solution from 4Home (acquired by Motorola, my guess is that the acquisition was influenced by Verizon?). It was a DIY service unlike its peers who had launched managed services (Comcast, AT&T, Cox, ADT), and IMO it was dead on arrival. It limped along for 4 years and finally shut down.
Verizon’s strategy also seemed uncertain when they acquired Hughes Telematics back in June of 2012. Hughes Telematics is based in Atlanta – and I have only heard of anecdotes and rumors of that division constantly losing people or being laid off since 2012. It felt that their Connected Car strategy was falling apart.
However recent events point to a different story – they are getting serious about this space. They have announced two back to back acquisitions. First with Telogis in June of this year and it was followed by Fleetmatics in August. Verizon certainly has heft between the three acquisitions in the Connected Car & Telematics space.
And to keep the momentum rolling – Verizon announced that it is acquiring Sensity Systems, a Smart City startup last week.
The question though is does it have the internal organizational strength and discipline to make the most of all of these acquisitions. Remember that they have also announced that they are acquiring Yahoo!
List of all the VZ Acquisitions as compiled by Crunchbase: https://www.crunchbase.com/organization/verizon/acquisitions
Here is list of analysis on the acquisitions worth reading:
LoRaWAN™ defines the communication protocol and system architecture for the network while the LoRa® physical layer enables the long-range communication link. The protocol and network architecture have the most influence in determining the battery lifetime of a node, the network capacity, the quality of service, the security, and the variety of applications served by the network.
This post will give a quick overview of the ingredients into building a complete LoRaWAN-enabled application. The software development or rather the details of it on each ingredient are topics for another day.
4 Primary Ingredients
To get started on building solutions using LoRa/LoRaWAN this is what you going to need:
- Thing: A LoRa radio module that you can hook up with a sensor… the challenge, especially in the US, it’s not easy to get something like that. The easiest, I think, is to get a dev kit such as the one from Multi-tech (combine the mDot with the UDK). It has a Arduino shield socket making it easy to plug in sensors and play around. Of course if are serious about using LoRa to enable your IoT applications you will end up making sophisticated devices such as the ones from Decent Lab.
- Gateway or Concentrator: You will need a Gateway or a Concentrator that speaks LoRa to the sensors & devices, and IP Connectivity to the Cloud – that can be for example Wi-Fi, Ethernet or 3G. LoRa Alliance is making a concerted effort to get everybody to adopt LoRaWAN as the protocol. I say that because if you wanted to you could build your own like Link Labs has decided to. My primary point is that while one side of the LoRa Gateway speaks “LoRa” – the other side will connect to the Internet (over TCP/IP or UDP/IP). The piece of software that interfaces with the backend is typically referred to as the Packet Forwarder – and has been open sourced by Semtech. Once again the choices are limited but while I used the Multi-tech Gateway – you could also get the gateway from Link Labs.
- LoRaWAN Network Server or Backend: This is the entity that speaks LoRaWAN to the Gateway and gets you the data to your application. Semtech the company behind LoRa hosts a backend that you could leverage. Multi-tech runs a “network server” on the Gateway itself. Or you could connect to the The Things Network (TTN for short, open-source, crowd-funded backend). On that note TTN is also going to be delivering cheap gateways. I first used the Network Server running on the Gateway, then made changes to make use of the TTN Backend. And finally I hacked using a combination of several open source backends – and ran it with my application backend.
- Application or Application Backend: The actual IoT application – that does something useful with the Thing – is most likely running on a private or public cloud would interface with the LoRaWAN network server and do the application-specific processing. The interface between the LoRaWAN backend and the Application Server is driven by the LoRaWAN backend provider – that is not a standard. TTN uses MQTT to do that, so does Multi-tech. This one is the easy part because you could use your own PC or Mac to run it or use any of public clouds for it. (Or may be a Smartphone App).
Note that if you (for the prototype or production) end up using a Network Service Provider such as Senet then you could skip on the Gateway. This is because companies like Senet want to offer LoRa as a Network Service, akin to how AT&T or Verizon provide cellular (both voice and data) service, and they set up “gateways” to cover a certain area with the LoRaWAN network. You could use TTN – but either you will have to be within the coverage of a community-hosted TTN Gateway or buy your own and hook it up to the TTN backend.
Getting all the 4 ingredients in place will enable you to truly understand the details of LoRaWAN and guide you on how to build solutions that address use cases well-matched with the attributes of LoRaWAN.
This is how the device kit looks like – it has a BME280 (Pressure, Temperature, Humidity), Light Level and GPS sensor attached to it. Also attached an NFC tag reader that I use for provisioning.
Internet of Things or IoT has been a megatrend worldwide for the last decade or so. I have seen a frequently quoted number from Cisco that indicates the number of connected devices will be 50B by 2020. But what is the math behind the number? How did Cisco arrive at that number? How many analysts, companies, presentations, and blogs have used that number?
I read through, again, the Cisco IBSG report which was published in 2011, and here is how the number was computed:
- Cisco started with a report from Forrester (actually in the Cisco IBSG PDF Report – the reference is to a number quoted by George Colony of Forrester Research in a post published by InfoWorld – March 2003) that states there are 500m Connected Devices
- Next take the number of connected devices in 2003, and get the number of devices per person – 500 Million divided by 6.3 Billion – resulting in 0.079 Devices per person.
- Using data from US Census Bureau and their internal IBSG data for 2010 – the next step was to state the number of Connected Devices was 12.5 Billion, and dividing that by the world population (6.8 Billion) results in 1.84 devices per person. Please note that per Cisco the 12.5 Billion number includes Smartphones and Tablet PCs.
- Cisco then used the work done by a team of researchers in China that showed the size of the Internet doubles every 5.32 years. The reference in the report is to the following: Internet Growth Follows Moore’s Law Too
- Next step was very easy – multiply the number from 2010 every 5 years – you don’t even need a calculator now – you get 25 Billion for 2015 (double from 12.5 in 2010, and that leads to 50B in 2020.
The 50B number does not get into a bread down by categories on the devices. We cannot make out from this number the percentage of sophisticated devices such as Smartphones or the percentage or low-power, low-cost number.
This number probably (and anecdotally) is one of the most cited number to show the growth of IoT. The math behind it looks simple and abstract but it helped propel the market forward!