jaNET Framework: A free and open source framework for the IoT. It provides mechanisms for interoperability
C# JavaScript HTML CSS
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
jaNETFramework
jaNETProgram Respect some compiler suggestions May 20, 2017
www Add public ip and app path functions to js core Jun 16, 2017
.gitattributes Initial commit to add default .gitIgnore and .gitAttribute files. Oct 29, 2015
.gitignore
README.md Update README.md May 10, 2017
jaNETFramework.sln www removed Apr 24, 2017
jaNETFramework.userprefs Remove async from webserver to test mono stability Jul 3, 2017

README.md

jaNET Framework

Introduction

A free and open source IoT framework that provides a set of built-in functions, a native API (judo API), and multiple providers, such as scheduler, evaluator, notification manager and others, to allow a 3rd party software (e.g. Jubito, see details below) to exploit, in order to interact with multiple services, software applications and vendor hardware (especially open hardware, such as Arduino, Raspberry Pi, Banana Pi, etc). It is designed for interoperability, therefore, to be absolutely vendor-neutral as well as hardware/protocol-agnostic. It can operate on any device that is capable of running .NET Framework or Mono (Linux, Windows, Mac, including single-board computers, such Raspberry Pi and Banana Pi).

Usage

  1. Clone the repository, open the solution with Visual Studio or MonoDevelop and build it.
  2. Copy 'www' root directory inside your build folder, e.g. janet-framework\jaNETProgram\bin\Debug.
  3. Run the application (jaNETProgram.exe) and access Jubito UI (http:/localhost:8080/www/)[1] in your browser.

[1] Default built-in web server provided by the framework is listening to localhost on port 8080.

You can change defaults by corresponding UI menu (Menu->Settings->Web Server) or via judo API.

judo server setup [host] [port] [authentication]
i.e. judo server setup localhost 8080 none|basic

judo API doc

Structure

There's basically two components in the core system:

  • Instruction Sets
  • Events

Help

A forum wil be started at some point.
Submit bugs or feature requests here and turn yourself into a valuable project participant.

Requirements

Windows

  • .NET Framework > 4.0
  • Visual Studio (any version)

Linux

Configuration

All system configuration are described in System tag within AppConfig.xml.
They can manipulated by judo API, but I suggest you doing it, either by editing the XML or by the web UI (Menu->Settings).

Hardware & Software Compatibility

It is fully tested and runnable on devices listed below:

  • Any computer with Windows or Linux desktops
  • Raspberry Pi 3 Model B
  • Banana Pi
  • Banana Pro
  • BPi-R1

Attached microcontrollers:

Examples:

Contributing

Any kind of contribution is always very welcome and appreciated.
Once you're familiar with the way jaNET works then you might want to contribute to the core system.

Contact

You may reach out to me via email or contact form.

License

This project is licensed under GNU General Public License (http://www.gnu.org/licenses/).

Wiki

https://github.com/jambelnet/janet-framework/wiki

About Jubito

Jubito is a complete DIY automation solution. An awarded IoT hub (Technical Enabler: Application Enablement - Honors & Awards) based on jaNET Framework. To get a deeper understanding on how the web application layer sits on top, and implements the framework, download Jubito, open index.html and js/jubito.core.js files and read through the code. They are located on the /www/ root directory. A copy of it, can be found on this git as well. Afterwards you'll be able to create custom widgets and more.

Tech blog: http://jubitoblog.blogspot.com
FAQ: http://jubito.org/faq.html

Jubito Screenshot

screenshot