mtconnect / mtconnect-agent Goto Github PK
View Code? Open in Web Editor NEWRewrite of the MTConnect agent. This project has been deprecated. New work has continued on the C++ Agent.
Rewrite of the MTConnect agent. This project has been deprecated. New work has continued on the C++ Agent.
Hi,
I would like to work on the JS Agent and improve as required (with Pull request!).
Would it be possible to define how many features are implemented and how many are remaining in agent?
Thanks
Verify license is appropriate. C++ Agent is licensed under Apache; is there a standard license for Node.js whether it is Apache or something else? I don’t think MTConnect Implementer license was intended for this use.
The agent needs to recover the previous set of devices when it restarts.
The readme and the package data appear to be out of date. Please review.
We need to have a utility to convert between the current configuration files to the new configuration.
npm ERR! Failed at the [email protected] install script.
Anyone else seen this when installing on a Window's machine? I need a solution? Thanks.
Log..
..\fs-ext.cc(195): error C3861: 'fcntl': identifier not found [C:\Users\MURPHYJ\Documents\GitHub\mtconnect-agent\node_modules\fs-ext\build\fs-ext.vcxproj]
..\fs-ext.cc(374): error C3861: 'fcntl': identifier not found [C:\Users\MURPHYJ\Documents\GitHub\mtconnect-agent\node_modules\fs-ext\build\fs-ext.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Users\MURPHYJ\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\MURPHYJ\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "configure" "build"
gyp ERR! cwd C:\Users\MURPHYJ\Documents\GitHub\mtconnect-agent\node_modules\fs-ext
gyp ERR! node -v v6.10.2
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: node-gyp configure build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\MURPHYJ\AppData\Roaming\npm-cache_logs\2018-02-08T14_09_08_813Z-debug.log
waterline is more extendable and supports various db adapters
Change the prefix for the environment to MTC instead of VI. VI was internal.
The current content type for the response is incorrect:
[will@Flori ~]$ curl -i http://localhost:7000/probe
HTTP/1.1 200 OK
Content-Type: text/plain
Trailer: Content-MD5
Content-MD5: d41d8cd98f00b204e9800998ecf8427e
Date: Sun, 29 Oct 2017 00:18:24 GMT
Connection: keep-alive
Transfer-Encoding: chunked
The connectToDevice
function contains the following:
const response = request(`http://${ip}:${port}`)
response.pipe(processSHDR(uuid))
This is connecting to the adapter using an HTTP client. While this could work, it appears it doesn't since most adapters don't send any HTTP headers.
The agent generates the following error:
{ Error: Parse Error
at Error (native)
at Socket.socketOnData (_http_client.js:363:20)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:547:20) bytesParsed: 0, code: 'HPE_INVALID_CONSTANT' }
HPE_INVALID_CONSTANT meaning HTTP Parse Error
Hi,
I would like to request to support passing "|" as a character to agent from adapter.
The current format in C++ Agent will detect it as a separator and it will not send it as part of the string to agent.
Thanks
In order to mimic realistic data during simulation we need to have infinite stream implemented in simulator
For example:
From Devices.xml
<DataItem category="SAMPLE" id="z_pulse_code_temperature" name="z_pulse_code_temperature" type="x:Z_PULSE_CODE_TEMPERATURE" />
View in agent /probe
<dataItem category="SAMPLE" id="MJo2ow0SP5" name="z_pulse_code_temperature" type="x:Z_PULSE_CODE_TEMPERATURE"/>
View in agent /current or /sample
<ZPulse dataItemId="MJo2ow0SP5" timestamp="2017-11-08T14:30:42.755Z" sequence="801" name="z_pulse_code_temperature">32</ZPulse>
x:Z_PULSE_CODE_TEMPERATURE
became ZPulse
instead of expected ZPulseCodeTemperature
The problem is in pascalCase function which is hard coded to handle a single underscore.
I'll submit a PR to fix.
Implement support for MQTT
There are some new asset types that will need to be supported. They will also need to follow the new asset device association, where the asset ID for instances will be specific to a device and the assets will support the new target specification.
In the new asset API (yet to be defined) we will need to allow for filtering by the following:
These additional parameters will need to be provided to the asset request. This needs to be prototyped. The priority is to store instances by device and allow for requesting the assets by type and device (source).
We need to make the buffer size at least 32k by default to allow for adequate space in the circular buffer. We need to test the amount of memory this takes for initial configuration.
The current default size of 10 is far too small.
A response to M-SEARCH will always have a USN component. The USN component will always start with the text uuid:
(per UPnP Device Architecture 1.0 Document Revision Date 15 October 2008). The parseHeaders
function improperly does not account for the leading uuid:
A response to M-SEARCH also has a LOCATION component which contains a URL to the UPnP description of the root device.
The parseHeaders
function does not allow the URL to contain the protocol, as it should. It is only looking for ip:port
and will not function correctly if given http://ip:port
Commit 45bc869 updated the simulator files, but neglected to include the new input files.
Missing are:
./adapters/simulator2/public/Mazak03.log
./adapters/simulator/public/Mazak01.log
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.