Minden olyan, mint London legjobb házaiban.  London és Párizs összeesküvése.  A legjobbak közül a legjobb kiválasztása: Tony és Maria

Minden olyan, mint London legjobb házaiban. London és Párizs összeesküvése. A legjobbak közül a legjobb kiválasztása: Tony és Maria

Helló! Ma elmondom, hogyan sikerült portokat mentenem a Raspberry Pi-n. Régóta szerettem volna vonalkijelzőt csatlakoztatni ehhez az egylapos számítógéphez, sőt a wiringpi könyvtár segítségével is próbálkoztam vele, de egy ilyen kapcsolat sok kimenetet lefoglal. Elsőként a műszakregiszterek használata jutott eszembe, de mégis úgy döntöttem, hogy az I2C vagy SPI busz felé nézek. Internetes témákat olvasgatva találtam egy klassz megoldást - RGB LCD SHIELD KIT 16X2 KARAKTERES KIJELZŐVEL - CSAK 2 TÜS HASZNÁLT! . Az alaplap mindössze két tűvel vezérli az SDL-t és az SCK-t az I2C buszon keresztül, plusz öt érintőgombnak volt elég hely. Ennél a készüléknél a sebesség nem annyira fontos, szóval az I2C busz nekem pont megfelelt. Az alaplap "szíve" egy Microchip chip, az MCP23017 portbővítő.

Helló!

A gyakorlatban időről időre adódtak olyan helyzetek, amikor álmodozva arra gondoltam, hogy jó lenne néhány egyszerű projektemhez háttérként egy webszervert fájlba tenni. Nos, ahhoz, hogy legyen egy gazdagépnév, amilyennek lennie kell, és hogy kívülről tudj adni neki néhány adatot, és szerezz néhány adatot, esetleg csavarozzon be egy API-foglalatot, vagy általában - tartsa ott saját hangulatos blogját.

A képzeletben azonnal feltűnt valami pengékkel ellátott állvány, virtuális gépet bérelve a Digital Ocean-on, vagy rosszabb esetben az asztal alatt éjjel-nappal zümmögő számítógépet.

De szeretne valami csendes, elegáns, csendes és lehetőleg ingyenes ...

Álljon meg! De végül is mindent már előttünk találtak ki!

Ma arról szeretnék mesélni, hogyan lehet egy fillérért minimális tudással lefaragni egy olyan gépet, ami a te (na jó, az enyém - biztosan) backend igényeid 90%-át kielégíti.
A történet önmagában hordozza a lemezek karakterét - hogy ne felejtse el, mit kell tennie, megismételve például legközelebb)

Kit érdekel - menjen a vágás alá (egyébként ügyeljen arra, hogy a táblán lévő forgácsokat hogyan forrasztják szendviccsel).

