Linux学习笔记(应用篇二)

基于I.MX6ULL.MINI开发板

  • 开发板与电脑相互通信
  • 电脑与开发板互传文件

开发板与电脑相互通信

用网线将电脑与开发板连接
本人使用的是Ubuntu系统,不是虚拟机

一般来说刚开始电脑和开发板是ping不通的

首先查看电脑的 IP

Win+R,cmd调出终端

我使用的是手机热点无线局域网适配器的IP属于公网,不能用来与开发板通信

以太网适配器的IP是网口的IP,使用网线与开发板进行通信,现在默认是自动分配的地址,需要手动设置

在这里插入图片描述

打开控制面板——>网络和Internet——>网络和共享中心——>更改适配器设置

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

找到 以太网——>右击——>属性

在这里插入图片描述

双击Internet协议版本4

在这里插入图片描述

选择使用下面的IP地址
手动配置IP地址、掩码和网关
一般是192.168.1.xxx
跟我一样也可以
然后确定

在这里插入图片描述

再次在终端查看IP,可以看到以太网的已经改为我们设置的

在这里插入图片描述

在开发板这边也要改
首先要确定开发板上网口对应的的网络接口是哪个
先用命令ifconfig查看
我的是eth0
如果不确定自己的是哪个可以把网线拔了再插回去,会打印信息

在这里插入图片描述

查看开发板的IP是169.254.26.65,与电脑网口不在同一个网段,无法通信,要修改开发板的静态IP

请添加图片描述

打开开发板的网络配置文件

vi /etc/network/interfaces

将eth0设置为静态获取IP
同样修改IP地址、掩码和网关
除了IP地址最后一位数字和电脑的不同
网关和掩码与电脑都要一致
我这里IP地址设置成了192.168.1.100
然后保存退出

在这里插入图片描述

重启网络服务

sudo /etc/init.d/networking restart

再次查看开发板IP,已经修改成自己设置的

在这里插入图片描述

虽然现在设置是可以实现互ping了,但是我遇到的问题是每次重启开发板后,要手动重启网络服务开发板的IP地址才会改为我设置的静态IP

要修改rc.local文件

sudo nano /etc/rc.local

在文本末尾,exit 0前加上sudo /etc/init.d/networking restart,保存退出,然后每次重启之后就会自动设置成我们设置的静态IP了

在这里插入图片描述

在这里插入图片描述

现在两边互ping一下

注意要把防火墙关了,不然开发板ping不通电脑

开发板ping电脑

在这里插入图片描述

电脑ping开发板
在这里插入图片描述

两边都能互ping成功

电脑与开发板互传文件

使用 scp (Secure Copy Protocol)

scp 是一种通过 SSH 安全地复制文件的工具,适用于 Linux 系统之间的文件传输。

首先要确认开发板是否安装并配置ssh服务

ps aux | grep sshd

如果开启了,会打印如下信息

在这里插入图片描述

从 Ubuntu 传输文件到开发板

scp /path/to/local/file username@remote_ip:/path/to/remote/directory

从开发板传输文件到 Ubuntu

scp username@remote_ip:/path/to/remote/file /path/to/local/directory

示例

scp /home/user/file.txt root@192.168.1.100:/home/root/ Ubuntu到开发板
scp root@192.168.1.100:/home/root/file.txt /home/user/ 开发板到Ubuntu /path/to/local/file:本地文件的路径。
username:开发板的 SSH 用户名。
remote_ip:开发板的 IP 地址。
/path/to/remote/directory:开发板上的目标目录。

ssh用户名可以使用命令cat /etc/passwd查看

一般是这个,即 root
在这里插入图片描述

我要把Ubuntu的 ~ 目录下的C_Program文件夹里的led文件通过scp发送到开发板用户目录下Linux文件夹下的C_Program下

scp ~/C_Program/led root@192.168.1.100:/home/root/Linux/C_Program/

但是第一次会提示错误

Unable to negotiate with 192.168.1.100 port 22: no matching host key type found.their offer:ssh-rsa

这个错误通常出现在客户端和服务器之间的 SSH 协议协商中,意味着客户端和服务器在 SSH 连接时无法找到一个共同的 host key algorithm(主机密钥算法)。开发板的 SSH 服务器可能只支持 ssh-rsa 密钥,而你的客户端(Ubuntu 主机)可能已禁用该密钥算法。从 OpenSSH 8.8 开始,默认禁用了 ssh-rsa 密钥算法,因为它被认为不再安全。

可以在 SSH 配置文件中永久启用 ssh-rsa 支持

编辑ssh配置文件(在电脑端)

sudo nano /etc/ssh/ssh_config

在文件中添加以下行,按Ctrl+X然后按Y保存退出

Host 192.168.1.100 //开发板的IPHostKeyAlgorithms +ssh-rsa

再次尝试就可以传过去了
传了交叉编译后的LED执行文件,可以正常使用

在这里插入图片描述

编译自己写的代码

使用Linaro的交叉编译工具,可以看驱动开发的4.3小节
安装完后使用命令arm-linux-gnueabihf-gcc进行交叉编译
比如我写的是led.c文件,编译输出可执行文件led
然后通过scp传给开发板运行程序

arm-linux-gnueabihf-gcc -o my_led led.c

也可以使用Poky 交叉编译工具链
可以看用户快速体验文档的4.2小节
安装完后用如下命令进行编译

${CC} -o my_led led.c

在这里插入图片描述

执行my_led,触发模式为heartbeat

在这里插入图片描述

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【gradio】从零搭建知识库问答系统-Gradio+Ollama+Qwen2.5实现全流程

从零搭建大模型问答系统-GradioOllamaQwen2.5实现全流程(一) 前言一、界面设计(计划)二、模块设计1.登录模块2.注册模块3. 主界面模块4. 历史记录模块 三、相应的接口(前后端交互)四、实现前端界面的设计co…

中间件漏洞-Tomcat篇

一:CVE-2017-12615 1.搭建服务 cd /www/wwwroot/vulhub-master/tomcat/CVE-2017-12615 docker-compose up -d 2.打开网页 3.在哥斯拉中生成jsp木马并保存为2.jpg 对当前页面进行抓包,修改提交方式为PUT并复制木马 4.在网页中访问我们生成的木马&#…

PHP eval 长度限制绕过与 Webshell 获取

在 PHP 代码中&#xff0c;如果 eval($param); 存在且长度受限&#xff0c;并且过滤了 eval 和 assert&#xff0c;仍然可以通过多种方法绕过限制&#xff0c;获取 Webshell。 源码 <?php $param $_REQUEST[param]; if(strlen($param)<17 && stripos($param,…

31天Python入门——第15天:日志记录

你好&#xff0c;我是安然无虞。 文章目录 日志记录python的日志记录模块创建日志处理程序并配置输出格式将日志内容输出到控制台将日志写入到文件 logging更简单的一种使用方式 日志记录 日志记录是一种重要的应用程序开发和维护技术, 它用于记录应用程序运行时的关键信息和…

特殊行车记录仪DAT视频丢失的恢复方法

行车记录仪是一种常见的车载记录仪&#xff0c;和常见的“小巧玲珑”的行车记录仪不同&#xff0c;一些特种车辆使用的记录仪的外观可以用“笨重”来形容。下边我们来看看特种车载行车记录仪删除文件后的恢复方法。 故障存储: 120GB存储设备/文件系统:exFAT /簇大小:128KB 故…

机器学习——KNN数据均一化

在KNN&#xff08;K-近邻&#xff09;算法中&#xff0c;数据均一化&#xff08;归一化&#xff09;是预处理的关键步骤&#xff0c;用于消除不同特征量纲差异对距离计算的影响。以下是两种常用的归一化操作及其核心要点&#xff1a; 质押 一 、主要思想 1. 最值归一化&#…

Element UI实现表格全选、半选

制作如图所示的表格全选、半选&#xff1a; 父组件 <template><div id"app"><SelectHost :hostArray"hostArray" /></div> </template><script> import SelectHost from ./components/SelectHost.vue export default…

深度学习入门1 基于Python的理论与实现

torch.unsqueeze()将一维数据变为二维数据&#xff0c;torch只能处理二维数据 tensor不能反向&#xff0c;variable可以反向。variable.data.numpy()转换为numpy 第3章 神经网络 实现softmax函数时的注意事项&#xff1a;为防止e的指数运算造成溢出 矩阵的第 0 维是列方向,第…

vue响应式原理剖析

一、什么是响应式? 我们先来看一下响应式意味着什么?我们来看一段代码: m有一个初始化的值,有一段代码使用了这个值; 那么在m有一个新的值时,这段代码可以自动重新执行; let m = 20 console.log(m) console.log(m * 2)m = 40上面的这样一种可以自动响应数据变量的代码机…

UDP数据报套接字编程

1.DatagramSocket API Socket是操作系统中的一个概念 本质上是一种特殊的文件 Socket就属于是把"网卡"这个设备,抽象成文件了 往Socket文件中写数据,就相当于通过网卡发送数据 从Socket文件读数据,就相当于通过网卡接受数据 在Java中就使用DatagramSocket这个类…

逼用户升级Win11,微软开始给Win10限速

随着Windows10的支持时间越来越短&#xff0c;微软也加大了对Win10用户的驱赶力度。 最近&#xff0c;微软官宣了将要在今年6月份降低OneNote for Windows 10的同步速度。软件也将和Windows10在今年的10月14日一同停止支持和维护。 这将影响实时协作和多设备访问。 对OneNote…

NodeJs之http模块

一、概念&#xff1a; 1、协议&#xff1a;双方必须共同遵从的一组约定。 Hypertext Transfer Protocol&#xff1a;HTTP&#xff0c;超文本传输协议 2、请求&#xff1a; ① 请求报文的组成&#xff1a; 请求行请求头空行请求体 ② 请求行&#xff1a;

26考研——图_图的应用(6)

408答疑 文章目录 四、图的应用图的应用考查形式最小生成树最小生成树概念最小生成树的性质最小生成树中某顶点到其他顶点是否具有最短路径的分析构造最小生成树的算法Prim 算法Prim 算法概述Prim 算法的构建思想Prim 算法的步骤Prim 算法的示例Prim 算法的性质 Kruskal 算法Kr…

Photoshop 2025安装包下载及Photoshop 2025详细图文安装教程

文章目录 前言一、Photoshop 2025安装包下载二、Photoshop 2025安装教程1.解压安装包2.运行程序3.修改安装路径4.设安装目录5.开始安装6.等安装完成7.关闭安装向导8.启动软件9.安装完成 前言 无论你是专业设计师&#xff0c;还是初涉图像处理的小白&#xff0c;Photoshop 2025…

MySQL-存储过程

介绍 基本语法 创建 调用 查看 删除 变量 系统变量 查看 设置 用户定义变量 赋值 使用 局部变量 声明 赋值 流程控制 参数 条件结构 IF case 循环结构 while repeat loop 游标 条件处理程序 介绍 举个简单的例子&#xff0c;我们先select某数据&…

debug 笔记:llama 3.2 部署bug 之cutlassF: no kernel found to launch!

1 问题描述 按照官方的写法 import torch from transformers import pipeline import os os.environ["HF_TOKEN"] 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 model_id "meta-llama/Llama-3.2-3B"pipe pipeline("text-generation", modelmode…

《Python实战进阶》No34:卷积神经网络(CNN)图像分类实战

第34集&#xff1a;卷积神经网络&#xff08;CNN&#xff09;图像分类实战 摘要 卷积神经网络&#xff08;CNN&#xff09;是计算机视觉领域的核心技术&#xff0c;特别擅长处理图像分类任务。本集将深入讲解 CNN 的核心组件&#xff08;卷积层、池化层、全连接层&#xff09;…

【银河麒麟系统常识】命令:uname -m(查看系统架构)

命令&#xff1a; uname -m 功能 常用的 Linux/Unix 终端命令&#xff0c;用于显示当前系统的硬件架构&#xff1b; 返回 返回系统的CPU架构类型&#xff0c;用于判断软件兼容性&#xff1b; 输出结果架构说明常见设备x86_64Intel/AMD 64位 CPU主流 PC、服务器aarch64ARM 64位 …

游戏引擎学习第183天

回顾和今天的计划 我对接下来的进展感到非常兴奋。虽然我们可能会遇到一些问题&#xff0c;但昨天我们差不多完成了将所有内容迁移到新的日志系统的工作&#xff0c;我们正在把一些内容整合进来&#xff0c;甚至是之前通过不同方式记录时间戳的旧平台层部分&#xff0c;现在也…

Redisson 实现分布式锁简单解析

目录 Redisson 实现分布式锁业务方法&#xff1a;加锁逻辑LockUtil 工具类锁余额方法&#xff1a;工具类代码枚举代码 RedisUtil 工具类tryLock 方法及重载【分布式锁具体实现】Supplier 函数式接口调用分析 Redisson 实现分布式锁 业务方法&#xff1a; 如图&#xff0c;简单…