{"id":15189,"date":"2022-02-28T14:01:50","date_gmt":"2022-02-28T14:01:50","guid":{"rendered":"http:\/\/tindeq.com\/?page_id=15189"},"modified":"2022-02-28T14:44:10","modified_gmt":"2022-02-28T14:44:10","slug":"progressor_api","status":"publish","type":"page","link":"https:\/\/staging.tindeq.com\/no\/progressor_api\/","title":{"rendered":"API"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"15189\" class=\"elementor elementor-15189\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4aaf11f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4aaf11f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-daf65a1\" data-id=\"daf65a1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a528b96 elementor-widget elementor-widget-spacer\" data-id=\"a528b96\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-562aaf8 elementor-widget elementor-widget-heading\" data-id=\"562aaf8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Tindeq Progressor API<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-522d3a8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"522d3a8\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-28509f6\" data-id=\"28509f6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e2926d3 elementor-widget elementor-widget-text-editor\" data-id=\"e2926d3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>This page describes the Progressor\u2019s Bluetooth interface and is intended for users who want to develop a custom application for their device. The description assumes a basic understanding of the Bluetooth LE protocol.<\/p><p>\u00a0<\/p><p align=\"left\">The Progressor, with its Bluetooth 5 connectivity, can connect with most modern PCs or smartphones. Once a connection is established, the client application can control the Progressor\u2019s operation through the commands specified here.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c84456c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c84456c\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-cde2620\" data-id=\"cde2620\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7f5ee4f elementor-widget elementor-widget-text-editor\" data-id=\"7f5ee4f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2 align=\"left\">Bluetooth Services<\/h2><p align=\"left\">The Progressor includes two Bluetooth services, one custom \u201cProgressor\u201d\u00a0service which exposes the Progressors control interface, and the second one is\u00a0the Nordic device firmware update (DFU) service. The DFU service will, however, not be covered\u00a0here as it only accepts updates signed by Tindeq.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4f34730 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4f34730\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d6badc8\" data-id=\"d6badc8\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-248db77 elementor-widget elementor-widget-image\" data-id=\"248db77\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/staging.tindeq.com\/wp-content\/uploads\/API-Figure1.png\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2a022d1 elementor-widget elementor-widget-spacer\" data-id=\"2a022d1\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-86eb1ab elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"86eb1ab\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c9b5a64\" data-id=\"c9b5a64\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e5fcf15 elementor-widget elementor-widget-text-editor\" data-id=\"e5fcf15\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2>Control Point<\/h2><p class=\"MsoNormal\" align=\"left\">The control point characteristic is where we send commands to the Progressor. Each command is encoded into a <span class=\"hgkelc\">tag-length-value (TLV) type of format<\/span> as shown in Figure 2.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-07b23e5 elementor-widget elementor-widget-image\" data-id=\"07b23e5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/staging.tindeq.com\/wp-content\/uploads\/API-Figure2.png\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da956d4 elementor-widget elementor-widget-spacer\" data-id=\"da956d4\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-89246a1 elementor-widget elementor-widget-image\" data-id=\"89246a1\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/staging.tindeq.com\/wp-content\/uploads\/elementor\/thumbs\/API-Table1-pl6j6wfltm9b9eanw4q32cpzohj9vgdym738v1d5u6.png\" title=\"API Table1\" alt=\"API Table1\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e9a1d6 elementor-widget elementor-widget-spacer\" data-id=\"5e9a1d6\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-853d6f8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"853d6f8\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f4541c6\" data-id=\"f4541c6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-532f444 elementor-widget elementor-widget-text-editor\" data-id=\"532f444\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2>Data Point<\/h2><p class=\"MsoNormal\">The data point characteristic is where we receive data from the Progressor. The data is encoded into the same type of TLV format used for sending commands. Note: to receive data, the client must enable notifications for this characteristic first.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85906e4 elementor-widget elementor-widget-image\" data-id=\"85906e4\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/staging.tindeq.com\/wp-content\/uploads\/API-Figure3.png\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d554be1 elementor-widget elementor-widget-image\" data-id=\"d554be1\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/staging.tindeq.com\/wp-content\/uploads\/elementor\/thumbs\/API-Table2-pl6j6so92a45yyg4i33ksdo5ay1t0nz19ohaxxip34.png\" title=\"API Table2\" alt=\"API Table2\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-74eeb54 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"74eeb54\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-858834a\" data-id=\"858834a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d38b384 elementor-widget elementor-widget-text-editor\" data-id=\"d38b384\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2>Test tools<\/h2><p><a href=\"https:\/\/www.nordicsemi.com\/Products\/Development-tools\/nrf-connect-for-mobile\" target=\"_blank\" rel=\"noopener\">nRF Connect<\/a> for mobile is a generic Bluetooth developer app available for both Android and iOS. It is a convenient tool for inspecting and interacting with services and characteristics on Bluetooth LE enabled devices and can also be used for test and verification of the Progressor.<\/p><h2>Other notes<\/h2><ul><li>As a part of its low power design, the Progressor features an auto-shutdown mechanism that will power off the device after 10 minutes of inactivity (i.e., when it is in a non-connected state). This means the Progressor will have to be turned on again if the shutdown timer is allowed to expire.<\/li><li>Data types received over Bluetooth are little endian. That is, the least significant byte is always received first.<\/li><\/ul><h2>Python Example code<\/h2><p>Download a sample script for interfacing with the Progressor via Python <a href=\"https:\/\/staging.tindeq.com\/wp-content\/uploads\/progressor_client.zip\">here<\/a><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Tindeq Progressor API This page describes the Progressor\u2019s Bluetooth interface and is intended for users who want to develop a custom application for their device. The description assumes a basic understanding of the Bluetooth LE protocol. \u00a0 The Progressor, with its Bluetooth 5 connectivity, can connect with most modern PCs or smartphones. Once a connection [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-15189","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/staging.tindeq.com\/no\/wp-json\/wp\/v2\/pages\/15189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.tindeq.com\/no\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/staging.tindeq.com\/no\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/staging.tindeq.com\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.tindeq.com\/no\/wp-json\/wp\/v2\/comments?post=15189"}],"version-history":[{"count":22,"href":"https:\/\/staging.tindeq.com\/no\/wp-json\/wp\/v2\/pages\/15189\/revisions"}],"predecessor-version":[{"id":15226,"href":"https:\/\/staging.tindeq.com\/no\/wp-json\/wp\/v2\/pages\/15189\/revisions\/15226"}],"wp:attachment":[{"href":"https:\/\/staging.tindeq.com\/no\/wp-json\/wp\/v2\/media?parent=15189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}