由于自己项目的学习需要,购入了一块树莓派,今天刚刚收到货,开机后发现不少坑,记录一下。
店家比较贴心送了一块已经烧录好官方系统的tf卡,插上卡,用hdmi接好显示器,上电就能看见桌面,非常的省心。
进桌面把玩了一下后,觉得这个小东西还是很不错的。但是玩归玩,生产力还是得上SSH。由于树莓派官方系统是默认关闭SSH功能的,我们要自行打开。
1.打开终端,在命令行输入下面指令进入系统配置界面:
sudo raspi-config
2.选择“Interface Options”进入接口选项,选择里面的SSH,再确定。
这样就使能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,完成