A Raspberry PI egy olyan eszköz, amely kellő teljesítménnyel rendelkezik ahhoz, hogy képfelismerésre, emberek munkáját végző robotok és egyéb hasonló, összetett számítási műveletek automatizálására és végrehajtására alkalmas eszközök építhetők fel. Mivel a Raspberry PI 3 processzor órajel frekvenciája m.b. 1,2 GHz és a bitmélysége 32 bit, akkor a Raspberry PI 3 lényegesen felülmúlja a szokásos Arduino-t, aminek az órajele általában 16 MHz, a mikrokontroller bitszélessége pedig 8 bit, az Arduino minden bizonnyal megállja a helyét a műveletek végrehajtásában amelyek nem igényelnek nagy teljesítményt, de amikor már nem elég a Raspberry PI "segítségre jön" és a lehetséges alkalmazások olyan széles skáláját fedi le, hogy teljesen biztos lehetsz a Raspberry PI 3 egylapos kártya megvásárlásának célszerűségében. számítógép (a linkről megrendelhető) . Mivel A Raspberry PI egy számítógép, használatához operációs rendszert kell rá telepíteni (bár vannak áthidaló megoldások, mégis jobb és egyszerűbb az operációs rendszer telepítése (alul)). Számos operációs rendszer telepíthető a Raspberry Pi-re, de az egyik legnépszerűbb (a Raspberry Pi-vel való használatra) és a kezdők számára legmegfelelőbb a Raspbian OS. Az operációs rendszer Raspberry Pi-re történő telepítéséhez szükség van egy bővítővel ellátott micro sd kártyára, hogy behelyezhető legyen egy normál számítógépbe, és ráírható az operációs rendszer. Az SD-kártyának legalább 4 GB memóriával kell rendelkeznie a Raspbian teljes verziójának telepítésekor, és legalább 8 GB memóriával a Raspbian minimális verzióinak telepítéséhez. A minimális verziók nem biztos, hogy (és nagy valószínűséggel nem is) rendelkeznek grafikus felülettel és sok más dologgal, ami feleslegesnek tekinthető és helyet foglal. A szükséges fájlok hiányával kapcsolatos problémák elkerülése érdekében telepítheti a teljes verziót. Használhat 10-es osztályú SD-kártyát 32 GB memóriával (ellenőrizve, hogy működik-e (lásd az alábbi videót)). A memóriakártya megvásárlása után be kell helyeznie a számítógépbe a megfelelő nyílásba, majd meg kell néznie, hogy a lemez melyik betűvel jelent meg a "számítógépem" részben, és emlékezzen, majd le kell töltenie az operációs rendszert a hivatalos webhelyről https: //www.raspberrypi.org/downloads/raspbian / kattintson a "ZIP letöltése" gombra a "RASPBIAN JESSIE" alatt a teljes verzió letöltéséhez, vagy a "RASPBIAN JESSIE LITE" alatt a lite verzió letöltéséhez, de kezdőknek jobb a „RASPBIAN JESSIE” kiválasztásához, pl teljes verzió. A "RASPBIAN JESSIE" archívum letöltése után ki kell csomagolni, majd letölteni a programot (vagy innen https://yadi.sk/d/SGGe1lMNs69YQ), telepíteni, megnyitni, majd meg kell adni a meghajtó betűjelét a jobb felső sarokban (emlékezett rá korábban), keresse meg a kicsomagolt operációs rendszer képét

És nyomja meg az "írás" gombot.

Ezt követően egy figyelmeztető ablak jelenik meg, és ebben az ablakban kattintson az "Igen" gombra,

Miután a rögzítés véget ért, és megjelenik egy ablak, amely a sikeres rögzítésről tájékoztat (Write Successful), kattintson az "Ok" gombra ebben az ablakban.

Ezután zárja be a programot, vegye ki az SD-kártyát biztonságos módon, és helyezze be a Raspberry Pi-be.

Ezután a Raspberry Pi-hez csatlakoztathat egy usb-billentyűzetet (vagy ps2-t a -n keresztül), egy usb-egeret és egy monitort vagy TV-t hdmi-kábellel, vagy csatlakoztathat Ethernet-kábelt (de ez haladó felhasználóknak való, ezért megfontoljuk az első lehetőség lent). Ezt követően csatlakoztatnia kell a tápellátást a mikro USB-n keresztül, például egy okostelefon töltőjéről. A tápfeszültség csatlakoztatása után megkezdődik az operációs rendszer telepítése. Általános szabály, hogy az operációs rendszer új (az írás idején) verzióiban a Raspberry Pi-vel való kommunikáció lehetősége SSH-n keresztül már konfigurálva van, ezért a Raspberry Pi 3-mal történő kommunikáció konfigurálásához wifin keresztül elegendő. csak wifi beállításához. Ehhez a képernyő jobb felső sarkában van egy ikon, amelyre kattintani kell és ki kell választani a wifit,

Ezután írja be a wifi jelszavát a megjelenő szövegmezőbe,

Ezek után a lépések után a Raspberry Pi 3 wifi beállítása megtörténik, majd vezetékek nélkül, wifin keresztül távolról is programozható lesz a Raspberry Pi 3. A Raspberry Pi 3 beállítása után kikapcsolható a sudo halt parancssorba (az LXTerminal programban, amely a program ikonjára dupla kattintással nyitható meg) vagy grafikus módban a megfelelő leállító gombok megnyomásával. , a végső leállás után kikapcsolhatod a Raspberry Pi 3 áramellátását és legközelebbi bekapcsolásakor kapcsold be a wifit. Most, hogy a Raspberry Pi 3-at wifin keresztül programozza, meg kell találnia, mi az ip-címe. Ehhez be kell kapcsolnia a Raspberry Pi 3-at, meg kell várnia, amíg az operációs rendszer befejeződik a betöltődése, lépjen a router webes felületére (beírja a 192.168.1.1 kódot a böngésző sorába, vagy amit a webes felületen kell megadnia, írja be a bejelentkezési nevét és jelszavát), keresse meg a DHCP lapot Bérletek vagy valami hasonló, keresse meg a Raspberry sort és a Raspberry Pi 3 IP-címét.

Ezután meg kell nyitnia a PuTTY programot (ha nincs ott, akkor töltse le (vagy) és telepítse előtte) állítsa be a 22-es portot, csatlakozzon SSH-n keresztül, írja be a Raspberry Pi 3 IP-címét a "Host Name (vagy IP Cím)" mező,

Ezután nyomja meg a "Megnyitás" gombot az ablak alján, ekkor megjelenik egy fekete ablak, amely a bejelentkezés megadását kéri. Alapértelmezés szerint a bejelentkezés "pi" - meg kell adnia, és meg kell nyomnia az entert. Ezután meg kell adnia egy jelszót, az alapértelmezett a "málna". Jelszó beírásakor az nem jelenik meg – ez normális. Miután beírta a jelszót láthatatlan betűkkel, meg kell nyomnia az Enter billentyűt, és ha minden helyesen történt, akkor hozzáférünk a Raspberry Pi 3-hoz, ha nem, akkor meg kell ismételnie a lépéseket. Miután hozzáfért a Raspberry Pi 3-hoz, programozhatja, először be kell lépnie a "pi" mappába, ehhez be kell írnia a parancsot

És nyomja meg az entert (a cd után szükségszerűen szóköz).
Most megnyithatja a nano szövegszerkesztőt. A Nano a legtöbb Linux-szerű operációs rendszeren megtalálható speciális szövegszerkesztő, amelyben programokat írhatunk a Raspberry Pi-hez. A szerkesztő megnyitásához és egyidejűleg egy "first" nevű és "py" kiterjesztésű fájl létrehozásához be kell írnia a parancsot

És nyomja meg az entert. Megnyílik a nano szerkesztő, és észreveheti, hogy a felülete kissé eltér, de alapvetően ugyanaz a fekete doboz, amelyben parancsokat kell beírnia. Mivel az általános bemeneti kimeneti portokat (GPIO) szeretnénk vezérelni, akkor mielőtt lefuttatná ezeket a portokat kezelő programot, csatlakoztatni kell hozzájuk valamilyen eszközt, hogy lássuk, a vezérlés bevált. Azt is meg kell jegyezni, hogy a Raspberry Pi-n kimenetként konfigurált tűk nagyon kis áramot tudnak leadni (feltételezem akár 25 mA-t is), és mivel a Raspberry Pi még mindig nem a legolcsóbb eszköz, erősen ajánlott ügyelni a terhelésre. a csapokon nem túl nagy. Az alacsony fogyasztást jelző LED-ek általában használhatók a Raspberry Pi-vel. Csak kis mennyiségű áramra van szükségük a világításhoz. Első alkalommal készíthet lámpatestet csatlakozóval, két ellentétes irányban párhuzamosan kapcsolt LED-del és egy 220Ω-os ellenállással, amely sorba van kapcsolva a LED-ekkel. Mivel az ellenállás ellenállása 220Ω, az áram szükségszerűen ezen az ellenálláson halad át, és nincsenek párhuzamos utak az áthaladásához, a kapcsokon a feszültség 3,3 V, akkor az áram nem lesz nagyobb, mint 3,3/220=0,015A=15mA . Ezt csatlakoztathatja ingyenes GPIO-khoz, például az 5-höz és a 13-hoz, ahogy az ábrán látható

(a kiírás a https://en.wikipedia.org/wiki/Raspberry_Pi webhelyről származik), így nézhet ki:

Miután minden szépen és helyesen csatlakoztatva van, és biztosak vagyunk abban, hogy semmi sem fog égni, átmásolhatja az első egyszerű Python programot a NANO szerkesztőbe

Importálja az RPi.GPIO-t GPIO-ként
behozatali idő
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)
GPIO.output(13, igaz)
GPIO.output(5, hamis)
idő.alvás(1)
GPIO.output(13, hamis)
GPIO.output(5, igaz)
idő.alvás(1)
GPIO.output(13, igaz)
GPIO.output(5, hamis)
idő.alvás(1)
GPIO.output(13, hamis)
GPIO.output(5, igaz)
idő.alvás(1)
GPIO.output(13, igaz)
GPIO.output(5, hamis)
idő.alvás(1)
GPIO.output(13, hamis)
GPIO.output(5, igaz)
idő.alvás(1)
GPIO.cleanup()

Ezután nyomja meg

A NANO szerkesztőből való kilépés után megadhatja a parancsot

sudo python first.py

Ezt követően a LED-ek bizonyos számú alkalommal felvillannak. Azok. kiderült, hogy wifin keresztül vezérli az általános rendeltetésű bemeneti/kimeneti portokat! Most nézzük meg a programot, és nézzük meg, hogyan történt.
Vonal:

Importálja az RPi.GPIO-t GPIO-ként

Ez a "GPIO" könyvtár csatlakozása a tűvezérléshez.
Vonal:

Ez egy kapcsolat a késések "idő" könyvtárával.
A következő lépés a GPIO mód beállítása:

GPIO.setmode(GPIO.BCM)

Az 5-ös és 13-as érintkezők kimenetként való konfigurálása:

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

Logikai egység beállítása a 13-as érintkezőn, logikai nulla beállítása az 5-ös érintkezőn:

GPIO.output(13, igaz)
GPIO.output(5, hamis)

Késleltetés

Logikai nulla beállítása a 13-as érintkezőn, logikai nullának beállítása az 5-ös érintkezőn:

GPIO.output(13, hamis)
GPIO.output(5, igaz)

Visszaállítja az összes tűt, és a program véget ér. Hogy. wifin vezérelheted tetszőleges szabad tűket és ha az akkuból csinálsz 5V tápot akkor már lehet valami autonóm robotot vagy olyan készüléket ami nincs rákötve semmi állóra. A Python programozási nyelv (python) eltér a C-szerű nyelvektől, például pontosvessző helyett a parancs befejezéséhez a python soremelést használ, a kapcsos zárójelek helyett a bal szélről behúzást használ, ami megtörténik a Tab billentyűvel. Általában véve a Python egy nagyon érdekes nyelv, amely könnyen olvasható, egyszerű kódot állít elő. Miután a Raspberry PI 3-mal végzett munka (vagy játék) befejeződött, a paranccsal kikapcsolhatja

És a teljes leállás után kapcsolja ki a tápfeszültséget. A tápfeszültség bekapcsolásakor a Raspberry PI 3 bekapcsol, és újra készen áll a munkára (vagy játékra). A Raspberry pi 3 megrendelhető a http://ali.pub/91xb2 oldalon. A Raspberry PI 3 konfigurálása és a tűk kezelése a videóban látható:

A LED-ek sikeres villogása után megkezdheti a számítógép teljes felfedezését és projektek létrehozását a Raspberry PI 3 képességeivel, amelyeknek csak a képzeleted szab határt!

Ma van a negyedik lecke, amelyben a GPIO portokkal fogunk dolgozni, különösen a LED-eket különböző módokban villogtatjuk.

A lecke a kezdő felhasználóknak szól, és szöveges és videó formátumban kerül bemutatásra.

Videó a negyedik leckéről:

A leckéhez szükségünk van:

  • Raspberry Pi tábla;
  • tápkábel;
  • USB billentyűzet;
  • USB egér;
  • monitor vagy TV HDMI/RCA/DVI interfésszel;
  • kábel, amelynek egyik vége RCA vagy HDMI, a másik pedig a monitorhoz illeszkedik;
  • SD-kártya már telepített Raspbian operációs rendszerrel ();
  • Fénykibocsátó dióda;
  • gomb;
  • 220 ohmos ellenállás
  • 3 vezeték "mama-apa"
  • 2 apa-apa vezeték.

Raspberry Pi GPIO programozás Pythonban

A mai leckéhez a Python programozási nyelvet választottuk.

A Python egy modern objektum-orientált nyelv. Leggyakrabban GPIO programozáshoz használják a Raspberry Pi-n. A Python a Raspbian operációs rendszer része.

Modell összeállítás

A munkához össze kell állítanunk a következő sémát:

Bekötési rajz a LED-hez és a Raspberry Pi gombhoz

Kérjük, vegye figyelembe, hogy a Raspberry Pi GPIO-portjai nincsenek felcímkézve, hasznos, ha nyomtatott kinyomtatással rendelkezik.

Raspberry Pi pinout. A ledgerlabs.us sémája

Összeszerelt modell LED-del és gombbal

LED vezérlése a Raspberry Pi-n a konzolról

Lépjen az LXTerminal oldalra, és írja be:

Ezt követően a sor elején lévő felhasználónév helyett meg kell jelennie >>> .

Írja be a következő sorokat:

RPi.GPIO importálása GPIO #import könyvtárként
GPIO.setmode(GPIO.BOARD) #"engedélyezze" a GPIO-t
GPIO.setup(7, GPIO.OUT) #a 7. láb kimenetként való deklarálása

Ezután a paranccsal bekapcsolhatja a LED-et
GPIO.output(7, 1)

És kikapcsolni
GPIO(kimenet(7; 0)

A GPIO-val végzett munka után kívánatos a parancs végrehajtása
GPIO.cleanup()

Raspberry Pi LED villogó program

A LED autonóm működéséhez programot kell írnunk és futtatnunk. Ehhez nyissa meg az előre telepített programot Üresjárat 3és a Fájl menüben kattintson az Új gombra. A megnyíló ablakban programot írhatunk.

Írjunk:
importálja az RPi.GPIO-t GPIO-ként # importkönyvtár a GPIO-val való együttműködéshez
importálási idő #könyvtár import várni
GPIO.setmode(GPIO.BOARD) #"start" GPIO


____GPIO.output(7, 1) #kapcsolja be a LED-et

____GPIO.output(7, 0) #kikapcsolja a LED-et
____time.sleep(1) #várjon 1 másodpercet

Mentse el a programot egy mappába /home/pi.

Most már az LXTerminalból futtathatjuk a programot a paranccsal
sudo python programnév.py

A LED vezérlése gombbal

A LED-et külső gombbal vezéreljük: a gomb megnyomásakor a LED világít, elengedéskor kialszik.

Ehhez csatlakoztassa a gombot az 5-ös porthoz.

A kezeléshez a következő programra van szükségünk:

RPi.GPIO importálása GPIO-ként # GPIO-könyvtár importálása
GPIO.setmode(GPIO.BOARD) #"GPIO engedélyezése"
GPIO.setup(7, GPIO.OUT) #a 7-es port deklarálása kimenetként
GPIO.setup(3, GPIO.IN) #bemenetként deklarálja a 3-as portot
míg True: #végtelen hurok
____if GPIO.input(3) == Hamis: #ha a gomb meg van nyomva
________GPIO.output(7, 1) #kapcsolja be a LED-et
____egyéb: #egyébként
________GPIO.output(7, 0) #turn off

Billentyűzet LED vezérlés

Csináljunk egy másik programot. Megváltoztatja a LED állapotát, amikor üres karakterlánc érkezik, és véget ér, amikor egy másik karakterlánc érkezik.

Importálja az RPi.GPIO-t GPIO-ként
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT)
míg igaz:
____str = input("Belépés - be, különben - kilépés");
____if str != "":
_______szünet
____más:
________GPIO.output(7, 1)
____str = input("Belépés - leállítás, különben - kilépés");
____if str != "":
_______szünet
____más:
________GPIO.output(7, 0)
GPIO.cleanup()

Ezzel véget ért a Raspberry Pi negyedik oktatóanyaga kezdőknek, folytatása következik!