Město Lyon posiluje svou digitální suverenitu a postupně nahrazuje software od společnosti Microsoft bezplatnými alternativami, zejména OnlyOffice pro kancelářské aplikace a Linux a PostgreSQL pro systémy a databáze.
Evropská občanská iniciativa Stop Destroying Videogames se snaží o to, aby vydavatelé, kteří spotřebitelům v Evropské unii prodávají videohry nebo na ně udělují licence, měli povinnost tyto hry ponechat ve funkčním (hratelném) stavu i po ukončení podpory ze své strany. Podpořit podpisem tuto iniciativu můžete v Systému pro online sběr podpisů.
Mozilla oficiálně ukončila svůj již několik let mrtvý projekt DeepSpeech pro převod řeči na text.
Krátce po oficiálním oznámení forku X.Org Xserveru s názvem XLibre Xserver byl ve Fedoře předložen návrh, aby byl X.Org Xserver nahrazen tímto XLibre Xserverem. Po krátké ale intenzivní diskusi byl návrh stažen.
62 projektů získalo finanční podporu od NLnet Foundation (Wikipedie).
Byl vydán SUSE Linux Enterprise 15 SP7. Přehled novinek v poznámkách k vydání a v aktualizované dokumentaci.
Byl představen telefon Fairphone 6 (599 eur). K dispozici je i verze s předinstalovaným /e/OS (649 eur).
Ghidra (Wikipedie), open source framework pro reverzní inženýrství, byla vydána ve verzi 11.4. Přehled novinek a historie změn na GitHubu. Národní bezpečnostní agentura (NSA) uvolnila zdrojové kódy frameworku Ghidra v dubnu 2019.
Stát selhal, když nesprávně převedl evropskou směrnici do českého práva a nutil telekomunikační firmy ze zákona uchovávat údaje o uživatelích, takřka všech občanech Česka. Tak znělo rozhodnutí Městského soudu v Praze ve sporu novináře Českého rozhlasu Jana Cibulky a ministerstva průmyslu a obchodu. Resort avizoval, že proti němu podá dovolání. Soud nyní rozsudek sepsal do dokumentu (pdf).
Konsorcium W3C vydalo po 20 letech novou verzi specifikace obrazového formátu PNG. K dispozici je i článek se shrnutím, který upozorňuje hlavně na podporu HDR, Exif dat a možnosti PNG animovat. Animace v PNG nejsou žádná novinka, ale ve standardu doposud zakotvené nebyly.
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ří
Řešení dotazu:
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))
Tiskni
Sdílej: