网络远程访问的方式使用树莓派

网络远程访问的方式使用树莓派

一、环境安装

  1. 树莓派镜像 Raspberry Pi OS – Raspberry Pi

  2. SDCardFormatterv5 SD Memory Card Formatter | SD Association (sdcard.org)

  3. 烧录工具 Raspberry Pi

  4. putty Download PuTTY: latest release (0.77) (greenend.org.uk)

详情可参考:https://blog.csdn.net/xuancailinggan/article/details/93121712

二、实操

1. SD卡格式化

打开下载好的SDCardFormatter,点击Format将我们的SD卡进行格式化

image-20220622223906229

2. 烧录

打开我们的烧录工具,依次选择我们要烧录的镜像和烧录的SD卡点击烧录就可以了

image-20220622224026010

等待烧录成功…

image-20220622224044172

扫描二维码关注公众号,回复: 14467560 查看本文章

3. 网络配置

打开SD卡,在boot目录建立一个SSH文件建立一个空文本文件wpa_supplicant.conf在文本中输入

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
    
    
	ssid="你的无线网名称"
	psk="你的无线网密码"
	key_mgmt=WPA-PSK
	priority=1
}

将SD卡拔出插入树莓派并给树莓派接上电源,可以在手机上看到树莓派已经连入,查看树莓派的ip地址,可以下载一个Advanced IP Scanner,打开终端输入ipconfig,查看无线热点的IP地址,然后在IP Scanner中搜索。

image-20220622224202997

image-20220622224358602

确保我们电脑连接的也是手机热点,看到ip地址是10.60.222.228,在搜索时搜索10.60.222.1-255

这样就找到我们树莓派的IP地址了

4. 远程连接

打开putty,在putty中输入刚才的ip,然后建立连接,输入默认的用户密码

默认的用户:pi
默认的密码:raspberry

如果默认的账号密码不对,可以在boot中建立一个userconf.txt文件,此文件是单行文本,由 username:用户名内容-password:密码 组成——即想要的用户名,紧跟一个冒号,紧跟一个要使用的密码的加密表示。

或者在开始写入镜像的时候配置账号和密码

image-20220622224636871

然后再次输入账号密码就能进入系统了

image-20220622224803832

进行树莓派配置sudo raspi-config

image-20220622224818144

然后选择interface options

image-20220622224828017

打开VNC服务

image-20220622224838121

然后打开VNC Viewer,接着输入树莓派的IP,然后输入账户和密码

image-20220622224905187

三、创建账号并在个人文件中创建assert断言C程序

1. 创建用户

打开终端输入命令

su -
useradd -m -s /bin/bash 用户名
 
//密码设置
passwd 用户名

image-20220622225002202

权限不够的时候在 su前面加上sudo即可,然后进入创建的文件夹/home/用户名/中创建文件assert.c,在文件中输入

#include <assert.h>
#include <stdio.h>
 
int main()
{
    
    
   int a;
   char str[50];
     
   printf("请输入一个整数值: ");
   scanf("%d", &a);
   assert(a >= 10);
 
   printf("输入的整数是: %d\n", a);
    
   printf("请输入字符串: ");
   scanf("%s", str);
   assert(str != NULL);
 
   printf("输入的字符串是: %s\n", str);
    
   return(0);
}

如果无法创建文件可以使用命令

sudo chmod -R 777 /工作目录
touch assert.c
vim asssert.c

image-20220622225053013

然后就可以进行编译功能了

image-20220622225109091

之后使用GCC编译

image-20220622225127403

四、使用scp命令在两台Linux系统之间传输数据

scp是secure copy的简写, 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

因为scp传输是加密的,可能会稍微影响一下速度。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

1. spi语法

**基本语法:**
scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
 
 
//参数说明
-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p: 保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v: 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher:        以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config:    指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit:         限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option:    如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:          注意是大写的P, port是指定数据传输用到的端口号
-S program:       指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

2. 实例

分别在虚拟机和树莓派上下载ssh

image-20220622225252287

image-20220622225300702

把树莓派上之前练习的assert.c文件上传到虚拟机中

scp -r [email protected]:/home/lm/assert.c ./

image-20220622225319343

传输完成

可以看到assert.c文件出现在了桌面上

image-20220622225345488

五、参考文章

Linux scp命令 - 知乎 (zhihu.com)

猜你喜欢

转载自blog.csdn.net/ChenJ_1012/article/details/125418267