- Device API
- Cloud API
- Application API
- Set up and Account Management
- User notification
- Device types
- Device Activation
- Consumer Mapping
- Post device to consumer mapping
- Update consumers
- Delete consumer
- Set device attributes
- Set device property
- Get device properties
- Delete device property
- Set consumer property
- Get consumer properties
- Delete consumer property
- Create/edit consumer make
- Delete consumer make
- Create/edit consumer model
- Delete consumer model
- Monitoring
- Get devices Info
- Get location current total energy usage
- Get location current power consumption
- Get projection for location
- Get aggregated location energy usage
- Get device current total energy usage
- Get aggregated device level energy usage
- Device instantaneous readings history
- Last N history records
- Get current device parameters
- Get real time device readings
- Control
- Rules
- Analytic Rules
- Compare
- Quiz
- Market
- Analytics and Admin API
- Downloads
- Account
You are here
Device API
Device API - Design Philosophy
The Device API was designed to balance many critical elements. The most critical elements which any powerful device cloud service and API must provide are described below, including standards, scalability, open source, security, user experience, reliability, flexible measurements, and flexible controls.
Standards
People Power's Device API is designed upon a solid foundation of standard Internet protocols. This provides the fastest and most reliable path for 3rd party developers to integrate their devices securely with People Power's Internet of Things Platform. People Power is also involved in some of the leading Smart Grid standards bodies that define the technology connecting the Smart Grid, a subset of the Internet of Things.
Scalability
People Power's cloud services are designed to scale to support billions of devices. The Device API is an HTTP-based protocol allowing devices to push measurements to the cloud at any time, while receiving commands from the cloud near-instantaneously. The database backend in People Power's ESP is carefully designed for maximum performance, and the Application API on the other end is tuned to connect millions of mobile users. The same engineers who designed the mobile device management cloud services for the world's largest cellular carriers are responsible for the powerful engine that enables People Power's Platform.
Open Source
People Power's APIs are made open for all developers to review and use, and BSD-licensed source code exists to enable those developers to get up and running quickly. People Power Company believes in open source technology and open standards to help Internet-enable all devices in the ecosystem. Even when a developer is not necessarily connecting to People Power's Internet of Things Platform, the source code and APIs may be used as reference designs for your own projects without having to reinvent the wheel.
Security
The Internet of Things must run securely, and the Device API must be secure. The Device API is secured through open standards and openly available cryptography tools such as AES-128 and/or SSL (https).
User Experience
The Internet of Things Platform is able to know when a user is actively viewing their devices on a screen, and can alert devices that they are being watched. Devices can then react by sending measurements faster in real-time to engage the user and provide the most optimal user experience. When the user isn't watching, devices and device proxies can buffer data to be sent out periodically, so the user's Internet connection isn't constantly utilized. Commands should always be received and processed near-instantaneously to provide the best user experience.
Reliability
All measurements should reach the server, all commands should reach the device. It's as simple as that. The open Device API provides mechanisms to support bidirectional acknowledgments and error codes and automatic retries. The Internet of Things Platform is implemented on the Amazon EC2 service for maximum reliability, and the device or device proxy has the ability to buffer data in case the user's Internet connection goes down. We are also able to license the Platform to your company for deployment at a different data center.
Devices should be manageable by the server, even when they are placed behind a NAT or firewall. To do this, all communications - both measurements and commands - are originated from the device on the local premises contacting the server.
Flexible Measurements
Measurements are one of the most fundamental elements a device can produce. We allow a device developer to define what types of measurements are produced by the device, ranging anywhere from voltage to becquerels to firmware versions to 'myArbitraryMeasurementType' - anything that can be measured can be logged, tracked, and analyzed. Any measurement can be sent to the ESP cloud from the device at any time. We consider measurements to be temporal in nature, and with large amounts of flowing data, can be analyzed on-the-fly as they are stored in the backend. Measurements can be pulled out later by other analytics engines, mobile apps, and web portals at any time.
Flexible Controls
Just as a device can produce any type of measurement, it can also take in any type of control. Controls range from simple on/off switches, to dimmers, to text messages, to complex actions.