API for accessing RTC devices implemented with kore

Helmut Pozimski 79819abdf1 declare character encoding for html page, confgure delivery of static contents via kore 5 years ago
html 79819abdf1 declare character encoding for html page, confgure delivery of static contents via kore 5 years ago
jsonrtc 79819abdf1 declare character encoding for html page, confgure delivery of static contents via kore 5 years ago
.gitignore 1a31942b07 Initial commit, add skeleton project for kore 5 years ago
COPYING 8f55debe4d add COPYING and license header 5 years ago
README.md f87e4ab575 add static files for demonstration 5 years ago

README.md

jsonrtc

DISCLAIMER: This Code has been written for demonstration purposes only, it offers no authentikation at all and should not be used in production!

Simple http API to read and write RTC data via JSON implemented with kore and cJSON. The directory html contains a simple web site to demonstrate the possibilities of the API.

Getting Started

Execute kodev run to start the web service. You can then issue requests to the following endpoints:

  • /time (either GET or POST)
  • /wkalrm (either GET or POST)
  • /device (GET only)
  • /nvmem (either GET or POST)

Parameters

A GET request generally requires no parameters, for POST you have to pass a JSON object that follows one of the following formats.

For /time:

{
	"seconds":	int,
	"minutes":	int,
	"hour":	int,
	"mday": int,
	"month":	int,
	"year":	int,
	"wday":	int,
}

For /wkalrm:

{
	"seconds":	int,
	"minutes":	int,
	"hour":	int,
	"mday":	int,
	"month":	int,
	"year":	int,
	"wday":	int,
	"enabled":	int,
	"pending":	int
}

For /nvmem:

{
	content: string
}

The string has to be exactly 56 characters representing hexadecimal values.

Prerequisites

You will need the following packages installed on your system:

  • kore
  • cJSON

You also should have a compatible RTC device with the rtc-ds13307-driver loaded on your system.

Authors

  • Helmut Pozimski - Initial work - Hoshpak

License

This project is licensed under the GNU General Public License, Version 2 - see the COPYING file for details

Acknowledgments

TBD