Tag Archives: IoT Design

VIPER is a cross-platform Python IoT design suite

VIPER is a smart object development suite that brings cloud and IoT connectivity to your projects with just a click of the mouse.

New York City-based startup ThingsOnInternet has launched a Kickstarter campaign for their new easy-to-use development suite for interactive Internet of Things (IoT) designs. As its name implies, VIPER — or “Viper Is Python Embedded in Real-time” — makes it possible for Makers and embedded designers to create their next connected project in Python for Arduino, UDOO and Spark, all in in real-time. And, unlike other solutions that already exist today, this collection of products is platform-agnostic and compatible with all sensors and kits.


The idea was first conceived after conducting some detailed market analysis, where the company discovered that designers, Makers and programmers all faced a similar set of challenges. In hopes of simplifying how “things” are brought onto the Internet, VIPER converged a series of components to better streamline the process. This included an IDE to manage and program the boards, a Virtual Machine to serve as its operating system, a plug-and-play TOI Shield, an extensive library of ready-to-use functions, and a mobile app to act as the interface for smart objects. On top of that, it’s also cloud-ready. With just a little coding, users can develop a wide-range of IoT applications, ranging from interactive storefronts, to home and industrial automation systems, to art and museum installations, to smart farming.


“Designers aim to create behaviors that can co-exist at the same time and they are often frustrated by ‘anomalous’ and unexpected results on their projects. Makers, who have higher competences, invest a lot of time in understanding how to code multithreaded behaviors, how to manage interrupts in C++, etc. and sometimes their code become really hard to be maintained. Programmers are frustrated by executing ‘boring’ tasks for their customers, one of them is related (again) to multithread, interrupts, callbacks, timers and exceptions,” ThingsOnInternet writes.

Since millions of developers already know Python, VIPER decided to make the programming language readily accessible for commercial interactive products as well, therefore amplifying the potential for smart objects to be as pervasive as mobile devices in their ease of design interactivity. To do this, VIPER provides a browser-based, minimal-installation development environment where users can write code with extensive library support and have it executed on any Arduino-like board. What’s great for designers is that, with VIPER, it leaves them able to focus on the features and functionality, not the tediousness, along with a mobile app to control their creation for free.


“Devices like Arduino, UDOO, ST Nucleo, Spark Core, Photon and the last released Spark Electron are microcontroller boards that revolutionized the world of amateur and semiprofessional electronics. They allowed hundreds of thousands of people around the world to give objects a new life by making them interactive, able to communicate and interact with humans,” the team explains. “Unfortunately, programming them is quite easy for engineers and computer scientists, while most of the users are able to exploit only part of the huge potential of such incredible boards. Here comes the idea of TOI to extend the world of smart and interactive object design to everyone. VIPER allows in a few clicks to convert a common lamp in a smart assistant that reminds us to take the umbrella, turn on the air conditioning while monitoring the house for intrusions.”

In order to use the suite, Makers and developers simply download a one-time package from the company’s website onto either their PC or USB stick. Beyond that, VIPER includes an embedded, portable Python 3.0 engine to help make everything as easy as can be. Users can then launch the VIPER IDE and begin making. All that’s left from there is connecting its accompanying mobile app to serve as the UI for the project.


VIPER runs on an Arduino Due (SAM3X8E), and can even be ported onto the recently-revealed Atmel | SMART Cortex-M7 family. As its creators reveal, code developed on an Arduino Due can also be implemented onto these new MCUs in a matter of two clicks. Furthermore, the suite features an Arduino and Spark Proton-compatible, plug-and-play TOI shield. Simply attach either a Due or Photon to the shield and start playing with any of the VIPER examples found in its library. (This collection of modules includes CC3000 Wi-Fi for Spark Core and Adafruit Shield, Adafruit/Sparkfun Thermal Printer, Adafruit NeoPixel LED, RTTTL smart melody player, Streams library, as well as TCP and UDP network protocols.) Aux ports are even included, enabling the use of other sensors like Grove, ThinkerKit, Phidgets, and Adafruit NeoPixel LED strips.

