a5sys / qowisio-cloud-api-bundle
Access data from Qowisio Cloud API
Requires
- php: >=5.5.9
- eljam/guzzle-jwt-middleware: ^0.4.0
- guzzlehttp/guzzle: ^6.2
- symfony/symfony: >=2.7
This package is auto-updated.
Last update: 2024-10-05 18:53:58 UTC
README
Qowisio offers an UNB network to let connected object send their data, hardware to create connected objects themselves, a Web API to retreive the data stored into their cloud, and many more things.
This bundle focuses on the Qowisio Cloud API.
The connected object has already sent its data through the UNB network, the data has already been read by the Qowisio cloud preprocessing programs, and now, you can use this bundle to query the Qowisio Cloud API to get "cooked" data.
Why cooked data ?
A connected object using a UNB network is designed to be the less electric consuming as possible. For that reason, the message sent over UNB network must be as short as possible (12 bytes max). Data is binary encoded, and then sent over the UNB network. If their is no preprocessing, its up to you to extract all values of the message.
Example : GPS is latitude and longitude. 2 values are sent at the same time in the message, but on the API, you will access 2 data.
Install
composer
composer require "a5sys/qowisio-cloud-api-bundle"
AppKernel.php
$bundles = [
...
new A5sys\QowisioCloudApiBundle\QowisioCloudApiBundle(),
...
];
Configuration
config.yml
qowisio_cloud_api:
authentication:
email: %qowisio_api_email%
password: %qowisio_api_password%
parameters.yml
qowisio_api_email: email_you_suscribed_with@tld.com
qowisio_api_password: 'yourpassword'
Note : to get your Qowisio account : https://developer.qowisio.com/log
Implemented functionnalities of the bundle VS API capabilities
Authentication API
Authentication
- GET /confirm/{hash}
- POST /login > used for each query in the Data API
- POST /resendconfirm
- POST /signup
- POST /password/reset
- POST /password/update
- POST /user/update
Data API
Authentication
- GET /amiauthenticated
Package
- GET /packages
- GET /packages/{id}
Devices / Sensors
- GET /devices
- PUT /devices
- POST /devices
- DELETE /devices
- GET /devices/type
- GET /devices/{uid}/sensors
Measures
- GET /measures/{sensor_id}/{from}/{to}/{limit}
Aggregations
- GET /aggregations/{sensor_uid}/lastday
- GET /aggregations/{sensor_uid}/lastweek
- GET /aggregations/{sensor_uid}/lastmonth
- GET /aggregations/{sensor_uid}/lastquarter
- GET /aggregations/{sensor_uid}/{from}/{to}
- GET /aggregations/{sensor_uid}/{agg}/{from}/{to}/{limit}
Usage
All available services automatically authenticate before sending any query to the Cloud API:
qowisio.cloud.api.authentication
Get infos about authentication.
qowisio.cloud.api.devices.and.sensors
Get infos about devices and their sensors
qowisio.cloud.api.measures
Get infos about sensor measures
qowisio.tracker
Get info about the specific tracker device provided during IoT connected days.
Returns a list of specific Coordinate object, in which you find latitude, longitude and a date.
qowisio.cloud.api.caller
makes the calls to API. You should use it if you want to develop a not yet implemented call.