树莓派CM4基础设置
安装系统
1.1 软件和硬件准备
硬件:CM4(4GB DDR+32GB EMMC 板载WIFI和蓝牙)
CM4-to-Pi4-Adapter
软件:Raspberry Pi或者 Win32DiskImager
Raspberry Pi下载链接:点击直接下载
Win32DiskImager下载链接:
链接:https://pan.baidu.com/s/1cWuD8m3BdYF4uPTAK6ngYg
提取码:cekh
步骤
准备工作如下
首先CM4载板CM4-to-Pi4-Adapte的boot开关拨到on,如下图所示。

然后安装rpiboot程序,其链接为:点击下载。rpiboot软件安装之后,打开软件,该软件可以将CM4当做SD来操作。
3.1
Raspberry Pi软件安装ubuntu 20.04:
step 1.格式化EMMC--->擦除--->烧录


step 2.选择操作系统--->选择SD卡--->烧录

Win32DiskImager软件安装ubuntu 20.04:
树莓派镜像下载地址:下载地址

3.2 安装Ubuntu 20.04 Server
参考:https://blog.csdn.net/liangforcold/article/details/126385774?spm=1001.2014.3001.5506
静态ip
参考:https://blog.csdn.net/wen_1_wen/article/details/121757313?spm=1001.2014.3001.5506
step1. 备份50-cloud-init.yaml文件
gh@ubuntu:~$ cd /etc/netplan/
gh@ubuntu:/etc/netplan$ cp 50-cloud-init.yaml 50-cloud-init.yaml.bak
gh@ubuntu:/etc/netplan$ ls
50-cloud-init.yaml 50-cloud-init.yaml.bak
step2.修改50-cloud-init.yaml文件
network:ethernets:eth0:dhcp4: falsedhcp6: noaddresses: [192.168.30.123/24]gateway4: 192.168.30.1nameservers:addresses: [114.114.114.114, 8.8.8.8]wifis:wlan0:access-points:"自己的WiFi名":password: "WiFi密码"dhcp4: falsedhcp6: noaddresses: [192.168.253.8/24]gateway4: 192.168.253.1nameservers:addresses: [114.114.114.114, 8.8.8.8]version: 2
step3. 验证修改
gh@ubuntu:/etc/netplan$ sudo netplan try
Do you want to keep these settings?Press ENTER before the timeout to accept the new configurationChanges will revert in 107 seconds
step4.应用修改
gh@ubuntu:/etc/netplan$ sudo netplan apply
最后重启树莓派,完成静态ip设置。
step5.windows连接树莓派CM4测试
使用网线连接电脑和树莓派的网口(J45接口)
windows端运行cmd终端
C:\Users\whutj>ping 192.168.30.123正在 Ping 192.168.30.123 具有 32 字节的数据:
来自 192.168.30.123 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.30.123 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.30.123 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.30.123 的回复: 字节=32 时间<1ms TTL=64192.168.30.123 的 Ping 统计信息:数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):最短 = 0ms,最长 = 0ms,平均 = 0ms
ssh和RDP远程连接
3.1 创建SSH连接
使用的软件为:mobaxterm,下载链接:下载链接
安装之后打开,创建SSH连接的session即可,运行效果如下。

3.2 RDP连接
CSDN不少教程在XRDP的配置上存在问题,导致RDP没办法实现远程桌面,请参考:
参考:https://www.bilibili.com/read/cv16417365/
step1. 安装XRDP并设置开机自启动
# 安装指令
gh@ubuntu:~$ sudo apt install tightvncserver xrdp
显示安装过程
# 重启xrdp
gh@ubuntu:~$ sudo service xrdp restart
# 查看服务运行状态
gh@ubuntu:~$ sudo service xrdp status
# 设置开启自动启动(设置开机启动可以在树莓派无屏幕启动时直接远程连接)
gh@ubuntu:~$ sudo update-rc.d xrdp defaults
step2.配置配置 ~/.xsession
因为这里使用的是gnome,所以
gh@ubuntu:~$ echo gnome-session > ~/.xsession
step3.修改startwm.sh
gh@ubuntu:~$ sudo vim /etc/xrdp/startwm.sh
在test -x /etc/X11/Xsession && exec /etc/X11/Xsession前添加如下代码
gnome-session
. /etc/X11/Xsession
重启xrdp服务
gh@ubuntu:~$ sudo service xrdp restart
step4.mobaxterm创建远程连接
参考:https://jingyan.baidu.com/article/8cdccae908c9f9315413cd34.html
最终效果:

相关文章:

树莓派CM4基础设置
安装系统1.1 软件和硬件准备硬件:CM4(4GB DDR32GB EMMC 板载WIFI和蓝牙)CM4-to-Pi4-Adapter软件:Raspberry Pi或者 Win32DiskImagerRaspberry Pi下载链接:点击直接下载Win32DiskImager下载链接:链接&#x…...
JS 合并数组的三大方式
1. 数组的不可变合并 1.1使用扩展运算符进行合并 如果您想知道一种在JavaScript中合并数组的好方法,那么请记住使用扩展操作符进行合并。 在数组字面量中写入两个或更多带有扩展操作符…前缀的数组,JavaScript将创建一个合并所有这些数组的新数组: co…...

30岁测试开发年薪不足50万,被面试官嘲讽混得太差?
近日,有网友发帖称:“30岁去应聘测试开发,拿不到七八十万的年薪确实有点丢人了,还被面试官diss混得太差了”,网友们看完都炸了。 来看看网友们都是怎么说的。 有网友说: 扯淡 有网友气到: 那拿…...
【C语言】多线程
多线程线程线程的优点C语言多线程创建线程终止线程连接和分离线程开启一个线程最基本的多线程实现开启两个线程多线程进行协同运算无参数传递的线程并发编程实例简单参数传递的线程并发编程实例结构体参数传递的线程并发编程实例线程的连接编程实例信号量同步进行写入互斥信号量…...

CDGA|浅谈“以治促用,以用促治”的数据治理战略
数据治理夯实企业数字化转型基础。采取“以治促用,以用促治”的数据治理战略,可以充分释放了企业核心运行要素的活力。 “以治促用”是指通过建立在数据治理链路及用户多维评估系统的基础上,对数据资产重新进行价值识别,推进高价值…...

Apifox-比postman更优秀的接口自动化测试平台
一、Apifox介绍 Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,定位 Postman Swagger Mock JMeter。通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好 API 文档,API 调试、API 数据 Mock、A…...

周期矩形波的傅里叶级数展开(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

前端预防XSS攻击全攻略
如何防止XSS攻击 一、是撒子 XSS攻击(跨站点脚本攻击),就是黑客恶意篡改你网页的前端代码,在里面注入一些恶意的 htmljavascript的脚本,并在你的浏览器内运行,获取你的信息,或者进行一些恶意操…...
JUC(一)
1.AQS原理 1.1.概述 1>.AQS全称是 AbstractQueuedSynchronizer,是阻塞式锁和相关的同步器工具的框架; 2>.特点: ①.用state属性来表示资源的状态(分独占模式和共享模式),子类需要定义如何维护这个状态,控制如何获取锁和释放锁; getState: 获取state状态;setStata: 设置…...
API接口——睡眠带开放能力
本文介绍睡眠带相关接口。 API 列表 请求方法API描述GET/v1.0/devices/{device_id}/sleep/daily-reports获取日睡眠报告。GET/v1.0/devices/{device_id}/sleep/monthly-reports获取月睡眠报告。GET/v1.0/devices/{device_id}/sleep/24h-reports获取 24 小时睡眠报告。GET/v1.…...

面向对象的一点小想法
接口里的方法可以写也可以不写 如果写的话,那么得是默认方法,需要在前面加个default 对于默认方法,能够重写,或者直接继承(也就是直接用) 比如下面: 就直接调用了接口的默认函数nibuhao&#…...
数据仓库工作问题总结
1. ODS 层采用什么压缩方式和存储格式? 压缩采用 Snappy ,存储采用 orc ,压缩比是 100g 数据压缩完 10g 左右。 2. DWD 层做了哪些事? 1.、数据清洗 空值去除过滤核心字段无意义的数据,比如订单表中订单 id 为 nul…...

Java常用算法
关于时间复杂度: 平方阶 (O(n2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序和归并排序。O(n1)) 排序, 是介于 0 和 1 之间的常数。希尔排序。线性阶 (O(n)) 排序 基数排序,…...

插画网课平台排名
插画网课平台哪个好,插画网课排名靠前的有哪些,今天给大家梳理了国内5家专业的插画网课平台,各有优势和特色,给学插画的小伙伴提供选择,报插画网课一定要选择靠谱的,否则人钱两空泪两行! 一&am…...

雷达、定位、跟踪等信号处理邻域SCI期刊整理及推荐
雷达邻域SCI期刊整理及推荐:题名、刊物信息、撰写特点、审稿周期及投稿难度总结 定位/跟踪邻域SCI期刊整理及推荐:题名、刊物信息、撰写特点、审稿周期及投稿难度总结 估计/滤波/融合等信号处理邻域SCI期刊整理及推荐:题名、刊物信息、撰写…...
NDK C++ 指针常量 常量指针 常量指针常量
指针常量 常量指针 常量指针常量// 指针常量 常量指针 常量指针常量#include <iostream> #include <string.h> #include <string.h>using namespace std;int main() {// *strcpy (char *__restrict, const char *__restrict);// strcpy()int number 9;int n…...
常见前端基础面试题(HTML,CSS,JS)(一)
html语义化的理解 代码结构: 使页面在没有css的情况下,也能够呈现出好的内容结构 有利于SEO: 爬虫根据标签来分配关键字的权重,因此可以和搜索引擎建立良好的沟通,帮助爬虫抓取更多的有效信息 方便其他设备解析: 如屏幕阅读器、盲人阅读器、移动设备等,…...

Delphi RSA加解密
感谢、感谢、感谢大佬的分享,https://github.com/ZYHPRO/RSAEncryptAndDecode 目录 1. 前言 2. 准备工作 3. Demo注意事项说明 3.1 公钥、私钥文本格式 3.2 回车键的影响 3.3 中文加解密说明 4. 结语 1. 前言 最近工作上安排了一个项目,与工商银行之…...
oracle基本操作
文章目录基本操作用户权限管理:权限传递:角色管理:数据导出:对于远程数据库查看表空间查看表空间路径查看被锁的对象基本操作 connect sys/zxm as sysdba-- 用 sys用户登录 create user jsdx identified by jsdx 创建用户 jsdx 密…...

hive只复制表结构不复制表数据
目录 一、背景 二、准备测试数据 1.建表 2.造测试数据 三、操作 1.CTAS (1).无分区表测试 (2).分区表测试 2.LIKE (1).无分区表测试 (2).分区表测试 一、背景 有一张ori_…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
用递归算法解锁「子集」问题 —— LeetCode 78题解析
文章目录 一、题目介绍二、递归思路详解:从决策树开始理解三、解法一:二叉决策树 DFS四、解法二:组合式回溯写法(推荐)五、解法对比 递归算法是编程中一种非常强大且常见的思想,它能够优雅地解决很多复杂的…...

路由基础-路由表
本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中,往往存在多个不同的IP网段,数据在不同的IP网段之间交互是需要借助三层设备的,这些设备具备路由能力,能够实现数据的跨网段转发。 路由是数据通信网络中最基…...

ubuntu中安装conda的后遗症
缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...