Monday, March 2, 2015

Adoption of Agile for Embedded Hardware Design

Even though the design and development of electronic systems, and firmware in embedded systems, differs from conventional software application development in many ways - there is an increasing awareness in the hardware and embedded engineering fields today about Agile development methods.

The accelerating rate of technological change for electronic products requires rapid market responsiveness to maintain a competitive edge, and this is especially true in today's world of ubiquitous mobile connected devices and Internet-of-Things technologies.

In one recent survey, 76% of software developers today see electronic hardware as a key element in turning many software ideas into products ready for market. This highlights a need for product innovators - growth of new markets like the Internet of Things demand practical tools to make physical design more efficient without sacrificing product quality, and Agile methods are one of the tools that can potentially play a role here.

Hardware is different from software, so rather than attempt to transfer Agile practices directly to hardware development, some careful consideration about what the differences are, what is really relevant and what is not most relevant, will allow the most effective adoption of Agile management techniques in the electronic design and embedded systems industry.

Agile project management methods can be used effectively in a hardware environment, by mechanical or electronic development teams, but some adaptations might be needed on a case-specific basis. However, this is already the best practice recommended in an Agile environment for software development teams.

Many large companies use Agile techniques in their development today, including Yahoo, Microsoft, Google and many others. The WikiSpeed startup employs heavy use of Agile management techniques in their mechanical engineering projects, delivering a novel car built from composite materials that offers extremely high fuel efficiency while also being safe and road-legal - designed and built from scratch in only 3 months using crowd funding, made viable thanks to the cost-effectiveness of their Agile practices.

However, some companies prefer the perceived stability and predictability of a traditional development process. Traditional use of comprehensive documentation and contracts is viewed as protecting them from risk and having one team follow the work of another.

There are also special hurdles when you're combining hardware and software in one product, and most Agile experts, even with extensive software project experience, are not yet used to working with these issues. Some common challenges and concerns that are raised against the use of Agile methods are that more revisions and versions mean more data to manage, and that changing procedures and tools means added costs. There is the view that fewer contracts and specifications could mean higher risk, and that effective, useful communication and coordination is more complicated in an Agile environment.

One of the challenges for combined software and hardware development is that software can normally be developed fairly rapidly, and the development broken down into smaller chunks with more rapid iteration. Hardware, on the other hand, may require many months to show a working component or feature.

If the software must wait for the hardware to be created for final testing, this can create testing delays. Use of rapid prototyping technologies such as 3D printing can be valuable here for mechanical and plastics design, as can the use of modular electronic design, with smaller subsystems that can be iterated more rapidly, demonstrated, and tested independently of the whole system.

Writing user stories that span hardware and software allows for the interdependencies to be understood. There might be some software that the hardware team needs to test their first prototype; the teams can ensure that the required stories are correctly prioritised to support this. Similarly there may be software that is most efficiently developed once hardware is available (perhaps low-level interface drivers); these can be prioritised based on the hardware delivery schedules.

Because hardware often isn't available until near the end of a project for actual deployment and testing, virtual versions of the hardware such as mock-ups, simulations and emulations are often an important part of hardware development using Agile techniques.

Modelling and simulation allow testing and integration to begin as soon as the design work begins, which eliminates the delays that might be experienced if the hardware isn't yet available. It can save significant investment in unnecessary early prototyping of architectures that aren't viable.

One method of dealing with hardware that isn't ready to test is to decouple software and hardware development, via an abstraction layer, to allow software development to continue more rapidly. The challenge is to find a method that allows the rapid development of software and concurrent development of the hardware in a way that can best meet the requirements of each process.

Hardware abstraction layers enable concurrent hardware and software engineering by allowing software development and testing to start prior to hardware availability. This valuable practice can also provide input into the hardware requirements and help most efficiently refine the boundary between hardware and software.

Therein lies the challenge of embedded hardware design using Agile methodologies – software and hardware teams need to be challenged to work together for the desired outcome in the available amount of time. And as a leading developer of embedded hardware, products and services from design through to product manufacturing and support - here at the LX Group we have the team, experience and technology to bring your ideas to life.

