网络远程访问的方式使用树莓派
一、环境安装
-
SDCardFormatterv5 SD Memory Card Formatter | SD Association (sdcard.org)
-
烧录工具 Raspberry Pi
-
putty Download PuTTY: latest release (0.77) (greenend.org.uk)
详情可参考:https://blog.csdn.net/xuancailinggan/article/details/93121712
二、实操
1. SD卡格式化
打开下载好的SDCardFormatter,点击Format将我们的SD卡进行格式化
2. 烧录
打开我们的烧录工具,依次选择我们要烧录的镜像和烧录的SD卡点击烧录就可以了
等待烧录成功…
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中搜索。
确保我们电脑连接的也是手机热点,看到ip地址是10.60.222.228,在搜索时搜索10.60.222.1-255
这样就找到我们树莓派的IP地址了
4. 远程连接
打开putty,在putty中输入刚才的ip,然后建立连接,输入默认的用户密码
默认的用户:pi
默认的密码:raspberry
如果默认的账号密码不对,可以在boot中建立一个userconf.txt文件,此文件是单行文本,由 username:用户名内容-password:密码 组成——即想要的用户名,紧跟一个冒号,紧跟一个要使用的密码的加密表示。
或者在开始写入镜像的时候配置账号和密码
然后再次输入账号密码就能进入系统了
进行树莓派配置sudo raspi-config
然后选择interface options
打开VNC服务
然后打开VNC Viewer,接着输入树莓派的IP,然后输入账户和密码
三、创建账号并在个人文件中创建assert断言C程序
1. 创建用户
打开终端输入命令
su -
useradd -m -s /bin/bash 用户名
//密码设置
passwd 用户名
权限不够的时候在 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
然后就可以进行编译功能了
之后使用GCC编译
四、使用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
把树莓派上之前练习的assert.c文件上传到虚拟机中
scp -r [email protected]:/home/lm/assert.c ./
传输完成
可以看到assert.c文件出现在了桌面上