Fejlesztés

USB Host "okos" billentyűzet, melyik végpont a szabványos "boot code"?

Fórumok

Sziasztok!

Próbálkozom STM32 Host módjával USB billentyűzetet kezelni.
Belefutottam néhány dologba, de egész szépen működik már.

Az egy dolog, hogy vannak ezek a kombinált billentyűzetek, aminek több végpontja is van, és hol az egér, hol a billentyűzet szerepel korábban a leíróban.
Ezzel nincs problémám.

Most viszont sikerült szereznem egy okosabb Genius rádiós billentyűzetet, és elakadtam vele.
Ezen három végpont van, az első egy egér, a második egy billentyűzet és a harmadik is billentyűzet.
A probléma ezzel, hogy a második eszközzel (első billentyűzettel) nem működik a billentyűzet-kezelésem, a harmadikkal viszont igen.

Nyilván ez utóbbi lesz a normál "Keyboard Boot Protocol", az előbbi pedig valamiféle bővített változat.

Nem látom viszont, hogy az eszközleíróban ezek meg lennének különböztetve, ill. mindegyiket keyboard boot code-ként azonosítja nekem.

Hogyan tudnám megállapítani, hogy több billentyűzet interfész esetén melyik az, amelyik valóban a többé-kevésbé szabványos boot protokollt implementálja?

Nem hiszem ugyanis, hogy két billentyűzet végpont esetén mindig a második a "fallback" - vagy erre kellene építenem?

Tudtok ebben segíteni?

--------------------------------------------------------------------------------------------------------------------------------------------------------

Végül azt a megoldást választottam, hogy inicializáláskor megpróbálja beállítani a num/caps/scroll lock LED-eket.
Visszaolvasni ugyan nem sikerült (tartok tőle, hogy a hostnak kell emlékezni rá), de nem is volt rá szükség, mert a speciális billentyűzet interfészen ez a setreport hibára futott.
Ha záros határidőn belül nem sikerül beállítania a LED-eket, akkor továbblép a következő interfészre.

Ha sikerült a LED-eket beállítani, akkor ~100ms-ot követően kikapcsolja őket.

Az interfészekkel növekvő sorrendben próbálkozik, de most mindegyik billentyűzetet a megfelelő interfészen megtalálja, és jó eséllyel minden további billentyűzetnek is mennie kell vele, aminek van egy alternatív billentyűzet profilja ugyan, de támogatja ezt a "Keyboard Boot Protocol" megoldást is (amennyiben azok is hibára futnak a "nem megfelelő" interfészen).

Ebben a formában jobban tetszik a megoldás mint a fix második billentyűzetet megkeresni, bár kicsit át kellett írnom hozzá a billentyűzet felismerésemet.

php teljes oldal vagy értékek frissítése

Fórumok

Üdv mindenkinek!

 

Dióhéjban annyi a történet, hogy intézményi szinten alapból tiltva van minden switch minden portja ami használaton kívül van.
Amikor költözködések vannak különböző irodák közt vagy új eszközt helyezünk üzembe, akkor megy a nyálazás a topológiatérkép alapján, hogy ez az az eszköz, ennek az az IP-je és amaz a portja, majd belépek a webes felületén engedélyezem a portot. Csináltam egy oldalt, ahol be vannak állítva a hálózati eszközök (IP, snmp adatok, típus). Az oldal lekérdezi az adott eszközt snmp-n keresztül, hogy hány portja van majd kilistázza soronként a portokat, így láthatóvá válik az adott port aktuális állapota, admin state, mtu, speed, stb...
 

Minden sor végére tettem egy gombot:
 

echo"	<tr> \n";
echo"		<td>".$i."</td> \n";
echo"		<td>".$ifname."</td> \n";
echo"		<td style='background-color:".$statec."'>".$state."</td> \n";
echo"		<td style='background-color:".$ifadminc."'>".$ifadmin."</td> \n";
echo"		<td style='background-color:".$ifspeedc."'>".$ifspeed."</td> \n";
echo"		<td>".$ifmtu."</td> \n";
echo"		<td>".$ifchanged."</td> \n";
echo"		<td>".$ifmac."</td> \n";
echo"		<td>"."<form method='post'><input type='submit' name='button".$i."' value='".$buttval."'/></form></td> \n";
echo"	</tr> \n";

 

Aminek adtam egy funkciót:

if(isset($_POST['button'.$i])) { 
    switch ($ifadmin){
		case "ENABLED":
			snmpset($ip, $commrw, $attr[5][$devices[0][4]].$i,'i','2');
		break;
		case "DISABLED":
			snmpset($ip, $commrw, $attr[5][$devices[0][4]].$i,'i','1');
		break;
	}
	//header("Location: http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
	//header('Location: '.$_SERVER['PHP_SELF']);
	//header('Location: '.$_SERVER['REQUEST_URI']);
	header("Refresh:0");
	//include 'index.php';
	//window.location.reload(true);
}

 