Getting started is easy - join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.



Tuesday, February 17, 2015

Ayla Network’s IoT Cloud Platform

In what would seem to be an already crowded marketplace, Ayla Networks have introduced their new agile, cloud-based Internet-of-Things "application enablement" platform that makes it easy and cost-effective for OEMs to connect any of their products or devices to the Internet.

Ayla's pervasive software creates an adaptive fabric for IoT applications, which aims to accelerate the development and support of smart, interactive product solutions from the device level, to the cloud, to the application level. The Ayla IoT Cloud Fabric combines innovative cloud-based services with powerful software agents integrated into both embedded IoT end-node devices as well as in mobile device applications.

By working closely with Broadcom, Ayla can deliver Embedded Agents supporting Broadcom’s WICED embedded Wi-Fi platform, and Ayla has also partnered with USI to deliver production-ready Wi-Fi Modules incorporating the Ayla Embedded Agent, bringing connected modules and services to market that will allow manufacturers to quickly and economically join the Internet of Things.

The Ayla Design Kit gives you an easy path to get started with securely connecting your product to Ayla’s flexible cloud platform and application libraries. Ayla's reference design kit provides an out-of-box solution based around an STM32 microcontroller, a Wi-Fi module from Murata pre-loaded with Ayla’s Embedded Agent and a demo mobile app that enables you to quickly get started connecting to Ayla cloud services.

There's no need to know anything about socket programming or to develop any networking code or learn how to provision a cloud service, because Ayla's design kit provides you with out-of-the-box Wi-Fi cloud connectivity that is very easy to use.

You can start programming the on-board microcontroller right away, or connect the Wi-Fi development board into your existing microcontroller or the hardware in your product.

Supplied with the Ayla design kit you'll find microcontroller driver source, demo applications and Ayla's Application Libraries, which will help enable you to create great apps that securely control your Ayla-enabled hardware with a smartphone or tablet, with support for Android and iOS applications or Web interfaces.

With the Ayla Design Kit, you’ll get an account on Ayla's Developer Portal, where a simple UI-driven design allows you to build or modify templates for your products in just minutes. Just sign up for a developer account, define a new template, and when you use the same named properties in your design, Ayla will take care of connecting the device and the cloud and keeping them in sync.

The Ayla Design Kit will also give you access to Ayla’s support site, with documentation and how-to guides to assist with your product development, from porting guides for SPI drivers to documentation on connecting to other cloud services through the RESTful APIs that Ayla provides for connectivity with outside services. You can also sign up for a support package that meets your needs.

When you've registered your developer and tech support accounts, which are free for users of the Ayla design kit, you can follow Ayla's online support tutorials to walk through the Design Kit setup process, and you're ready to get your Design Kit connected to the cloud.

The Ayla platform's architecture is composed of three primary components - Ayla Embedded Agents, Ayla Cloud Services, and Ayla Application Libraries. Ayla Embedded Agents run on IoT end-node devices or IoT device gateways. They incorporate a fully optimised network stack along with additional protocols to connect devices to Ayla Cloud Services. Developers can choose to use Ayla-supported Wi-Fi networking modules alongside essentially any existing microcontroller in their system.

Ayla Cloud Services are the brains of the Ayla solution. The distributed, cloud-based architecture delivers connectivity with high efficiency, without forcing you into business models requiring ongoing payments. Ayla Cloud Services offer a full suite of intelligence about your product's performance.

Furthermore, Ayla Application Libraries contain rich APIs for creating apps to securely control Ayla-enabled products with a smartphone or tablet, via iOS or Android native apps or from a web interface.

By abstracting the security and protocol complexity of communicating with the rest of the Ayla platform, Ayla Application Libraries present developers with a virtual device object which is easy to interact with.

When it comes to developing a mobile app, Ayla provides a demo app with the Ayla Design Kit to showcase its cloud-connectivity functionality as well as mobile app libraries to help you create your own Ayla-connected apps, with support for both iOS and Android application development.

