What is Embedis?
Embedis is a very small, in-memory, data structure store for key/value pairs; and why it is also known as a "keystore server". Embedis can be used as a database, cache, and message broker, with it's publish and subscribe mechanisms. Embedis uses a syntax similar to the popular "Redis" program, which has API/bindings available for C/C++, Python, Ruby, TCL, etc.
In this example the Embedis command interpreter is connected to the Serial Monitor (i.e. Serial.print), however we have examples that show it running several simultaneous connections at once, including Telnet, WWW, MQTT, and others.
The Embedis database is persistent, and can be used across multiple projects to configure your program settings for the specific hardware and network configuration that you are using. The Embedis database supports the internal CPU EEPROM storage by default. Embedis makes it simple to add your own storage classes and devices as well. You simply use the "select" command to select different storage devices, such as "select EEPROM" (for internel EEPROM) or "select I2CEEPROM" or "select SPIEEPROM" for externally connected storage devices.
Now, you don't need to recompile your program and reflash your device in order to change your device and project settings anymore. Project settings can be changed "on-the-fly" with just a serial or wireless interface! (some settings changes however, will require a restart/reboot to take effect.)
Embedis was developed to provide a simple, consistent command line interface and API, for storing and retrieving data from memories, sensors, interfaces, and other I/O devices, across a number of different embedded platforms and IDEs.
If you find this project useful, please consider supporting our work.
we could really use your help and support - thanks!