Giter VIP home page Giter VIP logo

matrix-os's Introduction

MATRIX OS (MOS) has been deprecated. We are no longer providing support for it and it may cease to function at any time. Please refer to our new library MATRIX Lite to easily program your MATRIX Device with just one line of code.

MATRIX OS

Build Status

matrix os launches

Overview

MATRIX Open Source is a platform for running applications on the MATRIX Creator.

Bugs

https://github.com/matrix-io/matrix-os/issues

Questions

http://community.matrix.one

Documentation & Installation Instructions

https://creator.matrix.one/#!/develop/start

MATRIX Applications

MATRIX applications are built in JavaScript to logically connect sensor and computer vision data streams with outputs, such as LED lights, sending voltages, integrations and data for dashboards and analysis.

An example application would recognize your face and unlock your front door. A security gesture could be added for a basic level of access control. A 2 factor QR Code provided over the phone or fingerprint reader could be integrated more security.

Using configuration files, an application end-user could customize an application for their specific use case. Adding API keys or custom phrases.

Why JavaScript?

Lots of people already know JavaScript, and there is a rich module ecosystem. Part of our goal is to put IoT into the hands of more people.

What about MY language?

Don't worry. We like other languages too, all it will need is a supporting SDK. Coming soon.

Applications?

MATRIX Applications can be used in the traditional manner of an app, single user, single device. We believe swarming meshes of interconnected data streams will be a more common pattern. Most devices will use many applications at once, and many will operate entirely without direct manipulation by an end user. We have built inter-app messaging protocols to help this.

Open Source

We built MATRIX on top of open source software and we are releasing it for everyone to see under the hood and make contributions😎. We believe in open access to information, especially for the IoT space, where security and privacy are of the utmost importance.

Great, how do I use the thing over the internet?

Right now, you need a MATRIX Creator, available at creator.matrix.one.

Then follow the installation instructions above.

matrix-os's People

Contributors

alvajardilaadmobilize avatar arhuaco avatar bauff avatar brianofrokk3r avatar diegoribero avatar dilannery avatar eighteyes avatar gordinh avatar maciekrb avatar samreenislam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

matrix-os's Issues

sources.list error

Dear Matrix-io team,

I am having a problem while getting the sources.list

E: malformed line 5 in source list / etc/apt/sources.list (absolute dist)
E: the list of sources could not be read.

Please help

Rabih

Matrix OS: Error upgrading MOS API dependencies: Error: spawn /bin/sh ENOENT

Hi,

I am getting the Error "Error upgrading MOS API dependencies: Error: spawn /bin/sh ENOENT" when starting up the matrix os. It worked until last night, just this morning it occured for the first time when I was starting up the matrix os. Do you know of any dependencies that have been updated last night that could have broke it?

Thanks in advance.

Problem after upgrade v0.15.0

Hi, after last upgrade I have a couple of problems:

  1. I have to start Malos manually although it started automatically in the past.
  2. arecord / sox don't work
    arecord -q -r 16000 -D mic_channel8 -c 1 -t wav -f S16_LE test.wav

Arecord: main: 722: audio open error: Device or resource busy

Any Idea?

Installed Apps: stay blank

With the new updates : Matrix CLI 1.2.0 - Matrix OS 0.5.5
I tried several times to run the clock exemple unsuccessfully. Im always stuck in the same step. Installed Apps : stay blank causing a Firebase Warning

Installed Apps: 
Local Apps: [ 'clock.matrix' ]
Local / Installed Ξ” 1
FIREBASE WARNING: Exception was thrown by user callback. TypeError: _.pickBy is not a function
...several lines skipped...

When I matrix list apps I see the deployed app

 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Name                      β”‚ v     β”‚ Description                                                                       β”‚
β”‚ clock                     β”‚ 1.0.0 β”‚                                                                                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

I tried to rename the app and to redo the procedure allowing me to run it last week. No success

Error Install CLI on Local machine

Hi guys! I am trying to install the CLI following your instructions but I am getting an error. (No found git)
Can you please help me.
Thanks

npm WARN addRemoteGit Error: not found: git
npm WARN addRemoteGit at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:13:12)
npm WARN addRemoteGit at F (/usr/lib/node_modules/npm/node_modules/which/which.js:68:19)
npm WARN addRemoteGit at E (/usr/lib/node_modules/npm/node_modules/which/which.js:80:29)
npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/which.js:89:16
npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:44:5
npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/access.js:8:5
npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:112:15)
npm WARN addRemoteGit git+https://github.com/matrix-io/matrix-app-config-helper.git resetting remote /home/student/.npm/_git-remotes/git-https-github-com-matrix-io-matrix-app-config-helper-git-8c39b1a9 because of error: { Error: not found: git
npm WARN addRemoteGit at getNotFoundError (/usr/lib/node_modules/npm/node_modules/which/which.js:13:12)
npm WARN addRemoteGit at F (/usr/lib/node_modules/npm/node_modules/which/which.js:68:19)
npm WARN addRemoteGit at E (/usr/lib/node_modules/npm/node_modules/which/which.js:80:29)
npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/which.js:89:16
npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:44:5
npm WARN addRemoteGit at /usr/lib/node_modules/npm/node_modules/which/node_modules/isexe/access.js:8:5
npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:112:15) code: 'ENOGIT' }
npm ERR! git clone --template=/home/student/.npm/_git-remotes/_templates --mirror https://github.com/matrix-io/matrix-app-config-helper.git /home/student/.npm/_git-remotes/git-https-github-com-matrix-io-matrix-app-config-helper-git-8c39b1a9: undefined
npm ERR! git clone --template=/home/student/.npm/_git-remotes/_templates --mirror https://github.com/matrix-io/matrix-app-config-helper.git /home/student/.npm/_git-remotes/git-https-github-com-matrix-io-matrix-app-config-helper-git-8c39b1a9: undefined
npm ERR! Linux 3.19.0-71-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "matrix-cli" "-g"
npm ERR! node v7.4.0
npm ERR! npm v4.0.5
npm ERR! code ENOGIT

npm ERR! not found: git
npm ERR!
npm ERR! Failed using git.
npm ERR! This is most likely not a problem with npm itself.
npm ERR! Please check if you have git installed and in your PATH.

npm ERR! Please include the following file with any support request:
npm ERR! /home/student/npm-debug.log

YAML config file

Hello, this is just to raise some discussion =)

Is there any particular reason of choosing YAML as the main config entrypoint?
Why not an easier to parse and understand format like JSON?

Error with faceTest and emotionTest

