4月「掘金·日新计划」第16天
一、常用指令
- 重启:sudo reboot
- 关机:sudo shutdown -h now
- 查看CPU温度:vcgencmd measure_temp
- 查看有无WiringPi库:gpio -v
- 查看树莓派io口:gpio readall
- 查看Linux版本:uname -r
- 查看某个指令在哪里:which
二、刷机及备份
1.1、刷机
账号:pi 密码:raspberry
-
Win32 Disk lmager软件,写入镜像
直接HDMI连接,可以登录
-
登录启动
-
直接HDMI连接,可以登录
-
串口登录
-
解除蓝牙绑定,config.txt文件
dtoverlay=pi3-miniuart-bt -
配置串口,cmdline.txt文件
dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
-
-
网络登录
-
连接网络,添加账号密码,重启
-
添加账号密码
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf sudo nano /etc/wpa_supplicant/wpa_supplicant.conf // nano ctrl+o保存,ctrl+x退出 把下面添加进去 network={ ssid="无线名" psk="密码" } -
固定ip(最好不要固定)
sudo vi /etc/rc.local 把下面添加进去,IP地址用指令ifconfig出来 ifconfig wlan0 IP地址 -
连不上怎么办
ls /sys/class/net //查看是否有wlan0,判断驱动是否加载 sudo iw dev wlan0 scan |grep SSID //查看能否搜索到你wifi //搜不到解决方法 输入:sudo raspi-config 选择第二个:Network 0ptions 选择:N2 Wi-fi 向下找到选择:CN China 回车 输入WiFi名 输入密码 重启树莓派,查看是否连接wifi
-
-
打开HHS
输入:sudo raspi-config 选择第五个:Interfacing Options 选择hhs -
登录,使用SecureCRT或MobaXterm
-
-
xrdp登录,图形方式
-
下载安装xrdp
sudo apt-get install xrdp -
打开远程桌面,输入ip连接
-
-
-
换源
-
更新源
打开文件:sudo vi /etc/apt/sources.list 添加源地址 deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi -
更新vi
更新源:sudo apt-get update 更新vim:sudo apt-get install vim
-
1.2、备份系统
微信公众号:编程那些事
-
Win32 Disk lmager备份
-
Linux dd命令
-
查看SD卡实际设备,lsblk
-
备份
sudo dd bs=4M if=/dev/sdc | gzip>/home/..../raspberry.gz -
还原
sudo gzip -dc /home/..../raspberry.gz | sudo dd bs=4M of=/dev/sdc
-
三、文件共享
- 使用FileZilla软件
- sftp://ip地址,用户名,密码,连接
四、库
4.1、静态库制作及使用
静态库的格式xxx.a
-
生成xxx.o文件
- gcc 文件名 -c,-c生成.o,-s生成汇编.s 例:
gcc ser.c -c
- gcc 文件名 -c,-c生成.o,-s生成汇编.s 例:
-
生成静态库文件
- ar rcs lib库名.a xxx.o
- 例:
ar rcs libser.a ser.o - ar是指令,rcs是指令参数,可以ar --help查看ar的参数说明
-
使用
gcc server.c -lser -L ./ -o ser- gcc 编译的文件 -l库名 库查找路径(默认查找/usr/lib /usr//local/lib),-L当前路径
4.2、动态库制作及使用
动态库格式xxx.so
-
生成动态库文件
- gcc -shared -fpic 文件名 -o lib库名.so
- -shared:指定生成动态库
- -fpic:fpic选项作用于编译阶段,在生成目标文件时就得使用该选项,以生成位置无关的代码。
- 例:gcc -shared -fpic ser.c -o libser.so
-
使用
-
编译和静态库一样,gcc server.c -lser -L ./ -o ser
-
运行
-
动态库放入/lib,/usr/lib,/usr/local/lib文件下
-
添加环境变量
- export LD_LIBRARY_PATH="动态库位置pwd命令出来"
- 可以写个.sh,因为这个环境变量是临时的
- 也可以修改终端.bashrc文件 source .bashrc生效
-
-