IoT Archives | CodeGuru https://www.codeguru.com/iot/ Tue, 24 Aug 2021 18:08:02 +0000 en-US hourly 1 https://wordpress.org/?v=6.3.2 “Some Day”: 1984: An Editorial on the Future of Computers https://www.codeguru.com/news/future-of-computers/ Tue, 24 Aug 2021 18:04:42 +0000 https://www.codeguru.com/?p=18452 Like many developers, I have shelves of books that I consider important to have within reach should I need them. While there are tons of resources online, there are a number of classics that are worth having on the shelf within easy reach. These include some of the books I wrote as well so that […]

The post “Some Day”: 1984: An Editorial on the Future of Computers appeared first on CodeGuru.

]]>
Future of Compting

Like many developers, I have shelves of books that I consider important to have within reach should I need them. While there are tons of resources online, there are a number of classics that are worth having on the shelf within easy reach. These include some of the books I wrote as well so that I can remind myself what I knew at one point in the past.

One of the books I found on my shelf caught my attention. It is a book that I picked up from my kids’ school several years ago. The library was tossing it out, so I grabbed it. The book is called Microcomputers at Work by James Hargrove. It’s a kid book of about 45 pages that is so old that it has a pocket in the back for the ‘check out’ card. The book was written in the Orwellian year of 1984, well before the internet and many of today’s modern thrills.

The book includes coverage of a lot of basic concepts that are still relevant today. This includes coverage of chips, disk drives, integrated circuits, processors, and even things like interpreters for “turning BASIC words into computer numbers.” In addition, a bit of history is covered, including a discussion of ENIAC and vacuum tubes.

The Predicted Future of Computers

What was interesting enough to inspire this short article was the ending of the book, where it covers microcomputers in the future. There was a comment about how far computers had come from ENIAC in 1946 to modern times – which was 1984. That was roughly 38 years. Ironically, we are almost 38 years from the time the book was written.

So, what were the predictions for computers?

It was predicted that in the future, computers could have such large memories that “tapes and disks” would not be needed to store information. Clearly, this prediction was found to be very accurate. While people use thumb drives and other memory disks, those tend to be for backing up or sharing data as much as anything. Even then, more people simply use internet connectivity and cloud storage to save, backup, or share information. Clearly, this prediction happened.

Also predicted was that computer languages would become more and more like everyday speech. While there are natural programming languages, I’d say the world has still fallen a little short of being able to simply describe a problem in simple English and get a working program. We are, however, closer than we were 37 years ago. There are languages like Scratch that can use drag and drop widgets to create programs that are nearly as easy as using natural language – something known as low-code and no-code software development.

If you look online, you’ll find that there are languages referred to as natural language programming languages. In many cases, they use English-like syntax but still require a lot of structure to get a working program. These include languages like AppleScript, COBOL, HyperTalk, SenseTalk, and many more. While the area of natural computer languages has evolved, we are not fully there yet. Having said that, with the increases in artificial intelligence (AI) and machine learning (ML), it is easy to predict that this is an area that, in the next 37-38 years, will likely change. In that time frame, I imagine you’ll be able to describe verbally to a computer what you want a program to do, and it will be able to generate the app.

The last prediction made in the book from 1984 will make most people chuckle because of how true it is today:

“Soon, even small computers will have ‘ears.’ One day, you might be able to say: ‘Computer! Do you think we’ll have snow tonight or an earthquake?’ and get an answer.”

Simply substitute “Computer” with “Siri,” “Okay Google,” or “Cortana,” and you’ll get the answer along with many more details. I doubt in 1984 they fully comprehended how “small” a small computer would be, nor that the level of weather predicting would be at the level it currently is due to what computers and computer modeling can do.

The Orwellian Predictions

Of course, these predictions were written in the year 1984. It might be that in 1949, the predictions of where computers were headed might have been more accurate. With the predictions of history being rewritten and technology being able to track every move of people, it could easily be said that three or four decades before 1984, Orwell had a better idea of what the future of computing would be able to do.

Predicting the Future of Computing

Of course, it could be silly to try to predict where computing will be in 37 to 38 years from today. I’m not sure how many people would have predicted in 1984 the level of connectivity we have in today’s world. We live in a world where many minor things are connected as a result of computers. For example, the tires in some of our cars tell the car when they are low, and the cars tell the driver (and others) when they need service. We live in a world that has shoes that can track the number of steps taken by the wearer. We have devices that let you pay for services by simply tapping the device to the register. The power and application of the internet was likely unfathomable by most in 1984, much less the rise of the Internet of Things (Iot).

In the late 1980s, I took a C programming course at Microsoft University on the Microsoft Campus in Redmond, Washington. One of the predictions that the person teaching the course made was that programming would change. It would lead in two directions. Most people would use very high-level languages to create programs – just like what the book predicted. These programmers could be non-technical end-users. In today’s terms, they would be citizen developers. However, there would also be a small group of programmers that would go the opposite direction. They would need to be highly skilled and technical because they would be writing the underlying widgets and code being used by the citizen developers.

Read: C# for Beginners

So, where are computers and software development headed? It is hard to say. With the advent of machine learning (ML), artificial intelligence (AI), connectivity (including wireless communications), improved storage, and hardware optimization, it is clear that things will continue to evolve and get better. With the changes and improvements in areas such as quantum computing, it is clear that the potential for change in the next three or four decades could blow away what was done in the previous 3 or 4.

It’s going to be an interesting ride!

The post “Some Day”: 1984: An Editorial on the Future of Computers appeared first on CodeGuru.

]]>
IoT Development Platform: Cisco Jasper IoT https://www.codeguru.com/iot/iot-development-platform-cisco-jasper-iot/ Fri, 02 Feb 2018 08:15:00 +0000 https://www.codeguru.com/uncategorized/iot-development-platform-cisco-jasper-iot/ Figure 1: The Jasper logo Up until March of 2016, Jasper Technologies was a 12 year old US-based corporation whose main offering was a Cloud-based software platform for the Internet of Things (IoT). Then, Cisco bought Jasper for $1.4 billion as the foundation of their own IoT Cloud business whereby Jasper would become the IoT […]

The post IoT Development Platform: Cisco Jasper IoT appeared first on CodeGuru.

]]>
The Jasper logo
Figure 1: The Jasper logo

Up until March of 2016, Jasper Technologies was a 12 year old US-based corporation whose main offering was a Cloud-based software platform for the Internet of Things (IoT). Then, Cisco bought Jasper for $1.4 billion as the foundation of their own IoT Cloud business whereby Jasper would become the IoT Cloud Business Unit. Cisco was keen on acquiring the Jasper Control Center Platform—a Cloud-based solution for enterprises to launch, manage, and monetize an IoT deployment using a single turnkey solution. The goal was to help businesses overcome the obstacles that prevent about sixty percent of IoT initiatives from progressing past the proof of concept stage.

The new Control Center 7.0 is a multi-tier IoT management platform that provides businesses with greater flexibility, as well as advanced security, automation, and analytics. It also includes two new customizable Premium Services that address Threat Protection and Smart Security. These provide IoT-specific malware and cyber security protection based on Cisco Umbrella threat protection.

Since then, Cisco unveiled their Kinetic IoT operations platform. It encompasses connection management, fog computing, and data delivery for all types of connected things. It leverages some Jasper technology to extend the range of wired and wireless devices types. Kinetic is still quite new, so we will focus on Jasper today, but it is not unfeasible that Kinetic may eventually outgrow Jasper.

A number of IoT Platforms made the Codeguru list of Top IoT platforms, including the Cisco Jasper IoT Platform. In evaluating Cisco Jasper, the structure recommended in “Developer’s Guide to Evaluating IoT Platforms” was used. This will make it easier for you to compare various IoT platforms.

The SP IoT Reference Framework
Figure 2: The SP IoT Reference Framework

Key Features

IoT Boards Support

IoT development all starts with IoT Starter Kits. Cisco provides these based on the network service provider you select, and include:

  • Trial SIM cards, SMS, and data for your test devices
  • Full access to Control Center for your evaluation team, including the complete suite of developer tools and APIs to build and test your IoT services

One of the most popular is the AT&T starter kit, shown in Figure 3.

The AT&T starter kit
Figure 3: The AT&T starter kit

It’s the only IoT Starter Kit in the market that offers an end-to-end developer solution, including LTE-enabled hardware and connectivity, Control Center as the leading connectivity management platform, application enablement, as well as out-of-the-box integration with leading Cloud platforms. You can vet out your concept and have a working proof of concept within mere hours.

Your chosen network service provider will ship your SIMs and provide you with access to Control Center.

After installing the SIMs in your devices, you can use automation rules and APIs to connect to your network and applications.

IoT OS Support

Cisco Jasper supports all of the major operating systems, and even some that are slightly less ubiquitous. Here’s a sampling of supported operating systems:

  • Microsoft Windows Server 2003 x86 SP2
  • Microsoft Windows Server 2003 R2 x86 SP2
  • Microsoft Windows Server 2003 x64 SP2
  • Microsoft Windows Server 2003 R2 x64 SP2
  • Microsoft Windows Server 2008 x64 SP1w/Hyper-V
  • Red Hat Enterprise Linux 4.8 64bit
  • Red Hat Enterprise Linux 5.3 64bit
  • Novell SUSE Linux Enterprise Server 1164bit
  • Oracle Enterprise Linux release 4 64bit
  • Oracle VM serverrelease 2.1.5 64bit
  • VMware ESX 3.5 Update 4
  • VMware vSphere 4
  • VMware vSphere 4i

Don’t forget to verify that the Operating System you want to run is supported on your UCS hardware.

You can check this via the Hardware and Software Interoperability Matrix, which contains a list of supported Operating Systems.

Key Sensor Support

AT&T’s IoT Starter Kit, offered in partnership with Cisco-Jasper, can be configured for an endless variety of sensors. The application project uses constants to define the supported sensor configurations; you can see the constants in the code sample below:

// Specify here how many sensor parameters you want reported
// to FLOW.
// You can use only the temperature and humidity from the shield
// HTS221, or you can add the reading of the FXO8700CQ motion
// sensor on the FRDM-K64F board, or if you have a SiLabs PMOD
// plugged in to the shield, you can add its proximity sensor,
// UV light, visible ambient light, and infrared ambient
// light readings.
// If you run the Windows "Sensor Simulator" utility, 8 additional
// virtual sensors can also be made available via USB.

#define TEMP_HUMIDITY_ONLY                                       1
#define TEMP_HUMIDITY_ACCELEROMETER                              2
#define TEMP_HUMIDITY_ACCELEROMETER_GPS                          3
#define TEMP_HUMIDITY_ACCELEROMETER_PMODSENSORS                  4
#define TEMP_HUMIDITY_ACCELEROMETER_PMODSENSORS_VIRTUALSENSORS   5

The value for iSensorsToReport tells the application which collection of sensors to read values from:

static int iSensorsToReport = TEMP_HUMIDITY_ACCELEROMETER;

As you can see from the example code, by default the application is configured to measure temperature, humidity, and accelerometer values. If you wanted to add a GPS module to the project, you would change the value assigned to iSensorsToReport to TEMP_HUMIDITY_ACCELEROMETER_GPS so location data would be measured instead. With this change, the iSensorsToReport assignment would become:

static int iSensorsToReport = TEMP_HUMIDITY_ACCELEROMETER_GPS;

You then would need to compile the application and deploy the updated binary to your FRDM-K64F board, using the instructions in the Starter Kit tutorial. At this point, the board would start reading values from the PMOD sensor and sending them to AT&T M2X through AT&T Flow.

IoT Data Considerations

Cisco’s IoT Platform data management, which is part of the Application Enablement layer, consists of:

  • Data Storage
  • Data Management
  • Data Virtualization
  • Data Analytics

Each of these components would require their own article to each get a fair coverage; it is worth noting that Cisco has recently reversed their previous client-server side architecture that many data centers were using, in favor of new Data Center vision, known as 3.0. The move comes in response to the rising costs and complex network management issues that arose with these distributed networks.

The 3.0 Data Center features the Cisco Nexus 7000 Series. It uses the Cisco Nexus Operating System (NX-OS) to help IT managers better consolidate the disparate software systems running their networks. The platform can currently transfer 15 terabits per second, which means users could download the entire Netflix library in roughly one minute, with a scalable architecture that could allow even greater delivery rates.

The platform uses the recently deployed Cisco Trusted Security architecture, which allows network managers to segment traffic through virtualized environments.

IoT Security Considerations

