Giter Club home page Giter Club logo

embedis's Introduction

Embedis - Embedded Dictionary Server

Build Status Github Releases Github Issues Github License Github stars

Embedis is an open source library for creating simple embedded dictionary servers. Embedis is used for embedding key-value dictionaries into the SRAM, FLASH, FRAM, NVSRAM, EEPROM, or SDcard memory systems of small, limited resource, embedded computing platforms, such as the Arduino(AVR), Teensy(Cortex-M4), ESP8266, and others.

We needed to support several different persistent memory store types, for a number of "Internet of Things", and small embedded system projects.

These types include the internal processor/SoC based SRAM, FLASH, EEPROM, and Scratchpad SRAM memories, as well as externally attached FLASH, EEPROM, FRAM, NVSRAM and SDCard memories.

Embedis was developed to provide a simple, consistent command line interface, and APIs for storing and retrieving data from pins, sensors, interfaces, and other I/O devices, across a number of different embedded platforms and IDEs.

Installing Embedis

Use the Arduino Library Installer :

Sketch -> Include Library -> Manage Libraries

Install
Library Manager

Under "Filter Search", enter "embedis" :

LibMgr
Search for Embedis

and Click on the "Install" Button :

LibMgr
Install

Now you can explore the Embedis examples under :

Files -> Examples -> Embedis -> Embedis

Note Bene : The default example uses EEPROM only, and will only function on boards with support for internal EEPROM (i.e. Arduino Uno/Leo/Mega/etc.), or boards with support for emulated EEPROM, such as the ESP8266. There are specific examples for boards with different capabilities, such as the Arduino Due, that do NOT include EEPROM internal to the microprocessor.

Using Embedis

The Embedis command line interface (CLI) uses familiar SET/GET/DEL commands for storing, retriving, and deleting key-value pairs in the persistant memory stores. For example :

```
set mykey somevalue
+OK
get mykey
+somevalue
del mykey
:1
```

For more information on uisng Embedis, please see the -> WIKI <-

Embedis Development Environment

The git repository includes a submodule for the testing framework and a branch 'gh-pages' for the development generated documentation. The recommended commands to use are as follows:

git clone {origin_url} embedis
cd embedis
git submodule init
git submodule update
git clone {origin_url} html --branch gh-pages

You'll need a few tools to build the tests and documentation. These are common tools available for all operating systems so you shouldn't have too much trouble getting them installed.

CMake can create a typical Makefile as well as project files for Xcode, Visual Studio, and many others. Here's a quick start for Makefile users:

$ cmake .
$ make && ctest
$ make doc

Contributors

The folks who make this project possible:

  • PatternAgents, LLC
  • David Turnbull
  • Tom Moxon

Community Supported

Embedis and thingSoC are community supported, you can help by donating to support this work.

PayPal donate button


embedis's People

Contributors

ae9rb avatar bauerph avatar moxondesign avatar per1234 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.