Ko slišite izraz "Raspberry Pi", se sliši kot nekakšno sadje ali vsaj kakšen modul nekega naključnega programskega jezika. Ampak ne, tukaj sem, da vam dokažem narobe. Pa si poglejmo, kaj točno je ta Pi in kako je naš najljubši piton vključen v vse to.

Kaj je malina Pi?

Raspberry Pi je mikroračunalnik velikosti kreditne kartice. Tako izgleda Raspberry Pi:

Raspberry Pi temelji na čipu Broadcom BCM2835. Prvotni čip sta ARM s čipom 700 MHz procesorjem in VideoCore IV GPU z 256 MB RAM-a. Toda to je bilo pred nekaj leti. Kasneje sta bili izdani različici B in B +, ki sta imela 512 MB RAM-a. In najnovejši Model Raspberry PI 2 je 900 Mhz štirijedrni procesor ARM Cortex-A7, 1 GB RAM-a, 4 vrata USB, 40 GPIO zatiči, polni vhod HDMI, 1 vmesnik Ethernet, kombinirani 3, 5-milimetrski avdio priključek in kompozitni video, Vmesnik kamere (CSI), zaslonski vmesnik (DSI), reža za Micro SD kartico, ki podpira do 64 GB, in VideoCore IV 3D grafično jedro. Sliši se zanimivo? Potem pa naj vam povem nekaj več.

Raspberry Pi je pravzaprav računalnik velikosti žep, skoraj enak velikosti kroga kartic; in ker ima procesor ARM Cortex-A7, lahko poganja celoten razpon ARM GNU / Linux distribucij, vključno z Snappy Ubuntu Core, pa tudi Microsoft Windows 10.

Torej zdaj z uvodnim delom poglejmo, kakšna je resnična uporaba tega mikroračunalnika.

Realna uporaba

Sledi nekaj najbolj osupljivih projektov, ki sem jih videl do danes. Preden nadaljujem s tem, kako uporaben je python z Raspberryjem, si poglejmo te projekte (navajam samo imena projektov. Vljudno poiščite celoten projekt v github ali Google za več informacij):

1. Izdelava tabličnega računalnika z Linuxom:

Ja, prav ste prebrali. Iz preprostega programa RaspPi lahko naredite tablični računalnik. Vse, kar bi potrebovali, je spajkanje preprostega 10-palčnega zaslona na dotik, prenosnega polnilnika 10000 mAh, modula kamere in Wi-Fi adapterja ter IR senzorja. Verjetno boste morda želeli sestaviti tudi zadevo, ki vam jo predlagam, da naredite iz Balsa Wood. Zato je močan, lahek in lahko zamenjan. Ogromno ljudi je že zgradilo ta neverjetni stroj. Prepričajte se.

2. ugrabitev omrežja Pi:

Ste že videli znano TV serijo G. Robot? Če še niste, potem to zagotovo morate preveriti. Je neverjetno neverjetno. Če ste računalniški geek, je ta serija natančna replika tega, kar počnejo hacktivisti v resničnem življenju. Nisem pa tu, da bi promoviral nobeno serijo. Torej, ko se vrnemo k naši temi, če ste videli serijo, potem veste, o čem govorim.

Poleg tega je Pi natančno nameščen z različico ARM Kali Linux in nanj priložen adapter. Tisti, ki deluje popolnoma dobro, je TP-LINK wn722n. Po namestitvi samo namestite VNC v RaspPi in ga pustite na katerem koli osamljenem območju v prostorih podjetja. BOOM !! Povežite se z VNC s sistemom doma in zdaj boste zlahka razbili gesla WPA / WPA2 in stopili v omrežje.

Omrežni inženir bo izjemno težko iskal Pi, saj je izredno kompakten in ga lahko celo skrijete znotraj procesorja ali monitorja računalnika.

3. Gradnja Rasp-Pi QuadCopterja:

Zdaj to ne bi vsi želeli zgraditi. Razlog za to je, da RaspPi potrebuje 5V baterijo. In če ste iz ozadja quadcopterja, potem verjetno veste, da moramo Quad narediti čim lažji. Torej, razen če niste strokovnjak za elektroniko, verjetno to ne bi radi počeli. Ampak samo pomislite na možnosti, ki jih lahko naredite, če bi lahko ustvarili Quad z RaspPi.

Priporočeni tečaji

  • Program AJAX
  • Tečaj o hitrem preizkusu Professional
  • Usposabljanje za certificiranje ExtJS
  • Tečaj CISSP

4. Prenosni program RaspStation Pi:

Počakaj. Kaj ??? Kaj to pomeni? To bi moralo biti Portable Playstation ali PSP. Ne, prav ste prebrali. Ljudje so se s pomočjo malo kodiranja naučili izdelovati prenosni Gameboy iz pi. Ta članek sem prejšnji teden prebrala nekje na githubu. Mislim, da bi to morali preveriti.

5. Pi-rate radio:

Pi-rate Radio ni samo vaš vsakdanji radio. Radijski sprejemnik lahko naredite v nekaj urah in začnete eksperimentirati s frekvencami, na katere se lahko spremeni. To je pravzaprav zelo kul, le da, če pridete v napačno frekvenco, kot je vlada, potem bi vas lahko resnično spravilo v težave.

Zdaj, dragi moji prijatelji, mislim, da ste gotovo imeli idejo, česa je RaspPi sposoben; Skoraj vse, kar zmore vaš običajni mobilni telefon ali računalnik, in tudi tiste stvari, ki jih ne zmorejo.

Zdaj pa pojdimo korak nazaj in poglejmo, kako je python povezan z vsem tem.

Mešanica Pythona

Ko kupite celoten komplet RaspPi, je priložen 8 gigabajt kartice SD 10. Ta kartica ima vnaprej nameščen operacijski sistem, imenovan NOOBS. NOOBS temelji na debianu in vsebuje že Python 2 kot tudi 3. Toda zaradi nekega razloga, če ugotovite, da manjkate kakšno določeno različico pythona, jo lahko preprosto namestite tako, da v ukazno vrstico vnesete naslednje:

>>> sudo apt-get install python

Preden zgradite svoj python, morate poskrbeti, da imate nekaj stvari. Da bi HTTPS / SSL funkcionalnost pytona delovala pravilno, potrebujemo libssl-dev. tk-dev je potreben tudi za razvoj grafičnega uporabniškega vmesnika Tk, libsqlite3-dev pa bo dodal podporo Sqlite3, vdelani bazi podatkov SQL. Preden začnete s pythonom, konfigurirajte in namestite vse to:

>>> sudo apt-get update

>>>sudo apt-get upgrade -y

>>>sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev

>>>sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev

>>>sudo apt-get install libssl-dev openssl

Po želji lahko z ažuriranjem simbolične povezave prepisujete vključeno različico Python 3 (3.2.3 v moji distribuciji).

>>> sudo ln -sf /usr/local/bin/python3.4 / usr / local / bin / python3

Alternativa pythonu je ipython. IPython je interaktivna lupina Python s poudarkom na skladnji, samodejnim zaključevanjem, lepim tiskanjem, vgrajeno dokumentacijo in še več. IPython ni privzeto nameščen. Lahko ga preprosto namestite tako, da vtipkate:

>>> sudo apt-namestite ipython #or ipython3, če želite

Z zagonom ipythona v terminalu boste začeli. Prav tako lahko namestite python knjižnice za RaspPi z uporabo naslednjih ukazov:

>>>sudo apt-get update

>>>sudo apt-get install python-picamera

To je najprimernejši način nameščanja aplikacij, knjižnic in modulov, saj pomeni, da bodo nameščeni moduli sproti posodabljani z običajnimi ukazi za nadgradnjo sudo apt-get update in sudo apt-get upgrade .

Toda to so samo knjižnice, ki so prisotne v arhivu Raspbian. Če želite namestiti druge arhive, ki tam niso tam, jih lahko namestite s pomočjo PIP. Samo vnesite naslednje, da namestite knjižnico, ki jo želite namestiti:

>>> sudo apt-get install python-pip

>>> sudo pip namestite simplejson

Za namestitev knjižnic pi Umbrella in programske opreme GPIO lahko uporabite naslednje:

>>> sudo apt-get install python3-rpi.gpio

>>> sudo pip namestite pibrella ## za namestitev pibrella

za python 2

>>> sudo pip3.2 namestite pibrella ## za namestitev pibrella

za python 3

Uporaba Pythona na Raspberry Pi odpira priložnost za povezovanje v resnični svet prek Pi-jevih GPIO zatičev. To lahko storite s knjižnico RPi GPIO. Vnaprej je nameščen na najnovejših slikah Raspbian.

Za nadzor GPIO zatičev boste potrebovali korenski dostop v Python-u. Torej, morali bi zagnati sudo python, ipython, sudo idle & .

V skriptu Python (ali v REPL) uvozite GPIO modul, nastavite način plošče po svojih željah, nastavite zatiče, ki jih želite uporabiti, in jih vklopite:

>>> uvozi RPI.GPIO kot GPIO

## Na ta način lahko RPI.GPIO označite kot samo GPIO skozi preostali del skripta.

Obstajata dva načina oštevilčevanja IO zatičev na Raspberry Pi znotraj RPi.GPIO. Prva je uporaba sistema oštevilčevanja BOARD. To se nanaša na številke zatičev na glavi P1 plošče Raspberry Pi. Prednost uporabe tega sistema številčenja je, da bo vaša strojna oprema vedno delovala, ne glede na revizijo RPi na plošči. Ne bo vam treba znova povezati konektorja ali spremeniti kode.

Drugi sistem oštevilčenja so številke BCM. To je način dela na nižji ravni - nanaša se na številke kanalov na Broadcom SOC. Vedno morate delati z diagramom, katera številka kanala gre na kateri pin na plošči RPi. Vaš scenarij lahko preide med revizije plošč Raspberry Pi.

>>> GPIO.setmode (GPIO.bcm) ## nastavite način plošče na Broadcom

Če ne veste, kaj počnete, preprosto varno vnesite naslednje:

>>> način = GPIO.getmode ()

Tako boste zaznali, kateri sistem pinskih številk je bil nastavljen (na primer z drugim modulom Python)

>>> GPIO.setup (17, GPIO.OUT) ## nastavite PIN 17

>>> GPIO.setup (18, GPIO.OUT) ## nastavite PIN 18

>>> GPIO.output (17, 1) ## vklopite PIN 17

>>> GPIO.output (18, 1) ## vklopite PIN 18

Za tiste ljudi, ki ne vedo, kaj je GPIO, je njegov modul za nadzor Raspberry Pi GPIO kanalov. Ta paket ponuja razred za nadzor nad GPIO na Raspberry Pi.

Upoštevajte, da ta modul ni primeren za kritične aplikacije v realnem času ali določanje časa. To je zato, ker ne morete napovedati, kdaj bo Python zaseden z zbiranjem smeti. Poteka tudi pod Linuxovim jedrom, ki ni primeren za aplikacije v realnem času - je večopravilnost O / S in drugi proces lahko ima prednost pred CPU-jem, kar povzroči tresenje v vašem programu.

Če želite doseči resnično uspešnost in predvidljivost, si omislite nakup Arduino. Upoštevajte, da trenutna izdaja še ne podpira SPI, I2C, strojne PWM ali serijske funkcije na RPi. Čeprav strojni PWM še ni na voljo, je programska oprema PWM na voljo za uporabo na vseh kanalih.

Torej, mislim, da bi to lahko bilo, če začnete več, če imate dvom o Raspberry Pi ali Python-u, se lahko za dodatne podrobnosti vedno obrnete na dokumentacijo GPIO ali Raspberry Pi.

Toliko lahko storite z Raspberry Pi. Ta blog ne more opredeliti čudežev ljudi, ki so ga uporabljali. Bodite prepričani, da to vsaj poskusite, in če vam uspe, bodite dovolj ponižni, da delite svojo izvorno kodo na github. Konec koncev, "Skupna raba je skrbna."

Priporočeni članki

Tukaj je nekaj člankov, ki vam bodo pomagali do podrobnosti o Raspberry Pi z mešanico Pythona, zato pojdite po povezavi.

  1. Linux - Ubuntu - koristne razlike
  2. Kariera v Pythonu
  3. Začnite s Python in Django za spletni razvoj
  4. Kakšne so prednosti in omejitve uporabe Pythona?
  5. 25 najbolj neverjetnih vprašanj in odgovorov, ki jih je treba naučiti
  6. Želite vedeti o Kali Linux vs Ubuntu

Kategorija: