Komunikačné protokoly Arduino
Kúzlo Arduina sa deje, keď začne komunikovať s okolitým svetom. My ľudia môžeme komunikovať pomocou rôznych jazykov alebo gest. Podobne stroje ako dosky Arduino komunikujú pomocou špecifických komunikačných protokolov. V tomto príspevku sa dozvieme o týchto komunikačných protokoloch pre Arduino.
Spôsoby komunikácie s Arduinom
Všetky protokoly môžeme klasifikovať do dvoch širokých kategórií:
- Paralelná komunikácia
- Sériová komunikácia
Čo je paralelná komunikácia?
Paralelná komunikácia prenáša viacero bitov súčasne. Z tohto dôvodu môžu prenášať veľké množstvo údajov pomocou veľkých častí 0 a 1.

Pre prenos dát na krátke vzdialenosti je najlepšou možnosťou použiť paralelnú komunikáciu pomocou vstupných a výstupných portov. Okrem toho bude fungovať až na niekoľko metrov.
Čo je sériová komunikácia?
Pri sériovej komunikácii vysielame po jednom bite cez komunikačný kanál alebo počítačovú zbernicu.

Sériová komunikácia je pomalšia ako paralelná komunikácia. Je však jednoduchšie ju implementovať. Navyše používa menej pinov. Mnoho sériových komunikačných protokolov funguje len na dvoch vodičoch.
Čo je káblová sériová komunikácia?
Existujú sériové komunikačné protokoly, ktoré používajú fyzické vodiče na pripojenie k periférnym zariadeniam, ako sú senzory alebo štíty Arduino. Všetky tieto protokoly možno opäť všeobecne klasifikovať ako asynchrónne a synchrónne.
Každý digitálny systém vo všeobecnosti potrebuje hodiny na synchronizáciu všetkých prvkov. V takom prípade sa hovorí, že zariadenia komunikujú synchrónne. Pri asynchrónnej komunikácii nie sú prítomné hodiny. Asynchrónna komunikácia má určitú réžiu, pokiaľ ide o zabezpečenie toho, aby si účastníci navzájom rozumeli.
Pozrime sa na nasledujúce štandardné komunikačné protokoly.
Čo je UART?
UART je skrátený ako Universal Asynchronous Receive Transmit. Ide o sériový protokol. Umožňuje dvom zariadeniam navzájom komunikovať. Preto si to vyžaduje dva argumenty, ktoré reprezentujú oba smery dátovej komunikácie.

Všetky zariadenia majú svoje vysielače a prijímače. Sú asynchrónne a môžu posielať dáta ako sériu impulzov sériovo. Okrem toho môže impulz reprezentovať jeden bit údajov. Arduino môže posielať tieto impulzy s pevnou prenosovou rýchlosťou, ktorú by obe zariadenia mali byť schopné pochopiť. Existujú tri vodiče, ktoré je potrebné pripojiť. Prvé dva vodiče slúžia na komunikáciu. Potom môže byť vysielač mastera spojený s prijímačom slave (akékoľvek periférne zariadenie, ktoré je riadené procesorovou jednotkou, je známe ako slave) Prijímač Arduina je možné prepojiť s vysielačom zariadenia. Tretí vodič môže byť pripojený k zemi.
Arduino UNO UART

Niektoré z faktorov, ktoré určujú komunikáciu UART, sú:
- Prenosová rýchlosť Je definovaná ako rýchlosť prenosu dát v kanáli. Predvolená prenosová rýchlosť je vo všeobecnosti 9600 bps. To znamená, že zariadenie komunikuje rýchlosťou 9600 bitov za sekundu.
- Dátový rámec V UART sa údaje odosielajú v dátovom rámci, ktorý je známy aj ako pakety. Obsahuje hlavné údaje spolu s niektorými informáciami na zabezpečenie presnej komunikácie.
Aké sú výhody komunikačného protokolu UART?
- UART má nízku hardvérovú náročnosť.
- Nevyžaduje softvérové adresovanie.
- Tento protokol je široko používaný v 9-pinovom konektore.
Aké sú nevýhody komunikačného protokolu UART?
- Podporuje komunikáciu iba medzi dvoma zariadeniami.
- V protokole UART je rýchlosť prenosu dát pevná.
Čo je SPI
SPI sa označuje skratkou Serial Peripheral Interface. Je to asynchrónny aj sériový dátový protokol. čo to znamená? Zatiaľ čo Arduino používa SPI na rýchlu komunikáciu s inými zariadeniami. Obmedzením však je, že to bude fungovať iba pri komunikácii na krátke vzdialenosti.
Zvyčajne je pripojenie SPI prevádzkované mikrokontrolérom, ktorý riadi iné periférne zariadenia. Napríklad v Arduino Uno sa o komunikačný protokol SPI stará jeho mikrokontrolér. Obsahuje štyri linky, ktoré sú spoločné pre všetky periférne zariadenia.
-
– Skrátene sa označuje ako (Master In Slave Out). Je to linka, ktorá posiela dáta do Arduina.
-
– Znamená (Master Output a Slave Input). Takže toto je linka, ktorá preberá výstup Master a dáva ho ako vstup podriadenému.
– Čo je skrátené ako (Serial Clock), SCK produkuje hodinové impulzy. Používa sa na synchronizáciu prenosu dát z Arduina.
- a SS – skrátené ako (Slave Select). Arduino ho môže použiť na zapnutie a vypnutie konkrétneho periférneho zariadenia.
Arduino UNO SPI :

Keď je SS pin nízky znamená 0, periféria začne komunikovať s Arduinom. Zatiaľ čo ak je 1 bude ignorovať pokyny.
Doska | ![]() | ![]() | ![]() | SS | Volt |
Arduino Uno | 11 alebo ICSP-4 | 12 alebo ICSP-1 | 13 alebo ICSP-3 | 10 | ![]() |
Arduino Mega | 51 alebo ICSP-4 | 50 alebo ICSP-1 | 52 alebo ICSP-3 | 53 | ![]() |
Aké sú výhody protokolu SPI?
- Protokol SPI je flexibilnejší pre prenos bitov.
- Hardvérové rozhranie je jednoduché.
- Protokol SPI je oveľa rýchlejší ako asynchrónny sériový.
- Pomáha plne k duplexnej komunikácii,
Aké sú nevýhody protokolu SPI?
- Protokol SPI vyžaduje viac pinov.
- Tento protokol podporuje iba jedno hlavné zariadenie.
- Protokol SPI nemá žiadny mechanizmus kontroly chýb.
Čo je I2C?
Používa sa hlavne na komunikáciu s rôznymi senzorovými zariadeniami, ktoré dokážu načítať dáta do Arduina.V komunikácii na krátke vzdialenosti môžeme využiť I2C komunikáciu.
I2C | Arduino pin pre I2C linku |
SDA | pin A4 |
SCL | pin A5 |
Arduino UNO I2C

Pre I2C komunikáciu môžeme použiť knižnicu Wire. Má mnoho vstavaných funkcií, ktoré pomôžu pri I2C komunikácii s periférnymi zariadeniami.
Aké sú výhody komunikačného protokolu I2C?
- Môžete použiť adresovanie čipu, môžete jednoducho pridať komponenty do zbernice.
- Má lepší mechanizmus spracovania chýb.
- Protokol I2c je ľahko prispôsobiteľný.
Aké sú nevýhody komunikačného protokolu I2C?
- I2C je vždy v konflikte adries kvôli adresovaniu čipu.
- Rýchlosť je obmedzená.
Čo je Ethernet?
Ethernet je zariadenie na pripojenie Arduina k internetu. Vyžaduje si to špeciálnu knižnicu. Doska Arduino môže slúžiť buď ako server, ktorý hosťuje a prijíma prichádzajúce sieťové pripojenia, alebo ako klient, ktorý vytvára odchádzajúce pripojenia. Ethernetový protokol je dostupný ako modul a tiež ako štít na vytvorenie internetového pripojenia k Arduinu.
Aké sú výhody komunikačného protokolu Ethernet?
- Všetky uzly majú rovnaké privilégiá.
- Ethernet protokol nepotrebuje žiadne rozbočovače ani prepínače.
- Vyžaduje si malú údržbu a administratívu.
Aké sú nevýhody komunikačného protokolu Ethernet?
- Ethernet poskytuje nedeterministické služby.
- Nedáva prioritu paketom.
- Tento protokol nepomáha v architektúre klient-server.
- Prijímač po prijatí paketov neposiela žiadne potvrdenie.
Čo je bezdrôtová sériová komunikácia?
Sériová bezdrôtová komunikácia pomáha prenášať dáta bezdrôtovo, bez akéhokoľvek fyzického kontaktu s prijímaným zariadením.
Niektoré z bezdrôtových protokolov:
- Wi-Fi
- Zigbee
- Thread
- MQTT
- Bluetooth
- RF
- Lo-Ra
- GPRS
- NFC
5 najlepších bezdrôtových protokolov na komunikáciu s Arduinom
- Wi-Fi
- Bluetooth(BLE)
- Thread
- MQTT
- GSM/3G/4G/5G
Čo je Wi-Fi?

