当前位置: 首页 > news >正文

麦芯 (MachCore) 应用开发教程 6:一台设备中多台电脑主从机的设置

麦芯是构建在windows系统上的设备应用操作系统,利用该系统可以快速高效的开发一款设备专用软件。希望进一步了解请email: acloud@163.com

黄国强 2025/02/03

在麦芯(MachCore)应用开发过程中,多机协同工作的场景十分常见,一台设备连接多台电脑并设置主从机模式,能有效实现资源整合与高效协作。以下是详细的设置步骤及相关要点:

一、确保网段一致

  • 原理:同一网段是网络通信的基础,就如同住在同一个小区里,大家才能方便地相互串门。在网络中,处于同一网段的主从机,它们的网络地址的网络位相同,这样数据在传输时就能准确找到彼此,实现顺畅的数据传输和指令交互。
  • 操作:查看主从机的网络配置,确保子网掩码相同,且 IP 地址的前几位(网络位)一致。例如,常见的 192.168.1.x 网段,只要主机是 192.168.1.1 ,从机是 192.168.1.2 - 192.168.1.254 之间的任意合法地址,且子网掩码都为 255.255.255.0 ,就处于同一网段。
  • 常见问题及解决:若发现主从机不在同一网段,可能是网络管理员分配错误,或者设备的网络配置被误修改。这时需要重新检查网络配置,向管理员确认正确的网络参数后,手动修改 IP 地址和子网掩码。

二、设置从机固定 IP

  • 稳定性意义:网络连接就像寄信,固定 IP 就如同固定的收件地址。如果从机的 IP 地址随意变动,主机就像寄信时找不到收件地址一样,无法与从机建立稳定有效的连接。这会导致在麦芯应用运行时,从机无法及时接收主机的指令,或者主机无法获取从机的数据,严重影响整个系统的运行。
  • 操作步骤:以 Windows 系统为例,打开 “控制面板”,找到 “网络和 Internet”,进入 “网络连接”,右键点击正在使用的网络连接(如以太网或 Wi - Fi),选择 “属性”。在弹出的窗口中,找到 “Internet 协议版本 4(TCP/IPv4)”,点击 “属性”,选择 “使用下面的 IP 地址”,然后填写固定的 IP 地址、子网掩码、默认网关和 DNS 服务器地址。
  • 注意事项:设置固定 IP 时,要确保所选的 IP 地址在当前网段内未被其他设备占用,否则会产生 IP 冲突,导致网络连接异常。

如图是本机IP地址。

三、检查网络连通性

  • ping 命令使用:ping 命令是网络诊断的常用工具,通过向目标主机发送 ICMP(Internet 控制消息协议)回显请求数据包,来测试两台电脑之间的连通性。在 Windows 系统中,按下 Win + R 键,输入 “cmd” 打开命令提示符,在命令提示符中输入 “ping + 目标 IP 地址”,例如 “ping 192.168.1.10”(假设从机 IP 是 192.168.1.10 )。
  • 连通性影响:如果无法 ping 通,不仅文件和打印机共享功能无法正常使用,麦芯应用中主从机之间的数据共享和协同工作也会受到严重阻碍。比如从机采集的数据无法及时传输到主机进行分析处理,主机的控制指令也无法传达给从机。
  • 故障排查思路:若 ping 不通,首先检查网络线缆是否连接正常,路由器或交换机是否工作正常。然后查看防火墙设置,是否限制了 ICMP 协议的数据包通过。如果是无线连接,还要检查无线信号强度和密码是否正确。

四、统一 redis 版本

  • 版本一致的重要性:redis 是麦芯应用中常用的数据库,不同版本的 redis 可能在数据结构、命令语法、性能优化等方面存在差异。例如,新版本可能增加了某些新的命令,而旧版本不支持,这就会导致主从机之间的数据同步和交互出现故障,无法实现预期的功能。
  • 检查和安装:在主从机上分别打开命令行工具,输入 “redis - cli --version” 查看当前安装的 redis 版本。如果版本不一致,需要卸载低版本或不匹配的版本,然后从 redis 官方网站下载 5.0.14.1 版本的安装包进行安装。安装过程中,按照安装向导的提示进行操作,注意选择正确的安装路径和配置选项。
  • 兼容性问题预防:在安装新版本 redis 之前,备份好原有的数据,以防安装过程中出现问题导致数据丢失。同时,查阅 redis 官方文档,了解该版本的特性和已知问题,提前做好应对措施。