Ahogy látható is, a végén többféleképpen próbáltam az oldalt frissíteni a gombnyomás után.
2 eset szokott történni:

a) vagy lefrissül az oldal látszólag, de az állapotokat vagy nem kérdezi le újra vagy nem jelenik meg. Ha egy portot letiltok, a státusza ugyanúgy ENABLED marad csak ha kézzel ráfrissítek az oldalra, akkor látszik a valódi aktuális állapota
b) frissül az oldal, de csak addig a sorig listázza ki a portokat, amelyikben nyomtam a gombot (azt már nem, csak az előtte lévőket).

Ez utóbbit gondoltam úgy felhasználni, hogy a for cikluson kívülre rakom a gombot, de az azért nem lesz jó, mert az első sorban látható: 'button'.$i így értelmét veszti. Lényegében ugyanaz a számláló pörgeti, ami a sorokat is a for ciklusban.

Mit gondoltok, lehet erre megoldás?
Egyszerűen csak annyit szeretnék, ha megnyomom a gombot és lefut a kód amit akarok, utána frissüljenek az értékek.

 

kép

Hogyan csinálnátok jó szabályozót?

Fórumok

A kérdés nem költői, valós. Ha a rendszer nonlineáris, a mérés a beavatkozáshoz képest holtidős, akkor nagyjából ki is dobhatjuk mindazt, amit a PID-szabályozókról tudunk. Az egyedüli öröm benne, hogy viszonylag lassú a folyamat, fűtésről van szó. Kevésbé nagy öröm, hogy eléggé korlátos a futásidő, nem lehet eszetlenül szorozni, osztani, mintha nem lenne holnap. Most azon gondolkodom, hogy exponenciális átlagolással megtanulná, az utóbbi időben mekkora volt a fűtés teljesítményigénye egy normális PI-szabályozás során, s ezen értékhez képest felfelé és lefelé lenne mozgástere az integrátornak adott margón belül. Ha vannak még tippek, írjátok!

sqldb+python, Oracle APEX vagy más alternatíva

Fórumok

Kezdem a megoldandó problémával:

1) Tárolni akarok egy halom adatot. Főleg számok, és vannak elnevezések (kevés, nem hosszú, 1-3 szóra gondoljatok). Mennyiségileg: tárhely szempontjából nem számítok sokra, de mennyiségileg igen (nem annyira sok, hogy a számítógépnek gondot okozzon, kézzel bevinni viszont kemény lesz). Az adatok kapcsolata alapján relációs adatbázisban könnyen le lehet képezni mindet.

2) Mindenféle paraméterek szerint le szeretnék kérdezni az adatokból dolgokat. Főleg megszámlálni így-úgy csoportosítva és szűrve, illetve összeadni dolgokat (csoportosítva és szűrve). Erre szintén az SQL jó iránynak tűnik.

3) Az adatokat Google Drive-on, itthon a NAS-on vagy itthon valami háttértáron tárolnám. Hozzá szeretnék férni (adatbevitel illetve lekérdezés) a laptopomról, Linux alól és Windows alól is. Esetleg a másik laptopomról.

Erre a feladatra (tárolás + lekérdezés) keresek eszközt.

Nem kell az összes számot eltárolnom első lépésben. Vannak dolgok, amit nekem kell leolvasni és kézzel bevinni. Ezek így is maradnak majdd. Ezek részhalmaza is elég az induláshoz, de rendes elemzéshez minden típusú mérésre szükségem lesz, szóval ezekből nem lesz elég a kicsi részhalmaz (minden kellene, vagy számos kis részhalmaz). Vannak olyan mérések, amik napi egy adatot adnak, vannak olyanok, amik napi néhány tizet. Ezek mellett jelenleg szemmel leolvasok és kézzel leírok olyan dolgokat is, amik napi 0-5 esetben fordulnak elő. Ha be tudnám tölteni a háttérből érkező nyers adatokat (nem is a betöltés a kihívás itt, hanem utána kéne keresni, hogy elérhetőek-e, honnan és hogyan mondjuk csv-ben), akkor különböző képletekkel tudnék számolni pár olyan dolgot, amit most egyszerűen leolvasok és rögzítek. (Itt is a képletek megalkotása és tesztelése a nagyobb feladat). Ezeknek akkor állnék neki, ha tudnám, hogy milyen eszközben fogom ezt csinálni.