Through its IDE, users can ‘viperize’ theirs boards by installing them using the VIPER Virtual Machine. Once completed, a board is no longer a simple Arduino Due, Spark Photon or UDOO; instead, it has a multi-threaded, real-time operating system running on it, and a virtual machine ready to execute compiled Python 3 scripts. Ready to design your next smart project? You can head over to its official website, or check out the team’s recent successfully-funded Kickstarter campaign here.

Finger on the IoT Pulse: ‘Presence’ Functionality

We talk a lot about connecting, networking, and securing the Internet of Things, and the billions of devices spread across the globe. Another essential piece of the IoT puzzle is monitoring those devices, specifically with what we call presence. 

Presence functionality gives IoT developers a way to monitor individual or groups of IoT devices in realtime. Whenever the state of the device changes, the change is reflected in realtime to a dashboard, with an alert, or any other way you want to display your tracking.


What Can Presence Monitor?

As soon as you start streaming large volumes of data, or signaling and trigger actions to devices, you need to know what devices are connected. So what kinds of device states can you monitor with presence functionality? Pretty much anything you want! With Presence functionality, you can build out custom device states including:

  • Online/offline status
  • Device health
  • Capacity for fleet management
  • Total device count in field
  • Battery/location status
  • Machine status (eg. currently working on X task, driver driving/offline)
  • Temperature and weather data from IoT sensors

With presence data, you can also log a history of device connectivity for audits and analytics. It’s not just about having realtime insight into your devices, but also tracking and logging performance, health, and other key metrics.

Why Is It Important?

Devices may get expensive: IoT devices can be expensive, so keeping tabs on your investment is essential. Device health presence monitoring gives you up to the millisecond health reports for device temperature, connectivity, battery life, etc, ensuring you that your device is 100% operational, all the time. And if any issues arise, you’ll know immediately that maintenance is required.

Devices may be imperative to operations/business: If IoT devices are at the core of business and operations, monitoring their health and status is paramount. Whether it’s agriculture readings, security sensors, or delivery fleet management, up to the millisecond device status can make or break a business.

Device Analytics: Accurate and up to date statistics and analytics is important to any IoT application or business. Presence functionality can store, retrieve, and playback collected analytics, for example, to give a history of device connectivity or health for audits.

Machine-to-Machine and IoT Use Cases for Presence

As we know, connected devices come in all shapes and sizes. And as IoT devices get smarter, more connected, more secure, and faster, they’re use in the field is skyrocketing across the globe. And as we add more devices into the field, realtime presence functionality is just as important as our device networks and IoT security.

Agriculture: As with other connected technologies, the Internet of Things has found heavy adoption in the agricultural industry. Sensors and monitoring devices for temperature, irrigation, weather patterns, and harvest management give farmers a realtime, accurate data stream, giving them full control over their agriculture system. As a result, keeping tabs on their vast system of IoT devices with presence functionality is key.


Connected Car/Shipping & Freight: Smart cars are shifting IoT boundaries and constitutes a disruptive and transformative environment. Connected car represents a large number of IoT use cases for automobiles including taxi, fleet management, shipping and freight, and delivery service. Connected cars require a secure and reliable connection to counter the various roadblocks that arise in the wild, such as constantly changing cell and network towers and dropped connections.

For taxi, shipping, freight, and delivery management, custom presence functionality is a vital component of the business, providing realtime custom vehicle and device states, such as vehicle and cargo capacity, location data, and device health.


Home Automation: We’re well aware that our homes are getting smart. It seems today, every appliance has an IP address. It’s safe to say that the smart home market is prepared to take the world by storm. Especially for applications that enable users to control their homes remotely, presence functionality is essential. In the smart home, presence gives users a realtime view of their devices status (lights on, doors locked, water leak, thermostat, fridge temperature, etc). And that’s the basis of a solid home automation solution.


Presence on the PubNub Data Stream Network

PubNub Channel Presence is one of the core features of the PubNub Data Stream Network. It enables developers to add user and device detection to their web, mobile, and IoT applications, giving realtime instant detection and notification of user/device status. Built on the global PubNub Data Stream Network, no matter where the devices are located, you can get an accurate and reliable reading on any custom device state you want.

