• Stars
    star
    587
  • Rank 76,106 (Top 2 %)
  • Language
    JavaScript
  • License
    Other
  • Created almost 7 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Use Node.js in your end devices(QQ: 796448809)

ShadowNode

The Node.js runtime in shadow, enables N-API and vast Node.js packages on edge devices.

Build Status License

The project is another runtime for your Node.js packages, while ShadowNode is designed to be used on memory limited devices. It's inspired and forked from the awesome project Samsung/iotjs.

Quick Start

To get started with ShadowNode, you could download prebuilt binaries on Release Page for following targets:

  • Linux x64
  • macOS x64

Memory usage and binary footprint are measured at here with real target daily.

Documentation

Build

Fetch source code
$ git clone https://github.com/yodaos-project/ShadowNode.git
$ cd ShadowNode
Build ShadowNode
$ npm run build
Get available build options
$ tools/build.py --help
Install
$ tools/build.py --install
Run tests
$ npm test

For additional information see Getting Started.

Compared with Node.js

ShadowNode is not designed to be ran identical code that ran on Node.js. While edge environments are experiencing limited resources on runtime, the packages to be ran on ShadowNode shall be rewritten in a resource compact way. However for the very initial thought of sharing the Node.js vast module ecosystem, we would like make ShadowNode compatible with Node.js with our efforts.

Since the MQTT protocol is commonly used for communication between IoT devices, ShadowNode supports the protocol natively, and keeps the API consistent with the popular library MQTT.js. See MQTT API for details.

The WebSocket is a popular protocol in IoT environment as well, and also supported by ShadowNode natively. See WebSocket API.

For hardware geek, this project benefits from the upstream IoT.js, which has supported the following hardware interfaces, you are able to port ShadowNode to your platforms and start hacking with JavaScript:

License

ShadowNode is Open Source software under the Apache 2.0 license. Complete license and copyright information can be found within the code.

More Repositories

1

yodaos

Yet another Linux distribution for voice-enabled IoT and embrace Web standards
C
1,191
star
2

yoda.js

Application Framework that powered YodaOS
JavaScript
187
star
3

malldump

Attach to a process and dump statistics of low level malloc(ptmalloc, the glibc implementation) of the process.
C
29
star
4

rt-node

A JavaScript runtime library for RTOS.
C
23
star
5

flora

The lightweight IPC library which supports PUB/SUB for embedded device.
C++
23
star
6

yoda-book

The book covers the application development and customization.
18
star
7

hive

Node.js process incubator
JavaScript
15
star
8

memory-trace

Take heap snapshot to chart for C/C++ programs
C++
10
star
9

yoda-platform-tools

Tools to interact with YodaOS devices 🛠
TypeScript
8
star
10

samples

YODAOS Samples
JavaScript
5
star
11

edge-monitor

Monitoring YODAOS edge in real time
C++
4
star
12

voice-interface-google-assistant

Voice Interface Driver for Google Assistant
Python
3
star
13

website

The official website for YodaOS
JavaScript
2
star
14

24k-effect

24K-Effect is a software written in C that can use js to write lighting and sound effects.
Makefile
2
star
15

evolution

Maintaining proposals for changes and user-visible enhancements to the YodaRT.
2
star
16

tape

The TAP(test anything protocol) implementation for ShadowNode.
JavaScript
2
star
17

voice-interface-avs

Voice Interface Driver for Alexa Voice Service
C++
2
star
18

llsdn

An lldb plugin for ShadowNode and JerryScript, which enables inspection of JavaScript states for insights into ShadowNode processes and their core dumps.
Python
2
star
19

yoda-app-cloud-player

The built-in player app for YodaOS
JavaScript
2
star
20

release

YODAOS Release for publishing our images, files and other staffs, all are open sourced :)
JavaScript
2
star
21

embedded-devtools

DevTools for Embedded device.
Shell
1
star
22

yoda-lizard

The WebSocket client library for end-device.
C++
1
star
23

yoda-mock

Mock utilities on yodart
JavaScript
1
star
24

hive-proc

YodaOS Node.js process incubator
C++
1
star
25

product-raspberry

YODAOS Resources and configs for Raspberry with Seeed board.
JavaScript
1
star