Első körben táblázatban (Google sheets) kezdtem el valamennyi adat rögzítését, de látszik, hogy ez így nem fog menni. Az adatok tárolása még csak-csak (most kézzel csinálom, kikeresem azt, ami érdekes, és kézzel leírtam pár feltétel esetén az eredményeket - de főleg a lekérdezés oldaláról ez így nagyon fapados.

A következő ötletek merültek fel bennem, írjátok meg nyugodtan, mit gondoltok ezekről:

1) Google Sheets-ben tárolás, lekérdezés ismeretlen módon (nem tudom, rá lehet-e egy google sheets-re kapcsolódni mint adatforrásra, ha nem, akkor esetleg valami formulákkal esetleg makrókkal telipakolt oldalon jöhetne ki az adat). Így indultam el, de félek, hogy ez zsákutca. Ahhoz, hogy értelmesen működhessen, sokkal több formulára lenne szükség. Meg talán makrózásra, amivel semmi tapasztalatom nincs. Esetleg Google Sheets helyett mehetne egy Libreoffice Calc táblázat Google Drive-on.

2) SQLDB-be az adatokat, és mondjuk Python-ból lekérdezni. Még nem találtam ki, hogyan tenném be az adatokat (esetleg csv és pythonnal beolvasni, feldolgozni, adatbázisba tölteni). A fapadosság nem tragédia, viszont az SQLDB-t nem ismerem, fogalmam sincs, hogy lehet pl. Windows-ra telepíteni. Gondolom, az menne itt, hogy NAS-on (vagy Google Drive-on) van az adat fájl, és akár Win, akár Linux van előttem, a scriptjeim fel tudnak tölteni új adatokat, vagy lekérdeznek.

3) Oracle XE adatbázis és APEX. Az egyik pozitívum, hogy mindkettővel van tapasztalatom (bár több, mint 10 éve nem használtam ezeket, szóval azóta biztos változott ez-az). A másik pozitívum az, hogy ha valahol fut az Oracle és az APEX, akkor csak simán böngészőből rá tudok kapcsolódni és lehet piszkálni. Illetve a webes felületen szép lekérdezéseket lehet összerakni, grafikonokkal, stb. Negatívum: nem tudom, hova telepíthetném. A rendes laptopom ki-be van kapcsolva, néha Windows, néha Linux indul, kicsi a hely ezen. A másik sokszor napokon át fut Windows-zal, de fut rajta egy mérő szoftver, ami eléggé leterheli és csak 4G a memóriája. Van még Raspberry Pi, de nem számítok rá, hogy Raspbian alatt elfutna az Oracle.

4) Libreoffice-nak van valami adatbáziskezelős része is. Ugye? Sose használtam.

Az ideális az lenne, ha
- valami központi helyen lehetne tárolni az adatokat (NAS, Google Drive)
- vagy valami a laptopoktól független helyen (pl. Raspberry Pi vagy második laptop) futó program kezelné az adatokat és adna ehhez egy webes felületet (mint az APEX)
- vagy valami már most is telepített (pl. Libreoffice) program kezelné az adatokat és adna egy kényelmesen használható felületet
- nem ártana, ha vagy már ismert technológián/nyelven (Oracle, APEX, Python, SQL) alapulna az egész, vagy legalább ne kelljen hosszú időt eltölteni a beletanulással.

Ha van valami és csak Linux alatt fut, az nem ideális, de OK. Csak Windows-t nem szeretném, de ha nagyon jó minden más szempontból, akkor elképzelhető.

Megváltoztatja tartalmát a lopott e-könyv

Fórumok

Sziasztok.

Néhány éve lepergett egy cikk, ami e-bookok újfajta másolásvédelméről szólt.

Idézem:

Megváltoztatja tartalmát a lopott e-könyv

A nem legálisan beszerzett e-könyvek tartalmát alig észrevehetően módosítja egy új másolásvédelmi megoldás.

A SiDiM nevű technológia cseles módon bünteti meg az elektronikus könyvek kalózait. A német fejlesztés csak minimális, minden kötet esetében egyedi változtatásokat végez a szövegen. Egy-egy szó kicserélésével a kiszivárgott kópiákat egyedileg azonosítani lehet, letöltőjük pedig csak alapos vizsgálat esetén jöhet rá, hogy nem az eredeti művet olvassa - írja a Wired.

