L6: Serieko ataka
Etiketak:
Serieko ataka
Zer ikasiko duzu ikasgai honetan
Ikasgai honetan honako hauek landuko ditugu:
- Zer den komunikazio-serieko ataka bat.
- Nola erabil dezakegu garapen-plakari informazioa bidaltzeko eta bertatik informazioa jasotzeko.
- Nola erabil dezakegu gure programen funtzionamendua monitorizatzeko eta akatsak aurkitzeko.
- Aldagaien erabilera.
Aurretiazko baldintzak
Ikasgai hau jarraitu ahal izateko, aldez aurretik 1. ikasgaia: Nire lehen proiektua, 2. ikasgaia: LED diodoa, 3. ikasgaia: LED diodoa (2), 4. ikasgaia: Intentsitate aldakorreko LEDa eta 5. ikasgaia: RGB LEDa osatu behar dituzu. Ikasgai honetan ez dugu osagai elektroniko berririk gehituko: ordenagailutik plakarekin komunikatzen ikasiko dugu.
Azalpen teorikoa
Gehiago jakin nahi dut!
Zer da serieko ataka?
Serieko ataka garapen-plakaren eta ordenagailuaren arteko komunikazio modu bat da. Gure kasuan, plaka programatzeko erabiltzen dugun USB konexioa erabiliko dugu.
Orain arte, programa batek funtzionatzen zuen jakiteko, LED bati begiratzen genion:
- Keinu egiten bazuen, programa martxan zegoela ematen zuen.
- Distira aldatzen bazuen, bagenekien intentsitate-balioa aldatzen ari zela.
- Kolorez aldatzen bazen, bagenekien RGB LEDak agindu berriak jasotzen zituela.
Baina batzuetan informazio zehatzagoa ikusi nahi dugu. Adibidez:
- Zein zenbaki gordetzen duen aldagai batek.
- Programaren zein pausotan gauden.
- Plakak mezu bat jaso badu.
- Zer balio irakurri duen sentsore batek.
Horretarako erabiltzen dugu COM monitorea.
COM monitorea
COM monitorea BatSTEM Cloud inguruneko leiho bat da, plakak bidaltzen dituen mezuak erakusten dituena. Ordenagailutik testua idazteko aukera ere ematen du, plakak jaso dezan.
Elkarrizketa bat bezala irudika dezakegu:
- Plakak mezuak idazten dizkio ordenagailuari.
- Ordenagailuak mezu horiek erakusten ditu.
- Ordenagailutik ere mezuak idatz ditzakegu.
- Plakak mezu horiek irakurri eta erantzun dezake.
Komunikazio-abiadura
Serieko atakatik mezuak bidaltzeko, plakak eta ordenagailuak abiadura bera erabili behar dute. Abiadura hori bps (bit segundoko) bidez neurtzen da .
BatSTEM Cloud inguruneko COM monitoreak 115200 bps-ko abiadura erabiltzen du. Beraz, programan ere 115200 bps ezarriko dugu COM ataka konfiguratzeko blokean.
Programan konfiguratutako abiadura eta COM monitorearen abiadura bat ez badatoz, baliteke mezuak behar bezala ez ikustea. Ikasgai honetan 115200 bps erabiliko ditugu beti.
Aldagaiak
Aldagai bat izena duen gune bat da, programak balio bat gordetzeko erabiltzen duena. Balio hori aldatu egin daiteke programa exekutatzen den bitartean.
Adibidez, Kontagailua izeneko aldagai bat sor dezakegu, hasierako balioa 0 duena. Gero, begizta nagusia errepikatzen den bakoitzean, balioa handitu dezakegu:
- Hasieran: Kontagailua = 0.
- Itzuli baten ondoren: Kontagailua = 1.
- Bi itzuli ondoren: Kontagailua = 2.
- Hiru itzuli ondoren: Kontagailua = 3.
Aldagaiaren balioa COM monitorera bidaltzen badugu, denborarekin nola aldatzen den ikusi ahal izango dugu.
Atal praktikoa
Material hauek behar dituzu:
- ESP32 garapen-plaka.
- BatSTEM hedapen-plaka.
- USB konexio-kablea.
- BatSTEM Clouderako sarbidea duen ordenagailua.
Konexio diagrama
Ikasgai honetan garapen-plaka ordenagailura konektatu besterik ez dugu egin behar, USB kablearen bidez. Konexio horrek plaka programatzeko balioko du, baita COM monitorearen bidez plakarekin komunikatzeko ere.
Pausoz pauso
- Jarri ESP32 garapen-plaka BatSTEM hedapen-plakaren gainean.
- Konekta ezazu USB kablea garapen-plakara.
- Konekta ezazu USB kablearen beste muturra ordenagailura.
- Ireki BatSTEM Cloud.
- Sketch bat exekutatzen duzunean, ireki COM Mon. panela, plakak bidaltzen dituen mezuak ikusteko.
COM monitoreak mezurik erakusten ez badu, berrikusi plaka konektatuta dagoela, sketch-a behar bezala exekutatu dela eta programaren COM konfigurazio-blokean 115200 bps ezarri dituzula.
Kodea
Hiru sketch sortuko ditugu. Lehenengoan mezu sinple bat bidaliko dugu. Ondoren, aldagai bat erabiliko dugu kontatzeko. Azkenik, plakak ordenagailutik testua jasotzen duenean erantzun egingo du .
Mezu bat bidali COM monitorera
Eraiki eta exekutatu sketch hau:

- Konfigurazioa blokean, gehitu “konfiguratu COM ataka” blokea.
- Hautatu 115200 bps-ko abiadura.
- Begizta nagusian, gehitu “idatzi … COM atakan” bloke bat.
- Idatzi “Kaixo BatSTEMetik” testua.
- Utzi aktibatuta lerro-jauzia bidaltzeko aukera.
- Gehitu 1 segundoko itxaronaldia.
- Exekutatu sketch-a eta ireki COM monitorea.
Pausoz pauso
- Egin Klik Komunikazioa kategorian.
- Arrastatu “konfiguratu COM ataka 115200 bps-ra” blokea konfigurazioa blokera.
- Arrastatu “idatzi … COM atakan” blokea begizta nagusira.
- Gehitu testu-bloke bat “Kaixo BatSTEMetik” mezuarekin.
- Utzi markatuta bidali lerro-jauzia aukera, mezu bakoitza lerro berri batean ager dadin.
- Klikatu Denbora eta gehitu 1 segundoko itxaronaldia.
- Sakatu Exekutatu.
- Ireki COM monitorea eta ikusi nola agertzen den mezua segundoko behin.
Lerro-jauziari esker, mezu bakoitza lerro berri batean hasten da. Aukera hori desaktibatzen baduzu, mezuak bata bestearen atzetik agertuko dira lerro berean.
Aldagai baten balioa bidali
Orain, aldagai bat erabiliko dugu begizta nagusia zenbat aldiz errepikatu den kontatzeko.
Eraiki eta exekutatu sketch hau:

- Konfigurazioa blokean, konfiguratu COM ataka 115200 bps-ra.
- Konfigurazioa blokean, sortu Kontagailua izena duen aldagai bat, hasierako balioa 0 izanik.
- Begizta nagusian, idatzi Kontagailua aldagaiaren balioa COM atakan.
- Gehitu 1 segundoko itxaronaldia.
- Handitu Kontagailua aldagaiaren balioa 1ean.
Pausoz pauso
- Mantendu “konfiguratu COM ataka 115200 bps-ra” blokea konfigurazioa blokearen barruan.
- Egin Klik Datuak kategorian.
- Arrastatu “izena duen aldagaia” blokea konfigurazioa blokera.
- Idatzi Kontagailua aldagaiaren izen gisa.
- Jarri hasierako balioa 0-an.
- Begizta nagusian, gehitu “idatzi … COM atakan” bloke bat.
- Testu finkoa idatzi beharrean, jarri barruan Kontagailua aldagaiaren balioa irakurtzen duen blokea.
- Gehitu 1 segundoko itxaronaldia.
- Gehitu “Kontagailua aldatu 1 (e)n” blokea.
- Exekutatu sketch-a eta ikusi nola handitzen den zenbakia COM monitorean.
Kontagailuak hasieran 0 erakusten badu, ez da akatsa. Hori da aukeratu dugun hasierako balioa. Gero, pixkanaka handitzen joango da.
Bidalitako testua irakurri COM monitoretik
Ordenagailutik plakara ere bidal dezakegu testua. Sketch honetan, plakak daturik dagoen egiaztatuko du. Testurik badago, irakurri eta berriz idatziko du COM monitorean.

Pausoz pauso
- Konfiguratu COM ataka 115200 bps-ra konfigurazioa blokean.
- Sortu Mezua izeneko aldagai bat, hasierako balioa "" izanik.
- Begizta nagusian, gehitu Logika kategoriako “baldin eta” bloke bat.
- Baldintza gisa, erabili “datuak daude COM atakan” blokea.
- “Baldin eta” blokearen barruan, ezarri Mezua aldagaiaren balioa “irakurri testua COM atakatik” blokearekin.
- Ondoren, gehitu “idatzi … COM atakan” bloke bat eta idatzi Mezua aldagaiaren balioa.
- Exekutatu sketch-a.
- Idatzi hitz bat COM monitorean eta bidali. Plakak testu bera erakutsiz erantzun beharko luke.
Horrelako programari batzuetan “eko” esaten zaio: jasotzen duena itzultzen du. Komunikazioak bi noranzkoetan funtzionatzen duela egiaztatzeko modu sinplea da.
Ariketa gehigarriak edo erronkak
Aldatu “Kaixo BatSTEMetik” mezua beste testu batekin.
Aldatu kontagailua, balioa binaka handitu dadin.
Horretarako, “Kontagailua aldatu 1 (e)n” blokean, jarri 2 balioa 1en ordez.
Aldatu itxaronaldia, kontagailuaren balioa azkarrago edo motelago bidaltzeko.
Eko sketch-ean, aldatu erantzuna: plakak mezu bat idatz dezan beti, jasotako testua itzuli aurretik.
Ikasitakoaren laburpena
- Ikasi dugu serieko atakak plaka ordenagailuarekin komunikatzeko aukera ematen duela.
- COM ataka 115200 bps-ra konfiguratu dugu.
- Plakatik COM monitorera mezuak bidali ditugu.
- Aldagai bat erabili dugu kontagailu baten balioa gordetzeko.
- COM monitoretik plakara bidalitako testua irakurri dugu.
- COM ataka erabili dugu gure programen funtzionamendua ikusteko eta akatsak aurkitzeko.
Hurrengo urratsak
- Ikas ezazu sakagailu bat erabiltzen sarrerako gailu gisa 7. ikasgaian.
Ariketa gehigarrien soluzioak
Erakutsi
Binaka handitzen den kontagailua
Kontagailuaren balioa binaka handitzeko, sketch-aren egitura bera mantenduko dugu, baina gehikuntza aldatuko dugu:
- Idatzi Kontagailua aldagaiaren balioa COM atakan.
- Itxaron 1 segundo.
- Handitu Kontagailua aldagaiaren balioa 2an.
Irteera honelakoa izango da:
- 0
- 2
- 4
- 6
- 8
Jasotako testuarekin erantzun
Eko sketch-ean, mezu finko bat gehi dezakegu Mezua aldagaiaren balioa idatzi aurretik. Adibidez:
- Idatzi “Hau jaso dut:” COM atakan.
- Idatzi Mezua aldagaiaren balioa COM atakan.
Horrela, errazago bereiziko ditugu plakaren erantzunak COM monitorean.