五、修改从机 redis 配置

  • 修改 bind 配置

目的:默认情况下,redis 的 bind 配置可能限制了连接的 IP 地址范围。将bind配置修改为bind 0.0.0.0,可以让从机的 redis 服务接受来自任何 IP 地址的连接请求,这样主机就能顺利连接到从机的 redis 服务。

操作:使用文本编辑器(如 Notepad++、Sublime Text 等)打开从机的 redis.windows.conf(或 redis.windows - service.conf)文件,找到bind配置项,将其值修改为bind 0.0.0.0 。修改完成后,保存文件。

  • protected - mode 配置调整

是否修改判断:protected - mode是 redis 的一种安全保护模式。当设置为yes时,redis 只允许本地连接,在一定程度上提高了安全性。但在主从机设置中,可能会影响主机与从机的 redis 连接。如果当前配置下主从机能够正常连通,说明不需要修改;若存在连接问题,可尝试修改为no。

风险提示:将protected - mode设置为no会使 redis 暴露在网络中,增加了被攻击的风险。所以在修改之前,要确保网络环境安全,或者采取其他安全措施,如设置 redis 密码等。

六、配置从机防火墙规则

  • 端口放行原因:redis 默认使用 6379 端口进行通信,防火墙就像网络的门卫,若未放行 6379 端口规则,主机发送到从机 6379 端口的请求就会被防火墙拦截,导致主机无法与从机的 redis 服务建立连接。
  • 操作示例(Windows 防火墙):打开 “控制面板”,找到 “系统和安全”,进入 “Windows 防火墙”,点击 “高级设置”。在左侧选择 “入站规则”,然后在右侧点击 “新建规则”。在弹出的向导中,选择 “端口”,点击 “下一步”,选择 “TCP”,特定本地端口输入 “6379”,再按照向导提示,选择 “允许连接”,并设置应用此规则的程序和作用域等选项,最后完成规则创建。
  • 注意事项:不同的防火墙软件设置方法可能不同,但基本原理都是放行 6379 端口。在设置防火墙规则时,要仔细确认规则的生效范围和条件,避免误操作导致其他网络服务受到影响。

七、配置主机信息

  • Station.json 文件作用:主机的 Station.json 文件用于存储设备的相关配置信息,包括各个检测站的设置。当检测站位于从机上时,就需要在该文件中写入从机(slave)信息,以便主机能够正确识别和连接从机上的检测站。
  • 具体配置示例
{"CN" : "检测站","EN" : "Inspection","fields" : [{"CN" : "-2 已处理 -1 处理错误 0 空 1 有 2 未知","name" : "item","value" : 0},{}],"emulate_time_ms" : 0,"def_proc_id" : 2,"name" : "st_inspection","slave" : {"ip" : "192.168.1.14","port" : 6379,"station" : "st_inspection"}
}

其中,“slave” 字段下的 “ip” 填写从机的 IP 地址,“port” 填写从机 redis 服务的端口号(默认为 6379),“station” 填写检测站的名称。

  • 注意事项:在修改 Station.json 文件时,要注意语法格式的正确性,避免因格式错误导致配置文件无法正常读取。修改完成后,保存文件并重启相关服务,使配置生效。