With Ayla's IoT platform you can focus on your UI and customer experience, and leave the platform to take care of the back-end networking, authentication, security and provisioning for you.

The Ayla IoT cloud platform is built for enterprise applications, and it can support your IoT products and applications at any scale. The platform is fully equipped for security, flexibility, operational support, and data analytics - all the capabilities and tools that commercial IoT vendors and developers need to scale their product support at enterprise scales.

And as a leading developer of embedded hardware, IoT products and services from design through to product manufacturing and support - here at the LX Group we have the team, experience and technology to bring your ideas to life.

Getting started is easy - join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.



Thursday, February 12, 2015

Microsoft and the IoT

In an effort to expand their reach into the Internet of Things marketplace, Microsoft has launched their Windows Internet of Things Developer program - the first in a series of programs aimed at promoting and educating developers in the use of Microsoft products and technologies for the creation of connected devices and Internet-of-Things applications.

Microsoft's program is aimed at Windows programmers and embedded systems engineers as well as the hobbyist and "maker" community.

Microsoft aims to bring Windows and development tools such as the Visual Studio suite to a new class of connected devices such as the Intel Edison and Raspberry Pi platforms, low-cost platforms that are attractive for both hobbyist and commercial embedded computing applications.

This should bring synergy with existing developers and the needs of marketing and new IoT-enabled product development in the same organisation – existing IT resources can be used to help with IoT development without too much retraining or new hires.

Microsoft wants to combine the accessibility of the successful Arduino platform with the strong community support and proven experience base behind Windows and Visual Studio, allowing you to quickly iterate and expand on hardware and software designs using existing shields and sketches, with strong compatibility with the Arduino platform at both the hardware and the software level.

The Windows IoT Developer Program was announced last year, beginning with Windows support for Intel's Galileo single-board embedded computing platform. The addition of the new Raspberry Pi 2 to the program has just been announced, including support for a new embedded Raspberry Pi 2 version of Windows 10, which will be freely available for embedded developers and makers who are members of the program.

Microsoft is hoping that this program, and support for the Raspberry Pi and Galileo platforms, will introduce the use of embedded Windows and Visual Studio development to independent developers and the hobbyist and maker community.

Microsoft has ported the Arduino and Wiring libraries to their embedded Windows IoT offerings, so you’ll be using Visual C++ to write code against the Arduino API. It looks a lot like Arduino programming, with some minor differences.

Intel sells their Galileo development boards with a lightweight version of Linux through distributors, but the version of the Galileo board with Windows installed is only available when distributed through Microsoft. The preview Windows image running on the Galileo for IoT toolkit is a custom non-commercial version of Windows based on Windows 8. Microsoft will ultimately make the OS available for anyone who buys the Galileo board, though.

Microsoft hasn’t just stripped down Windows and dumped it into an image you can run on a Galileo. They've been making improvements in Windows to better support the kind of things embedded developers want to do. For example, Microsoft's Lightning functionality is a re-architecture of Windows to make GPIO operations much faster.

The folks at Redmond sensibly see IoT devices as being a huge opportunity both in terms of selling the embedded solutions that power those IoT devices and to make sure the devices connect and pass their data back to a Windows Server on the back end - Microsoft is potentially able to pick up some market share in the emerging IoT sector not only in the "Thing" components, but in the "Internet" component as well.

The ultimate goal of such efforts is to take information collected from billions of devices and feed it into cloud services powered by Microsoft's Azure cloud computing platform. This is part of Microsoft's cloud-heavy strategy, with the company previously pushing Windows Embedded as an IoT platform and a gateway to the rest of the company's information-management fabric, mainly based around their Azure cloud services.

Microsoft has long catered to commercial developers and manufacturers of embedded systems with the Windows Embedded Compact OS, which is used in a range of industrial devices, mobile handsets, health monitors, ATMs and other devices. Microsoft wants to make sure these manufacturers knows its embedded OS can also work for their IoT devices as well.