After having started malos_eye in a separate CLI (not mentioned in beginner's guides), and starting node index.js, I finally some reaction by the system to the standard face tests for beginners with Matrix OS. However, on seeing a face or on detecting an emotion, I keep getting the following error. It seems the tags such as 'HAPPY' are now coded as numbers like 4 (I may be wrong, just a guess). I am running Matrix OS 0.16 (downloaded yesterday).

Here is my error code from Node JS, which quits after this:

Uncaught exception: TypeError: v.tag.toLowerCase is not a function
at /home/pi/matrix-os/lib/device/drivers/detection.js:51:27
at arrayReduce (/home/pi/matrix-os/node_modules/lodash/lodash.js:675:21)
at Function.reduce (/home/pi/matrix-os/node_modules/lodash/lodash.js:9673:14)
at _.map (/home/pi/matrix-os/lib/device/drivers/detection.js:47:28)
at arrayMap (/home/pi/matrix-os/node_modules/lodash/lodash.js:631:23)
at Function.map (/home/pi/matrix-os/node_modules/lodash/lodash.js:9546:14)
at Object.read (/home/pi/matrix-os/lib/device/drivers/detection.js:34:14)
at . (/home/pi/matrix-os/lib/service/component.js:96:26)
at emitOne (events.js:96:13)
at emit (events.js:188:7) TypeError: v.tag.toLowerCase is not a function
at /home/pi/matrix-os/lib/device/drivers/detection.js:51:27
at arrayReduce (/home/pi/matrix-os/node_modules/lodash/lodash.js:675:21)
at Function.reduce (/home/pi/matrix-os/node_modules/lodash/lodash.js:9673:14)
at _.map (/home/pi/matrix-os/lib/device/drivers/detection.js:47:28)
at arrayMap (/home/pi/matrix-os/node_modules/lodash/lodash.js:631:23)
at Function.map (/home/pi/matrix-os/node_modules/lodash/lodash.js:9546:14)
at Object.read (/home/pi/matrix-os/lib/device/drivers/detection.js:34:14)
at . (/home/pi/matrix-os/lib/service/component.js:96:26)
at emitOne (events.js:96:13)
at emit (events.js:188:7)
UNKNOWN ERROR! TypeError: v.tag.toLowerCase is not a function
at /home/pi/matrix-os/lib/device/drivers/detection.js:51:27
at arrayReduce (/home/pi/matrix-os/node_modules/lodash/lodash.js:675:21)
at Function.reduce (/home/pi/matrix-os/node_modules/lodash/lodash.js:9673:14)
at _.map (/home/pi/matrix-os/lib/device/drivers/detection.js:47:28)
at arrayMap (/home/pi/matrix-os/node_modules/lodash/lodash.js:631:23)
at Function.map (/home/pi/matrix-os/node_modules/lodash/lodash.js:9546:14)
at Object.read (/home/pi/matrix-os/lib/device/drivers/detection.js:34:14)
at . (/home/pi/matrix-os/lib/service/component.js:96:26)
at emitOne (events.js:96:13)
at emit (events.js:188:7)
Unable to clean, exitting...

Uncaught exception: Error: .matrix_heartbeat.Beat#services is not a field: undefined

==== Application faceTest started! ====
Uncaught exception:  Error: .matrix_heartbeat.Beat#services is not a field: undefined
    at Error (native)
    at MessagePrototype.set (/home/pi/matrix-os/node_modules/protobufjs/dist/protobuf.js:2472:35)
    at MessagePrototype.set (/home/pi/matrix-os/node_modules/protobufjs/dist/protobuf.js:2466:38)
    at Message (/home/pi/matrix-os/node_modules/protobufjs/dist/protobuf.js:2395:34)
    at Object.beat (/home/pi/matrix-os/lib/device/heartbeat.js:92:16)
    at Timeout._repeat (/home/pi/matrix-os/lib/device/heartbeat.js:24:12)
    at Timeout.wrapper [as _onTimeout] (timers.js:425:11)
    at tryOnTimeout (timers.js:232:11)
    at Timer.listOnTimeout (timers.js:202:5) Error: .matrix_heartbeat.Beat#services is not a field: undefined
    at Error (native)
    at MessagePrototype.set (/home/pi/matrix-os/node_modules/protobufjs/dist/protobuf.js:2472:35)
    at MessagePrototype.set (/home/pi/matrix-os/node_modules/protobufjs/dist/protobuf.js:2466:38)
    at Message (/home/pi/matrix-os/node_modules/protobufjs/dist/protobuf.js:2395:34)
    at Object.beat (/home/pi/matrix-os/lib/device/heartbeat.js:92:16)
    at Timeout._repeat (/home/pi/matrix-os/lib/device/heartbeat.js:24:12)
    at Timeout.wrapper [as _onTimeout] (timers.js:425:11)
    at tryOnTimeout (timers.js:232:11)
    at Timer.listOnTimeout (timers.js:202:5)
UNKNOWN ERROR! Error: .matrix_heartbeat.Beat#services is not a field: undefined
    at Error (native)
    at MessagePrototype.set (/home/pi/matrix-os/node_modules/protobufjs/dist/protobuf.js:2472:35)
    at MessagePrototype.set (/home/pi/matrix-os/node_modules/protobufjs/dist/protobuf.js:2466:38)
    at Message (/home/pi/matrix-os/node_modules/protobufjs/dist/protobuf.js:2395:34)
    at Object.beat (/home/pi/matrix-os/lib/device/heartbeat.js:92:16)
    at Timeout._repeat (/home/pi/matrix-os/lib/device/heartbeat.js:24:12)
    at Timeout.wrapper [as _onTimeout] (timers.js:425:11)
    at tryOnTimeout (timers.js:232:11)
    at Timer.listOnTimeout (timers.js:202:5)
Unable to clean, exitting...

i tried removing node_modules and reinstalling with npm install, didnt work. Any ideas?
This happens with faceTest, demographicTest and gestureTest

Attempted to install on Raspberry Pi - proto unaccessible

git submodule update --init
Submodule 'proto' ([email protected]:admobilize/protocol-buffers.git) registered for path 'proto'
Cloning into 'proto'...
The authenticity of host 'bitbucket.org)' can't be established.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,2401' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

update of issue#85: sevice undefined when start face detection app from matrix OS

same thing happens again even I update the matrix-os to the latest version (v0.14.1)
(this issue is related to issue #85)
==== Application buildindetection started! ====
(buildindetection) Matrix OS Application Library Loading...

(buildindetection) service> undefined

(buildindetection)err invalid service declared. No configuration available for face

Stopping buildindetection
(buildindetection)err /home/pi/matrix-os/apps/buildindetection.matrix/app.js:1
(function (exports, require, module, __filename, __dirname) { matrix.service('face').start().then(function(data){
^

TypeError: Cannot read property 'start' of undefined
at Object. (/home/pi/matrix-os/apps/buildindetection.matrix/app.js:1:85)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
at Module.require (module.js:483:17)
at require (internal/module.js:20:19)
at Object. (/home/pi/matrix-os/apps/buildindetection.matrix/index.js:7:1)
at Module._compile (module.js:556:32)

Stopping buildindetection
App IPC Disconnect buildindetection
Event Listeners Removed buildindetection
VES Instances yet not halted on app stop
hb: sen> [] svc> []

Fix name error in face app

when running face example in matrix-src-apps I get a crash.

 device.service start> +5ms { type: 'service-init', name: 'face', options: {} }
Uncaught exception:  TypeError: Cannot read property 'name' of undefined
    at Object.registerComponent (/home/pi/matrix-os/lib/service/zeromq.js:32:45)
    at EventEmitter.start (/home/pi/matrix-os/lib/device/service.js:91:37)
    at emitOne (events.js:96:13)
    at EventEmitter.emit (events.js:188:7)
    at ChildProcess.messageHandler (/home/pi/matrix-os/lib/event/app.js:108:23)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at process.nextTick (internal/child_process.js:744:12)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9) TypeError: Cannot read property 'name' of undefined
    at Object.registerComponent (/home/pi/matrix-os/lib/service/zeromq.js:32:45)
    at EventEmitter.start (/home/pi/matrix-os/lib/device/service.js:91:37)
    at emitOne (events.js:96:13)
    at EventEmitter.emit (events.js:188:7)
    at ChildProcess.messageHandler (/home/pi/matrix-os/lib/event/app.js:108:23)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at process.nextTick (internal/child_process.js:744:12)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)
UNKNOWN ERROR! TypeError: Cannot read property 'name' of undefined
    at Object.registerComponent (/home/pi/matrix-os/lib/service/zeromq.js:32:45)
    at EventEmitter.start (/home/pi/matrix-os/lib/device/service.js:91:37)
    at emitOne (events.js:96:13)
    at EventEmitter.emit (events.js:188:7)
    at ChildProcess.messageHandler (/home/pi/matrix-os/lib/event/app.js:108:23)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at process.nextTick (internal/child_process.js:744:12)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)
  matrix DESTROYING +13ms

accelerometer data comes through with gyro data, should come through when accelerometer is requested only.

For example:

matrix.init('gyroscope', {}).then(function() {});

returns:

{ 
  yaw: 158.4182891845703,
  pitch: 1.6816062927246094,
  roll: -1.2669049501419067,
  accel_x: 0,
  accel_y: 0,
  accel_z: 0,
  gyro_x: 0,
  gyro_y: 0,
  gyro_z: 0,
  mag_x: 0,
  mag_y: 0,
  mag_z: 0,
  type: 'gyroscope' 
}

gyroscope should return:

{ 
  yaw: 158.4182891845703,
  pitch: 1.6816062927246094,
  roll: -1.2669049501419067
}
matrix.init('accelerometer', {}).then(function() {});

accelerometer should return:

{
  accel_x: 0,
  accel_y: 0,
  accel_z: 0
}

MATRIX OS - Receiving App Events via Input (or in general) - e.g. Input from Dashboard to MATRIX OS App.

Receiving App Events via Input (or in general) - e.g. Input from Dashboard to MATRIX OS App.

Error Error: channel closed
    at ChildProcess.target.send (internal/child_process.js:540:16)
    at EventEmitter.<anonymous> (/home/pi/matrix-os/lib/service/manager.js:343:21)
    at emitOne (events.js:101:20)
    at EventEmitter.emit (events.js:188:7)
    at Object.triggerHandler (/home/pi/matrix-os/lib/event/app.js:237:21)
    at EventEmitter.cliMessageHandler (/home/pi/matrix-os/lib/event/server.js:122:26)
    at emitOne (events.js:96:13)
    at EventEmitter.emit (events.js:188:7)
    at Socket.<anonymous> (/home/pi/matrix-os/lib/service/stream.js:164:21)
    at Socket.Emitter.emit (/home/pi/matrix-os/node_modules/component-emitter/index.js:133:20)
  app [M]>(CT)>app( recogTest2 { type: 'app-message', eventName: 'searchName', value: 'David' } +2ms
Error Error: channel closed
    at ChildProcess.target.send (internal/child_process.js:540:16)
    at EventEmitter.<anonymous> (/home/pi/matrix-os/lib/service/manager.js:343:21)
    at emitOne (events.js:101:20)
    at EventEmitter.emit (events.js:188:7)
    at Object.triggerHandler (/home/pi/matrix-os/lib/event/app.js:237:21)
    at EventEmitter.cliMessageHandler (/home/pi/matrix-os/lib/event/server.js:122:26)
    at emitOne (events.js:96:13)
    at EventEmitter.emit (events.js:188:7)
    at Socket.<anonymous> (/home/pi/matrix-os/lib/service/stream.js:164:21)
    at Socket.Emitter.emit (/home/pi/matrix-os/node_modules/component-emitter/index.js:133:20)
  app [M]>(CT)>app( recogTest2 { type: 'app-message', eventName: 'searchName', value: 'David' } +1ms
Error Error: channel closed
    at ChildProcess.target.send (internal/child_process.js:540:16)
    at EventEmitter.<anonymous> (/home/pi/matrix-os/lib/service/manager.js:343:21)
    at emitOne (events.js:101:20)
    at EventEmitter.emit (events.js:188:7)
    at Object.triggerHandler (/home/pi/matrix-os/lib/event/app.js:237:21)
    at EventEmitter.cliMessageHandler (/home/pi/matrix-os/lib/event/server.js:122:26)
    at emitOne (events.js:96:13)
    at EventEmitter.emit (events.js:188:7)
    at Socket.<anonymous> (/home/pi/matrix-os/lib/service/stream.js:164:21)
    at Socket.Emitter.emit (/home/pi/matrix-os/node_modules/component-emitter/index.js:133:20)
  app [M]>(CT)>app( recogTest2 { type: 'app-message', eventName: 'searchName', value: 'David' } +2ms
Error Error: channel closed
    at ChildProcess.target.send (internal/child_process.js:540:16)
    at EventEmitter.<anonymous> (/home/pi/matrix-os/lib/service/manager.js:343:21)
    at emitOne (events.js:101:20)
    at EventEmitter.emit (events.js:188:7)
    at Object.triggerHandler (/home/pi/matrix-os/lib/event/app.js:237:21)
    at EventEmitter.cliMessageHandler (/home/pi/matrix-os/lib/event/server.js:122:26)
    at emitOne (events.js:96:13)
    at EventEmitter.emit (events.js:188:7)
    at Socket.<anonymous> (/home/pi/matrix-os/lib/service/stream.js:164:21)
    at Socket.Emitter.emit (/home/pi/matrix-os/node_modules/component-emitter/index.js:133:20)

duplicates events on recognition service

I am using the recognition services and I get duplicates events when I call any function of the recognition service (train, getTags, etc ..) more than once. For example: the below code:

 matrix.service('recognition').getTags()
          .then((tags) => {
            console.log('tags results');
          })

Will produce "tags results" twice on the second time if I call the above function twice.

I guess the problem is from the below line:
https://github.com/matrix-io/matrix-os/blob/dev/apps/lib/service.js#L192

It seems this problem is similar to the below issue:
https://github.com/nodejs/node-v0.x-archive/issues/2475

I have tried changing the above to process.once and it worked.

For now in my code I just use the below after calling any function from the recognition service:
process.removeAllListeners('message');

I hope you fix it soon if you think it makes sense.

Thanks !

Permission denied error

 $ NODE_ENV=rc node index.js
Environment Selected: rc
Loading Core Matrix Files
Loading...  device
Loading...  event
Loading...  service
Dependencies up to date.


Installed Apps: 
Local Apps: clock.matrix, clock2.matrix, gestureTest.matrix
Local / Installed Ξ” 3
MXSS Connected: http://rc-mxss.admobilize.com
=<[^\/^]>= [d5dee0d22747] ready
[5830c0c68bc14a2000f1e4d2]
 _  _ ____ ___ ____ _ _  _ 
 |\/| |__|  |  |__/ |  \/   [o__o]
 |  | |  |  |  |  \ | _/\_  v0.6.2
FIREBASE WARNING: set at /users/5830c0c68bc14a2000f1e4d2/devices/d5dee0d22747/online failed: permission_denied 
(node:8022) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: PERMISSION_DENIED: Permission denied
(node:8022) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.


Error with recogTest

Error:


{ Error: Unauthorized token
    at /home/pi/matrix-os/node_modules/grpc/src/node/src/client.js:434:17 code: 16, metadata: Metadata { _internal_repr: {} } }

When app is closed


Stopping recogTest
Message recieved from app without active application record ./apps/recogTest.matrix/index.js
Message recieved from app without active application record ./apps/recogTest.matrix/index.js
Message recieved from app without active application record ./apps/recogTest.matrix/index.js
App IPC Disconnect recogTest
Event Listeners Removed recogTest
VES Instances yet not halted on app stop

Side note: There is no error when training a face but once they try to trigger recog it doesn't recognize them and throws the first error.

API Error: 400 - Missing deviceSecret parameter.

after node index.js

....
Dependencies up to date.
Device Error { status: 'error',
status_code: 400,
error: 'Missing deviceSecret parameter.' }
API Error: 400 - Missing deviceSecret parameter.

I have .envrc file in ~

export MATRIX_DEVICE_ID=XZXZXZXZXZXZX
export MATRIX_DEVICE_SECRET=ZXZXZXZXZXZXZXZXZXZXZXZXZXZXZX

source .envrc

face detection app generate error on OS when use "matrix start" from CLI

I follow the instruction online to run the simple face detection application:
https://www.youtube.com/watch?v=8jkWwum8O8Q
and I also take a look at post #80.
right now my config.yaml is

services:
Buildindetection:
engine: detection
type: face

and the app.js is simply
matrix.service('face').start.then(function(data){ console.log(data); });

but I still get the error message from matrix os:

==== Application buildindetection started! ====
(buildindetection) Matrix OS Application Library Loading...

(buildindetection) service> undefined

(buildindetection)err invalid service declared. No configuration available for face

Stopping buildindetection
(buildindetection)err /home/pi/matrix-os/apps/buildindetection.matrix/app.js:1
(function (exports, require, module, __filename, __dirname) { matrix.service('face').start.then(function(data){
^

TypeError: Cannot read property 'start' of undefined
at Object. (/home/pi/matrix-os/apps/buildindetection.matrix/app.js:1:85)
at Module._compile (module.js:556:32)
at Object.Module._extensions..js (module.js:565:10)
at Module.load (module.js:473:32)
at tryModuleLoad (module.js:432:12)
at Function.Module._load (module.js:424:3)
at Module.require (module.js:483:17)
at require (internal/module.js:20:19)
at Object. (/home/pi/matrix-os/apps/buildindetection.matrix/index.js:7:1)
at Module._compile (module.js:556:32)

Stopping buildindetection
Uncaught exception: TypeError: Cannot convert undefined or null to object
at ChildProcess. (/home/pi/matrix-os/lib/service/manager.js:503:21)
at emitNone (events.js:86:13)
at ChildProcess.emit (events.js:185:7)
at finish (internal/child_process.js:711:14)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9) TypeError: Cannot convert undefined or null to object
at ChildProcess. (/home/pi/matrix-os/lib/service/manager.js:503:21)
at emitNone (events.js:86:13)
at ChildProcess.emit (events.js:185:7)
at finish (internal/child_process.js:711:14)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
UNKNOWN ERROR! TypeError: Cannot convert undefined or null to object
at ChildProcess. (/home/pi/matrix-os/lib/service/manager.js:503:21)
at emitNone (events.js:86:13)
at ChildProcess.emit (events.js:185:7)
at finish (internal/child_process.js:711:14)
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
Unable to clean, exitting...

What's more, I install the malos and malos_eye on my Pi and run the example code successfully, so I've no idea about how to fix this issue, any suggestions?

[SOLVED] run clock.matrix app

@eighteyes Could you be more explicite about this line in the ReadMe :

3 - If you want to start a MATRIX app on launch, use the env START_APP. ex. START_APP=monitor node index.js

monitor stand for what ? My-app folder ? If yes, "where" exactly my-app should be. In matrix-os/apps ?

And how can I make run your clock.matrix app example ? I only receive dots in my terminal

permission denied for firebase

 $ NODE_ENV=rc node index.js
Environment Selected: rc
Loading Core Matrix Files
Loading...  device
Loading...  event
Loading...  service
Dependencies up to date.


Installed Apps: 
Local Apps: clock.matrix, clock2.matrix, gestureTest.matrix
Local / Installed Ξ” 3
MXSS Connected: http://rc-mxss.admobilize.com
=<[^\/^]>= [d5dee0d22747] ready
[5830c0c68bc14a2000f1e4d2]
 _  _ ____ ___ ____ _ _  _ 
 |\/| |__|  |  |__/ |  \/   [o__o]
 |  | |  |  |  |  \ | _/\_  v0.6.2
FIREBASE WARNING: set at /users/5830c0c68bc14a2000f1e4d2/devices/d5dee0d22747/online failed: permission_denied 
(node:8022) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: PERMISSION_DENIED: Permission denied
(node:8022) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Everloop LED's not working properly

Hi,

i installed matrix-os on a fresh raspbian jessie. It seems like that the Everloop LED's are not working. For example: I installed the clock app and tried to execute it on the pi:
$ matrix install clock
$ matrix run clock

All that happens now, is that the leds start to show some random crazy pattern and then they stop changing. The "clock" app still runs and there are no error messages.

Output from the node server:

hb: sen> [] svc> []
firebase config valid, but not validated, check flow
==== Application clock started! ====
(clock) Matrix OS Application Library Loading...

(clock) Matrix App Host Ready!

Node server log:

2017-06-17T10:19:04 l o g [clock] Matrix OS Application Library Loading...
2017-06-17T10:19:04 l o g [clock] Matrix App Host Ready!

I also tried to deploy a little example to trigger the leds. Even the simplest code does not work.
E.g:matrix.led('green').render();

The leds react the same way, some random crazy pattern and then it stops.

Using the ping feature of the matrix cli also does not work:

$ matrix ping
null

Error when attempting to stop apps.

I get the following error when attempting to stop an app:

 Stopping ledDemo
 Message recieved from app without active application record /home/pi/matrix-os/apps/ledDemo.matrix/index.js
 Uncaught exception:  TypeError: Cannot convert undefined or null to object
 UNKNOWN ERROR! TypeError: Cannot convert undefined or null to object
 at ChildProcess.<anonymous> (/home/pi/matrix-os/lib/service/manager.js:503:21)
 at emitNone (events.js:86:13)
 at ChildProcess.emit (events.js:185:7)
 at finish (internal/child_process.js:711:14)
 at _combinedTickCallback (internal/process/next_tick.js:67:7)
 at process._tickCallback (internal/process/next_tick.js:98:9)
 Unable to clean, exitting...

Applications can start but they are not able to stop. I have to reconnect the device using NODE_ENV=rc node index.js every time I want to deploy a new app version

Error occurring with recogTest

Error

undefined service name init [ 'engine', undefined, undefined, 'type', undefined, undefined ]
TODO: Should start VES for  recognition
==== Application recogTest started! ==== 
[]
[ 'FACE_RECOGNITION' ]
No Recognition Component Available for Ping
Components: [ 'led' ]
(recogTest) Matrix OS Application Library Loading...

(recogTest) [M]->app { eventType: 'container-ready', app: 'recogTest', pid: 2093 } app-recogTest-message

(recogTest) [M]->app { eventType: 'container-ready', app: 'recogTest', pid: 2093 } app-recogTest-message

(recogTest) [M]->app { eventType: 'container-ready', app: 'recogTest', pid: 2093 } app-recogTest-message
[M]->app { eventType: 'container-ready', app: 'recogTest', pid: 2093 } app-recogTest-message

[]
[ 'FACE_RECOGNITION' ]
No Recognition Component Available for Ping
Components: [ 'led' ]

Config


# do not touch this line
configVersion: 2

description: recognition demo
keywords: cv
name: recogTest
displayName: Recog
galleryUrl: https://storage.googleapis.com/admobilize-assets/matrix-appstore-images-tmp/app-tn/recog-g.png
imageUrls:
  - https://storage.googleapis.com/admobilize-assets/matrix-appstore-images-tmp/app-tn/recog.png

events:
  - train
  - recog
  - reset
  
services:
  re:
    engine: recognition
    type: face

screens: 
  - - train
  - - recognize
  
widgets:
  train:
    event: train
    control: button
    label: 'Train your Face'
    value: 'Train'
  recognize:
    event: recog
    control: button
    label: Recognize Your Face
    value: Recognize

UNKNOWN ERROR! TypeError: Matrix.service.firebase.user.watchAppInstall is not a function

I am getting the following error on the most recent matrix-os:

Installed Apps: Local Apps: [ 'clock.matrix' ] Local / Installed Ξ” 1 FIREBASE WARNING: Exception was thrown by user callback. TypeError: Matrix.service.firebase.user.watchAppInstall is not a function at setupFirebaseListeners (/home/pi/matrix-os/index.js:257:37) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:3845:9 at replenish (/home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:1030:17) at iterateeCallback (/home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:1015:17) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:988:16 at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:3850:13 at apply (/home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:41:25) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:76:12 at syncApps (/home/pi/matrix-os/index.js:232:9) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:3845:9 Uncaught exception: [TypeError: Matrix.service.firebase.user.watchAppInstall is not a function] TypeError: Matrix.service.firebase.user.watchAppInstall is not a function at setupFirebaseListeners (/home/pi/matrix-os/index.js:257:37) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:3845:9 at replenish (/home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:1030:17) at iterateeCallback (/home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:1015:17) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:988:16 at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:3850:13 at apply (/home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:41:25) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:76:12 at syncApps (/home/pi/matrix-os/index.js:232:9) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:3845:9 UNKNOWN ERROR! TypeError: Matrix.service.firebase.user.watchAppInstall is not a function at setupFirebaseListeners (/home/pi/matrix-os/index.js:257:37) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:3845:9 at replenish (/home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:1030:17) at iterateeCallback (/home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:1015:17) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:988:16 at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:3850:13 at apply (/home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:41:25) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:76:12 at syncApps (/home/pi/matrix-os/index.js:232:9) at /home/pi/matrix-os/node_modules/matrix-firebase/node_modules/async/dist/async.js:3845:9 Unable to clean, exitting...

When attempting to install and run "Face App" from video linked in description, an error is thrown, and app does not start.

When attempting to install and run "Face App" from from this video, an error is thrown, and app does not start.

(face-demo) Initialize Service: face

Cannot register component without name undefined
Uncaught exception:  TypeError: Cannot read property β€˜prepare’ of undefined

Config

# do not touch this line
configVersion: 2

description: face detection
keywords: ''
name: face-demo
displayName: Face Demo

services:
  faceDemo:
    engine: detection
    type: face

[SOLVED] Device Error undefined

It appears, since the recent change, that I was cloning the dev branch.
With the dev my Matrix initialized but refuse with the master: Device Error undefined and the light spin endlessly until I kill. I even tried to re-register my device. No success

Here's my procedure :

  • 1 - sudo matrix set env rc // just to be sure
  • 2 - sudo matrix login // success
  • 3 - sudo matrix use <my-device-id> // success
  • 4 - source .envrc
  • 5 - malos // from another terminal window
  • 6 - cd matrix-os
  • 7 - node index.js
Loading Core Matrix Files
Loading...  device
Loading...  event
Loading...  service
DEVICE { info: 
... output lines skipped ...
Device Error undefined

Can't Find Open Source Software Licenses

Looking at the Indiegogo campaign the project page states, "MATRIX Voice: Open-Source Voice Platform For All", "MATRIX Voice is an open-source VOICE RECOGNITION platform consisting of a 3.14-inches in diameter dev board, with a radial array of 7 MEMS microphones connected to a Xilinx Spartan6 FPGA & 64 Mbit SDRAM with 18 RGBW LED’s & 64 GPIO pins", "Open-Source Voice Platform for All", "Matrix Open-Source" etc. (https://www.indiegogo.com/projects/matrix-voice-open-source-voice-platform-for-all#/).

In addition, the README.md states, "MATRIX Open Source is a platform for running applications on the MATRIX Creator", "Open Source: We built MATRIX on top of open source software and we are releasing it for everyone to see under the hood and make contributions:sunglasses:. We believe in open access to information, especially for the IoT space, where security and privacy are of the utmost importance."

Yet I cannot find an OSI Approved Open Source Licenses in any of the project repositories. Can you please point me to it.

Thanks,
Patrick

Starting matrix-os Illegal instruction

Using matrix-os on a raspberry pi zero w with node 6.5 and Raspbian Stretch.

Followed the instruction on how to setup, but every time I try to start matrix-os, it fails:

pi@raspberrypi:~/matrix-os $ node index.js Environment Selected: production Loading... device Illegal instruction

I already tried to reinstall it, but didn't change anything.
The matrix-creator-malos JS samples are working for me.

I would appreciate your support to get matrix-os running.

Thank you :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.