Massive Scale, Long Range, Long Lifetime. Wireless Mesh Networking in the Extreme for the Internet of Things.
The Thingsquare IoT platform is the reason why Thingsquare delivers rock-solid IoT solutions that just work. See how it is used and who is using it. Read more about why you need it.
The Thingsquare IoT platform consists of three parts: the wireless mesh, the backend, and the cloud integration.
All devices are connected with a wireless mesh network.
A wireless mesh network is a self-forming type of network that is able to automatically extend itself as needed. The devices in the network help each other to communicate. The mesh structure makes the wireless network extremely robust.
Thingsquare uses a sub-GHz mesh network technology based on the Internet Protocol version 6 – the next generation Internet protocol family.
The Controller does the heavy lifting: coordinating communication with the devices, security and encryption, keeping track of when devices are awake, and performing wireless over-the-air updates for each individual IoT device.
The Controller software can be deployed either locally, near the IoT devices and their wireless meshes, or in the cloud.
The Controller also provides secure access for smartphone apps, such as the apps used by users or installation personnel.
Most IoT deployments – but not all – have some kind of connection to the cloud.
The cloud can be either a privately managed cloud, or a publicly available one such as the cloud platforms provided by Amazon AWS, Google IoT cloud, or Microsoft Azure IoT cloud.
The Thingsquare platform provides convenient integration modules for the most popular public cloud providers, and we develop custom connectors for private clouds.
The wireless mesh technology is at the heart of the Thingsquare IoT platform
Wireless communication is difficult: signal strength can be unreliable and change often. This makes devices difficult to reach and communication slow.
A mesh network system will automatically heal itself by routing problematic areas. This makes mesh systems extremely robust: there will always be a better way.
Like normal wireless networks, a mesh network includes an access point and a bunch of devices.
But unlike normal wireless networks, devices in a mesh network act as range extenders for the others. If one device is too far away from the access point, other devices will repeat messages on behalf of it.
This is in contrast to non-mesh systems, where every device needs to be in the immediate range of an access point.
This means that the range of a mesh network can be extended simply by adding more devices to the network.
Yes, it is based on exactly the same principles: increasing robustness and range by letting devices help each other.
Because the devices help each other, mesh networks can extend themselves to cover very large areas.
In indoor environments, a mesh network can easily cover an entire floor of a building. Even multiple floors, since the network can extend across floors.
In outdoor environments, the distance between two devices can be up to about a mile/1.6 kilometers, but can sometimes be much longer, depending on the amount of obstacles in the area.
The Thingsquare IoT platform uses standard IPv6 mesh networking protocols (IPv6 / RPL / 6lowpan / IEEE 802.15.4) over sub-GHz radio frequencies with full channel hopping to achieve a 100% channel duty cycle.
The Thingsquare IoT platform supports thousands of devices in each network.
The limiting factor is how much data the network should support: the less data each device sends, the larger the network can be.
Battery-operated IoT devices could consume too much power if they were to act as range extenders in the mesh.
In the Thingsquare IoT platform, battery-operated devices can only be part of the mesh at the edges, and normally does not act as range extenders.
The Controller software does the heavy lifting in the Thingsquare IoT platform
The Controller is the great coordinator in a Thingsquare IoT solution. It is a piece of software that run either in the cloud or – as a cut-down variant – on a local device near the IoT deployment.
All IoT solutions consists of IoT devices and of smartphones, web browsers, and other software that accesses the devices and the data they produce. The Controller is responsible for securing and coordinating this access.
The Controller can be deployed in either of two modes:
The Controller provides a REST API for programmatic access to the Controller's functions. In addition, we provide a thsq.js Javascript module that is used both when developing backend software in Node.JS and when developing frontend software in the browser.
A single Controller can coordinate anything from a handful to several hundred thousand devices.
The Controller maintains a database of all devices and their secure identities and provides access to the devices for authenticated users.
The database also holds all data generated by the devices and provides an API to query the data.
For battery-operated devices, the Controller keeps track of the wake-up schedule of the devices so that the Controller can reach them when they are awake.
The Controller is also responsible for pushing and scheduling Over-The-Air (OTA) software updates to the IoT devices connected to it.
Many – but not all – IoT solutions are deployed in the cloud
Most IoT solutions use the cloud, both for reasons that are technical and for the user experience. In terms of technical reasons, the cloud provides computation and almost unlimited data storage.
In terms of user experience, the cloud provides remote access for users and the ability to access the data from anywhere.
Sometimes the cloud is not possible to use. Sometimes because the Internet is not available at the deployment sites. And sometimes because of privacy or data protection reasons.
The Thingsquare IoT platform Controller software can be deployed either in a public cloud or in a private data center.
For many IoT solutions, the Thingsquare Controller by itself is all the cloud services needed. It manages the data generated by the devices, allows controlling the devices, user and device authentication, and provides an API for scripting and interfacing with third-party software.
The Thingsquare Controller software can be deployed in a Raspberry Pi-class device near the deployment location. Usually with one Controller per deployment.
The local Controller provides similar functionality as the Controller when running in the cloud, but only at the deployment site.
Over the recent years, many public IoT clouds have appeared, such as Amazon AWS IoT and the Microsoft Azure IoT cloud.
These clouds provide powerful processing, computation, and storage mechanisms and tools that many use to build complex data processing applications.
Thingsquare IoT solutions can interface with these cloud systems through the Controller APIs. For NodeJS Javscript scripting, we provide a thsq-jetstream Javascript module that easily achieves integration with AWS IoT, Azure IoT hub, Azure Storage, or any REST API of your choice.
Every IoT solution needs hardware. Many need custom hardware.
Every IoT device is different and there is no one-size-fits-all. To provide the right sensor for your specific use case, you typically need to develop a piece of custom hardware.
The Thingsquare IoT platform supports a set of System-on-a-Chip (SoC) wireless microprocessors with software that can be tailored to specific hardware devices and interfaces.
As part of a tailored project, Thingsquare develops the necessary software and firmware to support your specific requirements.
For the production step, Thingsquare provides tools and methods for testing and programming devices and their identities onto each SoC.
A Thingsquare IoT solution consists of four pieces of hardware:
For the final, production hardware we support the following SoCs:
For prototyping, we typically use the Texas Instruments LPSTK.
Every IoT solution needs a smartphone app.
All IoT solutions are used by people. And people use smartphones.
In the IoT, smartphone apps are used for:
Because smartphone apps are such an integral part of any IoT solution, they need to be introduced early on in the development process.
For the first prototypes, we provide ready-made smartphone apps for both iOS and Android. We rebranded this with your logo and use it as-is for the first prototype.
The smartphone app use HTML5 that is readily adopted to any custom code needed for the initial development.
Most IoT solutions need to provide a web frontend for remote access.
The web frontend uses same technology as for prototype smartphone apps: HTML5 and CSS, which is easily adopted to any need.
When your IoT solution becomes progressively more successful, your users may start requiring native apps, for performance reasons or because it requires custom integration with other native features. You can then engage a native app development team.
Our IoT platform provides REST APIs that can be used to develop any native app.
Adam Dunkels
CEO
Fredrik Rosendal
CTO
Marcus Linderoth
VP Engineering