However Microsoft has stressed that Windows Embedded is not going away and is still an important part of its product range. Windows Embedded Compact is a fully featured OS which supports commercial devices, unlike the new developmental offerings, and it remains Microsoft's only real-time operating system and is the Windows operating system with the broadest set of ports including ARM and x86 architectures.

In moving to an ARM7 architecture, there's a wider range of supported operating systems that can run on the Raspberry Pi 2. The processor upgrade means that two new operating systems come into view: Ubuntu Linux and Windows 10. Microsoft has recently announced it will be offering a Windows 10 build for the newest revision of the Raspberry Pi platform later this year, as part of its IoT Developer Program.

Microsoft and the Raspberry Pi Foundation have been collaborating for the last six months on the joint project. With Windows in the mix this potentially opens up the Raspberry Pi to some Windows-centric developers who weren't previously interested in creating applications for the device, as it would mean learning a new operating system or programming language.

With Windows comes all the development tools such as Visual Studio, libraries and languages such as C# to add to the many tools that can already run on the Raspberry Pi such as Scratch and Python. Microsoft aims to bring their OS, their development tools, services, and ecosystem to the Raspberry Pi community for free, with the intention that you can take Windows 10 applications that you can run on a Surface, a PC or a Windows Mobile phone and now be able to run it on a Raspberry Pi as well.

This offers a wider range of hardware and software development possibilities for any new or existing IoT-enabled product, and here at the LX Group we have the team, experience and technology to bring your ideas to life.

Getting started is easy - join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.



Saturday, January 31, 2015

Differences between M2M and the IoT

The Internet of Things (IoT) is increasingly taking over from Machine-to-Machine communications (M2M) as the trendy new buzzword. However, these terms are often used interchangeably, and neither of these two popular terms is well defined or standardised, with many organisations and companies operating with their own internal definitions. So, what's the difference between IoT and M2M?

In a basic sense, the definition of Machine-to-Machine communications (M2M) is that it's communication between one remote machine and another. M2M is basically about communicating with a remote machine in the field in order to manage that machine or collect machine and sensor data.

M2M connectivity has been used in industry in one form or another long before the Internet in its modern form has been around, usually through the use of embedded modems and the wired or cellular telephone networks.

As an example of a familiar embedded M2M system, which has been in use for a long time, consider the point-of-sale EFTPOS terminal in a shop, which communicates with the bank, commonly over the telephone network. This system is networked from point A to point B, with a specific job to do.

When it comes to the maintenance of vending machines or industrial machines, M2M capabilities allow the vendors of machines or assets to reduce service and management costs through remote diagnostics, troubleshooting, updates and similar remote maintenance which optimises the deployment of service personnel in the field, deploying personnel only when they're needed.

The scope of industrial M2M also includes industrial telemetry and remote surveillance of systems such as SCADA equipment.

M2M can be understood from a more vertical perspective, usually built around proprietary, closed systems, whilst the IoT encompasses a more horizontal and interoperable approach where vertical applications are pulled together in order to provide value for both business and end users.

While M2M solutions offer remote communications with machines, this data is traditionally targeted at specific, closed solutions that perform specific applications. Rarely, if ever, is the data integrated with enterprise applications to help improve overall business performance, and this is where more complicated IoT applications can realise gains both in terms of user and business value.

If you can recognise whether you seek a point solution for simple remote machine access, such as a service-management application, or you seek to drive incremental business benefits across the enterprise through the use of analytics, Big Data and other software-oriented tools for the improvement of business performance, both from the business perspective and customer perspective, then you can recognise whether a machine-to-machine application or an Internet-of-Things application is what you're looking for to best suit your needs.

The IoT represents things connecting with systems, people and other things, moving beyond connectivity from one machine to another. "Things" in the IoT can include machines, sensors, consumer products, appliances, vehicles and systems that control other physical devices, but they can also include CRM systems and analytics applications, data warehouses or other business intelligence systems.

