Samsung shared their compelling vision for the connected future at last week’s 2016 Samsung Developer Conference, and we are proud to be a part of the conversation. It has been nearly a year since we first announced our collaboration with Samsung on the launch of their ARTIK platform. Every ARTIK board comes preloaded with the Temboo library, so building applications for the Internet of Things is simpler than ever before. Happy anniversary, Samsung!
In an SDC session on maximizing the power of ARTIK with development tools, Samsung Tech Evangelist Wei Xiao demonstrated how she created a network of smart trash cans with ARTIK and Temboo. She chose the MQTT protocol to add machine-to-machine (M2M) messaging functionality to our smart trash can IoT app. With their built in M2M capabilities, ARTIK and Temboo work hand in hand to enable developers to get up and running with complex networked applications in no time. We featured Xiao’s networked smart trash can tutorial in a previous post.
SDC 2016 isn’t the only conference our smart trash can attended this year. Samsung brought it along for the ride to both the Consumer Electronics Show and the Mobile World Congress. If you love the smart trash can as much as Samsung does, we’ll show you how to build your very own–or one of our other IoT apps (it’s easy!).
To get started developing your own applications with Temboo and Samsung ARTIK, take a look at our Samsung ARTIK tutorials.
Two weeks ago, we introduced a set of Temboo tools for programming machine-to-machine networks. Today, we wanted to take a bit of a deeper look at what exactly we did, and why we decided to do it.
So what does M2M do, and how does it do it?
M2M networks are great for situations in which distributed devices need to communicate with one another—for example, in a manufacturing facility where multiple machines are working together on different parts of a product. M2M protocols allow the devices in the network to gather and transmit data from sensors or to act on their environment without having to maintain an Internet connection, even if some Internet connectivity is necessary for processing data or issuing commands. A gateway-edge model, in which distributed edge devices communicate with a gateway device using an M2M protocol and the gateway device communicates with cloud services using the Internet, enables a low power local network to interact with the Internet.
There are quite a few different protocols out there for enabling M2M communication. We chose three: MQTT, CoAP, and HTTP. In general, we make an effort to remain hardware, software, and protocol agnostic so that people who use Temboo have as much choice as possible in what they build, and it was important to us that we support more than one M2M protocol. Of the protocols that we considered, these three seemed to be the most promising; the technology surrounding the Internet of Things is evolving rapidly, so there’s a good chance that it won’t be long before more protocols join that group.
Specifically, we liked MQTT and CoAP because they are excellent for lightweight devices that have constrained memory and that consume little power, which are exactly the sorts of devices that will connect distributed sensors and objects to the Internet and make them smarter as the Internet of Things matures. We included HTTP due to memory considerations as well; an HTTP gateway will allow for HTTPS connections to devices that normally would not have enough memory to implement them.
Pick a protocol
The different protocols are useful for different situations, and any decisions regarding which one to use should be informed by what it is that you are trying to do. MQTT uses a publisher-subscriber communication model, allowing clients to send commands to many other devices with one message (or, conversely, enabling one device to “listen” for commands from many different devices). This might come in handy on an assembly line, for instance, where it would be important for a machine that is experiencing a problem to inform machines upstream that they should pause until the issue is resolved.
CoAP, in contrast, uses a client-server model, which enables two-way communication: clients can send requests to servers, and also receive responses and commands from servers. A network of devices communicating using CoAP would be ideal in a scenario requiring both monitoring and control, such as an energy usage management system in a multi-unit commercial building. Data on energy consumption could be sent by edge devices to a gateway, which would then use the data to determine where lights, heating, or air conditioning should be on or off.
Finally, HTTP is useful for situations in which secure communication is required, but the devices involved do not have the memory needed to support encryption. A local HTTP gateway can forward messages securely using HTTPS.
M2M + Temboo = the best of both worlds
Temboo’s M2M support is designed to marry the low power and low memory benefits of M2M networks with the processing power and flexibility of the Internet. For systems involving many devices spread over a wide area, an M2M model is often the most practical option available; connecting each device to the Internet can become prohibitively difficult and expensive as the network grows. However, an Internet connection is often the best way for devices to communicate with the world outside of their local network, and for many applications, the ability to send information to or receive commands from a remote agent, whether human or digital, is crucial.
Temboo M2M allows people who are using a network of connected sensors or machines to achieve the benefits of low power devices without sacrificing the benefits of Internet connectivity. It also brings M2M into our IoT software stack, making it much easier to integrate features such as data streaming and remote reprogramming into multi-device applications using automatically generated Temboo code.
As M2M networks become more common, we expect a wide variety of industries to discover and correct new points of inefficiency in their business or production models—not only will the M2M networks themselves make communication between different parts of complex systems faster and cheaper, they will also make it easier to monitor different parts of those systems so that better decisions can be made. The proliferation of M2M networks will also create new opportunities for developing more sophisticated maintenance capabilities: network managers will need ways to efficiently modify and update the devices that they oversee so that they can effectively adapt to changing circumstances.
The maturation of M2M technology is an exciting development that is going to play a large role in driving the Internet of Things forward in the next several years. If you’re interested in learning even more about it, there are some links to further reading below, and you can try out Temboo’s M2M programming tools by signing up for a free account here.
Two weeks ago, we introduced a set of Temboo tools for programming machine-to-machine networks. Today, we wanted to take a bit of a deeper look at what exactly we did, and why we decided to do it. So what does M2M do, and how does it do it? M2M networks are great for situations in […]
Now you can program scalable, flexible, and production-ready distributed device applications in minutes with Temboo’s new support for M2M networks! From monitoring air quality and noise levels in urban environments to tracking cross-country shipments to controlling water usage in agricultural settings, you can use networked sensors and devices in all sorts of powerful IoT applications.
Connect your networked Samsung ARTIK, Texas Instruments, and Arduino hardware to any web service, and choose to have your gateway communicate with your edge devices using MQTT, CoAP, or HTTP. Check out this video to see it all in action!
Now you can program scalable, flexible, and production-ready distributed device applications in minutes with Temboo’s new support for M2M networks! From monitoring air quality and noise levels in urban environments to tracking cross-country shipments to controlling water usage in agricultural settings, you can use networked sensors and devices in all sorts of powerful IoT applications. […]
Today we have a guest post from Digi International about programming Digi hardware with Temboo. You can find the original post on their blog:
The ongoing drought in the western United States underscores the importance of maintaining and conserving a reliable supply of fresh water—whether for drinking, irrigation, fire control, or manufacturing, reliable water storage is essential. Of course, half the battle in maintaining a water supply is managing it: once a tank system has been installed and filled, water must be properly distributed when it is needed and retained when it is not. If tanks are remote and many are spread over a wide area, monitoring them can become a costly and time-consuming obligation.
These are the sorts of challenges that Digi and Temboo are overcoming by building a more intelligent Internet of Things. A network of Digi hardware running Temboo Choreos is flexible and smart—devices can be programmed to execute a wide variety of processes, and be reprogrammed without being interrupted. This is a solution that combines the ease of automation with the trustworthiness of manual control. To illustrate the solution’s benefits, and demonstrate how the whole system works, we’ve built a model of the water tank problem. This system puts Temboo and Digi to work, keeping water levels right where they ought to be.
Our tank monitoring solution uses an XBee ZigBee radio to wirelessly exchange sensor information and remote control commands using Digi’s new XBee Gateway, a programmable device that joins ZigBee mesh networks to the Internet. A small Temboo client written in Python is installed on the XBee Gateway, allowing it to connect to over one hundred different web services using Temboo Choreos. With Temboo, the memory constraints of the small devices in the network cease to be an obstacle to intelligent behavior, as much of the code required to execute complex processes is offloaded to the cloud.
In our model, a sensor attached to the XBee radio monitors the water level of our tank, and sends those readings to the XBee Gateway. If the tank leaks and the water level falls, a response is triggered on the gateway. First, the gateway uses Temboo’s Yahoo Weather Choreos to check the forecast for rain. Temboo’s Nexmo Choreos are then used to telephone the relevant individual with an automated voice message that gives a real time rain forecast and offers a choice of actions to take by entering a number on the phone’s keypad.
If a storm is on its way, there is an option to ignore the alert. If the leakage does not need to be urgently addressed, there is an option to schedule a maintenance event for the future, which the Temboo program on the gateway handles via a Google Calendar Choreo. If the situation is urgent, however, there is another option to activate a backup pump at a different point in the XBee network and refill the tank. Of course, all of this will only work properly if the sensor and gateway are powered on and functioning, so our system needs to be prepared for any loss of connectivity—if, for any reason, transmission of the level of water in the tank stops, another Temboo Choreo will file a Zendesk ticket to alert support that the system needs attention.
The most exciting thing about this model, however, is that it is only a small example of a massively scalable system. XBee technology can connect hundreds of different devices in a much larger network, and Temboo’s Library contains over two thousand other Choreos that can be used to execute an immense variety of tasks. Modifying the behavior of the Temboo program on the gateway to, for example, switch notification services is just a matter of changing Choreos, a simple task. Digi’s hardware and Temboo’s software are coming together to build a lighter, smarter, and much easier to use Internet of Things.
Today we have a guest post from Digi International about programming Digi hardware with Temboo. You can find the original post on their blog: The ongoing drought in the western United States underscores the importance of maintaining and conserving a reliable supply of fresh water—whether for drinking, irrigation, fire control, or manufacturing, reliable water storage […]