Securing an IoT business is a multi-dimensional challenge. Although connecting devices to applications in the Cloud makes them smarter and capable of delivering additional services, it also makes them vulnerable to breaches in security from that very same Cloud infrastructure. That’s why it’s critically important to have robust security at the cloud and application levels—even a small crack can lead to catastrophic repercussions across a company’s entire IoT deployment.

Cisco Jasper espouses a holistic approach in safeguarding both your IoT applications and Cloud infrastructure; it’s one that incorporates the best of traditional IT security along with even more sophisticated measures. Even though there are many factors to Cisco’s security infrastructure, here are two key areas:

  • Information security: To protect your organization and Cloud infrastructure, Cisco utilizes both digital and non-digital security practices. Adhering to standards such as ISO/IEC 27001, it provides a critical part their overall strategy for ensuring information security in both IT and non-IT realms.
  • Application-level security: In addition to securing the overall environment, Cisco provides more granular performance with controls for the IoT applications themselves.

Development and Deployment Considerations

Launched in February 2014, the Jasper Global SIM software developer kit enables enterprises to deploy M2M devices internationally. The SIM software gives enterprises the ability to manage a single embedded SIM by remotely provisioning and managing mobile operator profiles and policies for that SIM anywhere in the world. This meets the demand for more efficient and cost-effective global deployment models and enables rapid international distribution and device activation. Connected devices can be transferred seamlessly from one operator to another to take advantage of local operator support, comply with international roaming restrictions, and address cost constraints.

Moreover, Jasper Global SIM provides the ability to change SIM profiles on-demand or based on pre-defined rules and triggering events, with reporting and audit controls, automated assignment to proper policies, rate plans, and service conditions, with fully managed billing and contractual term compliance.

Developers can build, deploy, and monitor applications at the network edge with Cisco IOx and Cisco Fog Director.

IOx enables hosting of applications and services. These applications can transform IoT sensor data and perform control functions within the network.

Fog Director provides centralized management services to manage all life cycle aspects of applications and services on thousands of fog nodes enabling operations at scale.

Cost and Licensing of IoT Platforms and Solutions

Cisco IOx and Fog Director are licensed on a per-device, term subscription basis.

  • IOx and Fog Director are available as part of the single PID.
  • License for IOx and Fog Director can be ordered with a subscription term of 1, 3, or 5 years.
  • Subscription term includes software upgrades and support.
  • Customers can choose a subscription-billing model of either a monthly payment for the duration of the term or prepaid for the whole term.
  • Begin with the following top level PID: IOX-SOFTWARE.
  • Then, you can configure the IOX CORE OPTION with the appropriate platform-specific PIDs and subscription term.

Cisco Jasper does not provide any additional pricing information and public pricing information is unavailable, so your best bet is to contact Cisco Jasper to obtain current pricing.

Cisco Jasper

Company: Cisco Systems, Inc.

Key Features

  • Real-time diagnostics
  • Security
  • Information and entertainment services
  • Control Center 7.0 will have reliability dashboards as well as usage monitoring tools. With IoT deployments, there are hardware, software, and maintenance costs, but connectivity charges are a key line item to monitor.
  • Premium services, such as a threat detection and security service that is built on Cisco’s Umbrella platform.
  • Segmentation for different types of traffic do service provider can add business models and services.
  • Support for multiple low-power connectivity options, such as NB-IoT and LTE-M.
  • Used by eleven automotive OEMs and companies like Coca-Cola, Starbucks, GE Aviation, Allstate, Audi, and Garmin.
  • Strategic Partnerships with Microsoft Azure, Salesforce.com, SAP SE.
  • Reliance Communications—Reliance Communications, a telecommunications service provider, partnered with Jasper to manage and monetize Next-Generation IoT businesses.
  • Awards & Recognition:
    • 2015 GSMA Global Mobile Awards Winner: Best Mobile Innovation for the ‘Internet of Things’
    • 2015 Technology Pioneer: World Economic Forum Recognizes 24 Leading Technology Pioneers
    • 2014 World Communication Awards Winner: The Connected World Initiative
    • 2014 Total Telecom Internet of Things Awards Winner: Project of the Year

Programming Environment/Tools

  • Aironet Developer Platform (ADP)
  • A sample application might perform video analytics utilizing a Cisco Aironet 3800 AP, an ADP hardware development kit, a Raspberry Pi, and OpenCV.

Hardware Development Kit (HDK): Sensor integration with Raspberry Pi

DevNet Sandbox: DevNet Sandboxes are packaged labs that are available to developers and engineers. Sandboxes can be used for development, testing APIs, learning how to configure a product, training, and much more.

ADP Sandbox: The ADP sandbox delivers a Cisco Aironet 3800 series access point with the ADP Extender Module HDK. The HDK is connected to a pre-configured Raspberry Pi. To gain access to this development environment, you will need to make a reservation.

Manage and Deploy your Edge Applications: Build, deploy, and monitor applications at the network edge with Cisco IOx and Cisco Fog Director.

Mobility and Location Services: Whether you want Cloud managed or full on-prem control with millimeter accuracy, Cisco Jasper has got your location services covered.

Meraki Location API: The Cisco Meraki Location Analytics API uses intelligent access points to deliver real-time location analytics data directly to customers.

Cisco CMX: Cisco Connected Mobile Experiences (CMX) is a smart Wi-Fi solution that uses the Cisco wireless infrastructure to detect and locate consumers’ mobile devices with pinpoint accuracy.

Cisco Kinetic for Cities: Create innovative new community experiences with creative transformational impact when solutions and data are unlocked from silos and available for cross-referencing across multiple industries, sectors, and localities.

Deploy, Collect, Connect, and Analyze IoT: Build new business with the ability to process high volumes of data in the fog and deliver closed-loop system control in real time.

PNDA: A scalable, open source big data analytics platform for networks and services.

Architect IoT Applications Quickly with DevIoT: DevIoT is an environment that enables developers and makers to quickly engineer, prototype, and design IoT applications with Cisco APIs and other familiar services. The IDE itself features various cloud connector plug-ins to quickly integrate various cloud applications like AWS, Cisco Spark, Salesforce, Hadoop, and even integrate with other connector services such as Built IO.

Cisco Kinetic: This new class of platform extracts data from its source, computes on distributed nodes, and moves data to distributed applications.

OS/Languages

Cisco IOx allows application developers to work in the familiar Linux application environment with their choice of languages and programming models with familiar open-source development tools.

IOx supported platforms:

  • IR829/IR809 Intel 64 bit
  • IE4000 PPC 32 bit
  • CGR1000 Compute Module (CGMSRV) AMD 64
  • UCS C2xx Intel 64 bit
  • ISR4351/4331 Intel 64 bit
  • Etc…

See https://developer.cisco.com/docs/iox/#supported-platforms for a full list.

Target Audience: Intermediate to advanced developers

Most Recent Update/stable Release: N/A

License

Licenses vary by product and/or service. For instance, Cisco IOx and Fog Director are licensed on a per-device, term subscription basis.

  • IOx and Fog Director are available as part of the single PID.
  • License for IOx and Fog Director can be ordered with a subscription term of 1, 3, or 5 years.
  • Subscription term includes software upgrades and support.
  • Customers can choose a subscription-billing model of either a monthly payment for the duration of the term or prepaid for the whole term.
  • Begin with the following top level PID: IOX-SOFTWARE, then configure the IOX CORE OPTION with the appropriate platform specific PIDs and subscription term.

Conclusion

Cisco Jasper has a lot going for it, but perhaps the star of their show is the Cisco Jasper Control Center, which allows you to configure, manage, and troubleshoot IoT deployments in an easy and reliable way, both by API and Web Interface. It provides control and support for IoT/M2M deployments, as well as management and troubleshooting, all within the same tool. Moreover, you get a generous helping of support from the Cisco IoT Team.

Cisco Jasper is one of several IoT Platforms to make our list. You can find the others in the IoT area of Codeguru!

The post IoT Development Platform: Cisco Jasper IoT appeared first on CodeGuru.

]]>
The Oracle IoT Platform https://www.codeguru.com/iot/the-oracle-iot-platform/ Fri, 29 Dec 2017 08:15:00 +0000 https://www.codeguru.com/uncategorized/the-oracle-iot-platform/ Oracle has demonstrated new capabilities for its Internet of Things technology, which businesses can use to better manage their field equipment and assets as well as improve customer service performed by field technicians. Customers using the new capabilities have reported being able to deploy IoT into their workflows two to three times faster than before, […]

The post The Oracle IoT Platform appeared first on CodeGuru.

]]>
Oracle has demonstrated new capabilities for its Internet of Things technology, which businesses can use to better manage their field equipment and assets as well as improve customer service performed by field technicians. Customers using the new capabilities have reported being able to deploy IoT into their workflows two to three times faster than before, according to Oracle executives who presented to a roomful of journalists at company headquarters in Redwood City, California.

New Oracle Tech Simplifies Internet of Things Deployments in the Field

Oracle is embedding IoT and data analytics technology into specific business applications running business operation workflows, such as those of Oracle CX Cloud (which includes sales, marketing, and customer service applications) and Oracle Supply Chain Management Cloud (which addresses issues in factory maintenance).

Oracle’s IoT applications portfolio includes Oracle Cloud-based IoT asset monitoring, production monitoring, connected workers, and fleet monitoring applications.

The IoT applications let plant and operations managers remotely monitor production lines for potential outages and have them serviced before they go down. They also include support for augmented reality software that both plant managers and field technicians can use to review metadata about different assets, as well as real-time instructions on how to take them apart, execute fixes, and put the equipment back together. They also can use virtual reality to “walk” the factory floor.

“While IoT technology isn’t new, the inclusion in Oracle’s IoT platform of prebuilt machine learning algorithms for specific use cases represents a significant step forward for business customers,” said Bhagat Nainani, Oracle IoT group vice president. “Having the right algorithms with the right level of sophistication, with the right analytics and predictions, is where the real IP is, and where the core value is for the customer,” Nainani said.

By embedding this IoT technology into existing business applications running existing workflows, “we’ve significantly simplified the ability for customers to deploy a solution going from the device to the platform to the IT application to whatever coupled application that is on top of it,” said Lionel Chocron, vice president for Oracle industry IoT solutions. “Also, the data flow integrates active intelligence algorithms both at the platform level and at the application level.”

Understanding the Oracle Internet of Things Cloud Service Gateway

The Oracle IoT Gateway
Figure 1: The Oracle IoT Gateway

What-If Scenarios

Oracle’s IoT application portfolio lets managers create a digital twin of a physical asset, so they can troubleshoot a failing piece of machinery without first having to take it offline. That capability also allows them to run what-if scenarios and other tests to ensure that they don’t create a new problem when they apply a fix to the physical device.

Because the new capabilities are based on specific use cases and implemented within existing business applications, managers can implement the technology quickly, without having to hire programmers or data scientists. “It’s all done declaratively through point-and-click—there’s no coding at all,” Nainani said.

In modern business settings, just keeping track of equipment can be challenging. For example, on a typical 10-hour shift in US hospitals, nurses can spend a lot of time looking for misplaced equipment. What’s more, even when they find it, too often it’s inoperative.

In an industrial setting, a crane used for unloading containers might have been left at the opposite end from where the next shift of workers who need it are coming in, noted Atul Mahamuni, Oracle vice president of IoT applications. “Where are my assets? Are they working? What is utilization like? These are real problems. We can solve these with IoT,” he said.

Mitsubishi Electric, SoftBank, Noble Plastics, and building management company Vinci were early customers of Oracle IoT Cloud Service.

Keeping Up with the Hype

IoT has been a buzzword for years; however, “the number of deployments hasn’t kept up with the hype,” Nainani said. The complexity of having to integrate new code into existing workflows—or worse, having to develop new workflows to integrate with new IoT algorithms—has slowed adoption. So, too, has the expense of hiring data scientists and programmers.

“That’s why Oracle has made business outcomes and ‘making things easy’ a point of emphasis,” he said.

“IoT is about more than connecting myriad devices to the Internet,” Nainani said. “It’s about using data from the devices to improve efficiency and other business outcomes. We help you get there in simple steps.”

Oracle Broadens Its IoT Cloud Offering with Four New Solutions

Oracle is expanding its Internet of Things (IoT) offering with four new Cloud-based services designed to help businesses incorporate connected devices and make the most of digital supply chains.

Oracle’s new Cloud applications will help businesses monitor productivity, assets, fleets and individuals, and the announcement comes just a week after the software giant agreed on a “Power IoT Ecosystem Partnership” with telecoms equipment company Huawei.

Sensors, Workers, Fleets and Equipment