For a quick tutorial on using Presence for IoT devices, whether it’s a network of 1000 connected devices or a single Arduino, check out our blog post: Realtime IoT Monitoring for Devices with PubNub Presence.


1:1 interview with Rob van Kranenburg (Part 2)

TV: What hardware principles help to ensure the transition proliferates for connected devices – yielding experience, efficiencies, and business profitability?

RvK: In the Special session on Planning Smart City of Japan in the 2012 IoT China, Shanghai Conference, Mine Shinshoro, director of Jetro Shanghai Office, recalls the 2010 disaster and explained that in the reconstruction of the cities the Japanese government will use the concept of smart communities to stabilize the energy power sources. Mr Masaki Yokoi (Nomura Research) takes up in the same discourse in his talk The social platform of the smart city, especially focusing on the change in mentality after the earthquake. Prior to that “we thought IT was King” he asserts,  however after the East Tokyo earthquake, industry, government and citizens come up with a different mind-set on what constitutes a smart citysmart-cities-japan

As infrastructure was totally destroyed, communication between regions was out, huge amounts of data were lost, over the past six months Japanese experts have reflected and brainstormed on the new nature of ICT. It still has a major role to play, but it must be a new role, especially in setting up more flexible resilient infrastructure, the regeneration process of communities, changing the layout of public services in society as a whole and inconsistent power supply and a more coherent business ecosystem.5 This describes the paradox that lies in the heart of IoT design. We want it to work seamlessly across all types and kinds of networks offering a constant and dependable flow to end-users wherever they are (home, car, abroad, indoors), without any visibility of the network nor hardware that is enabling this. It must run as smooth and invisible as possi4ble. The environment should become the interface.

Or, in the words of Mark Weiser: “Machines that fit the human environment, instead of forcing humans to enter theirs, will make using a computer as refreshing as taking a walk in the woods.”6 In our case, the end-users need not be human, but can be other machines. They too have needs in order to be themselves seamlessly tuned into a larger network. For them energy is the key issue. For us it could the breakdown described above caused by natural disasters, or for example in the case of Detroit it could be that the model that build the first iteration of such a seamless environment could go bust.

The key high level principles of the hardware architecture that will run sewage, mobility, energy, connectivity as well as appliances, devices and tools within the home and factories, is finding the perfect balance between optimizing convenience and enabling modding and hacking of any modular part. A recent study from Accenture shows “only 24% trust their utility to inform them of actions to optimize energy consumption – a decrease of 9% from 2012…. If given the choice, 73%… said they would consider alternative providers for purchasing electricity and alternative energy-related products and services.”7 This shows that designing trust into the system can only be done by allowing the largest and most varied group of stakeholders to list and add requirements to the architectures continuously.

TV: Describe the “data negotiation” in the network effect for Body Network, City Network, Smart Grids becoming deeply integrated?

RvK: Internet of Things is in its essence the seamless flow between:

  • BAN (body area network): the ambient hearing aide, the smart t-shirts
  • LAN (local area nework): the smart meter as a home interface
  • WAN (wide area network): the bike, car, train, bus, drones
  • VWAN (very wide area network): the ‘wise’ city as e-gov services everywhere no longer tied to physical locations
Connected Devices and the Seamless Flow of Data for IoT

Connected Devices and the Seamless Flow of Data for IoT

Whoever ensures trace-ability, sustainability and security linking up the gateways is de facto and de jure the new power. And would I want such a flow? The best possible feedback on my physical and mental health, the best possible deals based on real time monitoring for resource allocation, the best possible decision making based on real time data and information from open sources and the best possible alignments of my local providers with the global potential of wider communities.

In our architectures we are used to dealing with three groups of actors:

  • Citizens/end-users
  • Industry/SME
  • Governance/legal

These all are characterized by certain qualities, “a” for citizens, “e” for industry, and “o” for governance. In our current (Reference) Models and  (Reference) Architectures we build from and with these actors as entities in mind. The data flow of IoT will engender new entities consisting of different qualities taken from the former three groups. An example is the private grid operator, Frederic Larson is another:

“Twelve days per month Larson rents his Marin County home on website Airbnb for $100 a night, of which he nets $97. Four nights a week he transforms his Prius into a de facto taxi via the ride-sharing service Lyft, pocketing another $100 a night in the process. It isn’t glamorous-on nights that he rents out his house, he removes himself to one room that he’s cordoned off, and he showers at the gym-but in leveraging his hard assets into seamless income streams, he’s generating $3,000 a month. “I’ve got a product, which is what I share: my Prius and my house,” says Larson. “Those are my two sources of income.” He’s now looking at websites that can let him rent out some of his camera equipment.”8

TV: Take for example Smart Grids and Smart Energy. How does SEP 2.0 requirements shape the Utility and Energy Industry with Smart Meters integrating energy efficiency? Do you see solutions across the span of industry following a similar model?

RvK: I hope so.  It took two years for ZigBee, Wi-Fi and HomePlug “agreed to sit down and hash out a simplified yet IP-capable networking standard built on the foundation of ZigBee’s low-power home energy networking technology.”9 Cees Links, Founder and CEO of GreenPeak Technologies, writes on the Bosch blog on IoT “the wireless residential applications prosper best within the context of open communication standards, and offer OEMs the freedom to purchase from a large pool of suppliers and, most importantly, allow devices from different vendors to inter-operate, which is paramount in the market success of integrated Smart Home applications and will increase customer adoption when consumers can buy devices from different brands…One may think that WiFi and ZigBee are competing with each other. The reality, however, is that both technologies have their own place.”10

TV: What draws the importance in the work you do? How does it affect everyday people, developers, or EE designers? Is it vitally important for top-down influence to formulate the requirements across numerous verticals?

RvK: I must confess I am not a technical person at all. At home I am not even allowed to handle a hammer. I studied Languages and Literature because I like to read poetry and when I was younger aimed at as total as possible irrelevance to a world I thought and still think to be extremely badly governed, strangely tuned to scarcity as value (money, prestige, power) and unbalanced in the agency between humans, animals, things and the world at large. It is only when I grasped that with new forms of gaining influence and real power available at our feet for basically nothing, just your time and sober investment of energy: the internet and the web, it was actually possible to gain influence that I decided to fully devote myself to what is now called IoT from 2000 onwards.

I realized that IoT as it aims at individuating all objects on the planet, would effectively ‘be’ the new power as more and more resources would be linked together onto ever more stable platforms. That the next fight – that we see played out now – would be in trying to stabilize something that is in essence unstable; the internet as it was conceived as TCP/IP, or move the value chain as it is now in full to an Internet 2, a Quantum physics computing platform, for example the one build at CERN, or through research programs on Cyberphysical systems  in the US: “Cyber-physical systems (CPS) are engineered systems that are built from and depend upon the synergy of computational and physical components.  Emerging CPS will be coordinated, distributed, and connected, and must be robust and responsive.  The CPS of tomorrow will need to far exceed the systems of today in capability, adaptability, resiliency, safety, security, and usability.”11

Interested in reading more? Stay tuned for Part 3 of Atmel’s 1:1 interview with Rob van Kranenburg. View Part 1 and Part 3.


5 http://www.theinternetofthings.eu/rvk-end-smart-city-live-opening-speeches-internet-things-china-2012-shanghai

6 https://www.ics.uci.edu/~corps/phaseii/Weiser-Computer21stCentury-SciAm.pdf

7 Shocker! Three-fourths of all consumers don’t trust their utility! http://www.smartgridnews.com/artman/publish/Business_Consumer_Engagement/Shocker-Three-fourths-of-all-consumers-don-t-trust-their-utility-5856.html

8 http://www.forbes.com/sites/tomiogeron/2013/01/23/airbnb-and-the-unstoppable-rise-of-the-share-economy/

9 http://www.greentechmedia.com/articles/read/home-energy-networking-alert-sep-2.0-goes-live

10 http://blog.bosch-si.com/zigbee-the-standard-for-smart-home-applications/

11 http://www.nsf.gov/funding/pgm_summ.jsp?pims_id=503286 See here for the list of upcoming deadlines for proposals http://www.nsf.gov/funding/pgm_list.jsp?org=NSF&ord=date