Internet-of-Things applications and platforms can interconnect data between things, systems and people, connecting things to other things as well as cloud computing infrastructure, people, and business systems.

But there is some overlap between modern IoT systems and M2M systems, since every modern IoT system must have some kind of machine-to-machine communications links somewhere. You might say that today M2M systems are a subset of the Internet of Things, but the IoT has a much broader scope than traditional M2M connectivity.

Things and systems in the Internet of Things are also interconnected into people - consumers and end users as well as business decision makers.

Integration of device and sensor data with big data, analytics and other enterprise applications is a core concept behind the Internet of Things and this integration is key to achieving many potential new IoT benefits throughout industry. IoT devices communicate using open standards, in many cases, and this use of open standards is a key driver behind the success of the Internet of Things, just like the Internet has been built around open standards with great success.

This use of open standards, and room for interoperability, is a key factor that differentiates the IoT from the older domain of industrial M2M telemetry, which is often proprietary and vendor-specific, with the communication from a remote machine being tied back to one fixed place for one fixed application at one specific operator or site.

The data collected by Internet-of-Things services and devices can be incorporated into enterprise applications to enable improved service but also improved business intelligence, operational improvement and indeed the generation of whole new business models.

The ability for applications throughout the enterprise to access device data to enable performance improvements and business innovation clearly distinguishes the potential of IoT technologies from traditional point-to-point M2M communications.

IoT applications typically rely on IP-based networks to interface device data to a cloud or middleware platform accessible from the Internet, enabling access to this data by any enterprise application, anywhere, that is authorised to do so. 

This is in contrast to the direct, point-to-point communication usually associated with M2M applications. Overall, enterprise integration capabilities, scalability, software instead of hardware emphasis, interoperability (without insecurity) and the dominance of standards-based as opposed to proprietary connectivity protocols are key factors that differentiate the Internet of Things from traditional M2M connectivity solutions.

No matter whether you’re looking for M2M or IoT solutions – here at the LX Group we have the team, experience and technology to bring your ideas to life.

Getting started is easy - join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.



Monday, January 19, 2015

Reducing the cost of IoT devices with the ESP8266

The ESP8266 Wi-Fi System-on-Chip from Espressif Systems is a highly integrated SoC designed for the needs of modern Wi-Fi-connected embedded systems, appliances, sensors and other cost-sensitive, Wi-Fi-enabled Internet-of-Things applications.

This high-performance wireless SoC aims to provide Wi-Fi capabilities in embedded systems with strong functionality at a low cost. It has powerful on-board processing and storage capabilities that allow it to be integrated with sensors or other application-specific peripheral devices via its general-purpose digital I/O ports with minimal development effort and potentially without the need for any separate microcontroller in many typical applications.

The ESP8266 provides single-band (2.4 GHz) Wi-Fi connectivity using the 802.11b/g/n standards and supports WEP, WPA and WPA2 encryption.

The high degree of on-chip integration minimises the bill of materials in your design, with a low-power Tensilica 80 MHz 32-bit processor core, RAM, ROM and GPIOs, power management module, and all RF front-end components such as the clock generation, PLLs, LNA and power amplifier all integrated on the 32-pin QFN chip.

This means that your complete Wi-Fi connected solution requires minimal external components and minimal PCB area. The ESP8266 offers a complete and self-contained wireless networking solution, including an integrated TCP/IP stack - and it can either provide Wi-Fi connectivity and networking functions to a separate application processor in your design or host your application itself in the chip's on-board application processor.

Where the ESP8266 serves as an external Wi-Fi bridge to a separate application processor in your design, Wi-Fi connectivity is added to the host processor via a simple UART or SPI interface to the ESP8266. As long as your microcontroller has a spare serial UART or an SPI interface you're ready to go, so you can straightforwardly interface the ESP8266 to essentially any microcontroller in your existing design.

The ESP8266 has also been designed with energy-efficient mobile and battery-powered applications in mind, with an architecture that minimises power consumption and provides a sleep mode and deep-sleep mode to minimise power use in your design at times when Wi-Fi network connectivity is not actively being used.

With a wide range of interfaces including SPI, SDIO, UART and I2C, the ESP8266 can be used for interfacing to external EEPROM and Flash memory, ADC/DACs, external audio codecs, or other sensors and peripherals that can connect to these serial interfaces.

In stand-alone mode at least one external flash memory chip to boot from is needed. The chipset also incorporates 16 programmable general-purpose digital I/O pins, which can be configured in software with a range of flexible interrupt and output options.

Espressif has released a complete Software Development Kit for the ESP8266, along with a VirtualBox Ubuntu image that provides you with a complete ready-to-go tool chain including gcc and all the other tools you'll need to develop and build code for the Xtensa core in the chip.

Included in the SDK are SSL, JSON and lightweightIP (lwIP) libraries, providing the capabilities for a range of typical Internet-of-Things applications. Example code is provided to demonstrate the use of the chip's UART, I2C and SPI interfaces as well as general-purpose digital I/O.

Espressif provides an ESP8266 Internet-of-Things SDK, which is specifically aimed at IoT applications. Although this SDK is only partially open source and some libraries are provided as binary blobs, a fully open-source third-party tool chain for development on the Xtensa CPU architecture is separately available.

A range of other third-party software development tools and interpreters are available or in development for the ESP8266, including the nodeMCU Lua interpreter and an ESP8266 port of the MicroPython embedded Python project, allowing you to use these scripting languages if you choose. There is also firmware available for the ESP8266 that implements MQTT-based message brokering for Internet-of-Things applications.

The ESP8266 is notable in that it is one of the few chip-level 802.11 Wi-Fi devices on the market, along with the Texas Instruments CC3000-series chipsets, which is available in small-volume distribution and with publicly-available datasheets and documentation, meaning that this device is accessible to small-volume businesses and small, independent developers in a way that 802.11 chipsets from major vendors such as Broadcom or Realtek generally aren't.

Alternative Wi-Fi modules and devices such as the Spark Photon offer features such as USB connectivity, more memory, more I/O and a more familiar ARM architecture, but they are more expensive - the Photon is close to USD $20, for example.

The Spark Photon is a very simple breakout board that just provides an antenna and a voltage regulator for USI's WM-N-BM-09 Wi-Fi module, which implements Broadcom's standardised WICED ecosystem with a STM32 Cortex-M3 microcontroller core alongside Broadcom's BCM43362 Wi-Fi radio.

As another example of relatively low-cost embedded Wi-Fi solution, there are similar boards coming from China today for about $10 based on the MXchip MX1081 chipset, which also incorporates the Broadcom BCM43362 core alongside a STM32 microcontroller.

The Texas Instruments CC3200 Internet-of-Things SoC also aims to provide a complete single-chip IoT solution based around an ARM Cortex-M4 80 MHz CPU core and integrated Wi-Fi radio along with a flexible range of digital I/O interfaces and an integrated ADC.

The CC3200 offers extensive, good quality, English documentation, development tools and resources along with an ARM core that is more popular and familiar with developers than the ESP8266's Xtensa core. The CC3200 is distributed in small volumes and has publicly available documentation and development tools as with the ESP8266, however the ESP8266 has the advantage of its relatively low cost even in small volumes.

With the appearance of such low-cost IoT capable chipsets on the market, bringing your Internet-enabled product ideas to market can be much faster, simpler and even cheaper than you ever expected. And here at the LX Group we have the team, experience and technology to bring your ideas to life.

Getting started is easy - join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.




Monday, January 12, 2015

GadgetKeeper – a new IoT platform for common hardware

Every few weeks it seems that a new Internet-of-Things platform appears, and thus we have a new platform to explore – GadgetKeeper. This new product provides a complete development and application platform for the Internet of Things, a full application design, runtime and intelligence environment which allows you to rapidly prototype and rapidly create IoT solutions to connect your sensors, devices and equipment ("Things") with people and systems.

GadgetKeeper provides a simple development environment, robust APIs and worry-free hosting, allowing you to accelerate your application development and take advantage of simple scalability as your application and your number of devices grows.

You can easily integrate your application with external IT systems through GadgetKeeper's powerful APIs, web services, and the completely hands-free cloud hosting environment provided by GadgetKeeper that automatically scales to meet any demand, whether you're serving several devices or several million.

The designers of the platform believe that every smart device has inherently unique characteristics. Therefore, GadgetKeeper models the attributes of any given device with a unique "Thing". A "Thing" within GadgetKeeper is a model that could correspond to an Internet service accessed externally via the API or a real-world gadget such as appliance, sensor or other physical device.

GadgetKeeper's mission is to provide the best IoT software and application platform for developers, manufacturers, service providers and consumers, allowing you to make and use smart, Internet-connected products, send updated sensor information from IoT devices directly to the server, and to control, integrate and manage your devices remotely.

The platform provides server-side JavaScript support, a powerful UI and an API to handle interaction between your things, to manage and to integrate your IoT solutions. You can use JavaScript to program your server side logic – whenever it's a property, method or event trigger. From your code you can fire events, call methods and properties or call external systems.

GadgetKeeper supports a powerful server-side API for integration with external services, allowing you to interact with services such as email, HTTP, SMS, Twitter and more. Furthermore it supports communication between your things and the GadgetKeeper platform using a selection of many different protocols.

You can connect your devices to the GadgetKeeper API using REST or JSON-RPC over the top of TCP sockets, HTTP or MQTT at the transport layer.

The platform employs a so-called "Reach Thing Model" to model the characteristics of your devices - a full object model for your things including properties, methods and events. Things are not just "data logging" entities, but they are smart objects that can interact with each other and the world. Properties and methods can be handled by a thing or by its server-side proxy, and events can likewise be fired either by a thing or by its server-side proxy.

The GadgetKeeper platform also provides flexible event handling, where events from your things are easy to handle by creating event triggers that "listen" for thing events and react to them in a defined way. JavaScript can be used to define complex event handling logic.

There is also a provision for a comprehensive capability for event storage and time-series data storage. All events fired by things are recorded to event storage and numerical values are extracted and recorded in time-series data. Data can be displayed on interactive dashboards, which can also be set up for the monitoring and management of your devices.

GadgetKeeper is compatible with popular hardware platforms such as the Arduino, Raspberry Pi and BeagleBone. Machine-to-machine platforms for instrumentation and wireless sensor networks in industrial applications such as the CloudGate and TSTMote systems are also supported.

GadgetKeeper provides usage examples for these platforms, along with documentation and tutorials for the setup and provisioning of these systems to talk to GadgetKeeper so you can get up and running easily.

Integration tutorials are also provided to get you up and running with API integration of your GadgetKeeper Internet-of-Things application into external services such as Twitter.

Overall there is a great amount of promise with the GadgetKeeper platform at this stage, however like every other Internet-of-Things platform there are many options and variables to take into account before selecting the right system for your needs.

And no matter what your requirements are, from concept to final product - here at the LX Group we have the experience and expertise to solve your IoT power problems right through to a whole system to meet your needs.

Getting started is easy - join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.

Monday, January 5, 2015

OpenIoT – Open-source middleware for the Internet of Things

OpenIoT is a generic middleware platform for Internet-of-Things applications, which allows you to link together Internet-connected devices and semantic Web services via a friendly user interface, working either in Cloud Computing environments or with a local server.

This platform is available as a Virtual Development Kit, providing a complete cloud solution for the Internet of Things which allows you to easily get up and running getting information from sensor clouds and connecting this information with Web services without worrying about exactly what different sensors are being used.

The OpenIoT middleware enables the easy scalability of sensor networks and the addition of new, cost-effective sensors in an intrinsically flexible framework, and aims to provide a complete middleware for Internet-of-Things applications, connected sensors and wireless sensor networks.