The new Cloud applications integrate with Oracle’s Supply Chain Management (SCM) Cloud applications and include the following products:

  • IoT Asset Monitoring Cloud: Monitors assets, utilization, availability, and data from connected sensors and creates incidents in the back-end SCM, ERP, or Service Clouds to automate workflows
  • IoT Connected Worker Cloud: Tracks employees to support safety, service, and regulatory compliance initiatives
  • IoT Fleet Monitoring Cloud: Monitors position and progress of passenger, service, and delivery vehicles and driver behavior
  • IoT Production Monitoring Cloud: Monitors production equipment to assess and predict manufacturing issues

These applications share three common goals, according to Oracle executives. First comes device registration and the collection of data. Second is data processing; the point at which information becomes insight. Also, third is the connection of these insights to specific business processes. Advanced and predictive analytics can mold data into real-life insights, including predictive maintenance, diagnostic dashboards, and increased real-time visibility.

Oracle Seeks to Modernize the Digital Supply Chain

Bhagat Nainani, group vice president of IoT applications development at Oracle, outlined the company’s vision on Cloud applications for the IoT. “The world is becoming ever-more digital and IoT is the next step on that journey, delivering better customer experiences and helping organizations achieve a competitive advantage,” he said.

“Oracle IoT Applications enable businesses to leverage connected devices and equipment to modernize the digital supply chain.”

A statement from Oracle announcing the new Cloud applications warns that businesses shying away from the latest developments could fall behind competitors:

“Organizations with the tools to integrate device data into business processes and applications can gain critical predictive insights and drive cost-effective actions. IoT solutions enable businesses to deliver innovative new services faster and with less risk to their customers.”

Conclusion: Competition in IoT Cloud Services

The market for IoT Cloud services is becoming increasingly competitive. Cisco bought IoT cloud provider Jasper last year, while Amazon Web Services, Microsoft, IBM and Google all have strong Cloud offerings.

Last week, Oracle executive chairman and chief technology officer Larry Ellison released data that he claims show that the company’s Cloud databases are “decades ahead” of those offered by Amazon.

“Oracle’s new technologies will drive the Cloud databases and infrastructure of the future,” said Ellison. “Amazon is decades behind in every database area that matters, and their systems are more closed than mainframe computers.”

The Oracle IoT Platform is one of several platforms to make our list. You can find the others in the IoT area of Codeguru!

The post The Oracle IoT Platform appeared first on CodeGuru.

]]>
Remote Monitoring with the Azure IoT Dev Kit https://www.codeguru.com/iot/remote-monitoring-with-the-azure-iot-dev-kit/ Wed, 27 Dec 2017 08:15:00 +0000 https://www.codeguru.com/uncategorized/remote-monitoring-with-the-azure-iot-dev-kit/ Microsoft teamed up with MXChip to build a brand new IoT development board with a ton of features. This tiny device comes with WiFi, a 128X64 OLED display, an on-board microphone plus infrared, and pressure, motion, humidity, and temperature sensors. This little board even includes a magnetometer and gyroscope for sensing orientation. All you add […]

The post Remote Monitoring with the Azure IoT Dev Kit appeared first on CodeGuru.

]]>
Microsoft teamed up with MXChip to build a brand new IoT development board with a ton of features. This tiny device comes with WiFi, a 128X64 OLED display, an on-board microphone plus infrared, and pressure, motion, humidity, and temperature sensors. This little board even includes a magnetometer and gyroscope for sensing orientation. All you add is a micro-USB power cord and you’re in business. Best of all, you can get one from three different distributors for $39.00 US plus shipping. It’s even available on Amazon!

The MXChip device
Figure 1: The MXChip device

The primary objective driving the IoT Dev Kit was to provide an inexpensive piece of hardware with a wide range of sensors to allow developers to quickly get up to speed with the Internet of Things. A key piece of the puzzle is the Azure platform and the wide range of services available to support IoT devices. Microsoft has incorporated an IoT Hub to act as the central focus point for all things IoT.

Setup and Configuration

When you initially power up the device, you have to put it in AP mode to configure the WiFi. Microsoft has a complete getting started document to lead you through the process, so we won’t repeat that here. Once you have the device connected to a WiFi access point, you’re ready to start developing. Two decent-sized buttons, labeled A and B, on either side of the display change the display mode. Pressing the B button will cycle through all of the sensors and display the current readings.

All of Microsoft’s sample code uses Visual Studio Code as the development environment. The Getting Started document provides a step-by-step process to install VS Code and all other required tools. One of those tools is the Arduino IDE, which now is available from the Microsoft Store. You also need to install USB drivers for the board; they automatically recognize the device when you connect it to your computer. Once you have the Arduino IDE app available to run, you must configure support for the MXChip AZ3166 board. We had to refer to the FAQ to fix one issue where the board support package was not automatically loaded.

Get Coding

Microsoft has provided a number of sample applications to help you quickly get started with the MXChip Dev Kit board. We chose the Remote Monitoring project, which sends temperature and humidity information from the IoT Dev Kit device to an Azure IoT Hub solution. Figure 2 shows the Create solution page where you specify a unique name for your project and then connect to an existing Azure subscription account and region. Once that has been created you’re ready to build and upload your code to the device.

The Create solution page
Figure 2: The Create solution page

Figure 3 shows the VS Code screen with the Remote Monitoring solution loaded. VS Code uses the Arduino IDE behind the scenes to compile and upload the code, and it supports the .ino file format for Arduino projects. The entire project is available on Microsoft’s GitHub Web page, including the step-by-step instructions.

The VS Code screen with the Remote Monitoring solution loaded
Figure 3: The VS Code screen with the Remote Monitoring solution loaded

Figure 4 shows the terminal window of VS Code with the results of running the task device-upload command. This will compile the code and upload it to the IoT Dev Kit over USB. Make sure to put the device in configuration mode before starting the upload process by holding down the A key and pressing the reset button. Assuming everything works, you should start seeing values reported to your Azure IoT Hub solution pretty quickly. The Arduino C code blinks the blue Azure LED on the IoT Dev Kit board every time it sends data up to Azure. Figure 5 shows what the solution looks like displaying some of the sample data.

The terminal window of VS Code
Figure 4: The terminal window of VS Code

The finished solution, with sample data
Figure 5: The finished solution, with sample data

Final Thoughts

This project provides a great way to get started with coding at both the IoT device level and the consumption and presentation layer in Azure. Microsoft offers other samples if you want to simply monitor and display data from your device. If you go to your Azure subscription portal and view all resources with the name of your project, you’ll see something like Figure 6.

Project resources
Figure 6: Project resources

You really can’t go wrong if you’re looking for an inexpensive way to get started with IoT development. For less than fifty bucks and a free Azure subscription, you can be on your way!

The post Remote Monitoring with the Azure IoT Dev Kit appeared first on CodeGuru.

]]>
IoT Development Platform: AWS IoT Platform https://www.codeguru.com/iot/iot-development-platform-aws-iot-platform/ Thu, 09 Nov 2017 08:15:00 +0000 https://www.codeguru.com/uncategorized/iot-development-platform-aws-iot-platform/ AWS IoT is a managed Cloud platform that enables interconnected IoT devices to interact securely with Cloud applications and/or other devices. It’s an enterprise level platform that can support billions of devices and trillions of messages. Using AWS IoT enables your applications to keep track of and communicate with all your devices. AWS IoT includes […]

The post IoT Development Platform: AWS IoT Platform appeared first on CodeGuru.

]]>
AWS logoAWS IoT is a managed Cloud platform that enables interconnected IoT devices to interact securely with Cloud applications and/or other devices. It’s an enterprise level platform that can support billions of devices and trillions of messages. Using AWS IoT enables your applications to keep track of and communicate with all your devices.

AWS IoT includes a number of specialized services such as AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, Amazon DynamoDB, Amazon CloudWatch, AWS CloudTrail, and Amazon Elastic search Service with built-in Kibana integration. These may be utilized to build IoT applications that gather, process, analyze, and act on data generated by connected devices, without having to manage any infrastructure.

A number of IoT Platforms made the Codeguru list of “Top IoT Platforms for Developers,” including AWS IoT. In evaluating AWS IoT, the structure recommended in “How to Evaluate IoT Platforms for Developers” was used. This will make it easier for you to compare various IoT platforms.

IoT Hardware Support

The AWS IoT Device SDK helps you to easily and quickly connect your hardware and/or mobile devices to AWS IoT. It offers features for interacting with the Device Gateway and Device Shadow rapid development services. The Device SDK supports a variety types of devices, from basic to industrial hardware devices.

The AWS IoT Starter Kits enable you to quickly prototype your ideas. These physical kits are designed to help accelerate prototype development of connected devices and connect securely to AWS IoT. The kits include development microcontroller development boards, sensors and actuators, the AWS IoT Device SDK, and a simple getting started guide so that you can find the best fit for your products. You can either purchase kits from Amazon.com or, if you already have the hardware board, you can just download the SDK and samples for your board type.

Kits include:

  • GainSpan Application Development Kit
  • STM32 IoT Discovery Node
  • SimpleLink™ Wi-Fi® CC3220SF Wireless Microcontroller LaunchPad™ Development Kit
  • Digi ConnectCore® 6UL SBC Pro Development Kit
  • Digi ConnectCore® 6UL Starter Kit
  • Digi ConnectCore® 6 Development Kit
  • Avnet BCM4343W
  • Marvell EZ-Connect MW302
  • MediaTek Linkit One and Grove
  • Renesas RX63N
  • Dragonboard 410c
  • Intel Edison and Grove
  • BeagleBone Green and Grove
  • Microchip
  • Seeeduino Cloud and Grove
  • TI LaunchPad
  • Wisplet S2W IoT Starter Kit
  • AT&T IoT Starter Kit

IoT OS Support

The AWS IoT Device SDK includes open source libraries, the developer guide with samples, and the porting guide so that you can build innovative IoT products or solutions on your choice of hardware platforms.

Supported languages/OSes include:

  • Embedded C
  • JavaScript
  • Arduino Yún
  • Java
  • Python
  • C++
  • iOS
  • Android

Key Sensor Support

The AWS IoT Device Gateway enables devices to securely and efficiently communicate with AWS IoT. The Device Gateway exchanges messages using a publication/subscription model, which enables one-to-one and one-to-many communications. The publication/subscription model makes it possible for a connected device to broadcast data to multiple subscribers. The Device Gateway supports MQTT, WebSockets, and HTTP 1.1 protocols and scales automatically to support over a billion devices without provisioning infrastructure.

Sensor readings flow from devices to the AWS IoT gateway. IoT allows for asynchronous communication between IoT and devices using an always-available “device shadow.” As part of the shadow, IoT creates a set of topics with predefined names for each thing and publishes events to the topics.

Here’s a real life example:

If you wanted to connect a DHT22 temperature-humidity sensor to the AWS IoT via the AWS IoT Device Gateway, but did not have a driver for it, you could write your own driver without much difficulty by adapting an existing library, such as Adafruit DHT22. You then could bundle the readings from the DHT22 sensor into a simple JSON payload and send it off to the AWS IoT system via the AWS embedded device SDK. The ESP32-DevKitC—available from Amazon for $14.99—comes with a JSON library that makes creating a JSON payload a snap.

IoT Data Considerations

With AWS IoT, you can filter, transform, and act upon device data on the fly, based on business rules that you define. You can update your rules to implement new device and application features at any time.

The AWS IoT platform makes it possible to integrate and control your devices from other AWS services to create more powerful IoT applications. With respect to data, IoT integrates with AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, Amazon DynamoDB, Amazon CloudWatch, and Amazon Elasticsearch Service.

These services may be utilized to analyze and visualize your data. For example, the Hive Editor in Hue could be employed to show your devices’ locations for the last fifteen minutes on a map.

AWS offers a comprehensive set of services to handle every step of the analytics process chain, including data warehousing, business intelligence, batch processing, stream processing, machine learning, and data workflow orchestration.

AWS Data Analytics Products include:

  • Amazon Athena is a serverless Query Service for analyzing data in Amazon S3, using standard SQL.
  • Amazon EMR provides a managed Hadoop framework to process vast amounts of data quickly and cost effectively. It can run open source frameworks such as Apache Spark, HBase, Presto, and Flink.
  • Amazon Elasticsearch Service makes it easy to deploy, operate, and scale Elasticsearch on AWS.
  • Amazon Kinesis is for working with streaming data on AWS.
  • Amazon QuickSight offers fast, Cloud-powered business analytics.
  • Amazon Redshift is a fully managed petabyte-scale data warehouse for analyzing your data using your existing business intelligence tools.
  • AWS Glue is for preparing and loading data to data stores.
  • AWS Data Pipeline helps you reliably process and move data between different AWS compute and storage services, as well as on-premise data sources, at specified intervals.

