@node-i3x/demo-embedded 0.2.4 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSING.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Dual Licensing Guide
2
2
 
3
- > **i3x2ua-node** is dual-licensed under the **AGPL-3.0-or-later** and a
3
+ > **node-i3x** is dual-licensed under the **AGPL-3.0-or-later** and a
4
4
  > **Sterfive Commercial License**. This document explains what each
5
5
  > license allows and when you need which.
6
6
 
@@ -45,7 +45,7 @@ copyleft to **network use**. This is the key difference from the GPL:
45
45
 
46
46
  ### The Critical Implication
47
47
 
48
- > **If you use i3x2ua-node in a server that users interact with over
48
+ > **If you use node-i3x in a server that users interact with over
49
49
  > a network** (REST API, web app, cloud platform, IoT gateway),
50
50
  > you **must** make your **entire application's source code**
51
51
  > available to those users under the AGPL — even if you never
package/dist/index.js CHANGED
@@ -1,21 +1,21 @@
1
1
  #!/usr/bin/env node
2
- import{parseArgs as I}from"util";import{consoleLogger as A,HistoryService as U,ModelService as R,SubscriptionService as $,ValueService as x}from"@node-i3x/core";import{PseudoSessionDataSourceAdapter as E}from"@node-i3x/pseudo-session-connector";import{createApp as F}from"@node-i3x/rest-server";import{DataType as e,nodesets as B,OPCUAServer as j,Variant as n}from"node-opcua";var{values:f}=I({options:{"rest-port":{type:"string",default:"8080"},"opcua-port":{type:"string",default:"48410"},help:{type:"boolean",short:"h",default:!1}}});f.help&&(console.log(`
2
+ import{parseArgs as H}from"util";import{consoleLogger as z,HistoryService as X,ModelService as G,SubscriptionService as k,TypeService as q,ValueService as J}from"@node-i3x/core";import{PseudoSessionDataSourceAdapter as K}from"@node-i3x/pseudo-session-connector";import{createApp as Q}from"@node-i3x/rest-server";import{AccessLevelFlag as e,DataType as a,nodesets as Y,OPCUAServer as Z,StatusCodes as ee,Variant as n}from"node-opcua";var{values:V}=H({options:{"rest-port":{type:"string",default:"8080"},"opcua-port":{type:"string",default:"48410"},help:{type:"boolean",short:"h",default:!1}}});V.help&&(console.log(`
3
3
  Usage: i3x-demo [options]
4
4
 
5
5
  Options:
6
6
  --rest-port <port> REST API port (default: 8080)
7
7
  --opcua-port <port> OPC UA server port (default: 48410)
8
8
  -h, --help Show this help
9
- `),process.exit(0));var c=parseInt(f["rest-port"],10),T=parseInt(f["opcua-port"],10);function s(a,l,o){a.setValueFromSource(new n({dataType:l,value:o}))}async function X(){let a=new j({port:T,resourcePath:"/UA/EmbeddedDemo",nodeset_filename:[B.standard],serverInfo:{applicationName:{text:"i3X Embedded Demo"}}});await a.initialize();let l=a.engine.addressSpace,o=l.getOwnNamespace(),t=o.addObject({organizedBy:l.rootFolder.objects,browseName:"SmartFactory",displayName:"Smart Factory"}),r=o.addObject({componentOf:t,browseName:"Pump",displayName:"Main Coolant Pump"}),S=o.addVariable({componentOf:r,browseName:"Temperature",displayName:"Temperature (\xB0C)",dataType:e.Double,value:new n({dataType:e.Double,value:35})}),g=o.addVariable({componentOf:r,browseName:"Pressure",displayName:"Pressure (bar)",dataType:e.Double,value:new n({dataType:e.Double,value:4.2})}),d=o.addVariable({componentOf:r,browseName:"FlowRate",displayName:"Flow Rate (L/min)",dataType:e.Double,value:new n({dataType:e.Double,value:120.5})}),i=o.addVariable({componentOf:r,browseName:"Running",displayName:"Running",dataType:e.Boolean,value:new n({dataType:e.Boolean,value:!0})}),p=o.addObject({componentOf:t,browseName:"Heater",displayName:"Process Heater"}),m=o.addVariable({componentOf:p,browseName:"HeaterOn",displayName:"Heater On/Off",dataType:e.Boolean,value:new n({dataType:e.Boolean,value:!0})}),P=o.addVariable({componentOf:p,browseName:"Temperature",displayName:"Temperature (\xB0C)",dataType:e.Double,value:new n({dataType:e.Double,value:180})}),z=o.addVariable({componentOf:p,browseName:"Setpoint",displayName:"Setpoint (\xB0C)",dataType:e.Double,value:new n({dataType:e.Double,value:200})}),V=o.addVariable({componentOf:p,browseName:"Power",displayName:"Power (%)",dataType:e.Double,value:new n({dataType:e.Double,value:85})}),O=o.addObject({componentOf:t,browseName:"Conveyor",displayName:"Assembly Conveyor"}),M=o.addVariable({componentOf:O,browseName:"Speed",displayName:"Speed (m/s)",dataType:e.Double,value:new n({dataType:e.Double,value:2.3})}),C=o.addVariable({componentOf:O,browseName:"ItemCount",displayName:"Items Processed",dataType:e.UInt32,value:new n({dataType:e.UInt32,value:8452})}),N=35,u=4.2,b=120.5,y=!0,w=180,h=85,v=2.3,D=8452;return setInterval(()=>{N+=(Math.random()-.48)*.5,u+=(Math.random()-.5)*.1,u=Math.max(3,Math.min(6,u)),b+=(Math.random()-.5)*2,b=Math.max(100,Math.min(140,b)),s(S,e.Double,N),s(g,e.Double,u),s(d,e.Double,b)},800),setInterval(()=>{y?(w+=(200-w)*.05+(Math.random()-.5)*.3,h=Math.max(0,Math.min(100,h+(Math.random()-.5)*5))):(w-=1.5+Math.random()*.5,h=0),s(P,e.Double,w),s(V,e.Double,h)},1e3),setInterval(()=>{y=!y,s(m,e.Boolean,y)},15e3),setInterval(()=>{D+=Math.floor(Math.random()*3),v+=(Math.random()-.5)*.1,v=Math.max(1.5,Math.min(3.5,v)),s(M,e.Double,v),s(C,e.UInt32,D)},1200),await a.start(),{server:a,addressSpace:l}}async function _(){let a=A;console.log(`
9
+ `),process.exit(0));var d=parseInt(V["rest-port"],10),N=parseInt(V["opcua-port"],10);function c(r,l,t){r.setValueFromSource(new n({dataType:l,value:t}))}async function ae(){let r=new Z({port:N,resourcePath:"/UA/EmbeddedDemo",nodeset_filename:[Y.standard],serverInfo:{applicationName:{text:"i3X Embedded Demo"}}});await r.initialize();let l=r.engine.addressSpace,t=l.getOwnNamespace(),o=t.addObject({organizedBy:l.rootFolder.objects,browseName:"SmartFactory",displayName:"Smart Factory"}),s=t.addObject({componentOf:o,browseName:"Pump",displayName:"Main Coolant Pump"}),m=t.addVariable({componentOf:s,browseName:"Temperature",displayName:"Temperature (\xB0C)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:35})}),v=t.addVariable({componentOf:s,browseName:"Pressure",displayName:"Pressure (bar)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:4.2})}),p=t.addVariable({componentOf:s,browseName:"FlowRate",displayName:"Flow Rate (L/min)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:120.5})}),f=t.addVariable({componentOf:s,browseName:"Running",displayName:"Running",dataType:a.Boolean,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Boolean,value:!0})}),i=t.addObject({componentOf:o,browseName:"Heater",displayName:"Process Heater"}),y=t.addVariable({componentOf:i,browseName:"HeaterOn",displayName:"Heater On/Off",dataType:a.Boolean,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Boolean,value:!0})}),u=t.addVariable({componentOf:i,browseName:"Temperature",displayName:"Temperature (\xB0C)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:180})}),re=t.addVariable({componentOf:i,browseName:"Setpoint",displayName:"Setpoint (\xB0C)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:200})}),D=t.addVariable({componentOf:i,browseName:"Power",displayName:"Power (%)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:85})}),P=t.addObject({componentOf:o,browseName:"Conveyor",displayName:"Assembly Conveyor"}),R=t.addVariable({componentOf:P,browseName:"Speed",displayName:"Speed (m/s)",dataType:a.Double,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.Double,value:2.3})}),I=t.addVariable({componentOf:P,browseName:"ItemCount",displayName:"Items Processed",dataType:a.UInt32,minimumSamplingInterval:250,accessLevel:e.CurrentRead|e.CurrentWrite,userAccessLevel:e.CurrentRead|e.CurrentWrite,value:new n({dataType:a.UInt32,value:8452})}),U=[m,v,p,u,D,R,I];for(let b of U)b.accessLevel=e.CurrentRead|e.CurrentWrite|e.HistoryRead,b.userAccessLevel=e.CurrentRead|e.CurrentWrite|e.HistoryRead,l.installHistoricalDataNode(b,{maxOnlineValues:1e3});let j=[{variable:m,dataType:a.Double,base:35,jitter:1},{variable:v,dataType:a.Double,base:4.2,jitter:.5},{variable:p,dataType:a.Double,base:120.5,jitter:5},{variable:u,dataType:a.Double,base:180,jitter:3},{variable:D,dataType:a.Double,base:85,jitter:10},{variable:R,dataType:a.Double,base:2.3,jitter:.3},{variable:I,dataType:a.UInt32,base:8e3,jitter:50,isInt:!0}],L=Date.now(),E=3e4,_=36e5;for(let{variable:b,dataType:$,base:F,jitter:x,isInt:B}of j)for(let O=L-_;O<L;O+=E){let A=F+(Math.random()-.5)*x*2;B&&(A=Math.round(A)),b.setValueFromSource(new n({dataType:$,value:A}),ee.Good,new Date(O))}let M=35,C=4.2,w=120.5,h=!0,S=180,T=85,g=2.3,W=8452;return setInterval(()=>{M+=(Math.random()-.48)*.5,C+=(Math.random()-.5)*.1,C=Math.max(3,Math.min(6,C)),w+=(Math.random()-.5)*2,w=Math.max(100,Math.min(140,w)),c(m,a.Double,M),c(v,a.Double,C),c(p,a.Double,w)},800),setInterval(()=>{h?(S+=(200-S)*.05+(Math.random()-.5)*.3,T=Math.max(0,Math.min(100,T+(Math.random()-.5)*5))):(S-=1.5+Math.random()*.5,T=0),c(u,a.Double,S),c(D,a.Double,T)},1e3),setInterval(()=>{h=!h,c(y,a.Boolean,h)},15e3),setInterval(()=>{W+=Math.floor(Math.random()*3),g+=(Math.random()-.5)*.1,g=Math.max(1.5,Math.min(3.5,g)),c(R,a.Double,g),c(I,a.UInt32,W)},1200),await r.start(),{server:r,addressSpace:l}}async function te(){let r=z;console.log(`
10
10
  ${"\u2550".repeat(60)}`),console.log(" \u{1F3ED} i3X Embedded Demo \u2014 PseudoSession Connector"),console.log("\u2550".repeat(60)),console.log(`
11
- \u25B6 Starting OPC UA server...`);let{server:l,addressSpace:o}=await X();console.log(` \u2713 OPC UA binary endpoint at opc.tcp://localhost:${T}/UA/EmbeddedDemo`),console.log(`
12
- \u25B6 Connecting i3X via PseudoSession...`);let t=new E(o,a);await t.connect(),console.log(" \u2713 Connected \u2014 zero-network, in-process");let r=new R(t,a),S=new x(t,r,a),g=new U(t,r,a),d=new $(t,r,a,1);console.log(`
13
- \u25B6 Building i3X model from AddressSpace...`);let i=await r.preloadModel();console.log(` \u2713 ${i.nodesById.size} nodes, ${i.rootIds.length} roots, ${i.propertyToSource.size} properties`);let p=await F({dataSource:t,modelService:r,valueService:S,historyService:g,subscriptionService:d,logger:a});await p.listen({port:c,host:"127.0.0.1"}),console.log(`
14
- ${"\u2550".repeat(60)}`),console.log(` \u{1F680} i3X REST API ready at http://127.0.0.1:${c}`),console.log("\u2550".repeat(60)),console.log(`
15
- Try these:`),console.log(` curl http://localhost:${c}/health`),console.log(` curl http://localhost:${c}/v1/info`),console.log(` curl http://localhost:${c}/v1/namespaces`),console.log(` curl -X POST http://localhost:${c}/v1/objects/list`),console.log(`
16
- OPC UA clients can also connect to opc.tcp://localhost:${T}/UA/EmbeddedDemo`),console.log(`
11
+ \u25B6 Starting OPC UA server...`);let{server:l,addressSpace:t}=await ae();console.log(` \u2713 OPC UA binary endpoint at opc.tcp://localhost:${N}/UA/EmbeddedDemo`),console.log(`
12
+ \u25B6 Connecting i3X via PseudoSession...`);let o=new K(t,r);await o.connect(),console.log(" \u2713 Connected \u2014 zero-network, in-process");let s=new G(o,r),m=new J(o,s,r),v=new X(o,s,r),p=new k(o,s,r,1),f=new q(o,r);console.log(`
13
+ \u25B6 Building i3X model from AddressSpace...`);let i=await s.preloadModel();console.log(` \u2713 ${i.nodesById.size} nodes, ${i.rootIds.length} roots, ${i.propertyToSource.size} properties`),await f.preloadTypes();let y=await Q({dataSource:o,modelService:s,typeService:f,valueService:m,historyService:v,subscriptionService:p,logger:r});await y.listen({port:d,host:"127.0.0.1"}),console.log(`
14
+ ${"\u2550".repeat(60)}`),console.log(` \u{1F680} i3X REST API ready at http://127.0.0.1:${d}`),console.log("\u2550".repeat(60)),console.log(`
15
+ Try these:`),console.log(` curl http://localhost:${d}/health`),console.log(` curl http://localhost:${d}/v1/info`),console.log(` curl http://localhost:${d}/v1/namespaces`),console.log(` curl -X POST http://localhost:${d}/v1/objects/list`),console.log(`
16
+ OPC UA clients can also connect to opc.tcp://localhost:${N}/UA/EmbeddedDemo`),console.log(`
17
17
  Press Ctrl+C to stop.
18
- `);let m=async()=>{console.log(`
18
+ `);let u=async()=>{console.log(`
19
19
 
20
- Shutting down...`),await p.close(),await d.close(),await t.disconnect(),await l.shutdown(500),process.exit(0)};process.on("SIGINT",m),process.on("SIGTERM",m)}_().catch(a=>{console.error("Fatal:",a),process.exit(1)});
20
+ Shutting down...`),await y.close(),await p.close(),await o.disconnect(),await l.shutdown(500),process.exit(0)};process.on("SIGINT",u),process.on("SIGTERM",u)}te().catch(r=>{console.error("Fatal:",r),process.exit(1)});
21
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"mappings":"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","names":["parseArgs","consoleLogger","HistoryService","ModelService","SubscriptionService","ValueService","PseudoSessionDataSourceAdapter","createApp","DataType","nodesets","OPCUAServer","Variant","args","REST_PORT","OPCUA_PORT","setVar","v","dataType","val","createSampleServer","server","addressSpace","ns","factory","pump","pumpTempVar","pumpPressVar","pumpFlowVar","_pumpRunVar","heater","heaterOnVar","heaterTempVar","_heaterSetpointVar","heaterPowerVar","conveyor","convSpeedVar","itemCountVar","pumpTemp","pumpPressure","pumpFlowRate","heaterOn","heaterTemp","heaterPower","convSpeed","itemCount","main","logger","dataSource","modelService","valueService","historyService","subscriptionService","model","app","shutdown","err"]}
1
+ {"version":3,"sources":["../src/index.ts"],"mappings":"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","names":["parseArgs","consoleLogger","HistoryService","ModelService","SubscriptionService","TypeService","ValueService","PseudoSessionDataSourceAdapter","createApp","AccessLevelFlag","DataType","nodesets","OPCUAServer","StatusCodes","Variant","args","REST_PORT","OPCUA_PORT","setVar","v","dataType","val","createSampleServer","server","addressSpace","ns","factory","pump","pumpTempVar","pumpPressVar","pumpFlowVar","_pumpRunVar","heater","heaterOnVar","heaterTempVar","_heaterSetpointVar","heaterPowerVar","conveyor","convSpeedVar","itemCountVar","historizedVars","seedConfig","now","SEED_INTERVAL_MS","SEED_DURATION_MS","variable","base","jitter","isInt","t","pumpTemp","pumpPressure","pumpFlowRate","heaterOn","heaterTemp","heaterPower","convSpeed","itemCount","main","logger","dataSource","modelService","valueService","historyService","subscriptionService","typeService","model","app","shutdown","err"]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@node-i3x/demo-embedded",
3
- "version": "0.2.4",
3
+ "version": "0.3.2",
4
4
  "license": "AGPL-3.0-or-later OR LicenseRef-Sterfive-Commercial",
5
5
  "author": "Sterfive SAS <contact@sterfive.com> (https://sterfive.com)",
6
6
  "homepage": "https://sterfive.com",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://github.com/node-opcua/i3x2ua-node.git",
9
+ "url": "git+https://github.com/node-opcua/node-i3x.git",
10
10
  "directory": "packages/demo-embedded"
11
11
  },
12
12
  "description": "End-to-end demo: OPC UA server + i3X REST API wired via PseudoSession",
@@ -40,10 +40,10 @@
40
40
  "client": "npx tsx src/client.ts"
41
41
  },
42
42
  "dependencies": {
43
- "@node-i3x/core": "0.2.4",
44
- "@node-i3x/opcua-connector": "0.2.4",
45
- "@node-i3x/pseudo-session-connector": "0.2.4",
46
- "@node-i3x/rest-server": "0.2.4",
43
+ "@node-i3x/core": "0.3.2",
44
+ "@node-i3x/opcua-connector": "0.3.2",
45
+ "@node-i3x/pseudo-session-connector": "0.3.2",
46
+ "@node-i3x/rest-server": "0.3.2",
47
47
  "fastify": "^5.8.5",
48
48
  "@fastify/cors": "^11.2.0",
49
49
  "fastify-plugin": "^6.0.0",