樹莓派B+使用入門&RPI庫安裝&wringPi庫安裝

最近看看試用一下樹莓派進行一些開發操做,因而入手一塊Raspberry Pi B+的板子來玩。因爲沒有顯示器,沒有備用的鍵盤和鼠標,因此想到用SSH來控制樹莓派,剛開始還很擔憂已經安裝好的操做系統到底有沒有安裝SSH服務,要是沒有安裝就蛋疼了。。。html

(後面發現官方的系統裏面竟然沒有安裝VIM編輯器,因而想着仍是試着用用早已忘記的Vi,結果然的是用的焦頭爛額啊!!!!簡直反人類了,因而安裝了VIM,發現更本找不到VIM的安裝包,因而 sudo apt-get update;sudo apt-get upgrade等了半天弄完以後,sudo apt-get install -y vim,好的,如今終於可使用VIM編程序了。)python

先來看看Raspberry Pi 3 B+的配置linux

1GB RAMgit

802.11.b/g/nWireless LANshell

Bluetooth 4.1編程

SD Card 8GBvim

Broadcom BCM2835芯片(700 MHz ARM11)less

Memory (SDRAM): 256 Megabytes (shared with GPU)編輯器

USB 2.0 ports: 1 2 (via integrated USB hub) ide

Video outputs: Composite RCA (PAL & NTSC) , HDMI (rev 1.3 & 1.4) 

Audio outputs: 3.5 mm jack, HDMI 

Low-level peripherals: 8 × GPIO, UART, I²C bus, SPI bus with two chip selects, +3.3 V, +5 V, ground

下面來配置個人樹莓派開發板:

下載XShell工具(直接百度搜索安裝就能夠了(選擇普通安裝))

安裝完以後以下所示:

而後選擇新建(以下所示):

協議選擇SSH,端口爲默認端口,名稱本身取名字,區別其餘的SSH鏈路就能夠了,主機位置填寫本身樹莓派的主機的IP地址,我是採用路由器的LAN口和樹莓派進行連接的,所以我能夠經過查看路由器的網頁管理器來查看接入設備的IP地址和MAC地址等信息,好比登陸192.198.1.1的路由器控制界面,查看鏈接設備找到Raspberry,這裏咱們只須要用到的是Raspberry的IP地址信息。輸入完IP地址以後咱們就可連接了,固然第一次連接咱們還須要輸入Raspberry的系統的用戶名和密碼,這個在官方的系統中的帳戶和密碼都是--》帳戶:pi  密碼:raspberry。輸入完帳戶密碼以後就完成了和樹莓派的鏈接,固然這些操做都是要等你上電Raspberry並插入代用Sys的SD Card以後的操做。(其餘的鏈接方式和查看Raspberry的IP的方式請看Reference的連接!

      LAN扣查看設備的IP地址(地址池通常是從000到255之間的)能夠直接在這些地址中進行查看搜索IP

鏈接完成以後以下圖所示:

完成鏈接以後咱們就能順利的經過Xshell的命令行對樹莓派進行操做了!Cheers!

硬件參數以及GPIO控制編程:

以下圖所示(這是樹莓派的GPIO的引腳圖):風扇的安裝位置就是引腳4和引腳6,注意紅色線鏈接的是5V的位置pin4,黑色的線鏈接的是pin6。後面以爲風扇聲音太大了就沒用了,以後打算有時間給風扇上串連一個滑動變阻器調節風扇的速度。

     

這個就是樹莓派的硬件的安裝圖,風扇的安裝,這裏我考慮使用raspberry的python編寫實時監測CPU溫度的腳本,進而啓動控制風扇的轉動(後面升級爲自動調節風扇的速度)

下面開始配置使用咱們的GPIO引腳:

安裝GPIO的操做庫:

1-- C語言庫包安裝 wiringPi.h和編程

    1$ sudo apt-get update

    2$ sudo apt-get install git-core

    3$ git clone git://git.drogon.net/wiringPi

    4$ cd wiringPi

    5$ ./build

    6$ cd wiringPi/wiringPi

    7$ make

    8$ make install

完成以上的8個步驟的操做就完成了WiringPi庫的安裝。注意,我這裏遇到一個問題,找了好久才解決的問題,就是當我編譯個人main.c文件的時候報出以下的錯誤(gcc main.c -o main -l wiringPi):

/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../arm-linux-gnueabihf/crt1.o:在函數‘_start’中:
/build/glibc-H706YU/glibc-2.19/csu/../ports/sysdeps/arm/start.S:119:對‘main’未定義的引用
collect2: error: ld returned 1 exit status

報錯的解決辦法是執行第7條和第8條指令,make ;make install 這樣就創建安裝了Dynamic lib和Static Lib的安裝。

接下來就是編程啦~~~~~~~

 1 #include <wiringPi.h>
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 int main(int argc,char* argv[])
 5 {
 6     if (argc < 2)
 7     {
 8         printf("Usage example: ./led 4 \n");
 9         return 1;
10     }
11     int pinNumber = atoi(argv[1]);//字符串轉整形函數atoi()函數
12     printf("PinNumber is:%d\n",pinNumber);
13     if (-1 == wiringPiSetup())
14     {
15         printf("Setup wiringPi failed!");
16         return 1;
17     }
18     printf("The Code will begain to Running!\n");
19     pinMode(pinNumber, OUTPUT); // set mode to output 
20     while(1) 
21     {
22         digitalWrite(pinNumber, 1); // output a high level 
23         delay(800);
24         digitalWrite(pinNumber, 0); // output a low level 
25         delay(800);
26     }
27     return 0;
28 }

接下來編譯上述程序:

gcc led.c -o led -lwiringPi

將獲得的led可執行程序執行便可看到現象。

2-- Python語言庫包安裝RPi.GPIO和編程

Python的開發非常順暢,沒有遇到任何編譯出錯的問題,一路綠燈啊~~~

    1$ sudo apt-get install python-dev

    2$ sudo apt-get install python-pip(這是一個python開發包的安裝插件)

    3$ sudo pip install rpi.gpio

測試安裝成功:

接下來就能夠開始編程啦!!!!!(我用的是BCM GPIO的17號引腳,彷佛24號引腳很差用,你們注意一下)

 1 import os
 2 import sys
 3 import RPi.GPIO as GPIO
 4 import time
 5 
 6 led_pin=17
 7 
 8 GPIO.setwarnings(False)
 9 GPIO.setmode(GPIO.BCM)
10 GPIO.setup(led_pin,GPIO.OUT)
11 
12 print 'linker led pin 17 (BCM GPIO)'
13 
14 while True:
15     GPIO.output(led_pin,True)
16     time.sleep(0.2)
17     GPIO.output(led_pin,False)
18     time.sleep(0.2)

我就不上效果圖了(盜用幾張圖片T.T),這些控制都很簡單,想要看看還有那些好的基於樹莓派Raspberry的項目,看一看這裏:http://www.shumeipaiba.com/

  

最後就是關機的問題了:

在命令行運行:poweroff now便可

等待關機以後,拔掉電源便可,或者本身給USB電源線上面安裝一個開關也能夠。

Reference:

http://www.codelast.com/%E5%8E%9F%E5%88%9B%E9%80%9A%E8%BF%87raspberry-pi%E7%9A%84gpio%E6%8E%A5%E5%8F%A3%E6%8E%A7%E5%88%B6%E5%8F%91%E5%85%89%E4%BA%8C%E6%9E%81%E7%AE%A1control-led-through-the-gpio-on-raspberry-pi/(入門C語言控制GPIO+Python控制GPIO)

http://www.cnblogs.com/emouse/archive/2013/06/07/3124027.html(沒有顯示器如何鏈接,如何控制)

http://shumeipai.nxez.com/2013/09/07/no-screen-unknow-ip-login-pi.html沒有顯示器且IP未知的狀況下登陸樹莓派

http://blog.csdn.net/wangkai_123456/article/details/21530963(main函數的兩個參數的相關問題和使用方法int main(int argc,int *argv[]))

相關文章
相關標籤/搜索