由于自己项目的学习需要,购入了一块树莓派,今天刚刚收到货,开机后发现不少坑,记录一下。

店家比较贴心送了一块已经烧录好官方系统的tf卡,插上卡,用hdmi接好显示器,上电就能看见桌面,非常的省心。

进桌面把玩了一下后,觉得这个小东西还是很不错的。但是玩归玩,生产力还是得上SSH。由于树莓派官方系统是默认关闭SSH功能的,我们要自行打开。

1.打开终端,在命令行输入下面指令进入系统配置界面:

sudo raspi-config

2.选择“Interface Options”进入接口选项,选择里面的SSH,再确定。

树莓派终端怎么打开python程序_linux

树莓派终端怎么打开python程序_vim_02

树莓派终端怎么打开python程序_ssh_03

 这样就使能SSH了,通过mobaxterm等软件就可以打开树莓派的终端了。

 使用mobaxterm打开终端后,我从香橙派拷了一个温度显示的代码到树莓派上,用vim编辑器打开,当时我整个人就不好了:全文语法不高亮、tap键长8。

查了一下之后发现应该是树莓派内置的vim编辑器的版本比较低,可以把官方的卸载,再通过apt指令下载新版本的。

1. 删除vi 编辑器

sudo apt-get remove vim-common

2. 重装vim

sudo apt-get install vim

然后就会提示404 not found。这两步是网上大部分教程的做法,但是由于默认的下载源在外网,所以国内无法访问,这时就要修改下载源了。


 编辑源目录文件,由于刚刚删掉vi,这里用另外一个自带的文本编辑器nano:

sudo nano /etc/apt/sources.list

进入之后把文件中原来不带井号的句子全部在句首加上井号,在脚本语言中#表示注释,相当于C语言的//。

然后加上清华的源:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

在nano里面ctrl + x保存, y确认,再enter确认文件名。

再编辑第二个文件

sudo nano /etc/apt/sources.list.d/raspi.list

里面还是一样的注释操作,然后加上下面的语句:

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

保存退出。

然后运行:

sudo apt-get update

就可以看到有没有更改成功。

然后就重复一开始的操作就行了:

sudo apt-get install vim

然后就下载成功了。

打开之后一般是默认tap键长8,语法高亮。

我们可以通过:

sudo vi /etc/vim/vimrc

在文件中加上:

set nu #显示行号
set tabstop=4 #table键长4
syntax on #打开语法高亮

就设置完成了。

贴一个显示当前cpu温度的代码进行测试:

#include "stdio.h"
#include "stdlib.h"
#include "sys/types.h"
#include "sys/stat.h"
#include "fcntl.h"
#include "unistd.h"

#define TEMP_PATH "/sys/class/thermal/thermal_zone0/temp"
#define MAX_SIZE 32

int main(void)
{
	int fd;
	double temp = 0;
	char buf[MAX_SIZE];

	/*OPEN THE PATH*/
	fd = open(TEMP_PATH, O_RDONLY);
	if(fd < 0)
	{
		fprintf(stderr, "failed to open the path\n");
		return -1;
	}

	/*cat temp*/
	if(read(fd, buf, MAX_SIZE) < 0)
	{
		fprintf(stderr, "failed to read temp\n");
		return 0;
	}

	/*transform to fraction for printting*/
	temp = atoi(buf) / 1000.0;
	//atoi is a func which can trans string to int
	printf("temp : %2f\n", temp);

	close(fd);
}

gcc编译后运行:

pi@raspberrypi:~/ccode $ ./a.out
temp : 32.128000

ok,完成