Skip to content

WiserUFBA/soft-iot-tatu-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

soft-iot-tatu-python

TATU protocol in Python

The TATU (Tiny Application for Things Universal) protocol is a lightweight application protocol designed for communication between IoT devices over MQTT, focusing on simplicity, interoperability, and efficiency. It defines a standardized set of JSON-based messages for common IoT operations such as reading sensor data (GET), sending commands or values (POST), periodic data collection (FLOW), and event-driven updates (EVENT). While the FLOW method publishes sensor readings at fixed time intervals, the EVENT method is triggered only when a sensor value changes, reducing network traffic and power consumption on constrained devices. By providing a simple and efficient abstraction layer over MQTT, TATU enables the development of scalable, interoperable, and easily integrable IoT systems across edge and cloud environments.

Request GET for a specific sensor: {"method":"GET", "sensor":"sensorName"}

Request GET for all sensors at a device: {"method":"GET", "sensor":"deviceName"}

Response GET sensorName: {"header":{"method":"GET", "device":"deviceName", "sensor":"sensorName"}, "payload":{"sensors":{"sensorName":listValues}}}

Response GET deviceName: {"header":{"method":"GET", "device":"deviceName", "sensor":"deviceName"}, "payload":{"sensors":{"sensorName1":listValues,"sensorName2":listValues,"sensorName3":listValues}}}

Request FLOW for a specific sensor: {"method":"FLOW", "sensor":"sensorName", "time":{"collect":collectTime,"publish":publishTime}}

Request FLOW for all sensors at a device: {"method":"FLOW", "sensor":"sensorName", "time":{"collect":collectTime,"publish":publishTime}}

Response FLOW sensorName: {"header":{"method":"FLOW", "device":"deviceName", "sensor":"sensorName", "time":{"collect":collectTime,"publish":publishTime}}, "payload":{"sensors":{"sensorName":listValues}}}

Response FLOW deviceName: {"header":{"method":"FLOW", "device":"deviceName", "sensor":"deviceName","time":{"collect":collectTime,"publish":collectTime}},"payload":{"sensors":{"sensorName1":listValues,"sensorName2":listValues,"sensorName3":listValues}}}

Request EVENT for a specific sensor: {"method":"EVENT", "name":"sensorName", "time":{"collect":collectTime,"publish":publishTime}}

Request EVENT for all sensors at a device:

  • There's no EVENT for all sensors

Response EVENT sensor: {"header":{"method":"EVENT", "device":"deviceName", "sensor":"sensorName", "time":{"collect":collectTime,"publish":publishTime}}, "payload":{"sensors":{"sensorName":listValues}}}

Request POST sensor: {"method":"POST", "sensor":"sensorName", "value":value}

Response POST sensor (change in progress): {"header":{"method":"POST", "device":"deviceName", "sensor":"sensorName", "value":value}, "payload":{"value":value}}

deviceName examples:

  • pizerosensor01
  • pisensor01
  • galileo01

IoT Sensor Taxonomy (camelCase Naming Convention for sensorName)

This document presents a functional taxonomy of common IoT sensors using a consistent camelCase naming convention. It can be used in data models, APIs, semantic vocabularies, or general documentation of IoT systems.

🌡️ Environmental Sensors

  • temperatureSensor
  • humiditySensor
  • pressureSensor
  • lightSensor
  • uvSensor
  • windSpeedSensor
  • rainfallSensor
  • soilMoistureSensor

🌫️ Gas and Air Quality Sensors

  • co2Sensor
  • coSensor
  • methaneSensor
  • smokeSensor
  • airQualitySensor
  • ozoneSensor
  • vocSensor (Volatile Organic Compounds)

🧭 Motion and Position Sensors

  • motionSensor
  • accelerometerSensor
  • gyroscopeSensor
  • magnetometerSensor
  • tiltSensor
  • pirSensor (Passive Infrared)
  • ultrasonicSensor
  • proximitySensor
  • vibrationSensor

🔊 Audio and Imaging Sensors

  • soundSensor
  • microphoneSensor
  • cameraSensor
  • thermalCameraSensor

⚡ Electrical Sensors

  • voltageSensor
  • currentSensor
  • powerSensor
  • energyConsumptionSensor

❤️ Biometric and Health Sensors

  • heartRateSensor
  • bloodPressureSensor
  • bloodOxygenSensor
  • emgSensor (Electromyography)
  • ecgSensor (Electrocardiogram)
  • temperatureBodySensor

📍 Location and Navigation Sensors

  • gpsSensor
  • geoLocationSensor
  • compassSensor
  • altitudeSensor

🧪 Other / Specialized Sensors

  • waterLeakSensor
  • soilPhSensor
  • flameSensor
  • rfidSensor
  • nfcSensor
  • touchSensor
  • weightSensor
  • loadCellSensor

Note: This taxonomy does not represent an official standard but is based on common naming practices across IoT platforms and ontologies such as SOSA/SSN, SAREF, and QUDT. You are encouraged to extend it based on your specific domain or application.

About

TATU protocol in Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published