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

快速上手Banana Pi BPI-M4 Zero 全志科技H618开源硬件开发开发板

Linux[编辑]

准备[编辑]

1. Linux镜像支持SD卡或EMMC启动,并且会优先从SD卡启动。

2. 建议使用A1级卡,至少8GB。

3. 如果您想从 SD 卡启动,请确保可启动 EMMC 已格式化。

4. 如果您想从 EMMC 启动并使用 Sdcard 作为存储,请确保 SD 卡已格式化且未刷新 Linux 映像。

5. 下载最新的[Linux Linux Image],并确认md5校验和正确。

6.默认登录:pi/bananapi 或 root/bananapi

7. wiki 指南仅适用于 [bananapi 4.9 bsp ubuntu/debian 镜像]。

将映像安装到 SD 卡[编辑]

1. 在 Windows、Linux 和 MacOS 上使用 Balena Etcher 安装映像。

Balena Etcher是 Balena 的一款开源 GUI 闪存工具,可将操作系统映像闪存到 SD 卡或 USB 驱动器。

2. 在 Windows、Linux 和 MacOS 上使用 Balena Cli 安装映像。

Balena CLI是 balenaCloud 或 openBalena 的命令行界面。它可用于刷新 linux 映像。从balena-io下载安装程序或独立包并将其正确安装到您的 PC,然后您可以使用balena 的“ local flash ”命令选项将 Linux 映像刷新到 sdcard 或 USB 驱动器。

sudo balena 本地闪存路径/to/xxx-bpi-m4-zero-xxx.img.zipsudo balena 本地闪存路径/to/xxx-bpi-m4-zero-xxx.img.zip --drive /dev/disk2sudo balena 本地闪存路径/to/xxx-bpi-m4-zero-xxx.img.zip --drive /dev/disk2 --yes

3. 在 Linux 上使用 dd 命令安装 Image,如果自动挂载则卸载 SD 卡设备 /dev/sdX 分区。实际上 bpi-copy 和这个 dd 命令是一样的。

sudo apt-get install pv 解压缩sudo unzip -p xxx-bpi-m4-zero-xxx.img.zip | sudo unzip -p xxx-bpi-m4-zero-xxx.img.zip | 光伏 | dd of=/dev/sdX bs=10M 状态=noxfer

4. 在Linux上使用bpi-tools安装镜像,将SD卡插入Linux PC并运行

sudo apt-get install pv 解压缩sudo bpi-copy xxx-bpi-m4-zero-xxx.img.zip /dev/sdX

Ubuntu 桌面[编辑]

1.使用Ubuntu桌面版系统镜像,可以获得图形操作界面。

2、需要准备一台带HDMI接口的显示器、一根HDMI线、一个mini HDMI转HDMI转接头。

3、使用HDMI线和mini HDMI转HDMI转接头连接显示器和BPI-M4 Zero,将显示器输入接口切换到对应的HDMI接口,开机,稍等片刻即可看到桌面。

调试串口[编辑]

1.准备一个3.3v USB转TTL模块。

2. 使用 USB 转 TTL 模块连接 PC USB 端口和板上的 Debug UART 端口。

3. 在PC上打开串口终端软件,例如mobaxterm或putty。

4.以mobaxterm为例,设置好串口号和115200波特率后,即可打开BPI-M4 Zero UART终端。

1、准备好网线和路由器。

2. 使用网线将路由器的LAN口连接到BPI-M4 Zero,同时将PC连接到另一个LAN口。

3. 在路由器管理界面查看BPI-M4 Zero的IP地址,或者在BPI-M4 Zero的UART终端上使用以下命令查看IP地址。

  如果配置
  eth0: 标志=4163<UP、广播、运行、组播> mtu 1500inet 192.168.3.10 网络掩码 255.255.255.0 广播 192.168.3.255inet6 fe80::3e1f:688f:81ab:d8b7 prefixlen 64scopeid 0x20<链接>以太 02:00:54:a0:d6:a6 txqueuelen 1000(以太网)RX 数据包 553 字节 92549 (92.5 KB)RX 错误 0 丢弃 0 溢出 0 帧 0TX 数据包 329 字节 26023 (26.0 KB)TX 错误 0 丢弃 0 溢出 0 载波 0 冲突 0设备中断 42

4. 在PC上打开SSH终端软件,例如mobaxterm或putty。

5、以mobaxterm为例,在IP地址栏填写获取到的IP地址,如上面的192.168.3.10,在Port端口填写22。

6、打开SSH终端,输入登录用户名/密码:pi/bananapi或root/bananapi。输入密码时不会有提示。请正常输入,完成后按回车键。

NoMachine远程桌面[编辑]

1. 确保BPI-M4 Zero已连接互联网,并使用以下命令下载系统中的nomachine DEB安装包。

  wget https://download.nomachine.com/download/8.9/Arm/nomachine_8.9.1_1_arm64.deb

2.或者在PC浏览器中打开NoMachine for ARM - arm64下载页面,下载DEB安装包,然后通过SSH或U盘复制到BPI-M4零用户目录。

3、下载完成后,通过以下命令进行安装。请注意,文件名以实际下载的文件名为准。

  sudo dpkg -i nomachine_8.9.1_1_arm64.deb

4、PC端还需要下载并安装NoMachine。NoMachine下载页面选择适合PC操作系统的安装包,下载到本地并完成安装。

5、注意保持PC和BPI-M4 Zero在同一个局域网内。您可以先尝试SSH连接,确保局域网内正常通信。

6、在PC上打开NoMachine,点击添加按钮,在跳转后的窗口中的主机栏中输入BPI-M4 Zero的IP地址,然后点击添加按钮。

7. 单击已识别的端口图标,在弹出的新窗口中输入用户名/密码,然后单击确定按钮。

8.完成后续设置后,就可以看到桌面了。

9. 如果 HDMI 接口没有连接任何设备,NoMachine 远程桌面将显示黑屏。建议保留 HDMI 连接或连接 HDMI 诱饵设备。

无线上网[编辑]

使用nmcli命令扫描WiFi热点、连接热点、创建AP热点。

  nmcli device #列出设备nmcli device wifi list # 列出可用的wifi接入点,列表可以省略nmcli device wifi connect [SSID] 密码 [PASSWORD] # 连接热点 mySSID。连接成功后,会自动生成配置文件。如果以后想再次连接,可以使用 nmcli connection up [SSID] 命令。nmcli device disconnect [设备名称] # 断开wifi,使用nmcli device命令中显示的wifi设备名称nmcli device wifi hotspot con-name [NAME] ifname [设备名称] ssid [SSID] 密码 [PASSWORD] # 创建AP热点
  nmcli connection show #列出网络连接配置nmcli connection down [NAME] # 停用连接nmcli connection up [NAME] # 激活连接nmcli connection delete [SSID] #删除一个配置,不再保存信息并自动连接
  nmcli radio wifi off # 关闭wifinmcli radio wifi on # 打开 wifi
  • nmcli命令参考文档
  • nmcli 命令参考示例

设置静态IP、DNS[编辑]

1. 要设置静态IP,需要先保持连接。如果要设置以太网静态IP,首先必须保持以太网连接;如果要设置无线网络静态IP,首先必须保持WIFI连接。

2、如果上级路由器已将您要设置的IP地址分配给其他设备,请将其更改为空闲IP,或者要求其他设备放弃该IP。

3. 使用 nmcli connection show 命令显示所有连接,例如:

  pi@bpi-m4zero:~$ nmcli 连接显示名称 UUID 类型 设备TP-LINK_5G_7747 e4a49726-adf1-44d7-a621-0e3af96cc390 无线网络wlx2cc3e6acd5d7有线连接 1 612eda94-55dc-3c85-b05e-f16c41775b4e 以太网 --

4. 使用 nmcli connection show [NAME] 命令显示特定连接的所有属性,例如:

  nmcli connection show TP-LINK_5G_7747 #如果想看以太网,改成有线连接1
  #只列出三个常见的项目ipv4.dns: 192.168.3.1 #默认为网关地址ipv4.addresses: 192.168.3.10/24 #默认为路由器DHCP分配的IP地址ipv4.gateway: 192.168.3.1 #网关地址,默认为路由器的IP地址

5.设置静态IP:

  nmcli连接修改TP-LINK_5G_7747 ipv4.addresses 192.168.3.2

6.设置DNS:

  nmcli 连接修改 TP-LINK_5G_7747 ipv4.dns 8.8.8.8 #Google DNS

7.重置:

  重启

8.重启后查看是否修改成功:

  如果配置nmcli连接显示TP-LINK_5G_7747

网络时间同步[编辑]

Chrony 是一款开源免费网络时间协议 NTP 客户端和服务器软件。它允许计算机保持系统时钟与时钟服务器(NTP)同步,从而使您的计算机保持准确的时间。Chrony还可以作为服务器软件,为其他计算机提供时间同步服务。

  timedatectl set-ntp false #禁用基于NTP的网络时间同步
  sudo apt install chrony #安装chronysystemctl start chrony #启动chronysystemctl 启用计时systemctl 状态计时systemctl restart chrony #重启服务
  timedatectl status #查看时间同步状态timedatectl list-timezones #查看时区列表timedatectl set-timezone Asia/上海 #修改时区timedatectl set-ntp true #启用NTP网络时间同步
  日期 #查看时间sudo hwclock -r #查看硬件时钟
  • 慢性参考文档

查看硬件温度[编辑]

输入以下命令可查看BPI-M4 Zero板上芯片内置传感器返回的温度数据。

  传感器

修改HDMI输出分辨率[编辑]

使用Ubuntu桌面操作系统时,可以在设置中找到显示栏,修改分辨率。

使用U盘[编辑]

1. 准备一个已经正常分区的U盘,插入BPI-M4 Zero的USB接口。如果是A型插头的U盘,还需要一个A型转C型转接头。

2、在Ubuntu桌面版中,可以看到U盘已经被识别,可以在文件管理器中打开,或者可以通过GParted工具进行分区管理。

3. 在终端中,将U盘挂载到本地目录:

  mkdir mnt #在~/user目录下创建一个单独的目录用于挂载,方便管理猫 /proc/分区 | grep "sd*" #列出以sd开头的分区sudo mount /dev/sda1 ~/mnt/ #挂载 /dev/sda1 到 ~/mnt/ls ~/mnt/ #挂载后可以列出U盘中的文件sudo umount -v /dev/sda1 #umount,即可移除U盘

使用音频设备[编辑]

准备一个音频文件,通过U盘或SSH复制到BPI-M4 Zero Ubuntu桌面系统。

HDMI音频[编辑]

1.准备一台具有HDMI音频输入功能的显示器,在显示器设置中打开相关功能,使用HDMI线和mini HDMI转HDMI适配器连接显示器。

2. 在设置的声音栏中将输出设备设置为 HDMI 音频。

3.播放音频。

使用蓝牙[编辑]

1. 打开Ubuntu桌面的设置,在蓝牙栏中连接蓝牙设备,例如蓝牙鼠标或键盘。

2、在终端中通过命令行连接蓝牙设备的方法如下:

pi@bpi-m4zero:~$ sudo bluetoothctl #打开蓝牙设备管理工具
[sudo] pi 的密码:
代理注册
[CHG] 控制器 2C:C3:E6:AC:D5:D8 可配对:是
[bluetooth]# power on #启动蓝牙功能,power off将其关闭
更改电源成功
[bluetooth]# discoveryable on #允许发现此设备
更改可发现成功
[CHG] 控制器 2C:C3:E6:AC:D5:D8 可发现:是
[蓝牙]# 可配对 #允许设备配对
更改配对成功
[蓝牙]# scan on #开始扫描
发现开始
[CHG] 控制器 2C:C3:E6:AC:D5:D8 发现:是
[NEW] Device D4:C4:85:A5:C6:B1 Logitech Pebble #蓝牙鼠标的MAC地址和设备名称
[CHG] 设备 D4:C4:85:A5:C6:B1 TxPower: 4
[bluetooth]#pair D4:C4:85:A5:C6:B1 #配对要连接的蓝牙设备的MAC地址
尝试与 D4:C4:85:A5:C6:B1 配对
[CHG] 设备 D4:C4:85:A5:C6:B1 已连接:是
[删除] 设备 A4:C1:38:9B:F6:FD SLPO20N20200059
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID:00001800-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID:00001801-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID:0000180a-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID: 0000180f-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID: 00001812-0000-1000-8000-00805f9b34fb
[CHG] 设备 D4:C4:85:A5:C6:B1 UUID:00010000-0000-1000-8000-011f2000046d
[CHG] 设备 D4:C4:85:A5:C6:B1 服务已解决:是
[CHG] 设备 D4:C4:85:A5:C6:B1 配对:是
配对成功#配对成功
[CHG] 设备 D4:C4:85:A5:C6:B1 模式别名:usb:v046DpB021d0007
[bluetooth]# exit #退出蓝牙设备管理工具
pi@bpi-m4zero:~$

archlinux蓝牙参考文档

传输文件[编辑]

SCP[编辑]

Linux系统中的scp(安全复制)命令用于以安全的方式在服务器之间复制文件。

SCP 命令或安全复制允许在本地主机和远程主机之间或两个远程主机之间安全地传输文件。

它使用与 Secure Shell (SSH) 协议中使用的相同的身份验证和安全性。

您可以将文件从 Windows 终端复制到同一 LAN 上的 Linux 系统。只需确保 Open SSH 客户端已打开并且可以在“设置”>“应用程序”>“可选功能”中查看。

