abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 19:44 | Zajímavý článek

    Před 32 lety, 6. června 1993, byl spuštěn první český WWW server (ještě pod TLD .cs), pro potřeby fyziků zabývajících se problematikou vysokých energií.

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | Zajímavý software

    Střílečku Borderlands 2 lze v rámci výprodeje série Borderlands na Steamu získat zdarma napořád, když aktivaci provedete do 8. června 19:00.

    Ladislav Hagara | Komentářů: 0
    dnes 15:11 | Nová verze

    Byla vydána nová verze 2.22 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Komunita

    Canonical Launchpad vypíná systém správy verzí Bazaar. Vývojáři mohou své repozitáře do 1. září přemigrovat na Git.

    Ladislav Hagara | Komentářů: 5
    včera 13:22 | Nová verze

    Byla vydána nová verze 2.53.21 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    včera 12:33 | Komunita Ladislav Hagara | Komentářů: 14
    včera 11:22 | Komunita

    Na Indiegogo byla spuštěna kampaň na podporu linuxového telefonu Liberux NEXX s osmijádrovým procesorem Rockchip RK3588S, 32 GB LPDDR4x RAM a 6.34″ 2400×1080 OLED displejem. Cena telefonu je 1 310 eur.

    Ladislav Hagara | Komentářů: 3
    včera 11:11 | Komunita

    Miro Hrončok vyhrál volby do Fedora Council. Mezi sedmi kandidáty, kteří se ucházeli o dvě křesla, nakonec získal nejvíce hlasů - 1089. Česká komunita má tak po delší době opět zástupce v nejvyšším orgánu Fedory.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Zajímavý software

    Redox OS (Wikipedie), tj. mikrokernelový unixový operační systém naprogramovaný v programovacím jazyce Rust, nově podporuje X11 a GTK 3.

    Ladislav Hagara | Komentářů: 0
    včera 02:55 | IT novinky

    Dnes po celém světě startuje prodej herní konzole Nintendo Switch 2.

    Ladislav Hagara | Komentářů: 7
    Jaký je váš oblíbený skriptovací jazyk?
     (54%)
     (33%)
     (8%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 213 hlasů
     Komentářů: 14, poslední 2.6. 08:30
    Rozcestník

    Dotaz: Čtení z pinu TX na GPIO na Raspberry

    10.2.2016 21:08 cvp | skóre: 18
    Čtení z pinu TX na GPIO na Raspberry
    Přečteno: 1236×
    Mám propojený Arduino s Raspberry a potřebuji z něj číst data. Propojeno mám přes GPIO přes pin TX (obrázek zde).

    Můj python script:
    #!/usr/local/bin/python
    # -*- encoding: utf-8 -*-
    
    import serial
    ser = serial.Serial('/dev/ttyACM0', 9600)
    
    state=ser.readline()
    print(state)
    
    Bohužel dostávám chybu, že port /dev/ttyACM0 neexistuje, což nechápu. Zapojeno mám správně.
    serial.serialutil.SerialException: could not open port /dev/ttyACM0: [Errno 2] No such file or directory: '/dev/ttyACM0'
    

    Řešení dotazu:


    Odpovědi

    10.2.2016 21:34 NN
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    /dev/ttyACM0 v systemu existuje nebo ne?
    10.2.2016 21:37 cvp | skóre: 18
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Ve složce /dev/ jsem ttyACM0 nenašel. Je tam pouze ttyAMA0.
    10.2.2016 22:38 cvp | skóre: 18
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    #!/usr/bin/env python
    
    import serial
    
    ser = serial.Serial('/dev/ttyAMA0', 9600)
    state=ser.readline()
    print(state)
    Dostanu ale opět chybu. Přitom serial mám na Raspberry povolen.
    pi@raspberrypi:~ $ python senzor.py
    Traceback (most recent call last):
      File "senzor.py", line 5, in module
        ser = serial.Serial('/dev/ttyAMA0', 9600)
      File "/usr/lib/python2.7/dist-packages/serial/serialutil.py", line 261, in __init__
        self.open()
      File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 278, in open
        raise SerialException("could not open port %s: %s" % (self._port, msg))
    serial.serialutil.SerialException: could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0'
    10.2.2016 22:49 NN
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    AMC jsi opravil na AMA, ale tentokrat nemas prava:
    [Errno 13] Permission denied: '/dev/ttyAMA0'
    => pridej se do skupiny 'dialout':
    sudo usermod -a -G dialout pi
    Jendа avatar 10.2.2016 23:42 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Dále kdysi mi na RPi sériák nechodil, dokud jsem nesestřelil getty, které tam defaultně poslouchalo (a možná i jadernou konzoli).
    18.2.2016 14:31 cvp | skóre: 18
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    No já za boha nemohu komunikovat s Arduinem přes sériák. Už jsem se přepnul do root přes sudo -i a zkoušel komunikaci, ale nic nedostávám. Přitom mám odzkošené, že Arduino funguje a data generuje každou sekundu. Arduino LX bliká právě každou sekundu.

    Raspberry mlčí a s Arduino nechce přes sériák ani slyšet :(

    Zkoušel jsem komunikaci i přes:
    read -n 200 LINE < /dev/ttyAMA0 9600
    -bash: /dev/ttyAMA0: Permission denied
    Jendа avatar 18.2.2016 15:13 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    No já za boha nemohu komunikovat s Arduinem přes sériák.
    Arduino je 5V, při připojení přímo na RPi hrozí zničení jeho 3.3V logiky.

    Na low-level problémy s komunikací se hodí logický analyzér a/nebo osciloskop, možná by pomohla alespoň zvukovka.
    -bash: /dev/ttyAMA0: Permission denied
    Nemáš k tomu práva. Jako uživatel musíš být ve skupině dialout nebo tak něco.
    read -n 200 LINE < /dev/ttyAMA0 9600
    To je blbost, co tam dělá to 9600? Parametry linky musíš nastavit přes stty, napsat to jen tak za jméno souboru asi těžko pomůže.

    Osobně používám na komunikaci po sériáku screen (screen /dev/ttybla 9600), pro čtení delších výpisů pak svůj vlastní skript
    #!/usr/bin/python3
    import time
    import serial
    import sys
    
    from datetime import datetime
    from time import gmtime, strftime
    
    def toascii(s):
      return s.decode('ascii', 'ignore')
    
    def fromascii(s):
      return s.encode('ascii', 'ignore')
    
    
    br=int(sys.argv[2])
    
    ser = serial.Serial(port=sys.argv[1], baudrate=br, timeout=21)
    
    wow=datetime.now().strftime("%Y-%m-%d-%H%M%S")
    l=open("./serial-%s.txt"%(wow), "ab")
    
    while True:
      line = ser.readline()
    
      wow=datetime.now().strftime("%Y-%m-%d-%H%M%S")
      l.write(fromascii(wow))
      l.write(fromascii(" "))
      l.write(line)
    
      sys.stdout.write(line.decode("utf-8", 'ignore'))
    
      sys.stdout.flush()
      l.flush()
    
    18.2.2016 15:34 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Arduino je 5V, při připojení přímo na RPi hrozí zničení jeho 3.3V logiky.

    To arduino mini pro může být i 3,3V. Nicméně na tom obrázku je vidět bi-di level shifter ve směru arduino 5v - rpi 3,3V.
    18.2.2016 14:29 cvp | skóre: 18
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Nepomohlo, stále mám chybu: serial.serialutil.SerialException: could not open port /dev/ttyAMA0: [Errno 13] Permission denied: '/dev/ttyAMA0'
    18.2.2016 21:08 NN
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Permission denied
    randy avatar 18.2.2016 20:48 randy | skóre: 21 | Hviezdoslavov
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Co to bude ked to bude? Ten snimac gp2y10 mam tu tiez na stole, no akosi som to nedotiahol do konca :d
    R>
    18.2.2016 22:17 cvp | skóre: 18
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Dvě teplotní čidla Dallas DS18B20 a optický senzor prachu Sharp GP2Y1010AU0F.
    23.2.2016 15:49 cvp | skóre: 18
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Čtení již funguje, ale mám problém.

    Arduino kód:
    void setup() {
      Serial.begin(9600);
    }
     
    void loop() {
      if(Serial.available())
      {
        byte value = Serial.read();
         if(value == '1')
         {
          Serial.print("25.4"); 
         }
      }
    
    }
    
    Na Raspberry PI mám python script, který odešle číslo 1 a Arduino zašle 25.4. Uvádím to jako příklad, protože na Arduino mně zasílá více teplot a dokonce informaci o prachu z Dust senzoru. Arduino to trvá pár milisenkud.

    Bohužel na Rapsberry dostávám prázdný řádek a nevím proč. Přitom na Arduino to vypisuje správně, leč se malinko čeká (milisekundy).

    Python kód:
    
    #!/usr/bin/env python
    import serial
    s = serial.Serial("/dev/ttyAMA0", 9600)
    s.write('1')
    response = s.read()
    print response
    
    s.close()
    
    
    Zkoušel jsem vložit i timeout=0.5, ale stále prázdný řádek. Poradíte? :(
    23.2.2016 16:30 NN
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Uz jsi dostal odpoved na arduino.cc ..
    14.3.2016 21:15 Skokan | skóre: 11
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Tu odpověď tam nedostal, upozorňují tam, aby nezaměňoval číslo 1 a znak '1', ale to už ve vzorku kódu tady v diskusi má správně.
    14.3.2016 22:14 NN
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    To teda nema, porovnava byte a char. Predevsim proto, ze nema vubec tuseni co dela..
    15.3.2016 15:27 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Jenom takový dotaz, když tak na to koukám, je nějaký důvod, proč ty periferie nepřipojit přímo k tomu raspberry? Přijde mi to trochu zbytečně složité, raspberry má I2C (DS18B20) pak lze číst přímo třeba z /sys/devices/w1_bus_master1/,.... a ten Dust senzor také https://github.com/zxkane/ZhyuIoT/tree/master/GP2Y10
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    17.3.2016 11:41 tuxmartin | skóre: 39 | blog: tuxmartin | Jicin
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    DS18B20 nepouziva I2C, ale 1-Wire.

    Jinak bych take vetsinu veci pripojil primo na RPi.
    22.3.2016 07:39 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Pravda 1wire, ale i ten jde na RPi, sám tyto čidla používám na RPi.
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    20.3.2016 21:34 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
    Rozbalit Rozbalit vše Re: Čtení z pinu TX na GPIO na Raspberry
    Nebude lepsie to Arduino Nano pripojit cez USB ako sa hrat s level shifterom a viacmenej softwarovou implementaciou serioveho protokolu na RPi ? ... Ako bonus: pri pouziti spravneho bootloadera sa bude dat kod beziaci na Arduino Nano updatovat bez akehokolvek zasahu do zapojenia ...

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.