A fejlesztők ki is adtak egy német nyelvű dokumentumot (pdf), amelyben egy eredeti, és a másolásvédelem által manipulált szöveg olvasható. Ezekben többek közt a jelzőket és egyes kifejezéseket cserél a szoftver hasonló hangzású, de stilisztikailag eltérőkre. A német szövegben lévő példák alapján a technológia apró változtatásokat végez, amelyek a jelentést nem változtatják meg. Sok esetben még az új jelző stilisztikai értéke sem más: ezért lehet, hogy egy napjainkban írt bestseller olvasásakor fel sem tűnnének a változtatások, míg mondjuk egy Thomas Mann regényben igen.Az új megoldás iránt a Wired beszámolója szerint több nagy amerikai könyvkereskedő cég is érdeklődik. Ez nem is csoda, hiszen az e-könyveket kis méretükből adódóan nagyon könnyű terjeszteni az interneten, hiszen sokkal hamarabb letölthetők, mint például egy film, vagy mp3 zenefájl. Noha például az Amazon vagy a Barnes and Noble elektronikus kötetei alapból másolásvédettek, ezek gyári védelmét viszonylag egyszerűen, házilag is el lehet távolítani a fájlokból.

Tud erről valaki bővebb, inkább informatikai jellegű dolgot?
(Forrás itt)

[Megoldva] A modprobe mcp320x parancs "unknown symbol in module, or unknown parameter" hibával tér vissza

Fórumok

Sziasztok!

 

Van nekem egy Intel Galileo Gen2 vezérlőm, amin Yocto Linux fut. Erre a vezérlőre szabványos Arduino Shield-eket, lehet tenni.

Eddig minden rendben. Vettem hozzá egy MCP3201 ADC-t tartalmazó shield-et, ami SPI-n kommunikál(na) a vezérlővel.

A probléma, hogy az itt található forrásból fordított kernel modul a címben említett hibával tér vissza.

 

A parancs amit kiadok:

modprobe mcp320x

A dmesg sem sokkal bőbeszédűbb:

[ 5349.763606] mcp320x_driver: Unknown symbol mcount (err 0)

 

Ha jól értem kell a modprobe parancsnak plusz paraméter, de nem tudom, hogy milyen paraméter=érték (parameter=value) párosra van szüksége.

 

Találtam doksit is, de sokat segítene ha valaki tapasztaltabb meg tudná mondani, hogy tényleg csak a paraméterezést rontom el, vagy más a hiba? Plusz az is jól jönne, hogy hogyan paraméterezzem helyesen a modeprobe parancsot?

 

Az overaly nevezetű programmal elvileg egyszerű lenne a paraméterezés, viszont azt a Yocto linux polky verziójára nem találtam meg.

 

Szerk.:

Végül sikerült megoldani. :)

Újrafordítottam az imaget és hozzá a modult, így már működött. Tehát vl-nek volt igaza a hibával kapcsolatban. Köszönöm a segítséget!

 

Szerk II.:

Azért azt ideírom még, hogy ne legyen félrevezető: Sikerült továbbá 3.14-es kernellel fordítani, így csak egy sort kellett módosítani az eredeti kódon, az is csak egy include.

Qt licencfeltételek változása

Fórumok

https://www.qt.io/blog/qt-offering-changes-2020

Ez jó lesz. Vajon mit ért az alatt, hogy a binárisok letöltése csak online lehetséges? Runtime vagy SDK? KDE es egyéb app-ok hogy fognak települni? Ha minden "ingyenes" installt regisztrálni kell, akkor lesz egy olyan darabszám ami után barátságosan felajánlják, hogy vegyem meg?

A megszűnő LTS a free verziókhoz még érthető valamennyire, legalább rá lesz kényszerítve a user, hogy kövesse, bár azért itt is lehetnek nagy szopások.

499USD/év csak innen nézve tűnik soknak.

Kiváncsi vagyok, hogy az offline (átmásoljuk) install ellen hogy akarnak védekezni?

Biztonságos webes fejlesztés

Fórumok

Sziasztok!

Keresek olyan könyvet vagy egyéb oktatóanyagot, ami a biztonságos PHP-MySQL-JavaScript alkalmazások fejlesztését mutatja be akár gyakorlati példákon keresztül is. Van a témában két könyvem, de mindkettő 2009/2010-es kiadásu, úgyhogy én valami olyat keresek, ami ma is aktuális lehet. 

Licenc kérdés egy projekthez

Fórumok

Mélyen tisztelt nagyközönség,

Egy szolgáltató, bizonyos szolgáltatásához, készítettem egy programot, amit szeretnék úgy közkincsé tenni hogy, bárki használja és módisítania kell mert hibát talál, vagy hamarabb kell lefejleszteni az új funkciót mint én elkészíteném, vagy stb. stb.

Kötelezően vissza keljen szolgáltatnia a módosítást hogy, továbbra is közkincs legyen.

Ehhez keresnék megfelelő licencet.

Szolgáltató: Festipay

Program: Ingenico POS C#

Köszönöm a segítséget.