如果要将文件从Windows系统复制到Linux系统,还需要启用Open SSH服务器。

scp命令格式为:

scp [可选] 文件源 文件目标

1.[options]为可选参数,如-r,可用于递归复制整个目录。

2.file_source 要复制的文件或目录。

3.file_target如果最后输入了特定的文件名,则会复制过去的路径并重命名。

以将本地文件从Windows系统复制到Linux系统为例。在 Windows 终端中,输入:

PS D:\temp\temp_4> scp ".\hello.txt" pi@192.168.3.12 :"/home/pi/Downloads/"

您还可以在Windows终端中将Linux系统中的文件复制到本地计算机:

PS D:\temp\temp_4> scp pi@192.168.3.12 :"/home/pi/Downloads/hello.txt" "D:\temp\temp_4"

其中pi@192.168.3.12为Linux系统中的用户名,BPI-M4 Zero在局域网中的IP地址。

其中:“/home/pi/Downloads/hello.txt”是Linux系统中的文件路径。

其中“D:\temp\temp_4”是Windows系统中的路径。

scp参考文档

mobaxterm

可以使用 mobaxterm 或其他类似软件通过图形界面管理文件。

mobaxterm 下载

mobaxterm-linux 预览版

如下图,在mobaxterm中建立SSH连接后,界面左侧会出现文件管理窗口,支持通过拖放文件的方式进行复制粘贴。

相关文章:

快速上手Banana Pi BPI-M4 Zero 全志科技H618开源硬件开发开发板

Linux[编辑] 准备[编辑] 1. Linux镜像支持SD卡或EMMC启动&#xff0c;并且会优先从SD卡启动。 2. 建议使用A1级卡&#xff0c;至少8GB。 3. 如果您想从 SD 卡启动&#xff0c;请确保可启动 EMMC 已格式化。 4. 如果您想从 EMMC 启动并使用 Sdcard 作为存储&#xff0c;请确…...

Node.js入门指南(三)

目录 Node.js 模块化 介绍 模块暴露数据 导入模块 导入模块的基本流程 CommonJS 规范 包管理工具 介绍 npm cnpm yarn nvm的使用 我们上一篇文章介绍了Node.js中的http模块&#xff0c;这篇文章主要介绍Node.js的模块化&#xff0c;包管理工具以及nvm的使用。 Node…...

Leetcode—2824.统计和小于目标的下标对数目【简单】

2023每日刷题&#xff08;三十九&#xff09; Leetcode—2824.统计和小于目标的下标对数目 实现代码 class Solution { public:int countPairs(vector<int>& nums, int target) {int n nums.size();sort(nums.begin(), nums.end());int left 0, right left 1;i…...

【基础架构】part-2 可扩展性

文章目录 可扩展性&#xff08;Scalability&#xff09;2.1 水平扩展2.2 垂直扩展2.3 弹性扩展 三、可靠性&#xff08;Reliability&#xff09;3.1 容错机制3.2 错误处理和恢复策略3.3 监控和自动化运维 四、 安全性&#xff08;Security&#xff09;4.1 身份验证和授权4.2 加…...

[SWPUCTF 2021 新生赛]no_wakeup

直接赋值即可 $a ->admin admin; $a ->passwd wllm; 发现没有绕过&#xff0c;改成大于2的绕过__wakeup 这是因为PHP在反序列化时会检查序列化字符串的长度&#xff0c;如果长度小于等于2&#xff0c;则不会调用__wakeup()方法。...

类和对象(3)日期类的实现

日期类的实现 一&#xff0c;声明二&#xff0c;函数成员定义2.1构造函数2.2获取月份天数2.3比较运算符2.3.1等于和大于2.3.2其他 2.4计算运算符2.4.1 &&2.4.2-&&- 2.5日期-日期 一&#xff0c;声明 class Date { public:Date(int year 1, int month 1, int…...

分布式篇---第五篇

系列文章目录 文章目录 系列文章目录前言一、你知道哪些限流算法?二、说说什么是计数器(固定窗口)算法三、说说什么是滑动窗口算法前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去…...

SpringMVC(二)

八、HttpMessageConverter HttpMessageConverter&#xff0c;报文信息转换器&#xff0c;将请求报文转换为Java对象&#xff0c;或将Java对象转换为响应报文 HttpMessageConverter提供了两个注解和两个类型&#xff1a;RequestBody&#xff0c;ResponseBody&#xff0c;Reque…...

kafka操作的一些坑

1.如果Offset Explorer能够检测到kafka中的数据&#xff0c;但是自己的kafka无法读取到 这个问题主要是由于kafka中的信息已经被消费掉了造成的 consumer.commitAsync();这里如果已经消费掉了kafka的信息&#xff0c;那么已经被消费掉的kafka数据就不会被再读取掉&#xff0c…...

转录组学习第5弹-比对参考基因组

比对参考基因组 在构建文库的过程中需要将DNA片段化&#xff0c;因此测序得到的序列只是基因组的部分序列。为了确定测序reads在基因组上的位置&#xff0c;需要将reads比对回参考基因组上&#xff0c;这个步骤叫做比对&#xff0c;即文献中所提到的alignment或mapping。包括基…...

部署系列六基于nndeploy的深度学习 图像降噪unet部署

文章目录 1.直接在源代码demo中修改2. 如何修改呢&#xff1f;3. 修改 graph4. 总结 https://github.com/DeployAI/nndeploy https://nndeploy-zh.readthedocs.io/zh/latest/introduction/index.html 通过以上2个官方链接对nndeploy基本的使用方法应该有所了解了。 下面就是利用…...

使用 ClickHouse 做日志分析

原作&#xff1a;Monika Singh & Pradeep Chhetri 这是我们在 Monitorama 2022 上发表的演讲的改编稿。您可以在此处找到包含演讲者笔记的幻灯片和此处的视频。 当 Cloudflare 的请求抛出错误时&#xff0c;信息会记录在我们的 requests_error 管道中。错误日志用于帮助解…...

华为ospf路由协议防环和次优路径中一些难点问题分析

第一种情况是ar3的/0/0/2口和ar4的0/0/2口发布在区域1时&#xff0c;当ar1连接ar2的线断了以后&#xff0c;骨干区域就断了&#xff0c;1.1.1.1到2.2.2.2就断了&#xff0c;ping不通了。但ar5和ar6可以ping通2.2.2.2和1.1.1.1&#xff0c;ar3和ar4不可以ping通2.2.2.2和1.1.1.1…...

python-opencv划痕检测-续

python-opencv划痕检测-续 这次划痕检测&#xff0c;是上一次划痕检测的续集。 处理的图像如下&#xff1a; 这次划痕检测&#xff0c;我们经过如下几步: 第一步&#xff1a;读取灰度图像 第二步&#xff1a;进行均值滤波 第三步&#xff1a;进行图像差分 第四步&#xff1…...

c++[string实现、反思]

我的码云 我的string码云 分析总结 1.项目结构 所有的类和函数需要在namespace中实现&#xff0c;要和string高度对应 private:char* _str;//字符串size_t _size;//有效长度size_t _capacity;//总空间&#xff0c;包括\0const static size_t npos-1;2.定义变量 <1> 所…...

c++版本opencv计算灰度图像的轮廓点

代码 #include<iostream> #include<opencv.hpp>int main() {std::string imgPath("D:\\prostate_run\\result_US_20230804_141531\\mask\\us\\104.bmp");cv::Mat imgGray cv::imread(imgPath, 0);cv::Mat kernel cv::getStructuringElement(cv::MORPH…...

【05】ES6:函数的扩展

一、函数参数的默认值 ES6 允许为函数的参数设置默认值&#xff0c;即直接写在参数定义的后面。 1、基本用法 默认值的生效条件 不传参数&#xff0c;或者明确的传递 undefined 作为参数&#xff0c;只有这两种情况下&#xff0c;默认值才会生效。 注意&#xff1a;null 就…...

Ubuntu20.04安装搜狗输入法

1、安装包下载 搜狗输入法linux-首页搜狗输入法for linux—支持全拼、简拼、模糊音、云输入、皮肤、中英混输https://shurufa.sogou.com/linux点击立即下载&#xff0c;根据自己的硬件选择deb安装包。 2、输入法安装 当第一步完成以后&#xff0c;页面会自动跳转至搜狗的安装…...

linux的基础命令

文章目录 linux的基础命令一、linux的目录结构&#xff08;一&#xff09;Linux路径的描述方式 二、Linux命令入门&#xff08;一&#xff09;Linux命令基础格式 三、ls命令&#xff08;一&#xff09;HOME目录和工作目录&#xff08;二&#xff09;ls命令的参数1.ls命令的-a选…...

linux查询某个进程使用的内存量

linux查询某个进程使用的内存量 查进程用的内存&#xff0c;查看进程占用的内存量&#xff0c;centos查询内存使用 查某个进程id使用的内存量 ps -p 24450 -o rss | awk {print int($1/1024)"MB"} 该命令的含义是&#xff1a; ps -p 24450: 查找进程ID为24450的进…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...

【WebSocket】SpringBoot项目中使用WebSocket

1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖&#xff0c;添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...