Wi-Fi je rodina rádiových technológií bežne používaných na bezdrôtové lokálne siete (WLAN) zariadení. Wi-Fi sa označuje skratkou „Wireless Fidelity“. Predovšetkým využíva rádiové vlny na poskytovanie sieťového pripojenia bez použitia akýchkoľvek káblov alebo drôtov. Musí mať tri komponenty, ktorými sú rádiové signály, anténa a smerovač. Anténa prenáša rádiové vlny a smerovače, ktoré signály zachytávajú prijímače Wi-Fi. Preto dokáže komunikovať s 2,4 GHz aj 5 GHz zariadeniami.
Oblasti použitia
- Poskytuje prístup na internet vašej doske Arduino.
- Poskytuje hotspoty.
- Auto na diaľkové ovládanie cez Wi-Fi.
- Umožňuje priamu komunikáciu medzi počítačmi.
- Môžete zapnúť / vypnúť akékoľvek zariadenie pomocou vzdialeného systému Windows Arduino.
Výhody použitia WiFi pre Arduino
- Prenos údajov prebieha vysokou rýchlosťou.
- Wi-Fi je predovšetkým flexibilné na používanie.
- Vaše Arduino môže pracovať na akomkoľvek mieste, kde môžete získať signál.
Nevýhody používania WiFi vo vašich projektoch Arduino
- Wi-Fi využíva 2,4 GHz spektrum, ktoré je preplnené inými zariadeniami.
- Rýchlosť je nižšia ako prenos cez kábel.
- Okrem toho má vysokú spotrebu energie.
- Wi-Fi má predovšetkým obmedzený dosah siete.
Čo je Bluetooth ?

Bluetooth je bezdrôtový komunikačný protokol, ktorý využíva rádiové vlny na prenos údajov. Ide teda o jeden z najpoužívanejších bezdrôtových protokolov v IoT. Je vhodný len na komunikáciu na krátku vzdialenosť. Je dostupný na našich mobilných telefónoch, smartfónoch a počítačoch.
Aj keď má nízku cenu a spotrebuje nízku energiu. Môže pracovať až do 10 metrov. Preto sa používa na vytvorenie siete s blízkymi zariadeniami. Podporuje IEE802.15.4. Bluetooth spustil svoju najnovšiu verziu ako Bluetooth 5.0, ktorá sa používa v bezdrôtových slúchadlách, klávesniciach, myšiach a aplikáciách internetu vecí. Inovovaná verzia Bluetooth 5.0 má v porovnaní s tradičnou verziou 4.0 a predchádzajúcou 4.2 určité vylepšenia. Funkcie Bluetooth 5.0 môžete využívať iba vtedy, keď používate periférne zariadenia s podporou Bluetooth 5.0. V opačnom prípade nebudete môcť vidieť presné funkcie Bluetooth 5.0. Pretože periférie sú v staršej verzii ako Bluetooth 4.2. Hlavným vylepšením Bluetooth 5.0 je nízka energetická špecifikácia.
Pomáha periférnym zariadeniam pracovať s nízkou spotrebou energie, pretože Bluetooth sa väčšinou používa v nositeľných zariadeniach. Ďalšou hlavnou výhodou Bluetooth 5.0 je, že sa dá pripojiť k dvom zariadeniam súčasne. V porovnaní s predchádzajúcimi štandardmi sa zlepšila aj rýchlosť prenosu dát a dosah. Bluetooth 5.0 má rýchlosť prenosu dát až 2 Mbps, čo je dvakrát viac ako Bluetooth 4.2. Navyše dokáže komunikovať až na 240 metrov, zatiaľ čo predchádzajúci štandard Bluetooth 4.2 má dosah iba 60 metrov.
Výhody použitia Bluetooth pre vaše projekty Arduino
- Je to lacné a nákladovo efektívne.
- Používa sa na prenos hlasu aj dát.
- Môže zabrániť rušeniu s inými bezdrôtovými zariadeniami.
- Spotreba energie je nízka.
Nevýhody používania Bluetooth pre vaše projekty Arduino
- Šírka pásma je nižšia ako u Wi-Fi.
- Okrem toho je bezpečnosť údajov nízka.
- Môže podporovať iba komunikáciu na krátku vzdialenosť.
- Súčasne je možné pripojiť iba dve zariadenia.
- Môže za určitých nepriaznivých podmienok stratiť spojenie
Čo je Thread?
Thread je jedným z protokolov bezdrôtovej sériovej komunikácie, ktorý je otvoreným štandardom. Je postavený na protokoloch IPv6 a 6LoWPAN. Ide o sieťový protokol založený na IPv6.
Oblasti použitia :
- Jednoduchosť, Bezpečnosť, Spoľahlivosť, Efektívnosť,, Škálovateľnosť.
Čo je MQTT?
Skratka MQTT je Message Queuing Telemetry Transport. Je to jednoducho protokol na odosielanie správ, ktorý pomáha zariadeniam s nízkou šírkou pásma.
Môžeme ho použiť ako stroj na spracovanie protokolu pripojenia IoT. Ide teda o ľahký protokol na prenos správ na publikovanie a odber správ. Predovšetkým ho môžete použiť pre pripojenia, ktoré majú vzdialené miesta. MQTT je jedným z najčastejšie používaných protokolov na internete. Zatiaľ čo umožňuje zariadeniam IoT s obmedzenými zdrojmi publikovať a odosielať informácie ako sprostredkovateľ správ. Preto je najlepšou voľbou pre bezdrôtovú komunikáciu, ktorá zahŕňa rôznu latenciu. Klient MQTT je akékoľvek zariadenie, ktoré sa môže pripojiť k MQTT cez sieť pomocou knižnice MQTT. Je to protokol s nízkou réžiou, ktorý silne zohľadňuje obmedzenia šírky pásma a CPU. Zvyčajne beží cez TCP/IP. Brána MQTT je teda ethernetová brána, ktorá má upravený softvér, vďaka ktorému sa stáva klientom MQTT.
Čo je GSM?
Skratka GSM je Global System for Mobile communication standard, ktorý vyvinula spoločnosť European Telecommunication Standards Limited, ktorá popisuje rôzne protokoly. To pomáha dosiahnuť druhú generáciu digitálnych mobilných zariadení používaných mobilnými telefónmi. Preto môže digitalizovať a komprimovať údaje. Ide o digitálnu bunkovú technológiu na prenos mobilných hlasov a služieb. Okrem toho GSM používa viacnásobný prístup s časovým oddelením (TDMA) na prenos údajov je úzkopásmový viacnásobný prístup s časovým oddelením (TDMA). Normy pre mobilné technológie sa vyvinuli ako 2G, 3G, 4G, 5G.
2G označuje bunkovú technológiu druhej generácie. V súlade s tým používa CODEC, čo sú kompresné a dekompresné algoritmy na kompresiu a multiplexovanie hlasových dát. Okrem toho, pomocou tejto technológie môže 2G držať veľký počet hovorov na množstvo šírky pásma. A tiež ponúka SMS a e-mailové služby.
3G označuje mobilnú technológiu tretej generácie. Bol predstavený v roku 2000. Napriek tomu zvyšuje prenos dát zo 144 kbps na 2 Mbps. Výsledkom je zvýšenie šírky pásma pre smartfóny. Umožňuje súčasné používanie hovorovej a internetovej dátovej služby. 3G teda umožňuje operátorom poskytovať používateľom širokú škálu pokročilých služieb ako predchádzajúce systémy GSM a GPRS.
4G označuje mobilnú technológiu štvrtej generácie. Zatiaľ čo môže poskytnúť rýchlosť 100 Mbps až 1 Gbps. MAGIC je ďalší názov 4G. Skratka MAGIC je teda „integrované bezdrôtové riešenie na podporu mobility“.
5G označuje bunkovú technológiu piatej generácie. Bude hrať dôležitú úlohu ako predchádzajúce normy. Poskytne špičkové rýchlosti niekoľko Gbps s veľmi nízkou latenciou.
Oblasti použitia GSM
- 2G pomáha poskytovať služby, ako sú textové správy, obrazové správy a multimediálne služby.
- 3G hrá zásadnú úlohu v hlasovej telefónii, mobilnom prístupe k internetu.
- 4G poskytuje vysokorýchlostné internetové pripojenie.
- 5G má neustále pripojenie s minimálnym oneskorením.
Faktory, ktoré pomáhajú pri výbere vhodného protokolu pre naše projekty IoT
- S koľkými zariadeniami si doska Arduino musí vymieňať dáta?
- Aká je potrebná rýchlosť prenosu dát?
- Aká je vzdialenosť medzi zariadeniami a Arduinom?
- Je potrebné odosielať a prijímať dáta súčasne?
Ako si vybrať správny komunikačný protokol pre váš projekt Arduino?
- Pre komunikáciu so senzormi je I2C tou správnou voľbou.
- I2C je veľmi užitočné pri komunikácii s veľkým počtom modulov s minimálnym počtom vodičov.
- Pre komunikáciu na veľké vzdialenosti môžeme použiť RS232.
- V prípade spoľahlivej komunikácie môžeme použiť protokol SPI.
- Ak je potrebná komunikácia na krátku vzdialenosť, na dosiahnutie požadovaného výsledku stačí protokol SPI.
- Spotreba energie hrá dôležitú úlohu pri výbere bezdrôtových protokolov.
- Rozsah komunikácie, vzdialenosť medzi zariadeniami.
- Počet zariadení, ktoré je možné pripojiť.
- Bitová rýchlosť.
- Množstvo údajov.
Ďalšie populárne metódy bezdrôtovej komunikácie pre projekt Arduino IoT
- Zigbee
- Z wave
- RF
- 6LowPAN
- GPRS/3G/LTE
- NFC
- Lora
Pridaj komentár