All Projects → cortoproject → Corto

cortoproject / Corto

Licence: mit
A hierarchical object store for connecting realtime machine data with web applications, historians & more

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Corto

Zigbeenet
A .NET Standard library for working with ZigBee
Stars: ✭ 76 (-10.59%)
Mutual labels:  iot
Chirpstack Network Server
ChirpStack Network Server is an open-source LoRaWAN network-server.
Stars: ✭ 1,231 (+1348.24%)
Mutual labels:  iot
Mobius
oneM2M IoT Server Platform
Stars: ✭ 84 (-1.18%)
Mutual labels:  iot
Azure Sdk For C
This repository is for active development of the Azure SDK for Embedded C. For consumers of the SDK we recommend visiting our versioned developer docs at https://azure.github.io/azure-sdk-for-c.
Stars: ✭ 77 (-9.41%)
Mutual labels:  iot
Solariot
Leverage your IoT enabled Solar PV Inverter to stream your solar energy usage data to a real time dashboard.
Stars: ✭ 79 (-7.06%)
Mutual labels:  iot
Easyflash
Lightweight IoT device information storage solution: KV/IAP/LOG. | 轻量级物联网设备信息存储方案:参数存储、在线升级及日志存储 ,全新一代版本请移步至 https://github.com/armink/FlashDB
Stars: ✭ 1,236 (+1354.12%)
Mutual labels:  iot
Screenly Ose
The most popular digital signage project on Github!
Stars: ✭ 1,196 (+1307.06%)
Mutual labels:  iot
Rpieasy
Easy MultiSensor device based on Raspberry PI
Stars: ✭ 85 (+0%)
Mutual labels:  iot
Iotdb
Apache IoTDB
Stars: ✭ 1,221 (+1336.47%)
Mutual labels:  iot
Iotplatform
An open-source IoT platform that enables rapid development, management and scaling of IoT projects. With this IoT platform, you are able to: 1) Provision and control devices, 2) Collect and visualize data from devices, 3) Analyze device data and trigger alarms, 4) Deliver device data to other systems, 5) Enable use-case specific features using customizable rules and plugins.
Stars: ✭ 82 (-3.53%)
Mutual labels:  iot
Freeswitch
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
Stars: ✭ 1,213 (+1327.06%)
Mutual labels:  iot
Tcmenu
TcMenu is a full feature menu system for Arduino, mbed and ESP, it's modular enough to support different input types, displays and also has the concept of remote control built in.
Stars: ✭ 78 (-8.24%)
Mutual labels:  iot
Irext
Universal IR Remote Control Solution
Stars: ✭ 1,240 (+1358.82%)
Mutual labels:  iot
Esp Mqtt
MQTT component for esp-idf projects based on the lwmqtt library
Stars: ✭ 76 (-10.59%)
Mutual labels:  iot
Temp Monitor
Internet of Things data platform for temperature and humidity sensors with maps
Stars: ✭ 84 (-1.18%)
Mutual labels:  iot
Agilework
可视化低代码快速开发平台,面向业务、企业管理系统定制开发平台和应用平台,包括设计器、应用端。提供业务配置和集成开发能力,用户通过可视化拖拉拽配置式操作即可快速构建出能同时在PC和移动端运行的各类管理系统,对于企业客户的信息系统在管理模式、业务流程、表单界面、数据可视化展示、IoT管控等个性化需求,可以通过设计器,快速的进行个性化配置。并支持企业微信,公众号,钉钉等移动集成,实现用户跨区域移动办公。从而构建企业个性化的行业应用、集成应用和复杂的业务报表。
Stars: ✭ 76 (-10.59%)
Mutual labels:  iot
Esp8266 aliyun mqtt app
基于ESP8266官方SDK快速接入阿里云物联网平台
Stars: ✭ 81 (-4.71%)
Mutual labels:  iot
Kaa
Kaa Internet of Things platform for device management, data collection, analytics and visualization, remote control, software updates and more
Stars: ✭ 1,264 (+1387.06%)
Mutual labels:  iot
Ehal
Embedded Hardware Abstraction Library
Stars: ✭ 84 (-1.18%)
Mutual labels:  iot
Homie Esp8266
💡 ESP8266 framework for Homie, a lightweight MQTT convention for the IoT
Stars: ✭ 1,241 (+1360%)
Mutual labels:  iot

Corto

Corto is a developer-friendly and super extensible framework for building a virtual version of the real world (or a fake one, we don't mind). In corto you first design what your world looks like, and then populate it with real data. We slapped a single, unified API on top of all that data, so you (aka 'the software engineer') never have to worry about where that data came from!

Because there is likely more data in the world than your computer can process at once, corto has a smart design where it only loads the data you need in memory. You can have petabytes of data at your fingertips, and never spend more than 70Kb in footprint!

If any of these is not green, somebody is not sleeping well.

Linux/OSX Windows Coverity
Build Status not yet available Coverity

Getting Started

These instructions will get the project up and running on your local machine for development and testing purposes.

Prerequisites

A Linux or macOS system with curl installed. That's all!

Installing

Installing the corto development environment is simple. Just run this command to install corto to /usr/local:

curl https://corto.io/install-dev-src | sh

Code example

To get started quickly, run the following command after installing corto:

corto create MyApp

In the generated MyApp directory you will find a source directory with a file called MyApp.c. In the main routine of this application, enter the following hello world program:

corto_object home = corto_create(root_o, "MyHome", corto_void_o);
float *temp = corto_create(home, "RoomTemperature", corto_float32_o);
*temp = 71.5;

char *str_value = corto_serialize_value(temp, "text/corto");
printf("object %s of type %s has value %s\n",
    corto_fullpath(NULL, temp),
    corto_fullpath(NULL, corto_typeof(temp)),
    str_value);

free(str_value);
corto_delete(home);

You can now build the project by running this command from the project root:

bake

After the build is finished, you can run the executable in the bin/<platform> directory!

Running the tests

To make sure that corto is running smoothly on your system, it is always a good idea to run the tests. To run them, you need a local copy of the corto runtime repository. Running these commands in sequence will run the corto runtime testsuites:

curl https://corto.io/install-dev-src | sh
cd ~/.corto/src/corto
corto test

Don't worry if you see some missing implementation messages. This just means we have some work ahead of us. What is important is that after the test run, you see a message that says that everything is ok!

If the tests fail, please submit a bug report (check out CONTRIBUTING.md).

Built With

  • bake - The tailor-made buildsystem for corto.
  • libffi - We harness the powerful magic of libffi to call functions dynamically

Contributing

Please read CONTRIBUTING.md for details on how to contribute, and the process for submitting pull requests to us. Also please follow our CODE_OF_CONDUCT.md so that everything remains civilized!

Versioning

We use SemVer for versioning.

Authors

See also the list of contributors who participated in this project.

Legal stuff

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

The following people (in chronological order of appearance) need a callout as corto would be nowhere near where it is without their unwavering support and dedication:

  • Spiros Motsenigos - Invented the name! Pushed corto to greater heights with boundless enthusiasm
  • Johnny Lee Othon - First one crazy enough to try out corto. Origin of many, many features and improvements
  • Alex Hendren - Early adopter and evangelist (in the broadest sense of the word)
  • Roberto Flores - Probably the most experienced corto developer worldwide. Even better at finding bugs
  • Pepijn van Kesteren - Ever willing to ask the hard questions & able to offer advice on all of them
  • Nathan Petkus - True™ corto believer. Perpetually in the business of rallying good people for the good cause
  • Luke Peng - Reliable source of (sometimes painful) reminders that it is not just about the code
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].