Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
This repository was archived by the owner on Feb 6, 2024. It is now read-only.

Azure Verified Telemetry for IoT is a state-of-the-art solution to seamlessly determine the health of the sensor in real-time.

License

NotificationsYou must be signed in to change notification settings

Azure/Verified-Telemetry

Repository files navigation

codecov

PROJECT ARCHIVED

This repository has been archived and is now read-only. It will continue to be available for viewing purposes, however caution should be used as security fixes are no longer being applied.


Verified Telemetry for Azure IoT

Overview

The quality of sensor data is fundamental for driving IoT adoption. Since IoT sensors are often made of low-cost components, deployed in-the-wild and in harsh environments, they are prone to failures leading to faulty or dirty data. The effect of this faulty data will lead to the well-known garbage-in / garbage-out process, leading to cascading ill-effects upstream and at times catastrophic decisions.

Verified Telemetry (VT) is a state-of-the-art solution to determine the health of the sensor, i.e., working or faulty, which is consequently used to determine the quality of the sensed data. This is achieved by devising an intelligent “sensor fingerprint”, a set of unique electrical characteristics that differs between working and faulty sensors. The fingerprints can detect faults for a wide variety of off-the-shelf sensors and can be easily implemented with lightweight software code running on the IoT device. This novel approach empowers customers with a reliable and automated way to remotely measure and observe the health of the sensor in real-time alongside the data collected. The data associated with a validated fingerprint results in Verified Telemetry.

Verified Telemetry uses two technologies - FallCurve for analog sensors, CurrentSense for Digital Sensors.

Fall Curve

It reads the

VT_Overview

API documentation

Refer to theVerified Telemetry API for details on the VT Azure RTOS and FreeRTOS SDKs and how they are used.

Resource Requirements

Verified Telemetry is designed to run on resource contrained MCUs, flash and RAM is limited. Below is our resource requirements for Verified Telemetry for a size optimized (-Os) binary:

TypeSize
Flash13.0 kB
RAM4.6 kB

Plug and Play

Verified Telemetry Library provides capabilities for interaction using a Plug and Play Model.Details about this model can be foundhere.

Samples

We provide multiple device and solution samples to showcase the usage of Verified Telemetry. Please follow the samples below to see Verified Telemetry in action.

To get you started with the device, refer to the following device samples for Azure RTOS and FreeRTOS:

To get you started with the solution, refer to the following Grafana sample:

Using Verified Telemetry

Verified Telemetry utilizes CMake for building the project. To integrate Verified Telemetry into your projects build system follow these steps:

  1. Using Git, submodule VT into your project:

    git submodule add https://github.com/Azure/Verified-Telemetry.git
  2. In your CMake, setVT_MIDDLEWARE_RTOS to eitherAZURE_RTOS orFREERTOS depending on which middleware is appropriate for your project:

    set(VT_MIDDLEWARE_RTOS"AZURE_RTOS")
  3. In your CMake, add the VT directory:

    add_subdirectory(verified-telemetry)
  4. In your CMake, add VT into your targets link library:

    target_link_libraries(${PROJECT_NAME}    az::iot::vt)

Porting to your Platform

Verified Telemetry requires platform specific functions to be defined at the application layer and then passed to VT during initialization.

NOTE

The application developer will implement the following functions:

FunctionImplementation RequirementsFallCurve Required?
adc_single_initInitialize ADC when the controller and channel are passed as argumentsREQUIRED
adc_single_readReturn ADC data when the controller and channel are passed as argumentsREQUIRED
adc_buffer_readReturn buffer filled with ADC data using DMA/non-blocking read when the controller, channel, sampling frequency and sample length are passed as argumentsREQUIRED
gpio_onSet a GPIO pin HIGH when the GPIO port and pin are passed as argumentsREQUIRED
gpio_offSet a GPIO pin LOW when the GPIO port and pin are passed as argumentsREQUIRED
tick_initInitialize a tick counter with a time resolution that is passed as an argumentREQUIRED
tick_deinitDe-initialize a running tick counterREQUIRED
tickReturn the present tick valueREQUIRED
interrupt_enableEnable global interrupts on the MCUOPTIONAL
interrupt_disableDisable global interrupts on the MCUOPTIONAL

Support

If you need support, please see ourSUPPORT.md file.

Contributing

For details on contributing to this repository, see thecontributing guide.

Reporting Security Vulnerabilities

If you believe you have found a security vulnerability in any Microsoft-owned repository that meets Microsoft's definition of a security vulnerability, please report it to theMicrosoft Security Response Center.

License

Verified Telemetry are licensed under theMIT license.

About

Azure Verified Telemetry for IoT is a state-of-the-art solution to seamlessly determine the health of the sensor in real-time.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp