FUXA安装与运行入门指南中文文档

FUXA是用NodeJS(后端)和Angular(前端)开发的。

预装Electron应用(第一选择)

你需要登录 github 才能访问 Electron Action Build 的下载按钮, 点击工作流程,向下滚动到“工件”,点击你系统的下载图标

电子动作构建

无头便携式双进制(Electron的替代方案)

对于嵌入式设备、服务器或无图形界面的系统进行无头部署,FUXA提供自包含的可移植二进制文件,将整个应用程序(服务器、客户端)打包到单一可执行文件中。

这些二进制文件非常适合工业环境、物联网设备和自动化系统,这些系统不需要用户界面。

下载无头二进制

无头二进制文件作为GitHub Actions工件形式存在。你需要登录GitHub才能下载它们。

无头便携式组装

点击最新的工作流程运行,向下滚动到“Artifacts”,下载适合你平台的文件:

  • Linux:(或适用于ARM设备)fuxa-headless-linux-x64fuxa-headless-linux-arm64
  • Windowsfuxa-headless-win-x64.exe
  • macOS:(或适用于Apple Silicon)fuxa-headless-macos-x64fuxa-headless-macos-arm64

运行无头二进制

Linux

  1. 下载Linux二进制文件(例如,)。fuxa-headless-linux-x64
  2. 让它可执行:chmod +x fuxa-headless-linux-x64
  3. 跑步:./fuxa-headless-linux-x64
  4. 通过网页浏览器访问(或设备IP:1881)http://localhost:1881

窗户

  1. 下载Windows可执行文件(例如,)。fuxa-headless-win-x64.exe
  2. 双击该文件即可运行。.exe
  3. 通过网页浏览器访问http://localhost:1881

macOS

  1. 下载macOS二进制文件(例如,)。fuxa-headless-macos-x64
  2. 让它可执行:chmod +x fuxa-headless-macos-x64
  3. 跑步:./fuxa-headless-macos-x64
  4. 通过网页浏览器访问http://localhost:1881

无头功能

  • 自成体系:无需外部依赖或安装。
  • 数据持久性:用户数据存储在主机系统中。~/.fuxa-headless-data
  • 跨平台:运行于Windows、macOS和Linux(包括ARM架构)。
  • 工业协议:完全支持 Modbus、OPC-UA、MQTT、Siemens S7 等。
  • 网页界面:通过任何网页浏览器访问完整的FUXA编辑器和仪表盘。

故障排除

  • 确保1881端口可用且未被防火墙阻挡。
  • 对于嵌入式设备,检查系统资源(内存、CPU),因为FUXA使用Node.js运行时。
  • 日志可在用户数据目录()。~/.fuxa-headless-data/logs

安装后使用网页浏览器访问,非Electron安装

完成安装过程后,你可以通过默认端口1881访问Fuxa界面,访问Web服务器的IP地址,无论是localhost还是主机的IP,先试试localhost:1881或host machine IP:1881

Docker Compose(第二个选项)

安装Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
cd
mkdir docker
mkdir fuxa
cd docker/fuxa
sudo nano docker-compose.yml

将此输入到compose文件中:

version: '3.5'

services:
    fuxa:
        image: frangoteam/fuxa:latest
        network_mode: "host"
        volumes:
            - ./fuxa_appdata:/usr/src/app/FUXA/server/_appdata
            - ./fuxa_db:/usr/src/app/FUXA/server/_db
            - ./fuxa_logs:/usr/src/app/FUXA/server/_logs
        environment:
            - TZ=America/New_York
        restart: always

注意:此 Compose 文件使用主机网络模式,详情请参见 Docker 网络,host 允许 Docker 容器与主机处于同一网络。它最适合直接访问PLC/数据库等,但有一些限制,只支持基于Linux的系统,如果你需要在Windows上运行,就需要使用桥接网络模式。

network_mode: "bridge"

启动Docker Compose

sudo docker compose up -d

Docker(第三种选项)

docker pull frangoteam/fuxa:latest
docker run -d -p 1881:1881 frangoteam/fuxa:latest

应用数据(项目)、daq(标签历史)、日志和资源图像的持久存储