八、配置从机信息

  • machine.json 文件作用:从机的 machine.json 文件用于存储从机自身的一些配置信息,添加 “slave” 字段并设置为 “true”,表示该设备作为从机运行,告知系统按照从机的模式进行工作。
  • 示例配置
{"Language" : "CN","slave": true,"array" : []
}
  • 配置后操作:修改完成后,同样要保存 machine.json 文件,并根据实际情况,重启从机上的相关服务或应用,确保新的配置生效。

        通过以上步骤,能够完成一台设备中多台电脑主从机的设置,确保麦芯(MachCore)应用在多机环境下稳定运行。在实际操作过程中,若遇到任何问题,可根据具体错误提示进行排查和解决。同时,要注意备份重要数据,避免因操作失误导致数据丢失。如果对某些步骤不确定或遇到复杂问题,建议查阅麦芯官方文档或咨询专业技术人员。

相关文章:

麦芯 (MachCore) 应用开发教程 6:一台设备中多台电脑主从机的设置

麦芯是构建在windows系统上的设备应用操作系统,利用该系统可以快速高效的开发一款设备专用软件。希望进一步了解请email: acloud163.com 黄国强 2025/02/03 在麦芯(MachCore)应用开发过程中,多机协同工作的场景十分常见&#xf…...

RAG 与历史信息相结合

初始化模型 # Step 4. 初始化模型, 该行初始化与 智谱 的 GLM - 4 模型进行连接,将其设置为处理和生成响应。 chat ChatZhipuAI(model"glm-4",temperature0.8, ) 此提示告诉模型接收聊天历史记录和用户的最新问题,然后重新表述问题&#x…...

99,[7] buuctf web [羊城杯2020]easyphp

进入靶场 <?php// 使用 scandir 函数扫描当前目录&#xff08;即脚本所在目录&#xff09;下的所有文件和文件夹// 该函数会返回一个包含目录下所有文件和文件夹名称的数组$files scandir(./); // 遍历扫描得到的文件和文件夹名称数组foreach($files as $file) {// 使用 …...

BUUCTF_[安洵杯 2019]easy_web(preg_match绕过/MD5强碰撞绕过/代码审计)

打开靶场&#xff0c;出现下面的静态html页面&#xff0c;也没有找到什么有价值的信息。 查看页面源代码 在url里发现了img传参还有cmd 求img参数 这里先从img传参入手&#xff0c;这里我发现img传参好像是base64的样子 进行解码&#xff0c;解码之后还像是base64的样子再次进…...

Vue05

目录 一、学习目标 1.自定义指令 2.插槽 3.综合案例&#xff1a;商品列表 4.路由入门 二、自定义指令 1.指令介绍 2.自定义指令 3.自定义指令的语法 三、自定义指令-指令的值 1.需求 2.语法 3.代码示例 五、插槽-默认插槽 1.作用 2.需求 4.使用插槽的基本语法…...

ubuntu18.04环境下,Zotero 中pdf translate划线后不翻译问题解决

问题&#xff1a; 如果使用fastgithub&#xff0c;在/etc/profile中设置全局代理&#xff0c;系统重启后会产生划线后不翻译的问题&#xff0c;包括所有翻译代理均不行。终端中取消fastgithub代理&#xff0c;也不行。 解决&#xff1a; 1&#xff09;不在/etc/profile中设置…...

基于Python的简单企业维修管理系统的设计与实现

以下是一个基于Python的简单企业维修管理系统的设计与实现&#xff0c;这里我们会使用Flask作为Web框架&#xff0c;SQLite作为数据库来存储相关信息。 1. 需求分析 企业维修管理系统主要功能包括&#xff1a; 维修工单的创建、查询、更新和删除。设备信息的管理。维修人员…...

【C++】B2120 单词的长度

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述&#x1f4af;我的做法代码实现&#xff1a;思路解析&#xff1a; &#x1f4af;老师的第一种做法代码实现&#xff1a;思路解析&#xff1a; &#x1f4af;老师的…...

2501,编写dll

DLL的优点 简单的说,dll有以下几个优点: 1)节省内存.同一个软件模块,若是源码重用,则会在不同可执行程序中编译,同时运行这些exe时,会在内存中重复加载这些模块的二进制码. 如果使用dll,则只在内存中加载一次,所有使用该dll的进程会共享此块内存(当然,每个进程会复制一份的d…...

【router路由的配置】

router路由的配置 App.vuerouter在main.ts引入插件 App.vue <template><RouterView /> </template><script setup lang"ts"></script><style scoped lang"scss"></style>router import { createRouter, creat…...

算法基础——一致性

引入 最早研究一致性的场景既不是大数据领域&#xff0c;也不是分布式系统&#xff0c;而是多路处理器。 可以将多路处理器理解为单机计算机系统内部的分布式场景&#xff0c;它有多个执行单元&#xff0c;每一个执行单元都有自己的存储(缓存)&#xff0c;一个执行单元修改了…...

刷题记录 动态规划-6: 62. 不同路径

题目&#xff1a;62. 不同路径 难度&#xff1a;中等 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#x…...

docker直接运行arm下的docker

运行环境是树莓派A 处理器是 arm32v6 安装了docker&#xff0c;运行lamp 编译安装php的时候发现要按天来算&#xff0c;于是用电脑vm下的Ubuntu系统运行arm的docker 然后打包到a直接导入运行就可以了 第一种方法 sudo apt install qemu-user-static 导入直接运行就可以了…...

014-STM32单片机实现矩阵薄膜键盘设计

1.功能说明 本设计主要是利用STM32驱动矩阵薄膜键盘&#xff0c;当按下按键后OLED显示屏上会对应显示当前的按键键值&#xff0c;可以将此设计扩展做成电子秤、超市收银机、计算器等需要多个按键操作的单片机应用。 2.硬件接线 模块管脚STM32单片机管脚矩阵键盘行1PA0矩阵键盘…...

Sentinel 断路器在Spring Cloud使用

文章目录 Sentinel 介绍同类对比微服务雪崩问题问题原因问题解决方案请求限流线程隔离失败处理服务熔断解决雪崩问题的常见方案有哪些&#xff1f; Sentineldocker 安装账号/ 密码项目导入簇点链路请求限流线程隔离Fallback服务掉线时的处理流程 服务熔断 Sentinel 介绍 随着微…...

[内网安全] 内网渗透 - 学习手册

这是一篇专栏的目录文档&#xff0c;方便读者系统性的学习&#xff0c;笔者后续会持续更新文档内容。 如果没有特殊情况的话&#xff0c;大概是一天两篇的速度。&#xff08;实验多或者节假日&#xff0c;可能会放缓&#xff09; 笔者也是一边学习一边记录笔记&#xff0c;如果…...

算法总结-二分查找

文章目录 1.搜索插入位置1.答案2.思路 2.搜索二维矩阵1.答案2.思路 3.寻找峰值1.答案2.思路 4.搜索旋转排序数组1.答案2.思路 5.在排序数组中查找元素的第一个和最后一个位置1.答案2.思路 6.寻找旋转排序数组中的最小值1.答案2.思路 1.搜索插入位置 1.答案 package com.sunxi…...

基于python的Kimi AI 聊天应用

因为这几天deepseek有点状况&#xff0c;导致apikey一直生成不了&#xff0c;用kimi练练手。这是一个基于 Moonshot AI 的 Kimi 接口开发的聊天应用程序&#xff0c;使用 Python Tkinter 构建图形界面。 项目结构 项目由三个主要Python文件组成&#xff1a; 1. main_kimi.py…...

动手学深度学习-3.2 线性回归的从0开始

以下是代码的逐段解析及其实际作用&#xff1a; 1. 环境设置与库导入 %matplotlib inline import random import torch from d2l import torch as d2l作用&#xff1a; %matplotlib inline&#xff1a;在 Jupyter Notebook 中内嵌显示 matplotlib 图形。random&#xff1a;生成…...

Spring 面试题【每日20道】【其二】

1、Spring MVC 具体的工作原理&#xff1f; 中等 Spring MVC 是 Spring 框架的一部分&#xff0c;专门用于构建基于Java的Web应用程序。它采用模型-视图-控制器&#xff08;MVC&#xff09;架构模式&#xff0c;有助于分离应用程序的不同方面&#xff0c;如输入逻辑、业务逻辑…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...