Vse je kot v najboljših hišah v Londonu.  Zarota Londona in Pariza.  Izbira najboljšega med najboljšimi: Tony in Maria

Vse je kot v najboljših hišah v Londonu. Zarota Londona in Pariza. Izbira najboljšega med najboljšimi: Tony in Maria

Pozdravljeni vsi skupaj! Danes vam bom povedal, kako sem uspel shraniti vrata na svojem Raspberry Pi. Dolgo sem želel povezati linijski zaslon s tem računalnikom z eno ploščo in celo poskušal to storiti s knjižnico wiringpi, vendar takšna povezava zavzame veliko izhodov. Prva stvar, ki mi je prišla na misel, je bila uporaba premikovnih registrov, vendar sem se vseeno odločil, da pogledam proti vodilu I2C ali SPI. Po prebiranju tem na internetu sem našel kul rešitev - RGB LCD SHIELD KIT W/ 16X2 CHARACTER DISPLAY - UPORABLJENA SAMO 2 PINA! . Plošča uporablja samo dva zatiča za krmiljenje SDL in SCK prek vodila I2C, poleg tega je bilo dovolj prostora za pet taktnih gumbov. AT to napravo hitrost ni tako pomembna, zato mi je vodilo I2C kar ustrezalo. "Srce" plošče je čip Microchip, razširjevalnik vrat MCP23017.

Pozdravljeni vsi skupaj!

V praksi so se od časa do časa pojavljale situacije, ko sem zasanjano razmišljal, da bi bilo dobro vložiti spletni strežnik kot zaledje za nekatere moje preproste projekte. No, da bi imeli ime gostitelja, kot bi moralo biti, in da mu lahko posredujete nekaj podatkov od zunaj in pridobite nekaj podatkov, morda privijte vtičnico API ali morda na splošno - tam gostite svoj prijeten blog.

V domišljiji so se takoj pojavila nekatera stojala z rezili, ki so najela virtualni stroj na Digital Oceanu ali, v najslabšem primeru, računalnik, ki brenči okoli ure pod mizo.

Toda želite nekaj tihega, elegantnega, tihega in po možnosti brezplačnega ...

nehaj! Toda navsezadnje je bilo vse že izumljeno pred nami!

Danes želim govoriti o tem, kako je mogoče imeti za peni najmanjši znesek znanja, zmanjšati stroj, ki bo zagotovil 90 % vaših (no, mojih - zagotovo) potreb po zaledju.
Zgodba bo nosila značaj zapisov zase - da ne bi pozabili, kaj storiti, ponoviti naslednjič, na primer)

Koga briga - pojdite pod rez (mimogrede, bodite pozorni na to, kako so čipi na plošči spajkani s sendvičem).

Raspberry PI je naprava, ki ima dovolj zmogljivosti, da je na njeni osnovi mogoče zgraditi robote, ki so sposobni prepoznavati slike, opravljati delo ljudi in druge podobne naprave za avtomatizacijo in izvajanje kompleksnih računalniških dejanj. Ker urna frekvenca procesorja Raspberry PI 3 m.b. 1,2 GHz in njegova bitna globina je 32 bitov, potem je Raspberry PI 3 bistveno boljši od običajnega Arduina, ki ima praviloma taktno frekvenco 16 MHz in bitno širino mikrokontrolerja 8 bitov, Arduino zagotovo zaseda svoje mesto pri izvajanju operacij ki ne zahtevajo visoke zmogljivosti, ko pa to ni več dovolj za Raspberry PI "priskoči na pomoč" in pokrije tako velik obseg možne aplikacije da ste lahko povsem prepričani o smotrnosti nakupa tega enokartičnega računalnika Raspberry PI 3 (naročilo na povezavi). Ker Raspberry PI je računalnik, če ga želite uporabljati, morate nanj namestiti operacijski sistem (čeprav obstajajo rešitve, je vseeno bolje in lažje namestiti operacijski sistem (os spodaj)). Obstaja veliko operacijskih sistemov, ki jih je mogoče namestiti na Raspberry Pi, vendar je eden najbolj priljubljenih (za uporabo z Raspberry Pi) in najbolj primeren za začetnike Raspbian OS. Za namestitev operacijskega sistema na Raspberry Pi potrebujete kartico micro sd z ekspanderjem, da jo lahko vstavite v običajni računalnik in vanj napiši OS. Kartica SD mora imeti vsaj 4 GB pomnilnika pri namestitvi polne različice Raspbiana in vsaj 8 GB pri namestitvi minimalnih različic Raspbiana. Minimalne različice morda nimajo (in najverjetneje nimajo) grafičnega vmesnika in veliko drugih stvari, ki se lahko štejejo za odvečne in zavzamejo prostor. Da bi se izognili težavam s pomanjkanjem potrebnih datotek, lahko postavite celotna različica. Uporabite lahko kartico SD razreda 10 z 32 GB pomnilnika (preverjeno, da deluje (kot si oglejte video spodaj)). Po nakupu pomnilniške kartice jo morate vstaviti v računalnik v ustrezno režo, nato pogledati, s katero črko se je pojavil disk v razdelku "moj računalnik" in se spomniti, potem morate prenesti OS z uradne spletne strani https: //www.raspberrypi.org/downloads/raspbian / tako, da kliknete gumb »Prenesi ZIP« pod »RASPBIAN JESSIE« za prenos polne različice ali pod »RASPBIAN JESSIE LITE« za prenos različice Lite, vendar je za začetnike bolje, da izberite "RASPBIAN JESSIE" tj. celotna različica. Ko prenesete arhiv "RASPBIAN JESSIE", ga morate razpakirati, nato prenesti program (ali od tu https://yadi.sk/d/SGGe1lMNs69YQ), ga namestiti, odpreti, nato morate določiti črko pogona v zgornjem desnem kotu (spomnil sem se prej) poiščite razpakirano sliko os

In pritisnite gumb "napiši".

Po tem se prikaže opozorilno okno in v tem oknu morate klikniti gumb "Da",

Ko je snemanje končano in se pojavi okno z obvestilom o uspešnem snemanju (Write Successful), morate v tem oknu klikniti gumb »V redu«.

Nato zaprite program, odstranite kartico SD na varen način in prilepite v Raspberry Pi.

Nato lahko povežete tipkovnico usb (ali ps2 prek ), miško usb in monitor ali TV na Raspberry Pi prek kabla hdmi ali pa povežete kabel ethernet (vendar je to za napredne uporabnike, zato bomo upoštevali prva možnost spodaj). Po tem morate priključiti napajanje prek mikro usb, na primer iz polnilnika iz pametnega telefona. Po priključitvi napajanja se bo začela namestitev. operacijski sistem. Praviloma je v novih (v času tega pisanja) različicah operacijskega sistema že konfigurirana zmožnost komuniciranja z Raspberry Pi prek SSH, zato je za konfiguracijo komunikacije z Raspberry Pi 3 prek wifi, dovolj je, da konfigurirate samo wifi.Če želite to narediti, je v zgornjem desnem kotu zaslona ikona, na katero morate klikniti in izbrati wifi,

Nato v besedilno polje, ki se prikaže, vnesite geslo za ta wifi,

Po teh korakih bo wifi na Raspberry Pi 3 konfiguriran in nato bo mogoče programirati Raspberry Pi 3 na daljavo prek wifi brez uporabe žic. Ko nastavite Raspberry Pi 3, ga lahko izklopite tako, da v ukazno vrstico vnesete sudo halt (v programu LXTerminal, ki ga odprete z dvojnim klikom na ikono programa) ali s pritiskom na ustrezne gumbe za zaustavitev v grafičnem načinu. , po dokončnem izklopu lahko izklopite napajanje in ob naslednjem vklopu Raspberry Pi 3 vklopite wifi. Zdaj, če želite programirati Raspberry Pi 3 prek wifi, morate ugotoviti, kakšen je njegov naslov ip. Če želite to narediti, morate zagnati Raspberry Pi 3, počakati, da se OS konča z nalaganjem, pojdite na spletni vmesnik usmerjevalnika (z vnosom 192.168.1.1 v vrstico brskalnika ali kar morate vnesti v splet vmesnik, vnesite svojo prijavo in geslo), poiščite zavihek DHCP Leases ali kaj podobnega, poiščite vrstico z malino in ip naslovom Raspberry Pi 3.

Nato morate odpreti program PuTTY (če ga ni, ga prenesti (ali) in namestiti prej) nastaviti vrata 22, se povezati preko SSH, vnesti ip naslov Raspberry Pi 3 v "Host Name (ali IP) naslov)«,

Nato pritisnite gumb "Odpri" na dnu okna, nato se prikaže črno okno, v katerem morate vnesti prijavo. Privzeto je prijava "pi" - vnesti jo morate in pritisniti enter. Nato morate vnesti geslo, privzeto je "malina". Ko vnesete geslo, se ne prikaže - to je normalno. Ko je geslo vneseno z nevidnimi črkami, morate pritisniti enter in če je bilo vse opravljeno pravilno, bomo dobili dostop do Raspberry Pi 3, če ne, morate ponoviti korake. Ko pridobite dostop do Raspberry Pi 3, ga lahko programirate, najprej morate vnesti mapo "pi", za to morate vnesti ukaz

In pritisnite enter (za cd nujno presledek).
Zdaj lahko odprete nano urejevalnik besedila. Nano je poseben urejevalnik besedil, ki ga najdete v večini operacijskih sistemov, podobnih Linuxu, v katerem lahko pišete programe za Raspberry Pi. Če želite odpreti ta urejevalnik in hkrati ustvariti datoteko z imenom "first" in končnico "py", morate vnesti ukaz

In pritisnite enter. Odprl se bo urejevalnik nano in opazili boste, da je njegov vmesnik nekoliko drugačen, vendar je v bistvu ista črna škatla, v katero morate vnašati ukaze. Ker želimo nadzorovati splošna vhodno-izhodna vrata (GPIO), potem morate pred zagonom programa za upravljanje teh vrat nanje povezati neko napravo, da boste lahko videli, da se je nadzor izkazal. Prav tako je treba opozoriti, da lahko pini, ki so konfigurirani kot izhodi na Raspberry Pi, oddajajo zelo malo toka (predvidevam, da do 25 mA) in glede na to, da Raspberry Pi še vedno ni najcenejša naprava, je zelo priporočljivo paziti, da obremenitev na zatičih ni prevelik. LED indikatorji nizke moči se običajno lahko uporabljajo z Raspberry Pi. Za osvetlitev potrebujejo le majhno količino toka. Prvič lahko izdelate napeljavo s konektorjem, dvema LED-diodama, povezanima vzporedno v nasprotnih smereh, in uporom 220Ω, ki je zaporedno povezan z LED-diodami. Ker upornost upora je 220Ω, tok nujno teče skozi ta upor in ni vzporednih poti za njegov prehod, napetost na sponkah je 3,3 V, potem tok ne bo večji od 3,3/220=0,015A=15mA . To lahko povežete z brezplačnimi GPIO, na primer s 5 in 13, kot je prikazano na diagramu

(pinout vzet iz https://en.wikipedia.org/wiki/Raspberry_Pi), je lahko videti nekako takole:

Ko je vse lepo in pravilno povezano in obstaja prepričanje, da nič ne bo zagorelo, lahko kopirate prvi preprost program Python v urejevalnik NANO

Uvozite RPi.GPIO kot GPIO
čas uvoza
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)
GPIO.output(13, True)
GPIO.output(5, False)
time.sleep(1)
GPIO.izhod(13, False)
GPIO.output(5, True)
time.sleep(1)
GPIO.output(13, True)
GPIO.output(5, False)
time.sleep(1)
GPIO.izhod(13, False)
GPIO.output(5, True)
time.sleep(1)
GPIO.output(13, True)
GPIO.output(5, False)
time.sleep(1)
GPIO.izhod(13, False)
GPIO.output(5, True)
time.sleep(1)
GPIO.cleanup()

Nato pritisnite

Po izhodu iz urejevalnika NANO lahko vnesete ukaz

sudo python first.py

Po tem bodo LED diode utripnile določeno število krat. Tisti. Upravljana V/I vrata glavni namen po wifi! Zdaj pa poglejmo program in ugotovimo, kako se je to zgodilo.
Vrstica:

Uvozite RPi.GPIO kot GPIO

To je povezava knjižnice "GPIO" za nadzor pinov.
Vrstica:

To je povezava s knjižnico "čas" za zamude.
Sledi nastavitev načina GPIO:

GPIO.setmode(GPIO.BCM)

Konfiguracija nožic 5 in 13 kot izhodov:

GPIO.setup(13, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)

Nastavitev logične enote na pin 13, nastavitev logične ničle na pin 5:

GPIO.output(13, True)
GPIO.output(5, False)

Zamuda

Nastavitev logične ničle na pin 13, nastavitev logične 1 na pin 5:

GPIO.izhod(13, False)
GPIO.output(5, True)

Ponastavi vse zatiče in program se konča. to. preko wifija lahko kontroliraš poljubne proste pine in če narediš 5V napajalnik iz baterije, potem lahko že narediš kakšnega avtonomnega robota ali napravo, ki ni povezana z nič stacionarnega. Programski jezik Python (python) se od podobnih jezikov razlikuje po tem, da namesto podpičja za dokončanje ukaza python uporablja premik vrstice, namesto zavitih oklepajev uporablja zamik od levega roba, kar naredi Tab tipka. Na splošno je Python zelo zanimiv jezik, ki proizvaja enostavno berljivo kodo. Po končanem delu (ali igri) z Raspberry PI 3 ga lahko izklopite z ukazom

In po popolni zaustavitvi izklopite napajanje. Ko se priključi napajanje, se Raspberry PI 3 vklopi in je ponovno pripravljen za delo (ali igranje). Raspberry pi 3 lahko naročite na http://ali.pub/91xb2. Kako konfigurirati Raspberry PI 3 in upravljati njegove pine si lahko ogledate v videu:

Po uspešnem utripanju LED lahko nadaljujete s študijo v polnem obsegu ta računalnik in ustvarjajte projekte z uporabo zmogljivosti Raspberry PI 3, ki so omejene samo z vašo domišljijo!

Danes je četrta lekcija, v kateri bomo delali z vrati GPIO, zlasti bomo utripali LED v različnih načinih.

Lekcija je namenjena uporabnikom začetnikom in je predstavljena v besedilni in video obliki.

Video četrte lekcije:

Za lekcijo potrebujemo:

  • plošča Raspberry Pi;
  • napajalni kabel;
  • USB tipkovnica;
  • USB miška;
  • monitor ali TV z vmesnikom HDMI/RCA/DVI;
  • kabel, katerega en konec je RCA ali HDMI, drugi pa ustreza vašemu monitorju;
  • SD kartica z že nameščenim OS Raspbian ();
  • Svetleča dioda;
  • gumb;
  • 220 ohmski upor
  • 3 žice "mama-oče"
  • 2 moški-moški žici.

Programiranje Raspberry Pi GPIO v Pythonu

Za današnjo lekcijo smo izbrali programski jezik Python.

Python je sodoben objektno usmerjen jezik. Najpogosteje se uporablja za programiranje GPIO na Raspberry Pi. Python je vključen v operacijski sistem Raspbian.

Sestavljanje modela

Za delo moramo sestaviti naslednjo shemo:

Shema ožičenja za LED in gumb na Raspberry Pi

Upoštevajte, da vrata GPIO na Raspberry Pi niso označena, zato je koristno imeti natisnjen pinout.

Raspberry Pi pinout. Shema iz ledgerlabs.us

Sestavljen model z LED in gumbom

Upravljanje LED na Raspberry Pi s konzole

Pojdite na LXTerminal in vnesite:

Po tem bi se moralo namesto uporabniškega imena na začetku vrstice prikazati >>> .

Vnesite naslednje vrstice:

Uvozi RPi.GPIO kot knjižnico GPIO #import
GPIO.setmode(GPIO.BOARD) #"omogoči" GPIO
GPIO.setup(7, GPIO.OUT) #razglasitev 7. pina kot izhoda

Nato lahko uporabite ukaz za vklop LED
GPIO.izhod(7, 1)

In za izklop
GPIO(izhod(7, 0)

Po delu z GPIO je zaželeno izvesti ukaz
GPIO.cleanup()

Raspberry Pi LED utripajoči program

Za življenjska doba baterije LED moramo napisati in zagnati program. Če želite to narediti, odprite vnaprej nameščen program PRAZNI DEL 3 in v meniju Datoteka kliknite Novo. V oknu, ki se odpre, lahko napišemo program.

Zapišimo:
uvozite RPi.GPIO kot GPIO # uvozite knjižnico za delo z GPIO
čas uvoza #knjižnica uvoz počakati
GPIO.setmode(GPIO.BOARD) #"zaženi" GPIO


____GPIO.output(7, 1) #vklop LED

____GPIO.output(7, 0) #ugasni LED
____time.sleep(1) #počakaj 1 sekundo

Program shranite v mapo /domov/pi.

Zdaj lahko program zaženemo iz LXTerminala z ukazom
sudo python imeprograma.py

Upravljanje LED z gumbom

LED diodo upravljamo z zunanjim gumbom: ob pritisku na gumb sveti LED, ko jo spustimo ugasne.

Če želite to narediti, priključite gumb na vrata 5.

Za upravljanje potrebujemo naslednji program:

Uvoz RPi.GPIO kot GPIO # uvoz knjižnice GPIO
GPIO.setmode(GPIO.BOARD) #"omogoči GPIO"
GPIO.setup(7, GPIO.OUT) #deklariranje vrat 7 kot izhoda
GPIO.setup(3, GPIO.IN) #razglasi vrata 3 kot vhod
medtem ko True: #neskončna zanka
____if GPIO.input(3) == False: #če je pritisnjen gumb
________GPIO.output(7, 1) #vklop LED
____drugače: #drugače
________GPIO.output(7, 0) #turn off

Upravljanje LED tipkovnice

Naredimo drug program. Spremenil bo stanje LED, ko bo prejet prazen niz, in končal, ko bo prejet drug niz.

Uvozite RPi.GPIO kot GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
medtem ko je res:
____str = input("Vstopi - vklopi, sicer - izhod");
____if str != "":
_______zlom
____drugo:
________GPIO.output(7, 1)
____str = input("Vstopi - zaustavitev, drugače - izhod");
____if str != "":
_______zlom
____drugo:
________GPIO.output(7, 0)
GPIO.cleanup()

S tem se zaključuje četrta vadnica o Raspberry Pi za začetnike, ki se nadaljuje!