All Projects → museumsvictoria → nodel

museumsvictoria / nodel

Licence: other
A digital media control system for museums and galleries

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
Less
1899 projects
XSLT
1337 projects
C#
18002 projects
CSS
56736 projects

Projects that are alternatives of or similar to nodel

Smart Mirror
The fairest of them all. A DIY voice controlled smart mirror with IoT integration.
Stars: ✭ 2,668 (+5030.77%)
Mutual labels:  home-automation
deskmatik
Open source smart desk controller https://deskmatik.com
Stars: ✭ 24 (-53.85%)
Mutual labels:  home-automation
last-watch-ai
Self-hosted computer vision automation application
Stars: ✭ 49 (-5.77%)
Mutual labels:  home-automation
Home Assistant Cli
💻 Command-line tool for Home Assistant
Stars: ✭ 243 (+367.31%)
Mutual labels:  home-automation
google home timers card
Card for Home Assistant Google Home integration.
Stars: ✭ 29 (-44.23%)
Mutual labels:  home-automation
home assistant-ble
Companion application for home-assistant, sending bluetooth low energy detection
Stars: ✭ 21 (-59.62%)
Mutual labels:  home-automation
Iobroker.js Controller
ioBroker controller
Stars: ✭ 238 (+357.69%)
Mutual labels:  home-automation
linux-control
Control your Linux laptop/desktop via Google Assistant
Stars: ✭ 46 (-11.54%)
Mutual labels:  home-automation
tion python
Python module for Tion
Stars: ✭ 51 (-1.92%)
Mutual labels:  home-automation
python-fhem
Python FHEM (home automation server) API
Stars: ✭ 15 (-71.15%)
Mutual labels:  home-automation
Iobroker.javascript
Script engine for JavaScript and Blockly
Stars: ✭ 244 (+369.23%)
Mutual labels:  home-automation
HackTheStacks
The 3rd Annual American Museum of Natural History Hackathon produced by the BridgeUP: STEM program
Stars: ✭ 32 (-38.46%)
Mutual labels:  museum
unifi2mqtt
A unifi controller device status to mqtt bridge process
Stars: ✭ 14 (-73.08%)
Mutual labels:  home-automation
Netdisco
🔎 Python library to scan local network for services and devices.
Stars: ✭ 240 (+361.54%)
Mutual labels:  home-automation
homebridge-plex
Plex plugin for homebridge: https://github.com/nfarina/homebridge
Stars: ✭ 58 (+11.54%)
Mutual labels:  home-automation
Sucks
Simple command-line script for the Ecovacs series of robot vacuums
Stars: ✭ 237 (+355.77%)
Mutual labels:  home-automation
hfeasy
HFeasy - firmware for HF-LPx100/LPx30 based devices
Stars: ✭ 35 (-32.69%)
Mutual labels:  home-automation
musemeta
R Client for scraping museum metadata
Stars: ✭ 24 (-53.85%)
Mutual labels:  museum
haconfigs
My Home-Assistant configuration files
Stars: ✭ 61 (+17.31%)
Mutual labels:  home-automation
home-assistant-config
My configuration for Home Assistant
Stars: ✭ 63 (+21.15%)
Mutual labels:  home-automation

nodellogo

Nodel is an open source digital media control system for museums and galleries.

It uses a series of nodes that perform "actions" or respond to "signals" to control various devices on a network, allowing quick and easy management of digital media devices.

Nodel is typically used to control digital media in galleries, museums, corporate meeting rooms and digital signage.

In short, Nodel can manage any programmable device across a wide range of platforms.

Why Nodel?
  • It is simple to deploy, operate and maintain
  • It runs on any operating system
  • It runs on any browser including mobile devices
  • Best of all, it is open source and free

activityroomexample

About

Nodel is comprised of two parts - the platform and the recipes.

Platform

The platform or core system is written in Java and is the communication layer that allows nodes to interact with each other.

Why Java?
  • It is one of the most portable and ubiquitous managed execution environments in the industry, running 3 billion devices worldwide
  • It allows large numbers of nodes to be efficiently hosted with the smallest footprint
  • It is a very mature and robust ecosystem

An active instance of the platform (aka. "nodehost") can manage any number of integrated media devices, or assistant tools (schedulers, monitors, groups) to form a coherent and manageable network of nodes.

These nodes are discoverable from other nodehosts on the same network, by which a series of user specified bindings allows the seamless propagation of remote actions and signals between a group of nodes.

Recipes

Recipes are scripted in Python and are programmed to perform tasks, which might involve switching on a projector or playing a certain audio or video clip.

Why Python?
  • It is equally ubiquitous in the industry with readily accessible documentation, libraries and source code
  • It excels as a scripting environment both for heavy and lightweight tasks
  • Short, succinct and neat code makes scripting a breeze

There are example available on the recipes repository.

The simple high-level nature of the Nodel protocol means aternative languages and environments can easily participate in the Nodel network as long as they come with a minimal set of networking functions.

Nodes

A node is a self-managed, self-announcing, self-describing member of the subscription-based event-network. It's generated when a recipe sits inside the /nodes/node_name folder of a nodehost.

5b4c17b046eae

A node might represent and manage:

  • A physical device
  • A virtual software component on the network
  • Sub-components

Each node features:

  • A simple high-level addressing scheme
  • A simple messaging protocol using short, well defined, human-friendly message “packets”
  • A means to fully query its behaviour points – i.e. actions and signals
  • Automatic management of connections between nodes
  • A native TCP terminal-like interface for simple low-latency programmatic control
  • An HTTP/HTML interface for high-level as well as simple programmatic control

Nodes communicate with each other using a simple, open, language independent, text-based, human readable protocol written in JSON (JavaScript Object Notation) using the principles of REST (REpresentational State Transfer). Being text-based and human readable, commonly available tools such as Telnet and Notepad can be used to test and diagnose problems on a given network.

Specifications

A node can run on any hardware which runs the Java Virtual Machine, which includes OS X, Windows and Linux based devices. As such, no proprietary hardware is required to install and run the system. This requires no complex and expensive infrastructure or servers to operate and allows a wide range of devices such as the cost-effective Raspberry Pi to be used in a control system design.

The platform-independent nature of Nodel also allows it to easily scale to suit your environment. Your organisation is not limited in the choice of hardware or software and the simplicity of the Nodel architecture makes it the ideal choice as a control system.

System requirements

  • Any operating system capable of hosting the Java 8 Runtime Environment – including OS X, Windows or Linux
  • A current web browser
  • Made for mobile

Quick start

5b4c2e9005ffc

Building and releases

Notes

  • thoroughly road tested with Java 8 (available from AdoptOpenJDK)
  • for service / daemon use, see wiki pages
  • check bootstrap files for startup config

Licenses

Credits

Nodel is a joint venture established between Museums Victoria and Automatic. It was imagined as a replacement for Museum Victoria’s gallery control system at the time.

You may find out more about the Nodel project on the White Paper.

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].