docker run -d -p 1881:1881 -v fuxa_appdata:/usr/src/app/FUXA/server/_appdata -v fuxa_db:/usr/src/app/FUXA/server/_db -v fuxa_logs:/usr/src/app/FUXA/server/_logs -v fuxa_shapes:/usr/src/app/FUXA/client/assets/lib/svgeditor/shapes -v fuxa_images:/usr/src/app/FUXA/server/_images frangoteam/fuxa:latest

从源码构建自定义 Docker 镜像(第四个选项)

它会从最新的主分支构建(你可以编辑 docker 文件来更改分支)

cd
mkdir docker
mkdir fuxa
cd docker/fuxa
mkdir fuxa-build
cd fuxa-build

wget https://raw.githubusercontent.com/frangoteam/FUXA/master/Dockerfile

sudo docker build -t fuxa-custom-image-name --no-cache .

构建完成后,你就可以使用自定义镜像,例如:

version: '3.5'

services:
    fuxa:
        image: fuxa-custom-image-name
        network_mode: "host"
        volumes:
            - ./fuxa_appdata:/usr/src/app/FUXA/server/_appdata
            - ./fuxa_db:/usr/src/app/FUXA/server/_db
            - ./fuxa_logs:/usr/src/app/FUXA/server/_logs
        environment:
            - TZ=America/New_York
        restart: always

使用Node和NPM安装

你需要安装Node 18版本。

警告在 Linux 上 nodejs 18 版本,安装可能会有挑战。如果你不打算通过S7(node-snap7库)与西门子PLC通信,可以从NPM @frangoteam/fuxa-min安装

NPM(第五种选择)

从 NPM 安装

npm install -g --unsafe-perm @frangoteam/fuxa
fuxa

最新版本(第五个选项)

下载最新版本并拆解

警告在 Linux 上 nodejs 18 版本,安装可能会有挑战。如果你不打算通过S7与西门子PLC通信,可以从服务器/package.json中移除node-snap7库

cd ./server
npm install
npm start

打开浏览器(更好的Chrome浏览器)并导航到 http://localhost:1881

作为人机界面(仅限Linux)搭建

这只是在Linux上测试过,但有些步骤可能在Windows上有效

我们将用 electron 代替网页浏览器,因为它不臃肿,且与触摸屏兼容性良好(可以禁用右键菜单等功能)。

该应用只访问已经运行的 Fuxa Web 服务器

sudo apt-get update

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

sudo apt-get install -y nodejs

通过检查Node.js和npm的版本来验证安装:

node -v

npm -v

sudo npm install -g electron --unsafe-perm=true --allow-root

cd /opt 
sudo mkdir electron
cd electron
sudo mkdir fuxa-electron
cd fuxa-electron

sudo npm init -y

sudo npm install electron --save-dev

sudo nano main.js

const { app, BrowserWindow } = require('electron');

function createWindow() {
  const win = new BrowserWindow({
    //width: 800,
    //height: 600,
    fullscreen: true, // Enable full-screen mode
    webPreferences: {
      nodeIntegration: false,
      contextIsolation: true,
    }
  });

  win.loadURL('http://localhost:1881'); // Replace with your web server URL
}

app.whenReady().then(createWindow);

sudo nano package.json

{
  "name": "fuxa-electron",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  },
  "description": "",
  "devDependencies": {
    "electron": "^31.3.1"
  }
}

在目录内启动应用进行测试

npm start

使用系统服务和脚本设置自动启动

sudo nano /opt/fuxa-electron-startup.sh

#!/bin/bash
cd /opt/electron/fuxa-electron
npm start

sudo chmod +x /opt/fuxa-electron-startup.sh

systemctl edit --user --force --full fuxa-electron-startup.service

[Unit]
Description=Start Fuxa Electron Script
After=default.target
[Service]
ExecStart=/opt/fuxa-electron-startup.sh
[Install]
WantedBy=default.target

systemctl enable --user fuxa-electron-startup.service

本网站所收集的公开资料部分来源于互联网,其版权归原作者本人所有,本站只是转载和摘录,目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其的真实性能做到合理的研判负责,也不构成任何其他建议,如果有任何侵犯您权益和知识产权的地方,请来邮或来电告知本站,经过核实,我们会及时的进行整理删除,谢谢!
评论 共0条
取消回复 发布评论