Skip to content

5sControl/inference-server-js

Repository files navigation

Inference server JS for Machine control JS algorithm

About Machine control JS

Machine control is one of the Official 5sControl algorithm. Plug it in our video monitoring system with AI analysis and ERP Integration (Open Source) to increase the efficiency of your processes.

Designed to handle complex industrial processes with ease, this innovative tool is perfect for use with semi-automated equipment. With Machine Control you can optimize your industrial processes and keep your equipment running smoothly, saving you time and money.

Machine-control

Key features

  • monitors use of equipment;
  • prevents downtime of valuable and expensive equipment.

Plug-in Machine control to 5sControl platform to detect when your workers are absent!

Learn more about Machine control JS on the 5sControl website.

Inference Server API for algorithm developer

After starting the container, connect to the socket server via {process.env.server_url}:9999, after which a subscription is issued for an incoming event (”snapshot detected").

The server receives the “send report” event from the client in the form of an array of snapshots (Snapshots[]).

Example of implementing a socket client in JS:

const io = require('socket.io-client')

/* >-----------------------------------------------------------------------------------------------> **/
// subscription

    const socket = io(`${process.env.server_url}:9999`, {
        query: {
            camera_ip: process.env.camera_ip
        }
    })
    socket.on("connect", () => console.log(`Your algorithm is subscribed to the inference server`))
    socket.on("disconnect", () => console.log(`Your algorithm is unsubscribed to the inference server`))

/* <----------------------------------------------------------------------------------------------< **/
// get detected snapshot

    socket.on("snapshot detected", (snapshot) => console.log("get detected snapshot"))

/* >----------------------------------------------------------------------------------------------> **/
// send ready report

    const violation_proof = [snapshot, snapshot, snapshot, snapshot]
    socket.emit("send report", violation_proof, (response) => console.log(response.status))

/* ------------------------------------------------------------------------------------------------- **/

Documentation

Documentation for Developers

User Documentation

Contributing

Thank you for considering contributing to 5sControl. We truly believe that we can build an outstanding product together!

We welcome a variety of ways to contribute. Read below to learn how you can take part in improving 5sControl.

Code of conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Code contributing

If you want to contribute, read our contributing guide to learn about our development process and pull requests workflow.

We also have a list of good first issues that will help you make your first step to beсoming a 5S contributor.

Project repositories

5controlS Platform:

  1. 5s-webserver
  2. 5s-backend
  3. 5s-frontend
  4. 5s-algorithms-controller
  5. 5s-onvif
  6. 5s-onvif-finder

Official Algorithms:

  1. min-max
  2. idle-control
  3. operation-control-js
  4. machine-control
  5. machine-control-js

Algorithms Servers:

  1. inference-server-js - the server for Machine control JS algorithm

License

AGPL-3.0

Machine control JS uses third party libraries that are distributed under their own terms (see LICENSE-3RD-PARTY.md).