IoT Security Considerations

There are a number of steps that are required to provision devices in the AWS IoT system. Amazon has put a lot of care into the security of their platform. They have provided a lot of flexibility for both simple use and very complex use of their provisioning system so that it is usable on both a small and large scale.

Communication with AWS IoT is secure. The service requires all of its clients (connected devices, server applications, mobile applications, or human users) to use strong authentication (X.509 certificates, AWS IAM credentials, or third party authentication via AWS Cognito). All communication is encrypted. AWS IoT also offers fine-grained authorization to isolate and secure communication among authenticated clients.

Development and Deployment Considerations

AWS IoT is designed for building IoT end-to-end applications, which will eventually collect data from sensors, store collected data, and then analyze the data. There are several steps to go from development to deployment:

Step 1: Set Up the Environment

  1. Create an SSH Keypair.
  2. Deploy the AWS CloudFormation Template.
  3. Confirmation: Connect to your Instance.

Step 2: Set Up AWS IoT

  1. Create the AWS IoT Resources.
  2. Create an IoT Thing.
  3. Create an IoT Policy.
  4. Create an IoT Certificate.
  5. Configure and Run the Device Simulator.
  6. Create an IoT Rule and Action.
  7. Confirmation: View Device Messages with the AWS IoT MQTT Client.

Step 3: Process and Visualize Streaming Data

Data from your devices may be persisted in Amazon DynamoDB and then visualized with a real-time dashboard powered by a serverless API built with Amazon API Gateway and AWS Lambda.

Cost and Licensing of IoT Platforms and Solutions

Pricing is based on messages sent and received by AWS IoT. Each IoT interaction can be thought of as a message between a device and a server. Amazon charges per million messages sent or received. There are no minimum fees, and you won’t get charged for messages to any of the following AWS services:

  • Amazon S3
  • Amazon DynamoDB
  • AWS Lambda
  • Amazon Kinesis
  • Amazon SNS
  • Amazon SQS

See the Pricing info page for more details.

AWS IoT Platform

Company: Amazon

Key features

AWS IoT consists of the following components:

Device gateway: Enables devices to securely and efficiently communicate with AWS IoT.

Message broker: Provides a secure mechanism for things and AWS IoT applications to publish and receive messages to and from each other. You can use either the MQTT protocol directly or MQTT over WebSocket to publish and subscribe. You can use the HTTP REST interface to publish.

Rules engine: Provides message processing and integration with other AWS services. You can use a SQL-based language to select data from message payloads, process, and send the data to other services, such as Amazon S3, Amazon DynamoDB, and AWS Lambda. You also can use the message broker to republish messages to other subscribers.

Security and Identity service: Provides shared responsibility for security in the AWS cloud. Your things must keep their credentials safe to securely send data to the message broker. The message broker and rules engine use AWS security features to send data securely to devices or other AWS services.

Thing registry: Sometimes referred to as the device registry. Organizes the resources associated with each thing. You register your things and associate up to three custom attributes with each thing. You also can associate certificates and MQTT client IDs with each thing to improve your ability to manage and troubleshoot your things.

Thing shadow: Sometimes referred to as a device shadow. A JSON document used to store and retrieve current state information for a thing (device, app, and so on).

Thing Shadows service: Provides persistent representations of your things in the AWS cloud. You can publish updated state information to a thing shadow, and your thing can synchronize its state when it connects. Your things also can publish their current state to a thing shadow for use by applications or devices.

Programming Environment/Tools:

The AWS IoT Device SDKs help you to connect your devices to AWS IoT. The AWS IoT Device SDKs include open-source libraries, developer guides with samples, and porting guides so that you can build IoT products or solutions on your choice of hardware platforms.

There are many AWS starter kits pre-packaged to connect to AWS IoT. In addition, AWS IoT is supported by a wide range of third party tools and gateways.

AWS IoT tools include:

  • AWS IoT Management Console
  • AWS SDKs
  • AWS IoT Device SDKs
  • AWS IoT Starter Kits

AWS IoT Device SDKs are employed to connect your hardware device, sensor, mobile app, or a thing.

OS/Languages:

The AWS Command Line Interface (AWS CLI) runs commands for AWS IoT on Windows, OS X, and Linux. These commands allow you to create and manage things, certificates, rules, and policies.

The AWS CLI is an open source tool built on top of the AWS SDK for Python (Boto) that provides commands for interacting with AWS services. With minimal configuration, you can start using all of the functionality provided by the AWS Management Console from your favorite terminal program, including:

  • Linux shells: Use common shell programs such as Bash, Zsh, and tsch to run commands in Linux, macOS, or Unix.
  • Windows command line: On Microsoft Windows, run commands in either PowerShell or the Windows CommandProcessor.
  • Remotely: Run commands on Amazon EC2 instances through a remote terminal such as PuTTY or SSH, or with Amazon EC2 systems manager.

Many customers’ primary reason for choosing Amazon Web Services (AWS) is because it’s developer centric and offers a comprehensive set of software development kits (SDKs) for multiple popular programming languages including: .NET, Java and the JVM, Python, Ruby, PHP and Node.js.

Target audience: Intermediate to advanced professional developers

Most recent update/stable release: N/A

License:

Not surprisingly, an end-to-end solution from one of the largest companies in the world entails a very comprehensive array of licensing and service level agreements governing all aspects of their business. These are broken down as follows:

Conclusion

AWS IoT platform takes advantage of existing Cloud services to deliver advanced capabilities. From device management to visualization, AWS has everything that an enterprise needs. Services such as AWS Lambda, Amazon EMR, Amazon DynamoDB, Amazon Redshift, Amazon Kinesis, and Amazon QuickSight sweeten the pot by providing data ingestion, storage, processing, and visualization services.

Pros:

  • Easy to scale
  • Many APIs that are already built in that you do not have to build yourself.
  • No maintenance of the underlying servers and hardware.
  • Existing customers of AWS can integrate easily IoT with their existing Cloud solutions.

Cons:

  • More expensive compared to setting up your own servers.
  • Limitations compared to building your own EC2 cluster to handle incoming messages.
  • Security provisioning is not as simple as it could be.

The AWS IoT Platform is one of several platforms to make our list. You can find the others in the IoT area of Codeguru!

The post IoT Development Platform: AWS IoT Platform appeared first on CodeGuru.

]]>
IoT Development Platform: PlatformIO https://www.codeguru.com/iot/iot-development-platform-platformio/ Thu, 02 Nov 2017 07:15:00 +0000 https://www.codeguru.com/uncategorized/iot-development-platform-platformio/ A number of IoT Platforms made the Codeguru list of “Top IoT Platforms for Developers,” including PlatformIO. In evaluating PlatformIO, the structure recommended in “How to Evaluate IoT Platforms for Developers” was used. This will make it easier for you to compare various IoT platforms. Much more than an IoT Platform, PlatformIO is a free, […]

The post IoT Development Platform: PlatformIO appeared first on CodeGuru.

]]>
PlatformIO logo

A number of IoT Platforms made the Codeguru list of “Top IoT Platforms for Developers,” including PlatformIO. In evaluating PlatformIO, the structure recommended in “How to Evaluate IoT Platforms for Developers” was used. This will make it easier for you to compare various IoT platforms.

Much more than an IoT Platform, PlatformIO is a free, open source ecosystem for IoT development. It comes with its own cross-platform IDE and unified debugger as well as remote unit testing and firmware updates.

To give you an idea of its scope, PlatformIO includes these features:

  • 23 Development Platforms
  • 13 Frameworks
  • 432 Embedded Boards
  • 61 Project Examples
  • 1,798 Libraries
  • 8,329 Library Examples

Key Features

IoT Hardware Support

PlatformIO currently supports over 400 boards from leading manufacturers, and are constantly adding new ones.

IoT OS Support

PlatformIO was designed to build the same source code for the different development platforms via a single PlatformIO run command without any external software or requirements dependencies. To do so, PlatformIO uses its own pre-configured platforms data, including build scripts, toolchains, embedded board settings, and so forth.

PlatformIO’s embedded and Desktop development platforms work under popular host OSes Mac, Linux (+ARM), and Windows. These are described in more detail below.

Embedded Platforms:

  • Atmel AVR
  • Atmel SAM
  • Espressif 32
  • Espressif 8266
  • Freescale Kinetis
  • Intel ARC32
  • Lattice iCE40
  • Maxim 32
  • Microchip PIC32
  • Nordic nRF51
  • Nordic nRF52
  • NXP LPC
  • Samsung ARTIK
  • Silicon Labs EFM32
  • ST STM32
  • Teensy
  • TI MSP430
  • TI TIVA
  • WIZNet W7500

Desktop Platforms:

  • Linux ARM
  • Linux i686
  • Linux x86_64
  • Native
  • Windows x86

Key Sensor Support

Hundreds of popular libraries are organized into the platform with advanced search-by keywords, missed or known headers, and so forth. These include drivers for just about every conceivable device and sensor. For example, here’s a driver for the Adafruit DHT Temperature and Humidity Sensor:

// DHT Temperature & Humidity Sensor
// Unified Sensor Library Example
// Written by Tony DiCola for Adafruit Industries
// Released under an MIT license.

// Depends on the following Arduino libraries:
// - Adafruit Unified Sensor Library:
//    https://github.com/adafruit/Adafruit_Sensor
// - DHT Sensor Library:
//    https://github.com/adafruit/DHT-sensor-library

#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

// Pin which is connected to the DHT sensor.
#define DHTPIN      2

// Uncomment the type of sensor in use:
// #define DHTTYPE        DHT11      // DHT 11
#define DHTTYPE           DHT22      // DHT 22 (AM2302)
//#define DHTTYPE         DHT21      // DHT 21 (AM2301)

// See guide for details on sensor wiring and usage:
// https://learn.adafruit.com/dht/overview
...

Here are just a few of the supported libraries:

  • Adafruit BME280 Library@1.0.4
  • Adafruit BMP280 Library@1.0.2
  • Adafruit BMP085 Library@1.0.0
  • ArduinoJson@5.8.4
  • DHT sensor library@1.3.0
  • OneWire@2.3.2
  • DallasTemperature@3.7.7
  • DNSServer
  • ESP8266HTTPClient
  • ESP8266WebServer
  • ESP8266WiFi
  • ESP8266_SSD1306
  • ESP8266httpUpdate
  • ESP8266mDNS
  • EspSoftwareSerial
  • OneWire
  • SPI
  • SparkFun HTU21D Humidity and Temperature Sensor Br@1.1.3
  • Ticker
  • mikalhart/TinyGPSPlus#88c9db5c7491a2877bdd29edac6f8fff40862215
  • WifiManager@0.12
  • Wire
  • LiquidCrystal_I2C

IoT Data Considerations

Device libraries also include routines for managing data. For example, the FlashStorage library aims to provide a convenient way to store and retrieve a user’s data by using the non-volatile flash memory of microcontrollers.

There are also libraries for serialization of data, FAT16/FAT32 file system for SD cards, and an Arduino library for real-time logging and streaming data to online plotly graphs.

IoT Security Considerations

Security is not baked right into the platform as it is with some of the larger ones, but it does offer security-related libraries such as SpritzCipher. It’s a Spritz library for Arduino, CSPRNG, cryptographic hash and MAC functions, as well as symmetric-key data encryption.

Development and Deployment Considerations

A feature of PlatformIO, called PIO Remote, allows you to work remotely with devices from anywhere in the world. By running a small and cross-platform PIO Remote Agent on a remote machine, you are able to list active devices (wireless + wired), to upload firmware (program), to process remote unit tests, or to start remote a debugging session via Remote Serial Port Monitor.

By using PIO Remote, you also can share your devices with colleagues across your organization or friends. In combination with Cloud IDE, you can access your IoT projects at any time. You just need a free PIO Account to work with PIO Remote.

PlatformIO Core PIO Remote builds project on a host machine and deploys final firmware to a remote device.

Cost and Licensing of IoT Platforms and Solutions

There are four pricing options available:

Community

Includes the following features:

  • PlatformIO IDE
  • PlatformIO Core
  • Continuous Integration
  • Standalone IDEs Integration
  • 30-Days Free Trial for Basic Plan

Basic

Includes everything in Community, and:

  • PIO Remote™
  • PIO Unified Debugger
  • PIO Unit Testing
  • Cloud IDEs Integration
  • Static Project Analysis
  • Cloud Builder

Professional

Includes everything in Basic, and:

  • Unlimited PIO Remote™
  • Access to PlatformIO Club
  • Premium support with 8 hours response time
  • Hot bug fixes
  • PIO Delivery™

Enterprise

Includes everything in Professional, and:

  • Volume Licensing
  • PIO Cloud Enterprise Server
  • Comprehensive Consulting
  • Technology Services
  • System Integration
  • Premium support with 1 hour response time
  • Priority features

See http://PlatformIO.org/pricing for full details.

PlatformIO

Company: PlatformIO

Key features:

  • IDE
  • Build system
  • Unified debugger and library manager
  • Support for more than 400+ development boards, 20+ development platforms, and more than 10+ frameworks
  • Rapid professional development with built-in C/C++ Intelligent Code Completion, Smart Code Linter, and advanced Serial Port monitor
  • PlatformIO can be integrated with the popular IDEs and continuous integration systems to speed up time to delivering IoT applications

Programming Environment/Tools: The IDE is built on top of GitHub’s Atom “hackable” text editor and Microsoft’s Visual Studio Code.

The debugging screen
Figure 1: The debugging screen

PIO Unified Debugger:

  • Support for 100+ embedded boards (see below)
  • Multiple architectures and development platforms
  • Windows, MacOS, Linux (+ARMv6-8)
  • Built-in into PlatformIO IDE for Atom and PlatformIO IDE for VSCode
  • Integration with Eclipse and Sublime Text

PlatformIO Core:

PlatformIO Core is a heart of whole PlatformIO ecosystem and consists of the following:

  • Multi-platform Build System
  • Development platform and package managers
  • Library Manager
  • Library Dependency Finder (LDF)
  • Serial Port Monitor
  • Integration components (Cloud and Standalone IDE and Continuous Integration)

PlatformIO Core is written in Python 2.7 and works on Windows, MacOS, Linux, FreeBSD, and ARM-based, credit-card sized computers (Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, and so on).

PlatformIO Core provides a rich and documented Command Line Interface (CLI). The other PlatformIO-based software and IDEs are based on PlatformIO Core CLI, such as PlatformIO IDE. In other words, they wrap PlatformIO Core with own GUI.

Note: You do not need to install PlatformIO Core because it is included with the IDE.

OS/Languages:

  • Windows, MacOS, and Linux
  • C/C++

Target audience: Intermediate to advanced developers

Most recent update/stable release:

  • PlatformIO IDE for VSCode: v0.7.3
  • PlatformIO IDE for Atom: v2.0.0-rc.3

License:

Free version is licensed under Apache License Version 2.0.

Other subscriptions are bound by the PlatformIO Plus License Agreement.

Conclusion

PlatformIO might just be the fastest IoT development platform, perhaps with the exception of Arduino. It allows developers to write their code and not care how the underlying libraries are written or how the IDE compiles the source code. Moreover, there is no need to set up a tool chain because PlatformIO downloads everything you need the first time you use it.

Another big plus is PlatformIO’s solid reference material; there is lots of good documentation throughout GitHub and the PlatformIO site.

When it works, it works really well. The problem is when it doesn’t. In those rare instances, you may have to do some digging to resolve the issue. Sometimes in building the toolchain, you have more control over the process, and know better where to look when troubleshooting.

PlatformIO is one of several IoT Platforms to make our list. You can find the others in the IoT area of Codeguru!

The post IoT Development Platform: PlatformIO appeared first on CodeGuru.

]]>
IoT Development Platform: Intel IoT Platform https://www.codeguru.com/iot/iot-development-platform-intel-iot-platform/ Thu, 26 Oct 2017 07:15:00 +0000 https://www.codeguru.com/uncategorized/iot-development-platform-intel-iot-platform/ Figure 1: The Intel IoT logo A number of IoT Platforms made the Codeguru list of “Top IoT Platforms for Developers,” including the Intel IoT Platform. In evaluating the Intel IoT Platform, the structure recommended in “How to Evaluate IoT Platforms for Developers” was used. This will make it easier for you to compare various […]

The post IoT Development Platform: Intel IoT Platform appeared first on CodeGuru.

]]>
The Intel IoT logo
Figure 1: The Intel IoT logo

A number of IoT Platforms made the Codeguru list of “Top IoT Platforms for Developers,” including the Intel IoT Platform. In evaluating the Intel IoT Platform, the structure recommended in “How to Evaluate IoT Platforms for Developers” was used. This will make it easier for you to compare various IoT platforms.

When Intel Corp. introduced its new platform for the Internet of Things (IoT) in late 2014, the world’s largest processor manufacturer was seeking to secure a foothold in the growing IoT industry by making an impact in the realm of Big Data analytics.

Intel described its platform as “an end-to-end reference model and family of products from Intel, which works with third-party solutions to provide a foundation for the seamless and secure connection of devices. The model delivers trusted data to the Cloud, and ongoing value through analytics.” The platform focuses on security, interoperability, scalability, and manageability to facilitate IoT deployments.

In branching out from their niche of computer chips, Intel formed partnerships with a number of industry heavyweights, including Accenture, Booz Allen Hamilton, Capgemini, Dell, and many more.

The Intel IoT Platform schematic
Figure 2: The Intel IoT Platform schematic

Intel is wooing Big Data developers by beefing up its Cloud analytics support for IoT Developer Kits, including several new products such as the Intel IoT Gateway series. “To get value out of the data generated in deployments using the Intel IoT Platform, developers need a powerful yet easy-to-use approach to big data analytics,” the company said. “Cloud analytics enables IoT application developers to detect trends and anomalies in time series at Big Data scale.”

Key Features

IoT Hardware Support

Raspberry Pi is likely the best-known, single-board PC in this market, but Intel also has had a strong presence there. In fact, Intel has had a number of products on the market aimed at the do-it-yourself IoT user, including its Galileo, Edison, and Joule boards. However, the company recently announced that they will be pulling out of the DIY market, or at least dropping these particular products. According to Intel, Galileo, Edison, and Joule will remain available for now but will no longer be shipping after 2017.

Having said that, the developer kit page features a stunning array of kits for a variety of applications, including:

  • Intel® IoT Developer Kit
  • Intel® IoT Gateway
  • Terasic DE10-Nano Kit
  • Intel® Quark™ SE Microcontroller C1000
  • Intel® Quark™ Microcontroller D2000
  • MinnowBoard Turbot
  • Intel® RealSense™ Robotic Development Kit (RDK)
  • Intel® Aero Platform for UAVs

As far as your own hardware goes, as long as it can communicate in one of the following supported wired and wireless communications protocols and standards, you’re good to go:

  • GPIO, Analog (including 4-20 mA current loop with adapter), PWM, I2C, SPI, UART (including RS 232/422/485 with adapter), 1-Wire (via UART hack): MRAA APIs
  • ZigBee (802.15.4): UPM interface to Digi XBEE radios
  • Z-Wave: UPM utility class for Z-Wave USB modems and sensor modules
  • LoRa: UPM interface to SX1276 radio
  • Modbus: UPM sensor modules
  • BACnet MS/TP: UPM utility class and sensor modules
  • Bluetooth low energy: TinyB/LittleB, UPM interface to NRF8001 radio
  • NFC/RFID: UPM interface to PN532 and SM130 (RFID only) radios
  • Wi-Fi (802.11): UPM interface to NRF24L01 radios
  • GPRS: UPM interface to SIM900 radio

IoT OS Support

Apps and services can scale across different platforms by using secure APIs.

Your choice of operating system will determine how your device is managed, the scalability of the product, as well as the cost of deployment and maintenance. Following are the operating systems available on Intel boards:

  • Wind River Pulsar Linux
  • Wind River Linux
  • Zephyr Project
  • Snappy Ubuntu Core
  • Windows® 10 IoT

Key Sensor Support

The challenge to connecting a multitude of sensors over many different communication protocols is addressed by using an IoT Gateway. It:

  • Interfaces to devices and sensors to collect data
  • Supports a broad range of connectivity protocols
  • Connects to a LAN, Cellular, or Wi-Fi network to transmit data to the Cloud
  • Includes authentication of the devices and services as well as data encryption
  • Adds “smarts” value in the form of predictive maintenance, energy savings, local processing, analytics, storage, and more…

The Communication Infrastructure Cloud
Figure 3: The Communication Infrastructure Cloud

UPM Sensor Library

The key to delivering on the IoT promise is sensors: software-defined technology that gathers data from devices, environments, people, robots, and machines that enable edge visibility and Cloud-based analysis.

Developers can add their own sensors to the UPM sensor framework—one of the largest available collections of IoT sensors. By doing so, developers get to increase exposure to other IoT developers and innovators worldwide, access tools and expertise to accelerate time to market, and reduce the learning curve.

Developers also may use the many diverse sensors in the library by following simple step-by-step instructions designed to streamline the development process. Finally, there’s an Intel® IoT Developer Kit that includes easy-to-use hardware, software, tools, and Cloud services.

Industrial Sensors

Intel’s sensor framework also features a number of industrial-grade sensors from companies such as Veris, Comet, Semtech, Bosh, Aeon Labs, Honeywell, and many others. These include thousands of basic LEDs, buttons, and switches to complex sensor and actuator devices—all of which are supported for industrial, scientific, medical, and professional applications, thanks to the APIs provided by the MRAA and UPM libraries.

IoT Data Considerations

The crown of analytics is to not only observe, but also predict future trends based on data patterns. For example, when might a wind turbine require maintenance? In doing so, getting quality data from every component, from the smallest sensor to the largest server farm, plays an invaluable role. To that end, Intel is keen on optimizing performance of every component. They also develop algorithms, architectures, and tools for predictive analytics.

Intel’s IoT platform makes it easier to collect, analyze, and act on data generated by a wide array of endpoint devices. For instance, on the network, Wind River Helix Device Cloud collects and manages data from devices and machines to increase operational visibility and intelligence.

Big data analytics are provided on open-source Hadoop and OpenStack for use with private Cloud or major public Cloud providers.

Intel's layered architecture
Figure 4: Intel’s layered architecture

IoT Security Considerations

Intel® security solutions are meant to provide end-to-end protection across the entire IoT platform. Their hardware and software fortified security creates a chain of trust, from thing to network to Cloud. Doing so protects data from theft and tampering and ensures that only trusted data is analyzed, while facilitating attack detection.

Security company McAfee provides Enhanced Security for Intel IoT Gateways in support of the IoT platform.

Intel helps developers mitigate risk by offering various security products that can be deployed on things, including:

  • Securing Enterprise IoT from Vulnerabilities and Breaches: Intel and Sogeti High Tech offer pre-validated components, edge-to-Cloud security coverage, and a path to accreditation. Intel brings over 30 years of designing technologies with an increasing focus on security. Sogeti High Tech brings a dedicated team of security consultants with specialization in industrial cybersecurity.
  • Intel Enhanced Privacy Identity ID (Intel EPID) Digital Signature Technology: Intel Enhanced Privacy ID (Intel EPID) provides a hardware root of trust, designed to enable IoT networks to confidently identify devices and to secure their communications. Intel EPID also offers sophisticated privacy capabilities that enable anonymous communication to help safeguard networks and customers’ data.
  • Intel® Security Critical Infrastructure Protection (Intel® Security CIP): Separates the security management functions of the platform from the operational applications, allowing the operational layer to be secured, monitored, and managed. This sophisticated solution is easy to use, cost-effective, and works with both new and legacy infrastructures.

Development and Deployment Considerations

Transforming your prototype into reality means optimizing it to production-level requirements—whether you are creating a few commercial devices or thousands.

A prototype must undergo a number of changes before it is production ready.

Hardware

The developer must choose hardware from a range of pre-certified modules, Gateways supported by ODMs, and even custom boards.

Components for boards depend on several factors, including:

  • Processing power
  • I/O
  • Power consumption
  • Environmental conditions
  • Long-term scalability

Software

You’ll probably end up rewriting your code as the product develops.

Software has to handle security, scalability, and device management.

Intel’s IoT gateway makes it easier to manage and update devices securely. Moreover, the same development languages, OSes, tools, sensor libraries, and Cloud services used to build your prototype can be leveraged as you move into production.

Code can be repurposed rather than having to start from scratch.

Cost and Licensing of IoT Platforms and Solutions

Being and end-to-end platform, it can be difficult to ascertain the cost of jumping in with both feet. Whereas software offerings like IDEs, SDKs, and APIs are free to download, other components, such as security services, are not. Prices are not listed online, so you should contact Intel with your specific requirements.

Intel IoT Platform

Company: Intel

Key features:

The IoT Developer Kits include: hardware such as boards, sensors, and actuators; software tools including images or packages; support for leading IDEs such as Eclipse, Intel XDK IoT Edition, Arduino, and Wyliodrin; Cloud services; and additional tools and products to boost optimization and performance.

In addition to the developer kits and IoT gateways, Intel highlighted the Wind River Edge Management System as a central product of its new platform. Integrated with the latest Intel IoT Gateway, the Wind River Edge Management System supplies connectivity to the Cloud to help configure devices, transfer files, capture data, and provide rules-based data analysis and response.

Enhanced Security for Intel IoT Gateways provided by McAfee. Enhanced Privacy Identity (EPID) technology is also provided to other processor vendors.

The Intel API and Traffic Management solution enables the creation of building blocks to ease building of new software applications. Developers can use Intel Mashery API management tools to build data APIs that can be shared internally or with partners, or it can be monetized to create revenue-generating data services.

Programming Environment/Tools:

  • Intel® XDK (Node.js)
  • Inte® System Studio IoT Edition
  • This Eclipse-based IDE has a built-in capability to easily integrate sensors via UPM and MRAA libraries
  • Intel® System Studio for Microcontrollers
  • Develop for Intel® Quark™ microcontrollers using this Eclipse-based software suite

Tools:

  • Wind River Helix Device Cloud
  • Embedded Security from McAfee

Software Simulation:

  • Intel® CoFluent™ Technology for IoT
  • Wind River Simics

OS/Languages: C++, Python, Node.js, and Java

Integrated Development Environments (IDEs): Intel® System Studio IoT Edition: This Eclipse-based IDE comes with the built-in capability to easily integrate sensors via UPM and MRAA libraries, which you can develop in C/C++ or Java.

Target audience: Intermediate to advanced developers

Most recent update/stable release: Varies by product and/or service

License: Software is free to use. Other products are charged based on the number of nodes and/or term length. Please see the Intel IoT Platform Marketplace for more details.

Conclusion

Intel’s IoT platform enables customers to quickly build industry-specific IoT solutions as well as integrate enterprise IT systems, utilizing API management. Moreover, the Cloud-based middleware, which runs from the things up through the Cloud, helps reduce time to market and total cost of ownership. With all of this going for it, Intel’s IoT platform is a worthy contender to the IoT playing field.

The post IoT Development Platform: Intel IoT Platform appeared first on CodeGuru.

]]>
IoT Development Platform: Azure IoT Suite https://www.codeguru.com/iot/iot-development-platform-azure-iot-suite/ Thu, 19 Oct 2017 07:15:00 +0000 https://www.codeguru.com/uncategorized/iot-development-platform-azure-iot-suite/ Figure 1: The Microsoft Azure IoT suite Microsoft has been contributing to the Internet of Things (IoT) for some time now with its Azure service. Thanks a very polished starter kit, Microsoft has been steadily taking market share away from its competitors, such as Google IoT Platform and Amazon Web Services (AWS) IoT. A number […]

The post IoT Development Platform: Azure IoT Suite appeared first on CodeGuru.

]]>
The Microsoft Azure IoT suite
Figure 1: The Microsoft Azure IoT suite

Microsoft has been contributing to the Internet of Things (IoT) for some time now with its Azure service. Thanks a very polished starter kit, Microsoft has been steadily taking market share away from its competitors, such as Google IoT Platform and Amazon Web Services (AWS) IoT.

A number of IoT Platforms made the Codeguru list of “Top IoT Platforms for Developers,” including the Azure IoT Suite. In evaluating the Azure IoT Suite, the structure recommended in “How to Evaluate IoT Platforms for Developers” was used. This will make it easier for you to compare various IoT platforms.

The Azure IoT Suite is designed to be a quick-start type of portal—a true example of a platform as a service (PaaS)—that gives you the necessary resources to manage the data being generated by your IoT devices, so that you may better understand it, manipulate it, and use it to improve your business processes.

To deliver these capabilities, Azure IoT Suite packages together multiple Azure services with custom extensions as preconfigured solutions. These preconfigured solutions are base implementations of common IoT solution patterns that help to reduce the time to deliver your own IoT solutions. By using the IoT software development kits, you can customize and extend these solutions to meet your own requirements. You also can use these solutions as examples or templates when you are developing new IoT solutions.

Azure solutions
Figure 2: Azure solutions

Key Features

IoT Hardware Support

To start your IoT projects, Azure offers Certified for IoT devices, gateways, and Azure IoT Starter Kits. Each has been compatibility-tested for seamless connectivity to an IoT Hub.

The Azure catalog features hundreds of certified IoT devices and starter kits tailored to just about any application from starter kits, to sensors, to whole operating systems.

Their selection of starter kits includes a ride range of boards, including:

  • M5Stack Iot kit
  • CPS 200
  • PMC-5231
  • WISE-5231
  • Sparkfun-ThingDev
  • Raspberry-Pi3
  • Intel NUC
  • Intel Edison
  • Adafruit Feather Huzzah
  • Adafruit Feather M0 Wi

You also can certify your own devices by joining the Azure Certified for IoT program.

IoT OS Support

You might expect Microsoft to promote their own OS over all others, but in fact, this is not the case. Recognizing that IoT devices often run on Linux or other OSes, Microsoft has wisely accepted a wide range of popular OSes, such as:

  • Windows 10
  • Debian Linux
  • Arduino
  • Windows Server
  • Ubuntu Linux
  • Mbed
  • Windows 8
  • Yocto Linux
  • Other-RTOS
  • Windows IoT Core
  • Fedora Linux
  • Android
  • TI-RTOS
  • Raspbian Linux

Key Sensor Support

The Azure catalog showcases more than 500 devices from more than 200 partner manufacturers’ certified Tested Compatible Sensors and Tested Built-in Sensors, including:

  • GPS
  • Touch
  • LED
  • Light
  • Gas
  • Noise
  • Proximity
  • Air Temperature
  • Liquid Temperature
  • Weight
  • Soil Alkalinity
  • Vibrations
  • Image Capture
  • Motion Detection
  • Chemical/Compound Presence

Any sensor will work with the Azure IoT Suite as long as it can communicate over AMQP, AMQP over WebSockets, MQTT, or HTTP/REST for the device-to-Cloud communication protocols.

Azure also includes:

  • Support for SSL (using third-party dependencies such as openSSL or WolfSSL)
  • Simple APIs to:
    • Establish a secure connection to IoT Hub
    • Send messages to IoT Hub
    • Receive messages from IoT Hub

There also are development boards and starter kits IDEs for a variety of programming languages Libraries to support I/O and sensor interactions.

IoT Data Considerations

The Azure IoT Hub is a service for controlling and ingesting data from IoT devices.

Azure’s IoT Hub integration enables you to unleash the power of real-time analytics to glean insight over millions of events from all your connected devices. Hence, Stream Analytics clients can perform real-time analytics over data brought in through Azure Event Hubs, IoT Hubs, and Azure Blobs.

IoT Hub is a fully managed service that enables reliable and secure bi-directional communications between millions of IoT devices and an application back end. Azure IoT Hub offers reliable device-to-Cloud and Cloud-to-device messaging, enables secure communications using per-device security credentials and access control, and includes device libraries for the most popular languages and platforms.

It provides services like the following categories:

Data + Analytics

  • HDInsight: Provisions Cloud Hadoop, Spark, R Server, HBase, and Storm clusters
  • Stream Analytics: Real-time data stream processing from millions of IoT devices
  • Azure Bot Service: Intelligent, serverless bot service that scales on demand
  • Data Lake Analytics: Distributed analytics service to facilitate big data
  • Data Lake Store: Hyperscale repository for big data analytics workloads
  • Data Factory: Orchestrates and manages data transformation and movement
  • Power BI Embedded: For embedding interactive data visualizations in your applications
  • Data Catalog: To get more value from your enterprise data assets
  • Log Analytics: For the collecting, searching, and visualizing of machine data from on-premises and the Cloud
  • Apache Spark for Azure HDInsight: Apache Spark in the Cloud for mission-critical deployments
  • Text Analytics API: Evaluates sentiment and topics to understand what users want
  • Azure Analysis Services: Enterprise grade analytics engine as a service
  • Dynamics 365 for Customer Insights: Transforms your customer data into actionable insights
  • Custom Speech Service: Overcomes speech recognition barriers such as speaking style, background noise…
  • Event Hubs: Receives telemetry from millions of devices
  • SQL Data Warehouse: Elastic data warehouse as a service with enterprise-class features

AI + Cognitive Services

  • Machine Learning Studio: For building, deploying, and managing predictive analytics solutions.
  • Cognitive Services: Adds smart API capabilities to enable contextual interactions
  • Azure Bot Service: Intelligent, serverless bot service that scales on demand
  • Text Analytics API: Evaluates sentiment and topics to understand what users want
  • Recommendations API: Predicts and recommends items your customers want
  • Academic Knowledge API: Tapping into the wealth of academic content in the Microsoft Academic Graph
  • Computer Vision API: Helps distill actionable information from images
  • Content Moderator: Automated image, text, and video moderation
  • Emotion API: For personalizing user experiences with emotion recognition
  • Face API: Detects, identifies, analyzes, organizes, and tags faces in photos
  • Bing Speech API: Converts speech to text and back again to understand user intent
  • Web Language Model API: Uses the power of predictive language models trained on Web-scale data
  • Language Understanding Intelligent Service: Teaches your apps to understand commands from your users
  • Speaker Recognition API: Uses speech to identify and authenticate individual speakers
  • Custom Speech Service: Overcomes speech recognition barriers like speaking style, background noise, and vocabulary
  • Bing Autosuggest API: Gives your app intelligent autosuggest options for searches
  • Bing Spell Check API: Detects and corrects spelling mistakes in your app
  • Translator Speech API: Conducts real-time speech translation via a simple REST API call
  • Translator Text API: Conducts machine translation via a simple REST API call
  • Bing Custom Search: An easy-to-use, ad-free, commercial-grade search tool that lets you deliver the results you want
  • Bing Entity Search API: Enriches your experiences by identifying and augmenting entity information from the Web
  • Bing Web Search API: Gets enhanced search details from billions of Web documents
  • Bing Video Search API: Searches for videos and gets comprehensive results
  • Bing Image Search API: Searches for images and gets comprehensive results
  • Bing News Search API: Searches for news and gets comprehensive results
  • Custom Decision Service: A Cloud-based, contextual decision-making API that sharpens with experience
  • QnA Maker API: Distills information into conversational, easy-to-navigate answers
  • Knowledge Exploration Service: Enables interactive search experiences over structured data via natural language inputs
  • Entity Linking Intelligence Service API: Powers your app’s data links with named entity recognition and disambiguation
  • Linguistic Analysis API: Simplifies complex language concepts and parses text with the Linguistic Analysis API
  • Video Indexer: Unlocks video insights
  • Video API: Intelligent video processing
  • Custom Vision Service: Customizes your own computer vision models for your unique use case

Azure Stream Analytics

This service provides on-demand, real-time analytics to drive intelligent action. Developers can run real-time analytics in parallel on multiple IoT or non-IoT streams of data using an SQL-like language. Custom code also may be utilized for more advanced scenarios. There`s no infrastructure to manage, so you can process data on-demand, scale whenever necessary, and only pay per job.

In addition to Azure Stream Analytics, Azure IoT typically stores data in blobs. These can be analyzed by using HDInsight and Machine Learning, then fed into Power BI for additional analysis, on a routine or ad hoc basis.

Azure Stream Analytics is priced by the number of streaming units required to process the data into the service. The price per Standard Streaming Unit is $0.11 per hour.

IoT Security Considerations

Azure IoT supports the security standards Device Identity Composition Engine (DICE) and Hardware Security Module (HSM). In addition, Microsoft has partnered with Micron and STMicro to support HSM and DICE security technologies and Spyrus to support HSM for SD and USB storage devices.

Their Security Center includes a number of security tools and services to prevent, detect, and respond to threats with increased visibility. These include:

  • Azure Active Directory for Developers: Scalable, cross-platform authentication for your mobile apps and Web sites
  • Key Vault: To manage cryptographic keys and secrets
  • Azure Active Directory: Synchronizes on-premises directories and enables single sign-on
  • Azure Active Directory B2C: Consumer identity and access management in the Cloud
  • Active Directory for Domain Services: Joins Azure virtual machines to a domain without domain controllers
  • Multi-Factor Authentication: Safeguards access to your data and apps with an extra level of authentication

Development and Deployment Considerations

If you’re looking for a full IoT solution, Microsoft provides an Event Hub, IoT Hub, Stream Analytics, Power Bi, and many more automation and monitoring tools. For developers, the IoT Suite deployment tool makes it easier to set up these tools. With just a few clicks, you can organize all the components you need for collecting, storing, and monitoring your device data. IoT Suite even includes mechanisms like Rules and Alerts.

Once you have created a solution with IoT Suite, you then can pull it apart and change anything you like, as per your specific scenario and requirements.

Once you’re finished tinkering with your IoT Suite demo/prototype, you can delete everything that was created by simply Deleting the Solution that IoT Suite created. Doing so deletes everything in the solution’s Resource Group and the AAD instance created for it.

Cost and Licensing of IoT Platforms and Solutions

Azure pricing carries no upfront costs; you only pay for what you use.

Here’s some example pricing:

Feature Price Structure
App Service Starting From $0 per month
Virtual Machines Starting From $13 per month
SQL Database Starting From $4.99 per month

You can estimate your expected monthly bill by using the online Pricing Calculator, and track your actual account usage and bill at any time by using the billing portal. It allows you to set up automatic e-mail billing alerts to be notified if your spending goes above an amount you configure.

There’s also a calculator to compare the total cost of ownership (TCO) of your on-premises infrastructure with a comparable Azure deployment using the TCO Calculator and estimate savings you can realize by moving to Azure.

Azure IoT Suite

Company: Microsoft

Key features:

The Azure internet of things (IoT) services offer a broad range of capabilities. These enterprise grade services enable you to:

  • Collect data from devices
  • Analyze data streams in-motion
  • Store and query large data sets
  • Visualize both real-time and historical data
  • Integrate with back-office systems
  • Manage your devices

To deliver these capabilities, Azure IoT Suite packages together multiple Azure services with custom extensions as preconfigured solutions. These preconfigured solutions are base implementations of common IoT solution patterns that help to reduce the time you take to deliver your IoT solutions. By using the IoT software development kits, you can customize and extend these solutions to meet your own requirements. You also can use these solutions as examples or templates for developing new IoT solutions.

Azure IoT Suite provides complete, end-to-end implementations of this architecture for specific IoT scenarios. For example:

  • The remote monitoring solution enables you to monitor the status of devices such as vending machines.
  • The predictive maintenance solution helps you to anticipate maintenance needs of devices, like pumps in remote pumping stations, and avoid unscheduled downtime.
  • The connected factory solution helps you to connect and monitor your industrial devices.

Programming Environment/Tools: The Azure IoT suite is a full-scale member of the Azure service, and thus works with Visual Studio, Eclipse, Chef, Puppet, GitHub, PowerShell, Python, MongoDB, Hadoop, Ruby, Docker, MySql, and anything else that is part of the set of compatible offerings and capabilities with Azure.

OS/Languages: Support for C, JavaScript (node), Java, C#, and (obviously) .NET.

Target audience: Intermediate to advanced developers

Most recent update/stable release: N/A

License:

Microsoft offers a few licenses to choose from.

Microsoft’s Open licensing programs are a simple, cost-effective way for small and midsize organizations to acquire the latest Microsoft technology. With a customizable platform and price advantages for volume purchasing, Open programs provide a simple, cost-effective way to acquire the latest Microsoft technology. Microsoft Open programs offer the ability to add Online Services purchases to your agreement, so you can transition to the Cloud at your own pace through your existing agreement.

Open Value is the recommended program if you have a small to midsize organization with five or more desktop PCs and want to simplify license management, manage software costs, and get better control over your investment. It also includes Software Assurance, providing access to valuable benefits such as training, deployment planning, software upgrades, and product support help you boost your organization’s productivity.

An Open Value Subscription provides the lowest up-front costs of the Open program options with the flexibility to reduce the total licensing costs in years when the desktop PC count declines. This option gives your organization the rights to run the software throughout your organization only during the term of the agreement with Microsoft. You also have the ability to add the single platform option to an Open Value Subscription agreement.

For many Online Service products, the five-license minimum initial purchase is waived.

With an initial purchase of five or more licenses, you can acquire products as you need them over the term of your agreement.

In addition to options for commercial businesses, Microsoft also offers Open programs for the following industries:

  • Government organizations
  • Health organizations
  • Educational institutions
  • Qualifying 501(c)(3) nonprofit organizations
  • Multinational organizations

US government entities are eligible to purchase Azure Government services from a licensing solution provider with no upfront financial commitment or directly through a Pay-As-You-Go online subscription.

See the pricing page for more purchasing and licensing options.

Conclusion

Microsoft’s end-to-end IoT platform is the most complete IoT offering, enabling enterprises to build and realize value from IoT solutions quickly and efficiently. Their IoT solutions, including Azure IoT Suite and Azure IoT Hub, harness the power of the full Cloud, data, and developer offerings for the enterprise to provide large-scale IoT services, data and analytics, and deep integration. Developers can start building custom solutions using IoT Hub or get started quickly with the comprehensive preconfigured solutions of Azure IoT Suite (which includes Azure IoT Hub).

To help developers leverage the power of IoT in their endeavors and get started quickly, Azure IoT offers a set of open source SDKs, samples, preconfigured solutions, and tools. Microsoft engineers work on these SDKs, tools, and samples on GitHub, collaborating with the community and partners in the open to add features; support new languages, protocols, and devices and platforms; fix bugs; and improve performance.

You are unlikely to find a solution in this space where it is easier to get started and make tweaks to build your own workspace. Definitely worth a look!

Azure IoT Suite is one of several IoT Platforms to make our list. You can find the others in the IoT area of Codeguru!

The post IoT Development Platform: Azure IoT Suite appeared first on CodeGuru.

]]>
IoT Development Platform: ThingWorx Overview https://www.codeguru.com/iot/iot-development-platform-thingworx-overview/ Wed, 11 Oct 2017 07:15:00 +0000 https://www.codeguru.com/uncategorized/iot-development-platform-thingworx-overview/ A number of IoT Platforms made the Codeguru list of Top IoT platforms, including ThingWorx. In evaluating ThingWorx, the structure recommended in “Top IoT Platforms for Developers” was used. This will make it easier for you to compare various IoT platforms. PTC acquired ThingWorx, creators of an award-winning platform for building and running applications for […]

The post IoT Development Platform: ThingWorx Overview appeared first on CodeGuru.

]]>
ThingWorx logo
A number of IoT Platforms made the Codeguru list of Top IoT platforms, including ThingWorx. In evaluating ThingWorx, the structure recommended in “Top IoT Platforms for Developers” was used. This will make it easier for you to compare various IoT platforms.

PTC acquired ThingWorx, creators of an award-winning platform for building and running applications for the Internet of Things (IoT), for approximately $112 million in December of 2013. The acquisition of ThingWorx positioned PTC as a major player in the emerging Internet of Things arena.

ThingWorx is a platform for the rapid development and deployment of smart, connected devices. Its set of integrated IoT development tools support connectivity, analysis, production, and other aspects of IoT development.

It offers Vuforia for implementing augmented reality development, and Kepware for industrial connectivity. KEPServerEX provides a single point for data distribution, and facilitates interoperability when partnered with a ThingWorx agent.

ThingWorx is the only enterprise-ready technology platform that enables innovators to rapidly develop and deploy smart, connected solutions for the Internet of Things.

Developers can create IoT solutions that are scalable, secure, and meet the needs of large enterprise-level companies.

Key Features

IoT Hardware Support

ThingWorx marketplace offers a number of development kits which include popular boards, such as:

  • Intel Galileo
  • Intel Galileo Gen 2
  • Intel Edison
  • NXP iMX6UltraLite Evaluation Kit
  • Raspberry Pi

IoT OS Support

Windows, Apple iOS, and Android are supported. Moreover, you can compile C SDK applications on any platform, even running it without an operating system.

Key Sensor Support

To perceive the state of an IoT-connected device, whether it’s a mining haul truck or a refrigerator, you need sensor data.

Sensors convert some measurement of the physical environment into an electrical signal, which can then be processed, analyzed, and used to make decisions. Those physical measurements include pressure, position and motion, vibration, temperature, humidity, ion concentration, magnetic signatures, and radiation, as well as imagery.

The point of a platform is an abstraction. It takes the specificities of all your device sensors and presents them in straightforward interfaces that can be interacted with. As a result, your managers can understand its value(s), abstracted from specific implementation details. Meanwhile, you, the developer, can focus on the coding and deployment of specific applications.

ThingWorx employs a Python library to read sensor data.

IoT Data Considerations

ThingWorx offers good analytics capabilities that are worth considering.

ThingWorx Analytics enables developers to extract meaning from their IoT data—to learn from past data, understand and predict the future, and make decisions based on data trends.

More specifically, it monitors devices to provide:

  • Real-time pattern and anomaly detection on real-time data streams
  • Automated predictive modeling and operationalization
  • Prescriptive and simulative intelligence that identifies factors that contribute to an outcome and explains how to change a predicted outcome
  • Automatic operationalization and maintenance of predictive and simulative intelligence to deliver to end-users

IoT Security Considerations

Developers of IoT devices face a number of security challenges, including:

  • Complexity: New layers of device and user interactions need to be secured
  • Risk Mitigation: Concerns over cyber-attacks finding devices on the Internet

ThingWorx follows the OWASP Software Assurance Maturity Model (SAMM) and helps its customers successfully implement a Secure Software Development Life Cycle (Secure SDLC).

There is a very granular security model available within ThingWorx. There are two sets of permissions, one for design time and one for run time. The design time permissions are for managing who is allowed to modify the model (create, read, update, and delete entities), whereas the run time permissions determine who can access data, execute services, and trigger events on a thing.

For each permission, you can explicitly permit a User or Group to be able to do something (like edit a thing) or explicitly deny a Group the ability to do something. You can apply permissions at the Group level and at the User level. It is also important to note that security checks default to not allow an operation. If no specific grant has been given to a user, that operation will be denied.

Other security features include:

  • Administrator Services
  • Allowing Embedded Mashups in iFrames
  • Application Key Services
  • Authenticator
  • Directory Services Authentication
  • Inheriting Permissions from a Thing Template
  • Service Overrides
  • Single Sign-on Authentication

Development and Deployment Considerations

At the heart of the ThingWorx infrastructure is the IoT platform. The IoT platform is a suite of components that enable:

  • Deployment of applications that monitor, manage, and control connected devices
  • Remote data collection from connected devices
  • Independent and secure connectivity between devices
  • Device/sensor management
  • Integration with third party systems

The IoT platform exists independently between the hardware and the application layers of the IoT technology stack. It integrates with any connected device and enables the implementation of IoT features and functions into any device in the same way.

ThingWorx works on multiple platforms
Figure 1: ThingWorx works on multiple platforms

To migrate an application from the sandbox to production, you just need to import the data and entities into the production server.

Cost and Licensing of IoT Platforms and Solutions

ThingWorx is available only by subscription. This offers customers the benefits of faster access to new ThingWorx features and enhancements, flexibility and lower upfront costs, and Cloud deployment options.

Unfortunately, ThingWorx has not provided pricing information and public pricing information is unavailable.

Visit PTC.com/subscription for more information.

ThingWorx

Company: ptc

Key features:

  • Rapid prototyping
  • Complete sets of integrated IoT-specific development tools and capabilities
  • Integrates with leading public device Clouds
  • Offers several pre-built tools to help companies manage, monitor, and extract data from their products
  • Developers can use their preferred development tools, such as Eclipse, or source code management tools, such as Git
  • Won 2015 IoT Excellence Award, Most Innovative Platform Solution 2014, Best in Show Award for IoT Solution 2013, and many more
  • Integrated Search allows context-aware search to be built into applications’ development and runtime.
  • Device Browsing enables developers to automatically add edge devices, machines, and systems to ThingWorx with nearly zero effort.
  • An enhanced Extensibility Toolkit enables partners, customers, and OEMs to extend the capabilities of ThingWorx with their unique intellectual property to deliver applications, services, and visualizations that meet the needs of their targeted markets.
  • New connectivity extensions provide integration to M2M and industrial protocols such as MQTT, OData, OPC, Modbus, Zigbee/ZWave, and others.
  • Expanded capabilities for integration with many leading enterprise CRM and ERP systems, big data analytics tools, and public Web services.
  • Project team development features improve productivity for distributed development teams through chat and online collaboration, audit trail documentation, and configuration management.

Programming Environment/Tools:

  • ThingWorx IoT Starter Kits
  • ThingWorx Composer
  • ThingWorx drag-and-drop Mashup Builder
  • ThingWorx Studio

OS:

ThingWorx Studio Supported Operating Systems and Browsers:

  • Mac El Capitan Chrome
  • Windows 7, 10 (64-bit only), Chrome

Note that the screen resolution minimum is 1280.

ThingWorx View iOS Supported Devices (iOS 9.0 or later)

Note: only iOS 10 or later will be supported after the release of iOS 11.

Device Supported Versions:

  • iPhone 5s, 6, 6 Plus, 6s, 6s Plus, SE
  • iPad Air, Air 2, Mini 4, Pro, Pro 9.7

ThingWorx View Android Supported Operating Systems: ThingWorx View is supported on devices with an Android operating system with version 5.0 and newer.

ThingWorx View Windows Supported Devices:

  • Surface Pro 4
  • Surface Book
  • Microsoft HoloLens

Languages: ThingWorx offers SDKs that allow edge devices the means to communicate with ThingWorx through various programming languages.

Target audience: intermediate to experienced developers

Most recent update/stable release: 8.0, June 2017

License: PTC uses a subscription licensing model. You have to fill out a form and have them contact you.

Conclusion

ThingWorx is one of several IoT Platforms to make our list. You can find the others in the IoT area of Codeguru!

The post IoT Development Platform: ThingWorx Overview appeared first on CodeGuru.

]]>
IoT Development Platforms: Carriots Overview https://www.codeguru.com/iot/iot-development-platforms-carriots-overview/ Wed, 11 Oct 2017 07:15:00 +0000 https://www.codeguru.com/uncategorized/iot-development-platforms-carriots-overview/ Carriots is a Platform as a Service (PaaS) designed for Internet of Things (IoT) and Machine to Machine (M2M) projects. It enables the collection and storage of data from connected objects (things), and helps build powerful applications with few lines of code as well as integration with external IT systems. Carriots provides a development environment, […]

The post IoT Development Platforms: Carriots Overview appeared first on CodeGuru.

]]>
The Carriots logo

Carriots is a Platform as a Service (PaaS) designed for Internet of Things (IoT) and Machine to Machine (M2M) projects. It enables the collection and storage of data from connected objects (things), and helps build powerful applications with few lines of code as well as integration with external IT systems.

Carriots provides a development environment, APIs, and hosting for IoT projects development that automatically scales to meet any demand, from several to several million devices.

The Carriots working environment
Figure 1: The Carriots working environment

Carriots is one of the IoT Platforms that made the Codeguru list of Top IoT platforms. In evaluating Carriots, we used the structure recommended in our article “Top IoT Platforms for Developers.” By using this structure below, you will be able to compare Carriots to other IoT platforms covered here on Codeguru.

Key Features

IoT Hardware Support

Any commercial, open, or custom-made hardware is potentially compatible with Carriots. All it needs is Internet connectivity to talk to a REST API. Compatible tested hardware includes:

  • Arduino
  • Raspberry Pi
  • Beagle Bone
  • Cubie Board
  • TST Gate
  • TST Mote
  • Cloudgate
  • Nanode

IoT OS Support

Carriots is developed with Groovy (http://www.groovy-lang.org/) technology. Groovy is a “dynamic language for the Java Virtual Machine that builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby or Smalltalk.”

Here are some of the main reasons for choosing Groovy for Carriots SDK, according to the Carriots docs:

  • Makes modern programming features available to Java developers with almost-zero learning curve
  • Supports Domain-Specific Languages and other compact syntax for good reading and easy maintaining code
  • Seamlessly integrates with all existing Java classes and libraries
  • Great toolset
  • Good community support and penetration

The Carriots SDK includes a set of core libraries for Carriots entities management coverage and a set of utility tools for custom use. Access to the core functionality goes through the core internal authentication services; communications are controlled and filtered by a communication module.

Java security policies and custom wrappers grant security within the SDK ecosystem. Carriots’ aim is to ensure encapsulation and security executing arbitrary code. Data access is always filtered to match script owners’ visibility.

Developers can build their complete control panel over Carriots REST API in the language of their choosing.

Moreover, the HTTP/HTTPS RESTful API can be utilized to push and pull XML or JSON encoded data.

Key Sensor Support

Carriots can store data from your sensors or status information from the device. You can use all that data to build monitor applications or to publish it.

The http://api.carriots.com/sensors/ API call lists all of the available types of Carriots sensors. It accepts an HTTP GET request and returns a JSON/XML response.

Various API calls available to Carriot
Figure 2: Various API calls available to Carriot

IoT Data Considerations

In addition to the ability to collect and store any kind of data from your devices, Carriots also provides a means to integrate with other IT systems, create export files, push data to another database, or just use the REST API to manage your outbound data.

Carriots brings two ways to publish data: pushing it to an external system or pulling it with REST API.

Pushing Data with a Trigger

Triggers are the way Carriots automatically pushes the data received to external systems. A trigger must be associated to a service. Each dataset received by a device of that service will launch the trigger to push the data.

Analytics

Data analytics deliver added value to existing solutions by consuming historical data. There are different analytics solutions to choose from. Santiago Mota, Carriots contributor and Business Intelligence expert, has provided a good integration example on GitHub.

IoT Security Considerations

Communication with the Carriots REST API is achieved over the HTTP or HTTPS protocols. The latter is recommend so that the connection between your app/devices and Carriots is secured using encryption.

MQTT over TCP vs TLS

Carriots uses the MQTT protocol to send streams and exchange information with IoT devices. MQTT relies on TCP as its transport protocol, which means by default the connection does not use encrypted communication. To encrypt the whole MQTT communication, most MQTT brokers allow clients use TLS instead of plain TCP. TCP/IP port 1883 is reserved for use with MQTT, and TCI/IP port 8883 also is reserved to use MQTT over TLS.

Protocols and Checksum

When using the Carriots control panel, data integrity is granted by the panel’s logic. When the REST API is used, a checksum with HMAC can be useful to automatically check data integrity and re-authenticate each request.

Carriots has three protocols to be used among external devices or applications and Carriots. When using Carriots protocol version v3, the checksum token is generated by the sender and included in the stream “envelope.”

Development and Deployment Considerations

As mentioned earlier, deployment can be scaled from tiny prototypes to thousands of devices.

Some of the advantages offered by development and deployment in Carriots include:

  • Carriots PaaS has been designed for high availability
  • Scale up to millions of devices
  • Focus on your apps and let the Carriots Platform carry the systems, security, and communications
  • Save development time
  • Forget about IT infrastructure cost, problems, and scalability issues
  • Fast prototyping

Cost and Licensing of IoT Platforms and Solutions

Carriots offers four pricing models:

Free

  • For testing and prototyping
  • Min. number of devices: 1
  • Max. number of devices: 2
  • API KEYS: 4
  • Max. accepted streams:
    • 500 streams per day
    • 10 streams per minute
  • Max. stream size: 5 KB
  • Max. stream data storage: 5000 KB per day
  • Data retention: 3 months
  • Max. API requests:
    • 1000 per day
    • 100 per minute
  • SMS API:
    • 5 SMS per day
    • 1 SMS per minute
  • E-mail API:
    • 100 e-mail per day
    • 10 e-mail per minute
  • SDK Http Request (outbound): 1000 req. per day
  • Basic support:
    • Email support in our best effort
    • Developer forum
  • Service Level Agreement: NO

CORPORATE

Approx $2.59 USD per month per device

  • Devices sending up to 1 MB per day and making lots of connections
  • Min. number of devices: 11
  • Max. number of devices: Unlimited
  • API KEYS: 100
  • Max. accepted streams:
    • 1500 x device number per day
    • 50 x device number per minute
    • + INFO
  • Max. stream size: 0 KB
  • Max. stream data storage:
    • 1 MB x device number per day
    • + INFO
  • Data retention: 1 year
  • Max. API requests:
    • 1000 x device number per day
    • 100 x device number per minute
    • + INFO
  • SMS API:
    • Free 5 SMS per day
    • >6 SMS 0.1€* per unit.
  • E-mail API:
    • Free 100 e-mail per day
    • >100 0.50€* per thousand
  • SDK Http Request (outbound):
    • 1000 req. x device number per day
    • + INFO
  • Corporate support:
    • Phone support
    • Email support within 24 hours
    • Guaranteed response time
  • Service Level Agreement: Different plans available

LITE

$0.65 USD per month per device

  • Lots of devices sending low amount of data. For example Smart Meter, Remote Maintenance
  • Min. number of devices: 100
  • Max. number of devices: Unlimited
  • API KEYS: 10
  • Max. accepted streams:
    • 25 x device number per day
    • 5 x device number per minute
    • + INFO
  • Max. stream size: 5 KB
  • Max. stream data storage:
    • 100 KB x device number per day
    • + INFO
  • Data retention: 1 year
  • Max. API requests:
    • 100 x device number per day
    • 10 x device number per minute
    • + INFO
  • SMS API:
    • Free 5 SMS per day
    • >6 SMS 0.1€* per unit.
  • E-mail API:
    • Free 100 email per day
    • >100 0.50€* per thousand
  • SDK Http Request (outbound):
    • 25 req. x device number per day
    • + INFO
  • Lite support:
    • Phone support
    • E-mail support within 24 hours
    • Guaranteed response time
  • Service Level Agreement: Different plans available

PRIVATE CLOUD ON PREMISE

For unlimited connections and data storage or private usage or custom needs

  • Max. number of devices: Unlimited
  • API KEYS: Unlimited
  • Max. accepted streams: Unlimited
  • Max. stream size: Unlimited
  • Max. stream data storage: Unlimited
  • Data retention: Unlimited
  • Max. API requests: Unlimited
  • SDK Http Request (outbound): Unlimited
  • Premium support: Different plans available
  • Service Level Agreement: Different plans available

See the Carriots pricing information for more details.

Carriots

Company: Altair

Key features:

  • Device Management
  • Remotely maintain, control, and interact with your devices regardless of their location. Check status, change configurations, enable/disable or upgrade the firmware of your devices.

Listeners: When you receive data, when you store it, when a device is connected or disconnected… all those events will let you react with simple IF-THEN-ELSE structures. Just write your Groovy expressions and make your devices smart.

Rules: Complex scripts, reusable pieces of code, simple ready to use logic… you name it. Rules are Groovy scripts stored at Carriots and ready to be used in Listeners.

Triggers: Push your data to an external system with Carriots’ triggers. A simple method to implement data brokerage.

SDK Application Engine: Listeners and rules, both are executed by Carriots SDK engine. Sandboxing Java execution threads to keep secure and efficient. All your database is accessible with powerful Groovy scripting.

Data export: Integrate with other IT systems, create your export files, push data to another database, or just use our REST API to manage your outbound data.

Custom alarms: Alarms are created by Carriots when something goes wrong. You also can create and manage your own custom Alarms to notify, acknowledge, and discard them.

Debug logs: Developing always needs to keep an eye on every part of a project. Use the logs to know of your device’s interact with Carriots.

Customer hierarchy level: Keep projects organized or just deal with different customers with different visibilities. The seven-level hierarchy, starting at Customer down to Devices, will keep your mind healthy.

API Key Management: API access is controlled by API keys; they tell Carriots what you can do and see. Define them using fine grained privilege and visibility management.

Custom Control Panel: Create your custom control panel with your preferred technology and manage all Carriots entities with the REST API.

Programming Environment/Tools:

OS:

  • Mac
  • Linux
  • Windows

Languages: REST API. Carriots REST API is the way devices and other systems interact with the platform. It is a standard protocol based on HTTP/S and it is plain text JSON or XML formatted.

Carriots SDK: The Carriots SDK (Software Development Kit) is the core intelligence engine in the Carriots ecosystem. It’s based on Groovy scripting technology and has libraries to help you work with all Carriots ecosystems. Those libraries are built to be used in the Carriots execution engine and therefore are internal libraries. They are imported in rules or listener expressions and can access all your data. Check the Carriots SDK documentation for more details about them. For external software development, Carriots REST API will cover the same functionalities.

Protocol: MQTT protocol

Target audience: Intermediate to advanced developers.

License: Carriots enforces Four Laws of Service and Data Protection:

  • Your Data is Yours
  • Your Data is Protected
  • Your Data is Portable
  • The Free Account is provided “AS IS and “AS AVAILABLE” with no Service Level Agreements. Corporate Accounts with SLAs are available upon commercial request.

See the Terms of service for full details.

Conclusion

Carriots is one of several IoT Platforms to make our list. You can find the others in the IoT area of Codeguru!

The post IoT Development Platforms: Carriots Overview appeared first on CodeGuru.

]]>