孫靖凡 李威 劉宇婕 楊文珺
摘要:針對(duì)當(dāng)前物聯(lián)網(wǎng)所面對(duì)的共性需求,提出了要為世界物聯(lián)網(wǎng)發(fā)展提供更加開放性服務(wù)。而當(dāng)今社會(huì)也面臨著種種問題,針對(duì)傳統(tǒng)農(nóng)作物數(shù)據(jù)監(jiān)測(cè)局限性較大、架設(shè)線路困難和耗費(fèi)人力物力等問題,設(shè)計(jì)了一種農(nóng)作物遠(yuǎn)程化,智化的低空觀測(cè)系統(tǒng)。該系統(tǒng)以樹莓派為核心,通過無線網(wǎng)絡(luò)實(shí)現(xiàn)農(nóng)作物低空和地面聯(lián)合觀測(cè)。完成對(duì)傳感器數(shù)據(jù)的接入、管理儲(chǔ)存,處理及其應(yīng)用,并以樹莓派為網(wǎng)關(guān)設(shè)備進(jìn)行圖像的采集,通過Hppt 或socket.IO與云平臺(tái)服務(wù)器進(jìn)行連接。而這些都是基于樹莓派的編輯來實(shí)現(xiàn)的,最終得出樹莓派開發(fā)使得生活便利,美好,推動(dòng)時(shí)代發(fā)展的結(jié)論。
關(guān)鍵詞:樹莓派;Linux;NANO;VIM;應(yīng)用實(shí)例
中圖分類號(hào):TP399 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)09-0091-04
Abstract: In view of the common needs faced by the current Internet of things, it is proposed to provide more open services for the development of the worlds Internet of things.Todays society is facing a variety of problems,limitations of traditional crops data monitoring,difficult setting up lines,laborintensive material and other problems. A remote and intelligent crops low-altitude observation system was designed.Taking Raspberry Pi as the core, the system can achieve the observation on low-altitude and ground through wireness network.The access,management,storage,handing and application of the performed.The raspberry pi is used as a gateway device port for image date acquisition,connected thought Http or Socket.IO to the cloud platform server for image date transmission. And these are based on the editors of the raspberry pie and finally come to the conclusion that the raspberry pi is developing to make life convenient and beautiful and promote the development of the times.
Key words:Raspberry pi;Linux;NANO;VIM; application example
1 硬件設(shè)計(jì)
樹莓派(Raspberry Pi) 是一款基于“Linux”嵌入式系統(tǒng)的卡片電腦,它提供了IIC( InterIntegrated Circuit) 、USB( Universal Serial Bus) 和 HDMI( High Definition Multimedia Interface) 等接口,可選用 Python、 C 語言通過裝載 Linux 系統(tǒng)和相應(yīng)的應(yīng)用程序?qū)崿F(xiàn)多種功能。
2 Vim編輯器的安裝與配置
2.1 安裝
首先我們得在樹莓派上安裝vim,我們可以運(yùn)用apt-get的命令手動(dòng)安裝vim。在命令行界面輸入sudo apt-get install vim根據(jù)命令分析和依賴關(guān)系它會(huì)自動(dòng)獲取安裝,完成后會(huì)顯示vim已經(jīng)是最新的版本。
安裝完成后,在命令行界面輸入vim會(huì)進(jìn)入歡迎界面,界面上會(huì)顯示相關(guān)的歡迎詞和提示。由于vim是支持命令行的工具,所以說它的所有操作都是可以用快捷鍵完成的,它其實(shí)是支持鼠標(biāo)的,都是在平時(shí)的使用過程中效果并不是特別好,所以我還是建議大家使用vim的快捷鍵。
2.2 前期準(zhǔn)備
Vim有一個(gè)配置文件,叫做vimrc。先啟動(dòng)vim 按Esc加:進(jìn)入底行工作模式輸入echo $VIM按回車鍵就可以看到配置文件所在的位置/usr/share/vim,然后底行工作模式:q退出。
可以進(jìn)入命令行輸入cat/usr/share/vimrc進(jìn)行查看配置文件,然后我可以對(duì)這個(gè)文件進(jìn)行編輯,我們可以使用NANO進(jìn)行也可以通過VIM進(jìn)行,但是NANO有個(gè)問題是如果修改該文件保存后要寫入root權(quán)限,那么我們就需要用sudo命令進(jìn)行sudo vim /usr/share/vim/vimrc。然后我們進(jìn)入文件,藍(lán)色字體是對(duì)vim的描述,它使用引號(hào)表示注釋,如果去掉引號(hào)表示注釋生效。我們可以按a進(jìn)入編輯模式,按Delete鍵去掉注釋,文件中有幾個(gè)關(guān)鍵句。
例如:syntax on 表示標(biāo)志打開,生效的話表示帶有C語言的內(nèi)容會(huì)高亮顯現(xiàn),vim5之后就可以支持這一點(diǎn)。接下來打開setshowmatch,這一行是顯示括號(hào)匹配的,在C語言的編程中常常會(huì)出現(xiàn)括號(hào)不匹配的問題,生效這一行可以很好的避免這一問題,光標(biāo)移動(dòng)到正反括號(hào)上回高亮顯示其對(duì)應(yīng)括號(hào)。緊接著,在下面添加一行內(nèi)容set nu,意義是顯示行號(hào),這個(gè)vim本身是沒有的需要用戶自行添加。還有背景色,支持鼠標(biāo),C語言的智能縮進(jìn)這些設(shè)置可以參考手冊(cè),根據(jù)自己喜好自行調(diào)整。
目前的設(shè)置,已經(jīng)足夠進(jìn)行LED小燈或是智能小車循跡的編程使用。
下面然我們具體來看一下vim編輯器如何來編寫內(nèi)容。
3 Vim的使用
3.1 環(huán)境搭建
首先在樹莓派命令行中輸入 mkdir+文件名 創(chuàng)建一個(gè)新的目錄,這里以mkdir test1為例。然后輸入cd test1切換進(jìn)這個(gè)目錄,新建一個(gè)vim文件,在命令行輸入vim xiaoche.py回車進(jìn)入文件夾。
接下來的使用就建立在對(duì)快捷鍵和工作模式的認(rèn)識(shí)基礎(chǔ)上,讓我們來簡(jiǎn)單了解一下vim快捷鍵UI工作模式的使用。
3.2 vim的常用工作模式
3.2.1 四個(gè)Vim常用模式:
命令模式;插入模式;可視模式;正常模式。
3.2.2 怎么進(jìn)入模式
1)正常模式
正常模式主要用來瀏覽和修改文本內(nèi)容的
打開Vim一般都是正常模式。在任何模式下,只需要通過按下 Esc 鍵就能夠返回正常模式了。
2)插入模式
插入模式是用來刪改或添加內(nèi)容的
i 在光標(biāo)所在字符前開始輸入文字,進(jìn)入插入模式
a 在光標(biāo)所在字符后開始輸入文字,進(jìn)入插入模式
o 在光標(biāo)所在行的下面單獨(dú)開一新行來輸入文字,進(jìn)入插入模式
s 刪除光標(biāo)所在的字符,進(jìn)入插入模式
3)可視模式
可視模式等同于于高亮選取文本后的普通模式
可視模式擁有子模式,以行為單位進(jìn)行選取的可視行模式,使用“V”鍵進(jìn)入和以塊為單位進(jìn)行選取的可視塊模式,按 “Ctrl+v”鍵進(jìn)入
4)命令模式
命令模式則大多用于操作文本文件,例如保存文件;或者用來改變編輯器本身的狀態(tài),例如設(shè)定多欄窗口、標(biāo)簽或者退出編輯器等等
3.3 模式切換圖
3.4 基本快捷鍵的使用
1)替換與刪除
Vim的常規(guī)刪除命令是 d、x,結(jié)合Vim的其他特性可以實(shí)現(xiàn)一些基礎(chǔ)的刪除功能。例如將光標(biāo)定位于文件內(nèi)指定位置,用其他字符來替換光標(biāo)所指向的字符,或從當(dāng)前光標(biāo)位置刪除一個(gè)或多個(gè)字符,一行或多行
Vim常規(guī)的替換命令有c、s ,結(jié)合Vim的其他特性也可以實(shí)現(xiàn)一些基礎(chǔ)的替換功能,不過替換命令執(zhí)行以后,通常會(huì)由編輯模式進(jìn)入插入模式
s 用輸入的正文替換光標(biāo)所指定的字符;
S 刪除當(dāng)前行,并進(jìn)入編輯模式;
ns 用輸入的正文替換光標(biāo)右側(cè) n 個(gè)字符
nS 刪除當(dāng)前行在內(nèi)的 n 行,并進(jìn)入編輯模式
cw 用輸入的正文替換光標(biāo)右側(cè)的字
cW 用輸入的正文替換從光標(biāo)到行尾的所有字符
ncw 用輸入的正文替換光標(biāo)右側(cè)的 n 個(gè)字
cb 用輸入的正文替換光標(biāo)左側(cè)的字
ncb 用輸入的正文替換光標(biāo)左側(cè)的 n 個(gè)字
cd 用輸入的正文替換光標(biāo)的所在行
ncd用輸入的正文替換光標(biāo)下面的 n 行
gg dG 刪除全部?jī)?nèi)容
d0 刪除到行首
dl 刪除當(dāng)前字符
dh 刪除前一字符
dd 刪除當(dāng)前行
dj 刪除上一行
dk 刪除下一行
db 刪除到前一個(gè)單詞
dB 刪除到前一個(gè)單詞包括標(biāo)點(diǎn)在內(nèi)
2d 刪除當(dāng)前行開始的2行
d$ 刪除當(dāng)前字符之后的所有字符(本行)
D 刪除當(dāng)前字符至行尾。D=d$
kd gg 刪除當(dāng)前行之前所有行
jdG 刪除當(dāng)前行之后所有行
J 刪除兩行之間的空行,實(shí)際上是合并兩行
2)復(fù)制粘貼
yy 拷貝當(dāng)前行
*“+y 復(fù)制 1 行到操作系統(tǒng)的粘貼板
*“+nyy 復(fù)制 n 行到操作系統(tǒng)的粘貼板
nyy 拷貝當(dāng)前后開始的n行,比如2yy拷貝當(dāng)前行及其下一行
x 剪切當(dāng)前字符
2x 剪切當(dāng)前光標(biāo)開始向后兩個(gè)字符
X 剪切當(dāng)前字符的前一個(gè)字符
p粘貼到下一行或右側(cè),修改和刪除的數(shù)據(jù)自動(dòng)到粘貼板中
P粘貼到上一行或左側(cè)
如果是要替換別的單詞,則先按 v 進(jìn)入 visual mode,選中要替換的單詞,再按粘貼即可,粘貼板中就換成了被替換的單詞
yiw在一個(gè)單詞的任意字母使用,就復(fù)制該單詞,而yw 只是復(fù)制從光標(biāo)所在字母到詞尾的部分
3)撤銷和重復(fù)(底行模式)
u 撤銷最近一次修改 undo
. 重復(fù)最后一條修改正文的命令
U 撤銷所有修改
ctrl + r 取消最后一次的撤銷 redo
4)打開、保存
:e path_to_file/filename 在已經(jīng)啟動(dòng)的Vim中打開一個(gè)文件
:w 保存當(dāng)前編輯的文件
:w file_temp 將當(dāng)前文件另存為file_temp
5)退出
ZZ 保存并退出
:wq 保存并退出
:e! 放棄所有修改,并打開原來文件
Shift +Z,Q 無條件退出
:q! 無條件退出
ctrl + Z 退出vim,不推薦,會(huì)生成.swp的文件
6)注意事項(xiàng)
vim中含有多個(gè)寄存器,可以通過輸入命令reg來查看:
1.數(shù)字寄存器:"0 ~"9,緩存最近操作內(nèi)容,復(fù)制與刪除有別, "1-"9緩存最近9次刪除內(nèi)容,"0寄存器緩存最近一次復(fù)制的內(nèi)容
2.無名寄存器:"",緩存最后一次操作內(nèi)容
3.行內(nèi)刪除寄存器:"-,緩存行內(nèi)刪除內(nèi)容
4.只讀寄存器:":,".,"%,"#,分別緩存的是最近命令、最近插入文本、當(dāng)前文件名、當(dāng)前交替文件名
5.表達(dá)式寄存器:"=,只讀,并用于執(zhí)行表達(dá)式命令
6.具名寄存器:"a ~ "z或"A - "0Z,指定時(shí)可用
7.黑洞寄存器:"_,不緩存操作內(nèi)容
8.選擇及拖拽寄存器:"*,"+,"~,存取GUI選擇文本,可用于與外部應(yīng)用交互,使用前提為系統(tǒng)剪切板可用
9.模式寄存器:"/,緩存最近的搜索模式
比較特殊的是這個(gè)+寄存器代表系統(tǒng)剪切板
復(fù)制:"+y
粘貼 :"+p
樹莓派3B默認(rèn)安裝的vim是不支持系統(tǒng)剪切板的 需要執(zhí)行以下安裝:
sudo apt-get install vim-gnome
3 NANO編輯器
NANO編輯器是在Linux VPS中的另一種編輯器,雖然vim編輯器的功能強(qiáng)大,但是不易上手,而NANO
則相對(duì)容易一些。下面我來簡(jiǎn)單介紹一下他的使用方法。
3.1 安裝
命令行界面輸入sudo apt-get install -y nano
自動(dòng)安裝
3.2 環(huán)境搭建
1)nano可以支持語法高亮,從而更好地服務(wù)于編程。為了使用語法高亮,首先要安裝語法高亮文件:
2)安裝完成后,可以看到~/.nano/syntax下多了很多語法高亮文件:
3)將語法高亮文件添加到~/.nanorc中,就能讓nano啟動(dòng)對(duì)相應(yīng)語言的語法高亮支持,例如:
4)如果有需要,還可以把更多的語法高亮文件加入到.nanorc中。這時(shí)再打開獲得支持的程序文本時(shí),就可以看到語法高亮的效果。下圖中用nano打開了一段Python程序:
3.3 NANo的使用方法
1)新建或打開文件
NANO的路徑+文件名
若文件存在,上面的命令將會(huì)打開這個(gè)文件;若文件不存在,就會(huì)創(chuàng)建一個(gè)新文件并打開。
2)復(fù)制、剪貼、粘貼
復(fù)制整行:Alt+6 剪貼整行:Ctrl+K
粘貼: Ctrl+U
如果需要復(fù)制、剪貼多行或者一行中的某一部分,就將光標(biāo)移動(dòng)到需要復(fù)制或剪貼的文本的開頭,按Ctrl+6做標(biāo)記,然后把移動(dòng)光標(biāo)到待復(fù)制或剪貼的文本末尾。此時(shí)選定的文本會(huì)高亮,用Alt+6來復(fù)制,Ctrl+K來剪貼。如果在選擇文本過程中要取消,只需要再按一次Ctrl+6
3)搜索
按Ctrl+W,然后輸入關(guān)鍵詞,按enter確定。將會(huì)定位到第一個(gè)匹配的文本,接下來可以用Alt+W來定位到下一個(gè)匹配的文本。
4)翻頁(yè)
按Ctrl+Y翻到上一頁(yè),按Ctrl+V翻到到下一頁(yè)
5)保存
通過Ctrl+O來保存修改的內(nèi)容
6)退出
按Ctrl+X,若你修改了文件,則下面會(huì)詢問你是否需要保存修改。輸入Y確認(rèn)保存,輸入N不保存,按Ctrl+C取消返回。
如果輸入了Y,下一步會(huì)讓你輸入想要保存的文件名。如果不需要修改文件名直接enter就行;若想要保存成別的名字,則輸入新名稱后確定。
4 應(yīng)用實(shí)例
以驅(qū)動(dòng)小車一側(cè)電機(jī)為例:
1)命令行界面輸入 vim xiaoche.py
新建一個(gè)vim文件
2)進(jìn)入VIM編輯器,按a進(jìn)入插入模式,輸入以下代碼
3)按Esc退出插入模式,按:進(jìn)入底行模式,輸入wq保存并且退出
4)回到命令行界面輸入 sudo python xiaoche.py運(yùn)行程序
5 結(jié)束語
隨著物聯(lián)網(wǎng)時(shí)代的到來,信息技術(shù)的飛速發(fā)展,對(duì)農(nóng)業(yè),生活,工作等領(lǐng)域更加高效的管理控制是必不可少的,樹莓派的作用尤為突出。樹莓派對(duì)于全球Linux嵌入式開發(fā)的貢獻(xiàn)是大家有目共睹的,從長(zhǎng)遠(yuǎn)來看注重編輯器的規(guī)范操作在未來是必不可少的。熟練掌握樹莓派的NANO和VIM編輯器將為更進(jìn)一步的研究與開發(fā),打下堅(jiān)實(shí)的基礎(chǔ),無形中推進(jìn)了世界嵌入式Linux開發(fā)的發(fā)展。以此為基礎(chǔ),將會(huì)有更多,更加精彩神奇的創(chuàng)造,豐富并且使世界更加美好。
參考文獻(xiàn):
[1] EbenUpton, Gar.樹莓派用戶指南[M].3版.張敬軒,郭棟,王偉,譯.人民郵電出版社,2016.
[2] 李文勝.基于樹莓派的嵌入式 Linux 開發(fā)教學(xué)探索[J].電子技術(shù)與軟件工程,2014,9(1):5660.
[3] 張懷柱.基于樹莓派的農(nóng)作物低空觀測(cè)系統(tǒng)設(shè)計(jì)[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2015(11).
[4] 蘇祥林.基于樹莓派的物聯(lián)網(wǎng)開放平臺(tái)[J].西安郵電大學(xué)出版社,2016(5).