麦芯 (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)应用在多机环境下稳定运行。在实际操作过程中,若遇到任何问题,可根据具体错误提示进行排查和解决。同时,要注意备份重要数据,避免因操作失误导致数据丢失。如果对某些步骤不确定或遇到复杂问题,建议查阅麦芯官方文档或咨询专业技术人员。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/963979.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GRE阅读双线阅读 --青山学堂GRE全程班 包括 阅读、数学、写作、填空、背单词

新版GRE考试整体结构 section题量时间写作1篇issue30min语文S112道题(7道填空5道阅读)18min数学S112道题21min语文S215道题(7道填空8道阅读)23min数学S215道题26min Tips: 写作结束后,语文和数学的顺序不固定,2中可能: issue -> V ->…

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

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

浅谈《图解HTTP》

感悟 滑至尾页的那一刻,内心突兀的涌来一阵畅快的感觉。如果说从前对互联网只是懵懵懂懂,但此刻却觉得她是如此清晰而可爱的呈现在哪里。 介绍中说,《图解HTTP》适合作为第一本网络协议书。确实,它就像一座桥梁,连接…

Android学习制作app(ESP8266-01S连接-简单制作)

一、理论 部分理论见arduino学习-CSDN博客和Android Studio安装配置_android studio gradle 配置-CSDN博客 以下直接上代码和效果视频,esp01S的收发硬件代码目前没有分享,但是可以通过另一个手机网络调试助手进行模拟。也可以直接根据我的代码进行改动…

使用mybatisPlus插件生成代码步骤及注意事项

使用mybatisPlus插件可以很方便的生成与数据库对应的PO对象,以及对应的controller、service、ImplService、mapper代码,生成这种代码的方式有很多,包括mybatis-plus提供的代码生成器,以及idea提供的代码生成器,无论哪一…

FFmpeg(7.1版本)在Ubuntu18.04上的编译

一、从官网上下载FFmpeg源码 官网地址:Download FFmpeg 点击Download Source Code 下载源码到本地电脑上 二、解压包 tar -xvf ffmpeg-7.1.tar.xz 三、配置configure 1.准备工作 安装编译支持的软件 ① sudo apt-get install nasm //常用的汇编器,用于编译某些需要汇编…

CMake的QML项目中使用资源文件

Qt6.5的QML项目中,我发现QML引用资源文件并不像QtWidgets项目那样直接。 在QtWidgets的项目中,我们一般是创建.qrc​资源文件,然后创建前缀/new/prefix​,再往该前缀中添加一个图片文件,比如:test.png​。…

微信登录模块封装

文章目录 1.资质申请2.combinations-wx-login-starter1.目录结构2.pom.xml 引入okhttp依赖3.WxLoginProperties.java 属性配置4.WxLoginUtil.java 后端通过 code 获取 access_token的工具类5.WxLoginAutoConfiguration.java 自动配置类6.spring.factories 激活自动配置类 3.com…

KNIME:开源 AI 数据科学

KNIME(Konstanz Information Miner)是一款开源且功能强大的数据科学平台,由德国康斯坦茨大学的软件工程师团队开发,自2004年推出以来,广泛应用于数据分析、数据挖掘、机器学习和可视化等领域。以下是对KNIME的深度介绍…

如何让DeepSeek恢复联网功能?解决(由于技术原因,联网搜索暂不可用)

DeekSeek提示:(由于技术原因,联网搜索暂不可用) 众所周知,因为海外黑客的ddos攻击、僵尸网络攻击,deepseek的联网功能一直处于宕机阶段,但是很多问题不联网出来的结果都还是2023年的&#xff0c…

【优先算法】专题——前缀和

目录 一、【模版】前缀和 参考代码: 二、【模版】 二维前缀和 参考代码: 三、寻找数组的中心下标 参考代码: 四、除自身以外数组的乘积 参考代码: 五、和为K的子数组 参考代码: 六、和可被K整除的子数组 参…

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

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

梯度、梯度下降、最小二乘法

在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降是最常采用的方法之一,另一种常用的方法是最小二乘法。 1. 梯度和梯度下降 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式…

基于STM32的智能安防监控系统

1. 引言 随着物联网技术的普及,智能安防系统在家庭与工业场景中的应用日益广泛。本文设计了一款基于STM32的智能安防监控系统,集成人体感应、环境异常检测、图像识别与云端联动功能,支持实时报警、远程监控与数据回溯。该系统采用边缘计算与…

优化代码性能:利用CPU缓存原理

在计算机的世界里,有一场如同龟兔赛跑般的速度较量,主角便是 CPU 和内存 。龟兔赛跑的故事大家都耳熟能详,兔子速度飞快,乌龟则慢吞吞的。在计算机中,CPU 就如同那敏捷的兔子,拥有超高的运算速度&#xff0…

Notepad++消除生成bak文件

设置(T) ⇒ 首选项... ⇒ 备份 ⇒ 勾选 "禁用" 勾选禁用 就不会再生成bak文件了 notepad怎么修改字符集编码格式为gbk 如图所示

如何创建折叠式Title

文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了SliverGrid组件相关的内容,本章回中将介绍SliverAppBar组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在本章回中介绍的SliverAppBar和普通的AppBar类似,它们的…

K个不同子数组的数目--滑动窗口--字节--亚马逊

Stay hungry, stay foolish 题目描述 给定一个正整数数组 nums和一个整数 k,返回 nums 中 「好子数组」 的数目。 如果 nums 的某个子数组中不同整数的个数恰好为 k,则称 nums 的这个连续、不一定不同的子数组为 「好子数组 」。 例如,[1,2,…

Chromium132 编译指南 - Android 篇(一):编译前准备

1. 引言 欢迎来到《Chromium 132 编译指南 - Android 篇》系列的第一部分。本系列指南将引导您逐步完成在 Android 平台上编译 Chromium 132 版本的全过程。Chromium 作为一款由 Google 主导开发的开源浏览器引擎,为众多现代浏览器提供了核心驱动力。而 Android 作…

webpack传输性能优化

手动分包 基本原理 手动分包的总体思路是:先打包公共模块,然后再打包业务代码。 打包公共模块 公共模块会被打包成为动态链接库(dll Dynamic Link Library),并生成资源清单。 打包业务代码 打包时,如果…