====== Jednodeskový ARM počítač - OODROID-C1 a ODROID-C1+ ====== {{ :cs:modules:arm:odroid:odroid-c1_top_big.jpg?direct&400 |ODROID C1 v MLAB stavebnici s přidaným chladičem}} Oba počítače jsou softwarově plně kompatibilní a mají i stejné rozlišení pinů na konektorech. Pouze se liší jejich breakoutframe, protože na verzi C1+ jsou opravené některé HW chyby verze C1. ===== Speciální Periferie ===== ==== IR receiver ==== Infra remote controller je uzitecny pro bezdratove dalkove spousteni skriptu a ovladani bezicich aplikaci. Lze pouzit libovolny IR dalkovy ovladac, ktery ma nosnou frekvenci shodnou s IR prijimacem osazenym v ODROIDu. Pokud chceme pouzit dalkove ovladani (jine nez ktere k ODROIDu dodava Hardkernel) je potreba identifikovat komunikacni protokol a jednotliva tlacitka na ovladaci. === Identifikace tlacitek === Nejprve je potreba zastavit beziciho daemona //lirc// sudo service lirc stop Nyni muzeme spustit scanovaci utilitu ktera spusti pruvodce rozpoznanim tlacitek. sudo irrecord --device /dev/lirc0 samsung_cleaner_tmp.conf Výsledkem utility je nějaký takovýto soubor: # this config file was automatically generated # using lirc-0.9.0(default) on Sat Feb 27 21:49:49 2016 # # contributed by Jakub Kakona (kaklik@mlab.cz) # # brand: Genius # model no. of remote control: SW-HF5.1 5050 # devices being controlled by this remote: Genius Multimedia HiFi Speaker system HF 5.1 # begin remote name SW-HF5_1 bits 16 flags SPACE_ENC|CONST_LENGTH eps 30 aeps 100 header 8935 4545 one 513 1730 zero 513 613 ptrail 505 repeat 8934 2304 pre_data_bits 16 pre_data 0x3FC gap 107855 toggle_bit_mask 0x0 begin codes KEY_RESET 0x6996 KEY_VOLUMEUP 0xA956 KEY_WOOFERUP 0x29D6 KEY_MUTE 0x41BE KEY_MUTE 0x41BE KEY_VOLUMEDOWN 0x817E KEY_WOOFERDOWN 0x01FE KEY_FRONTUP 0x619E KEY_REARUP 0xA15E KEY_FRONTDOWN 0x21DE KEY_CENTERUP 0x51AE KEY_CENTERDOWN 0x11EE KEY_DVD 0x718E KEY_REARDOWN 0xB14E KEY_TV 0x31CE KEY_GAMES 0x49B6 KEY_MP3 0x09F6 end codes end remote Po identifikaci ovladace a jeho tlacitek je mozne vytvoreny docasny soubor pouzit jako konfiguracni soubor pro lirc daemon. sudo cp samsung_cleaner_tmp.conf /etc/lirc/lircd.conf sudo service lirc start Nyni muzeme nastaveni zkontrolovat spustenim monitorovaciho klienta //irw// odroid@odroid:~$ irw 0000000003fca956 00 KEY_VOLUMEUP SW-HF5_1 0000000003fca956 01 KEY_VOLUMEUP SW-HF5_1 0000000003fca956 02 KEY_VOLUMEUP SW-HF5_1 0000000003fca956 03 KEY_VOLUMEUP SW-HF5_1 0000000003fca956 04 KEY_VOLUMEUP SW-HF5_1 0000000003fca956 05 KEY_VOLUMEUP SW-HF5_1 0000000003fca956 06 KEY_VOLUMEUP SW-HF5_1 0000000003fca956 07 KEY_VOLUMEUP SW-HF5_1 0000000003fc817e 00 KEY_VOLUMEDOWN SW-HF5_1 0000000003fc817e 01 KEY_VOLUMEDOWN SW-HF5_1 0000000003fc817e 02 KEY_VOLUMEDOWN SW-HF5_1 [[http://forum.odroid.com/viewtopic.php?f=112&t=11865|Identifikace tlacitek]] [[http://odroid.com/dokuwiki/doku.php?id=en:c1_lirc|Originalni navod ODROID]] === Pouziti v Python === sudo apt-get install python-pylirc Pak můžeme vyjít například z následujícího příkladu: wget https://raw.githubusercontent.com/offlinehacker-playground/pylirc2/master/conf wget https://raw.githubusercontent.com/offlinehacker-playground/pylirc2/master/pylirc_test.py V souboru //conf// je potřeba mít nastavené stejné symboly, které poskytuje lirc. Například: begin remote = * button = KEY_VOLUMEUP prog = pylirc config = testtest end Po spuštění pylirc_test.py pak dostaneme výpis oznámení o stisku zvoleného tlačítka. === Použití s Debian Jessie === Pro rozfungování lirc v OS Debian je potřeba nahrát modul do kernelu sudo modprobe meson-ir nebo přidat ''moson-ir'' do ''/etc/modules'' pro automatické zavádění při startu. Pak do konfiguračního souboru ''/etc/lirc/hardware.conf'' přidat DRIVER="default" DEVICE="/dev/lirc0" ====== Rozšiřující konektory ====== The Odroid-c1 povides one 40-pin dual row expansion header "**J2**". The location and pinout of these connectors is illustrated blew.\\ All signals on expansion headers are 3.3V except Analog input signal. ---- **J2 - 2x20 pins** ^ Pin Number ^ Expansion Net Name ^ Description ^ Pin Number ^ Expansion Net Name ^ Description ^ |1|3.3V Power| |2|5.0V Power| | |3|I2CA_SDA| Export GPIO#74 |4|5.0V Power| | |5|I2CA_SCL| Export GPIO#75 |6|Ground| | |7|GPIOY.BIT3| Export GPIO#83, Wiring Pi GPIO#7|8|TXD1|Export GPIO#113| |9|Ground| |10|RXD1|Export GPIO#114| |11|GPIOY.BIT8| Export GPIO#88, Wiring Pi GPIO#0|12|GPIOY.BIT7|Export GPIO#87, Wiring Pi GPIO#1| |13|GPIOX.BIT19|Export GPIO#116, Wiring Pi GPIO#2|14|Ground| | |15|GPIOX.BIT18|Export GPIO#115, Wiring PI GPIO#3|16|GPIOX.BIT7|Export GPIO#104, Wiring Pi GPIO#4| |17|3.3V Power||18|GPIOX.BIT5|Export GPIO#102, Wiring Pi GPIO#5| |19|GPIOX.BIT10(MOSI)|Export GPIO#107, Wiring Pi GPIO#12, PWM1|20|Ground| | |21|GPIOX.BIT9(MISO)|Export GPIO#106, Wiring Pi GPIO#13|22|GPIOX.BIT6|Export GPIO#103, Wiring Pi GPIO#6| |23|GPIOX.BIT8(SPI_SCLK)|Export GPIO#105, Wiring Pi GPIO#14|24|GPIOX.BIT20|Export GPIO#117, Wiring Pi GPIO#10| |25|Ground| |26|GPIOX.BIT21|Export GPIO#118, Wiring Pi GPIO#11| |27|I2CB_SDA| Export GPIO#76 |28|I2CB_SCL| Export GPIO#77 | |29|GPIOX.BIT4|Export GPIO#101, Wiring Pi GPIO#21|30|Ground| | |31|GPIOX.BIT3|Export GPIO#100, Wiring Pi GPIO#22|32|GPIOX.BIT2|Export GPIO#99, Wiring Pi#26| |33|GPIOX.BIT11|Export GPIO#108, Wiring Pi GPIO#23, PWM0|34|Ground| | |35|GPIOX.BIT0|Export GPIO#97, Wiring Pi GPIO#24|36|GPIOX.BIT1|Export GPIO#98, Wiring Pi GPIO#27| |37|ADC.AIN1|10bit ADC#1 (0~1.8Volt)|38|1.8V Power|For ADC reference voltage. Output!| |39|Ground| |40|ADC.AIN0|10bit ADC#0 (0~1.8Volt)| [[http://odroid.com/dokuwiki/doku.php?id=en:c1_hardware|zdroj]] ===== I2C ===== Pro použití [[cs:i2c|I²C]] je potřeba do Linux kernelu nahrát modul. modprobe aml_i2c [[http://odroid.com/dokuwiki/doku.php?id=en:c1_hardware_i2c|Zdroj]] ===== SPI ===== Do kernelu je potřeba nahrát moduly driveru SPI. sudo modprobe spicc sudo modprobe spidev Potom zacne byt videt systemove zarizeni ///dev/spidev0.0//. ls /dev Aby k němu mohli přistupovat i non-root uživatelé, tak je nutné vytvořit v ///etc/udev/rules.d// (cd /etc/udev/rules.d) soubor (např. 80-linuxcnc.rules) s obsahem: sudo touch 80-linuxcnc.rules sudo vim 80-linuxcnc.rules Vložit daný text tak že jednou se zmáčkne i a pak se vloží text. Pak ESC a napsat :x a enter. KERNEL=="spidev*", SUBSYSTEM=="spidev", GROUP="spi", MODE="0660" Vložení modulu do souboru /etc/modules: sudo sudo vim /etc/modules Vložíme: spicc spidev Provedeme reboot a následně ověříme, že je vidět rozhraní SPI: ls /dev [[http://raspberrypi.znix.com/hipidocs/topic_spidev.htm|zdroj]] Program modprobe přidává moduly pouze do běžícího kernelu. Pokud mají být moduly do kernelu nahrány i při dalším spuštění systému, tak je potřeba je přidat do souboru ///etc/modules//