OpenIoT is building a novel platform for IoT applications, which includes powerful capabilities such as the ability to compose (dynamically and on-demand) non-trivial IoT services using a cloud-based and utility-based paradigm.

With an aim to facilitate open access to a wide range of technologies for Internet-connected sensors and other objects exposed as "services", the creators claim that OpenIOT is the first open-source project to provide the means for setting up, managing and using a sensor cloud in this way.

With the ability to support large-scale deployments by co-scheduling access from thousands of simultaneous users to millions of sensors and actuators, OpenIoT will be well placed for all IoT-based solutions of all sizes, and it will have a small number of its own open (public data) sensing services for anyone to send queries to.

The OpenIoT project explores efficient ways to use and manage cloud environments for IoT entities and resources, such as sensors, actuators and smart devices, and the management of utility-based, pay-as-you-go business models for IoT networks and services.

The platform will provide instantiations of cloud-based and utility-based IoT sensor and data management services, using the OpenIoT adaptive middleware framework for deploying and providing IoT services in cloud environments to enable the concept of "sensors as a service" business models for commercial IoT applications.

OpenIoT supports flexible configuration and deployment of algorithms for collecting and filtering the large volumes of data that are collected by networks of Internet-connected objects, and processing and detecting those events that are determined to be particularly interesting and relevant to application or business outcomes.

As OpenIoT is a completely open-source project, and all its source code is available for download – developers and end-users can examine and openly use the OpenIoT platform. You can use the OpenIoT source code to create innovative services, to extend OpenIoT with new sensor wrappers, or to improve the OpenIoT platform itself.

Furthermore, OpenIoT also aims to provide the capacity for semantically annotating sensor data, according to the W3C Semantic Sensor Networks specification, streaming the data collected from various sensors to a cloud computing infrastructure, dynamically discovering and querying sensors and their data, composing and delivering IoT services that comprise data from multiple sensors and visualising IoT data using many different options such as maps and graphs.

An example application area where OpenIoT has been targeted is the improvement of efficiency in industrial operations such as manufacturing and agriculture. The OpenIoT platform can be used for intelligent sensing in manufacturing environments where it offers rapid integration of data from sensors and other devices in the manufacturing environment, dynamic and intelligent discovery of new sensors in factories, and analysis of data collected from the factory floor.

The OpenIoT platform enables the dynamic selection of sensors along with the nearly-real-time fusion of sensor data in order to deliver any manufacturing indicators that are required - not just sets of inflexible, pre-configured indicators. This can increase the agility of decision-making and of the manufacturing process.

One example of this is an agricultural application - where farmers and researchers can benefit from an instantaneous crop performance analysis platform that is powered by OpenIoT, using a wide range of distributed remote sensors gathering various types of data in order to build models that predict crop yields.

Every year Australian grain breeders plant up to a million small test plots of wheat and barley across the country to find the best high-yielding varieties. The Phenonet application developed by OpenIoT in partnership with the CSIRO is an interesting demonstration of the capability of the OpenIoT platform, using advanced sensor network technology to gather environmental data from crop trials at a much higher resolution than traditional methods and providing an OpenIoT-powered high-performance, real-time online data analysis platform that allows scientists and farmers to visualise, process and extract both real-time and long-term crop performance information.

The Phenonet project enables plant breeders and farmers to compare and evaluate the performance of different grain varieties using real-time measurements from a variety of remote sensors. By combining these measurements with each plant's genetic profile, plant scientists can distinguish the effects of microclimate and genetics, thus improving the accuracy and speed of plant breeding which leads to better crop quality and increased agricultural yields.

This is only one of an almost infinite number of applications that can be harnessed with the OpenIoT platform. And no matter what your requirements are, from concept to final product - here at the LX Group we have the experience and expertise to solve your IoT power problems right through to a whole system to meet your needs.

Getting started is easy - join us for an obligation-free and confidential discussion about your ideas and how we can help bring them to life – click here to contact us, or telephone 1800 810 124.

LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.

Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.