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í
×
    včera 04:00 | Zajímavý software

    Nourish (GitHub) je nový správce oken pro Linux. Tradiční plochy nahrazuje nekonečným plátnem a posouváním a přibližováním. Využívá vlastní kompozitor pro Wayland s názvem y5. Videoukázka.

    Ladislav Hagara | Komentářů: 3
    27.6. 15:33 | Komunita

    Po 20 letech a 17 otevřených (open source) krátkých filmech Blender Studio oznámilo plán na svůj první celovečerní film. Cílem samozřejmě není jenom nový otevřený film, ale především vývoj a vylepšení otevřených nástrojů pro spolupráci napříč celým procesem a vytvoření otevřené příručky (playbook) pro filmovou produkci ve velkém měřítku s informacemi, které jsou obvykle dostupné pouze uvnitř komerčních studií, a pomoci tak nezávislým tvůrcům překonat technické a organizační bariéry.

    Ladislav Hagara | Komentářů: 0
    27.6. 05:00 | Nová verze

    Byla vydána nová verze 26.6.25 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    26.6. 14:44 | IT novinky

    Apple bez varování odstranil ze svého obchodu sociální síť VKontaktě i další aplikace skupiny VK, jako je VK Music nebo VK Video [Novinky.cz].

    Ladislav Hagara | Komentářů: 18
    26.6. 14:22 | IT novinky

    V dubnu loňského roku představený poštovní klient Notion Mail bude 22. září ukončen.

    Ladislav Hagara | Komentářů: 3
    26.6. 04:33 | Komunita

    Konference OpenAlt 2026 hledá přednášející. Proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.

    Ladislav Hagara | Komentářů: 0
    26.6. 04:22 | IT novinky

    Společnosti OpenAI a Broadcom oznámily čip optimalizovaný pro AI pojmenovaný Jalapeño.

    Ladislav Hagara | Komentářů: 0
    25.6. 20:22 | Nová verze

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové verzi 2.9. Hlavní novinkou je deno desktop pro převod Deno projektu na desktopovou aplikaci. Jedná se o alternativu k frameworkům Electron nebo Tauri.

    Ladislav Hagara | Komentářů: 2
    25.6. 15:44 | IT novinky

    Od zítra jsou Datové schránky oficiálně na nové adrese datovka.gov.cz. Adresa mojedatovaschranka.cz zůstává funkční do 27. srpna 2026, následně budou uživatelé automaticky přesměrováni na datovka.gov.cz.

    Ladislav Hagara | Komentářů: 3
    25.6. 13:44 | Nová verze

    Dolphin (Wikipedie), tj. open source multiplatformní emulátor herních konzolí GameCube a Wii od Nintenda, byl vydán ve verzi 2606. S podporou Game Boy Playeru.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (26%)
    Celkem 2004 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Jak dostat data z I2C zařízení BH1750 přes USB-I2C převodník v Pythonu?

    jiri.one avatar 4.4.2020 19:42 jiri.one | skóre: 19 | blog: Jiriho blog
    Jak dostat data z I2C zařízení BH1750 přes USB-I2C převodník v Pythonu?
    Přečteno: 401×
    Zdar,

    mám tato zařízení:

    USB-I2C převodník: https://www.robot-electronics.co.uk/htm/usb_i2c_tech.htm

    GY-30 I2C modul: https://5.imimg.com/data5/TY/AK/MY-1833510/gy-30-bh1750-intensity-digital-light-sensor-module.pdf

    A modul GY-30 je se snímačem okolního osvětlení BH1750: https://www.mylms.cz/wp-content/uploads/2017/07/bh1750-datasheet.pdf

    Potřeboval bych z toho BH1750 vyčítat Luxy. Cílem je, abych si pak napsal SW, který mi bude automaticky regulovat podsvícení monitoru.

    S převodníkem komunikovat umím, přes pyserial na něm umím zhasnout tu kontrolní LEDku a nebo si nechat zobrazit jeho verzi.

    Co u ale neumím, to je určit správnou sekvenci bytů (bajtů), aby mi ten BH1750 poslal ty Luxy. Mám to testovně napsané nějak takto:

    import serial
    ser = serial.Serial(port="/dev/ttyUSB0",
                        baudrate=19200,
                        parity=serial.PARITY_NONE,
                        stopbits=serial.STOPBITS_TWO,
                        bytesize=serial.EIGHTBITS,
                        timeout=0.500,
                        )
    
    ser.flushInput()
    ser.flushOutput()
    
    ser.write(bytearray([0x55, 0x23, 0x11, 0x01]))
    test = ser.read()
    

    Zkoušel jsem různé posloupnosti, samozřejmě nejdřív ten BH1750 přes 0x01 zapnout, resetovat a tak dále. Ale ono se to k němu prostě nějak asi nedostane, vůbec to nereaguje, zkoušel jsem i jiné adresy, na všech adresách ale stejná odezva. Něco jakoby vyčtu, ale je to třeba jen číslo 255 a bohužel to Luxy opravdu nejsou.

    Umí s tím někdo a byl by mi ochoten pomoci? Buď samozřejmě takhle přes fórum a nebo klidně sdílení přes ssh a nebo nějaká session.

    Díky za případné reakce.

    Jiří

    www.jiri.one - Můj blog o Linuxu, hrách, životě, ...

    Řešení dotazu:


    Odpovědi

    Jendа avatar 4.4.2020 20:09 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak dostat data z I2C zařízení BH1750 přes USB-I2C převodník v Pythonu?
    Připojit logický analyzér (můj oblíbený Saleae klon za $7 z Ali) a podívat se. Bez toho se to bude ladit složitě.
    Řešení 1× (jiri.one (tazatel))
    jiri.one avatar 5.4.2020 14:12 jiri.one | skóre: 19 | blog: Jiriho blog
    Rozbalit Rozbalit vše Re: Jak dostat data z I2C zařízení BH1750 přes USB-I2C převodník v Pythonu?
    Tady je finální řešení:
    import serial
    import time
    
    ser = serial.Serial(port="/dev/ttyUSB0",
                        baudrate=19200,
                        parity=serial.PARITY_NONE,
                        stopbits=serial.STOPBITS_TWO,
                        bytesize=serial.EIGHTBITS,
                        timeout=0.500,
                        )
    
    ser.flushInput()
    ser.flushOutput()
    
    ADDR_BASE = 0x23 # nebo 0x5c pokud je ADDR pin HIGH
    ADDR_READ = ADDR_BASE << 1 | 1
    ADDR_WRITE = ADDR_BASE << 1
    
    CMD_WRITE_1B = 0x53
    CMD_READ_MULT = 0x54
    
    LUX_RESOLUTION_1X = 0x10
    LUX_RESOLUTION_4X = 0x13
    
    # nastavení senzoru
    ser.write(bytearray([CMD_WRITE_1B, ADDR_WRITE, LUX_RESOLUTION_1X]))
    
    while True:
        time.sleep(1)
    
        # požádám převodník o 2 B
        ser.write(bytearray([CMD_READ_MULT, ADDR_READ, 0x02]))
    
        # přečtu je
        raw = ser.read(2)
    
        # interpretace bytů podle datasheetu
        lx = (raw[1] << 8 | raw[0]) / 1.2
    
        print("--> %.d lx" %(lx))
    www.jiri.one - Můj blog o Linuxu, hrách, životě, ...

    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.