2 releases

0.1.1 Sep 5, 2019
0.1.0 Jul 6, 2019

#1 in #iiot

31 downloads per month

MPL-2.0 license

26KB
592 lines

Crates.io version Docs Coverage Status CI

woopsa-rust

A pure Rust library to provide the core specs library of Woopsa.

Features

This woopsa library is a core library to just provide:

  • constants
  • element
  • container
  • object
  • property
  • value
  • value-types
  • methods (todo)
  • methods argument information
  • error-types
  • verb
  • link (optional)

Woopsa stands for Web Object-Oriented Protocol for Software and Automation. It was designed with simplicity and interoperability in mind. The object-oriented part of the name means that data in Woopsa is hierarchical.

Install

cargo install woopsa

Contributing

Let's work together - send us your pull request!

TODO

  • tests (TDD)
  • core protocol stack
  • documentation
  • website
  • automated release process

Authors

Klaus Landsdorf from company Bianco Royal Software Innovations

License

The code is licenced under MPL-2.0. Like all open source code, you use this code at your own risk.

Woopsa

This is the Rust Woopsa module. To find out more about Woopsa and get the C#, Embedded C or JavaScript implementation, go to http://www.woopsa.org!

Woopsa is a protocol that's simple, lightweight, free, open-source, web and object-oriented, publish-subscribe, real-time capable and Industry 4.0 ready. It contributes to the revolution of the Internet of Things.

Woopsa allows you to share the complete object model of your application in a way that's similar to OPC UA. It's based on rock-solid foundations such as HTTP and JSON, which makes it work on the web out-of-the-box. Our mission is to get Woopsa on as many platforms as possible. Today, Rust, C# and JavaScript implementations exist, but there are much more to come! As a node module, Woopsa is very useful if you wish to quickly create a RESTful API. On the server-side, just give Woopsa any JavaScript object with properties and functions, and the library will create a RESTful API allowing you to read/write properties and call functions, automagically!

To give it a test, just go on http://{ip-of-your-server}/woopsa/read/Temperature and see the magic! Woopsa is fully RESTful which means you can easily test it with your browser. It publishes your entire object's structure, and you can see all the data it publishes by going on http://{ip-of-your-server}/woopsa/meta/ .

On the client-side, just get the Woopsa library on http://www.woopsa.org and you can immediately work with your object:

Getting started

Our Getting Started tutorial allows you to get started quickly with Woopsa. It's really easy and we promise you'll be convinced!

Dependencies

~0.4–1MB
~23K SLoC