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

embedded/2025/2/4 7:35:24/

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


http://www.ppmy.cn/embedded/159406.html

相关文章

蓝桥杯python基础算法(2-2)——基础算法(D)——进制转换*

目录 五、进制转换 十进制转任意进制,任意进制转十进制 例题 P1230 进制转换 作业 P2095 进制转化 作业 P2489 进制 五、进制转换 十进制转任意进制,任意进制转十进制 int_to_char "0123456789ABCDEF" def Ten_to_K(k, x):answer "…

Linux 学习笔记__Day3

十八、设置虚拟机的静态IP 1、VMware的三种网络模式 安装VMware Workstation Pro之后,会在Windows系统中虚拟出两个虚拟网卡,如下: VMware提供了三种网络模式,分别是:桥接模式(Bridged)、NAT…

基于单片机的盲人智能水杯系统(论文+源码)

1 总体方案设计 本次基于单片机的盲人智能水杯设计,采用的是DS18B20实现杯中水温的检测,采用HX711及应力片实现杯中水里的检测,采用DS1302实现时钟计时功能,采用TTS语音模块实现语音播报的功能,并结合STC89C52单片机作…

计算机视觉和图像处理

计算机视觉与图像处理的最新进展 随着人工智能技术的飞速发展,计算机视觉和图像处理作为其中的重要分支,正逐步成为推动科技进步和产业升级的关键力量。 一、计算机视觉的最新进展 计算机视觉,作为人工智能的重要分支,主要研究如…

openssl 中 EVP_aes_256_gcm() 函数展开

在 openssl 中搜索,只能在头文件搜索到 EVP_aes_256_gcm() ,不能直接搜索到它的实现。 它的实现是通过一个宏展开的,挺难找的,如下,做记录: 文件:openssl-1.1.1g/crypto/evp/e_aes.c EVP_aes…

【Unity】cinemachine核心知识

cinemachine核心知识 cinemachineVirtualCamera中body参数作用cinemachineVirtualCamera中body有哪些选项cinemachineVirtualCamera中am参数作用以及选项 cinemachineVirtualCamera中body参数作用 在 Unity 的 Cinemachine Virtual Camera 中,Body 参数模块主要负责…

[Java基础]开发工具Idea

安装工具 IDE: 称为集成开发环境, 把代码编写,编译,执行等功能综合在一起的工具 卸载 控制面板->卸载程序->卸载->勾选清空配置->确认卸载 下载/安装 官网下载: IntelliJ IDEA – the Leading Java and Kotlin IDE 默认安装: 旗舰版安装无需任何勾选, 傻瓜安装…

STM32 TIM输入捕获 测量频率

输入捕获简介: IC(Input Capture)输入捕获 输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数 每个高级定时器…