OpenTag

From Wikipedia, the free encyclopedia

OpenTag
DeveloperJP Norair
Written inC
OS familyEmbedded operating system
Working stateCurrent
Source modelOpen source
Initial release2011; 15 years ago (2011)
Latest release0.4.0 / November 8, 2012; 13 years ago (2012-11-08)
Marketing targetWireless sensor networks
Available inEnglish
Supported platformsMSP430, STM32
Kernel typeExokernel
LicenseOpenTag License
Official websiteOpenTag wiki

OpenTag is a DASH7 protocol stack and minimal Real-Time Operating System (RTOS), written in the C programming language. It is designed to run on microcontrollers or radio Systems on a Chip (SoC). OpenTag was engineered to be a very compact software package. However, with proper configuration, it can also run in any POSIX environment. OpenTag can also provide all functionality required for any type of DASH7 Mode 2 device, rather than just the eponymous “tag”-type endpoint device.

OpenTag implements DASH7 Mode 2, which specifies a monolithic system encompassing OSI layers one through six, part of layer seven, as well as the application layer. OpenTag is designed to be light and compact, as it is targeted to run on resource-constrained micro-controllers. As a monolithic system, it does not implement different layers of the OSI model in a way that will enable them to be deployed on systems that differ from the typical, and nearly universal, MCU+RF transceiver architecture, utilized by WSN and M2M nodes.[1] However, the OpenTag RTOS employs an exokernel architecture (as of version 0.4), so a monolithic kernel is not required. Applications developed for OpenTag may safely reference the library or directly access the hardware, as befits the exokernel design model.

Features

  • It has a lightweight pre-emptive multitasking exokernel RTOS.
  • Most kernels use fixed priority tasks.
  • It contains a complete DASH7 Mode 2 protocol stack, including
    • Remote wake up;
      • Native query protocol; and
      • UDP & SCTP adaptation layers.
  • It uses a Wear-leveling, Flash-based lightweight filesystem (Veelite).
  • It has an internal C-based API.
  • It has an external NDEF-based messaging API for client-server interaction.

Implementation

Supported devices

References

Related Articles

Wikiwand AI