Připojení Arduina k Orange Pi Zero

Zápisník experimentátora

Hierarchy: Orange Pi

V předchozím článku o Orange Pi Zero jsme si ukázali ovládání GPIO pinů pomocí knihovny WiringOP. Na jednoduché činnosti vám tato knihovna poslouží dobře, ale při komplikovanějších projektech byste se potrápili, pokud byste všechno odladili. Pokud máte k dispozici Arduino, můžete jej připojit do USB portu a využívat jeho možnosti. Pro Arduino byly napsány knihovny pro každý integrovaný obvod, na který si vzpomenete. Zbývá vám proto pouze vyřešení jediného problému. Jak s Arduinem komunikovat.

Použité součástky

Budeme potřebovat tyto komponenty:

  • Arduino Uno - Můžete použít libovolné Arduino.
  • Orange Pi Zero (link) - Používám verzi s 512 MB RAM.
  • SD karta - Je třeba používat SD kartu Class 10. Stačí vám velikost 8 - 16 GB. Na SD kartě musí být nainstalován operační systém Armbian. Já jsem použil verzi Armbian 5.31, Debian Jessie 3.4.113.
  • Zdroj s koncovkou micro USB - Doma určitě budete mít nabíječku pro mobilní telefon. K napájení Orange Pi Zero nepotřebujete kupovat speciální. Jen si třeba zkontrolovat, zda je schopná dodat 1,5 - 2 A.
  • Ethernet kabel nebo Wi-Fi - Toto závisí na tom, jak jste si Orange Pi Zero nastavili. Pokud vám nevadí, že musí být připojeno k routeru přes Ethernet kabel, je to nejjednodušší způsob. Pokud jste si nastavili Wi-Fi, můžete mít své Orange Pi Zero umístěno kdekoliv v bytě.

Na obrázku vidíte v levém dolním rohu USB port. Do něj připojte libovolné Arduino. Arduino se automaticky objeví v seznamu sériových portů. Můžete si to ověřit příkazem ls /dev/ttyA*. Pokud máte v Arduinu program, který komunikuje po sériovém portu, můžete si ověřit, zda Arduino něco posílá pomocí příkazu cat /dev/ttyACM0. Pokud máte vše dobře zapojeno, měli byste vidět totéž, co je na následujícím obrázku.

Node.js

Na další komunikaci s Arduinem budeme využívat Node.js. Všechny potřebné informace o využívání Node.js na Orange Pi Zero jsme si vysvětlili v předchozích článcích.

Instalace

Využijeme zdrojové kódy, které jsem napsal k předchozím článkům. Nejprve si z GitHub naklonujte adresár arduinoslovakia příkazem git clone https://github.com/roboulbricht/arduinoslovakia.

Pak se přesuňte příkazem​ cd arduinoslovakia/node.js/arduinoserialtest2/node ddo adresáře se zdrojovým kódem pro Node.js a nainstalujte balíčky příkazem npm install. Pro ARM platformu sice balíčky nejsou připraveny, ale Orange Pi Zero si je zkompiluje přímo ze zdrojových textů balíčku serialport.

Pak můžete otestovat seznam sériových portů příkazem node list.js. Naše Arduino se objeví na portu /dev/ttyACM0. Kromě tohoto portu vidíte i další tři porty, ale ty nás teď nezajímají. Tyto porty jsou vyvedeny na 26-kolíkovou lištu.

Nakonec příkazem node index.js spusťte program, který vám nabídne na výběr sériový port a pak bude vypisovat na konzoli obsah, který odesílá Arduino.

Můžete si napsat vlastní program pro Arduino i Node.js, pomocí kterého budete Arduino ovládat. Můj příklad pro Node.js byl jen nevizuální, ale stejně dobře lze v Node.js napsat webserver, přes který budete ovládat Arduino a Orange Pi Zero přes svůj prohlížeč Internetu. Tento návod byl napsán pro Orange Pi Zero, ale stejně dobře bude fungovat na každém modelu Orange Pi.

Zdrojové kódy

Zdrojové kódy se nacházejí na serveru GitHub.


20.10.2017


Menu