Fórumok
Sziasztok!
Különböző kütyük állapotát szeretném lekérdezni Linux alól, amihez szükségem volna egy olyan USB-s eszközre, amivel meg tudom állapítani, hogy két vezeték rövidre van zárva, vagy szakadt. Fogalmazhatunk úgy is, hogy kapcsolót szeretnék a két vezetékre kötni, és a kapcsoló ki-be állapotát szeretném tudni lekérdezni Linux alatt.
Ilyen "kapcsoló" lenne kb. 25-30 db, és mindezt 1 USB porton kellene megcsinálnom.
Azt sem tudom hirtelen, hogy hogyan keressek rá ilyen cuccra, tudnátok segíteni?
Hozzászólások
Közvetlenül biztos nem fog menni. Az usb csak adattovábbításra jó. Valamilyen "adatgyűjtő" kell mögé.
Itt már sokkal nagyobb a választék. AVR/PIC-től elkezdve a sok GPIO-s miniszámítógépekig.
---------------------------------------------------------------
Ritkán szólok hozzá dolgokhoz. Így ne várj tőlem interakciót.
Kereső kifejezés: USB IO module, USB GPIO module, USB digtal IO module.
Pl: https://www.amazon.com/Channel-GPIO-Module-Analog-Inputs/dp/B00MXJU6PK
+1 ez kell neked.
DAQ - "data aquisition" a neve.
Fentebb linkelt cuccok jók lesznek :)
Két vezetékkel arra figyelj, hogy pullup legyen bekapcsolva az adott digitális input lábon, különben beolvasod a zajt is.
"két vezeték rövidre van zárva, vagy szakadt"
Ez önmagában kicsit kevés. A két vezeték az csak "lóg a levegőben", vagy valamilyen feszültségen van, stb.?
Ha csak "lóg a levegőben" akkor könnyű dolgod van. Veszel egy arduino megát (klónt is akár), annak van 54 digit ki/bemenete, ezzel 27 "kapcsolóig" jó vagy: egy ilyen érpár megy 1-1 pin-re, az egyiket bemenetre állítod, a másikat kimenetre, aztán ahogy változtatod a kimenetet (high/low) úgy kell a bemenetnek is változnia. A megán van egy usbserial adapter, szóval soros porton kommunikálsz vele. A programot megírni is könnyű rá, C-ben szerintem max. 100 sor. Bár jobbam meggondolva van 16 ADC pin is, azokat is használhatod szerintem digitként, vagyis ezzel 35 érpárig jó vagy, _HA_ a vezetékek tényleg csak lógnak a levegőben.
Csak lógnak. Köszönöm.
--
Kum Gábor
Linux póló | Ciprus | Matek korrepetálás
ne felejtsd el a pullup-ot.
Ha kimenet módban vannak és úgy összekötik őket, akkor tönkre is mehetnek. Ellenben a pullup bekapcsolása jó megoldás lehet, akkor a kimenet magasba megy, de nagy ellenálláson keresztül, így ha 0-ra kötődik, akkor nem lesz zárlat, hanem kis áram fog folyni és amellett 0-ba megy az a láb - ezt lehet érzékelni.
A bemenet nagy impedanciás, szóval egy kimenet és egy bemenet összekötése nem okozhat problémát. Persze oda kell rá figyelni, de igazad van, legyen hülyebiztos: minden egyes használt pint kössünk 100k ellenálláson keresztül a vizsgált vezetékekre. Így egy félrekötés esetén is csak 25 uA áram fog folyni, az meg meg se kottyan a uC-nek. Azt a párszáz Ft-ot megéri erre költeni.
Ja, igen ha egyszerre csak egyet teszünk fixen magasba/alacsonyba, akkor valóban így van.
"annak van 54 digit ki/bemenete, ezzel 27 "kapcsolóig" jó vagy: egy ilyen érpár megy 1-1 pin-re, az egyiket bemenetre állítod, a másikat kimenetre, aztán ahogy változtatod a kimenetet (high/low) úgy kell a bemenetnek is változnia"
Tényleg kérdés szintjén: Miért jó az egyébként hogy összekötöd a pinjeidet lefelezve a számát ahelyett hogy direktben kötnéd valahova? De ha már mindenképpen pin-re akarod kötni, akkor köthetnéd mátrix-ba és akkor nem csak 27 lenne, hanem 27*27
// Happy debugging, suckers
#define true (rand() > 10)
Ez nekem is csípte a szemem, de inkább nem szólaltam meg.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
+1
Lehet nem voltam egyértelmű. Szóval a kérdés ez: "meg tudom állapítani, hogy két vezeték rövidre van zárva, vagy szakadt"
Az egyik vezeték megy az egyik pinre (mondjuk D1, ez kimenet), a másik vezezék egy másik pinre (D2, bemenet), aztán ha D1-et véltoztatod (high/low) azzal együtt változik D2 is ha össze vannak kötve a vezetékek. Nyilván lehetne mátrixba is kötni, vagy földdel és pullup-pal, stb., de ez egy triviális megoldása a problémának - még ha nem is hatékony.
És ezt miért nem tudjuk úgy megállapítani, hogy van egy bemenetünk felhúzva tápra, amelyet vagy GND-re húzunk, vagy nem?
A te általad vázolt megoldásnál a bemeneten a kimenet változását leköveti rövidzár esetén, szakadásnál viszont magas szintben lesz a bemenet statikusan, feltételezve, hogy a bemenetet felfelé húzzuk.
Amit többen mondunk, mint triviális megoldás, ott pedig szakadásnál magas szint van a bemeneten - épp, mint a te esetedben -, rövidzárnál pedig alacsony szint.
Ehhez minek egy kimenet is?
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
en mar ertem: gyakorlatilag csak bebiztositotta a dolgot, rovidzar alatt o fault case-ekre is gondolt amikor vcc/gnd iranyaba van "zarlat". Az output pin rangatasaval ugyan annak kell kijonnie az input pin-en, ha nem, akkor valoban rovidzar/szakadas van
// Happy debugging, suckers
#define true (rand() > 10)
Nem véletlen írtam gondolatjelek közé, hogy a szakadás ugyanaz az ő esetében, mint a triviális megoldás esetében. Ha a kábelen a kapcsoló szakadás, azt továbbra sem tudja megállapítani, hogy tápzárlat van, eltépték a kábelt, vagy csak nem nyomják a gombot. Ezért aztán továbbra sem értem, mi az a hozzáadott érték, amit a kimenetről hurkon keresztül hajtott bemenet ad nekünk. Azt értem, hogy elpazaroltunk egy lábat, de másra nem jó. Gondolj bele, ha ez egy olyan berendezés, hogy 5 évente egyszer nyomnak gombot 3 másodpercig, akkor ez szerintem nem sok mindenre lesz jó.
A másik pedig, hogy ha ezt akarja, akkor is elég lenne a 27 bemenethez egyetlen kimenet, tehát 28 lábon meg lehet ezt csinálni, csak minek.
Akkor már több értelmét látom annak, hogy a hurokban van két soros ellenállás, az egyiket zárjuk legálisan rövidre. Az egészet felhúzzuk egy ellenállással, A/D konverterrel mérjük a feszültséget. Túl kis feszültség rövidzár, túl nagy szakadás, a közbenső kettő pedig az, amikor nyomják, illetve nem nyomják a gombot.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
"A másik pedig, hogy ha ezt akarja, akkor is elég lenne a 27 bemenethez egyetlen kimenet, tehát 28 lábon meg lehet ezt csinálni, csak minek.
Akkor már több értelmét látom annak, hogy a hurokban van két soros ellenállás, az egyiket zárjuk legálisan rövidre. Az egészet felhúzzuk egy ellenállással, A/D konverterrel mérjük a feszültséget. Túl kis feszültség rövidzár, túl nagy szakadás, a közbenső kettő pedig az, amikor nyomják, illetve nem nyomják a gombot."
Nah igen, ez nekem is eszembe jutott de ennyire mélyen nem akartam belemenni mert az eredeti request-hez képest ez már végképp overkill ;)
// Happy debugging, suckers
#define true (rand() > 10)
"Ezért aztán továbbra sem értem, mi az a hozzáadott érték, amit a kimenetről hurkon keresztül hajtott bemenet ad nekünk. Azt értem, hogy elpazaroltunk egy lábat, de másra nem jó."
Arra jó, hogy az érpárak egymástól függetlenek legyenek, azaz amikor az egyiket vizsgálom, akkor azzal ne bolygassam a többit. Persze a feladat ismeretében (ablak reed érzékelő) erre itt nyilvánvalóan nincs szükség, de épp lehetett volna olyan is a feladat, aminél igen.
Az miért nem jó, ha az egyik ér a GND, a másik meg az ellenállással felhúzot bemenet? Nyilván leegyszerűsítve, mert különféle szintmegfogót, védelmet raknék rá.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
Sose mondtam hogy valamelyik megoldás jó vagy nem jó.
Ehhez elég egy output pin és 53 input pin.
nem, mert így nem tudod hogy van-e zárlat két input pin között
// Happy debugging, suckers
#define true (rand() > 10)
Én sem mertem szólni, bár nekem nem a mátrix jutott az eszembe, hanem az, hogy az érpárak egyik felét pl. lehet logikai magas értékkel támadni, míg az 54 logikai nullára húzott bemenetre az érpárak másik vége megy. Így csak 54 eltérő állapot érzékelhető. :)
Az single edge Digital IO, minden kapcsoló másik felét a GND-re kötöd.
https://dicks.home.xs4all.nl/avr/usbtiny/
https://learn.adafruit.com/usbtinyisp
Easily interfaced with libusb
Existing firmware allows for fast SPI interfacing using USB
Bit-bang commands provide 8 bits of I/O control (including LED) for open-ended project ideas
https://www.obdev.at/products/vusb/index.html
http://wiki.mlab.cz/doku.php?id=en:i2c_avr_usb
https://github.com/harbaum/I2C-Tiny-USB
Kell még a fenti megoldások bármelyikéhez két ilyen (I2C vagy SPI):
http://ww1.microchip.com/downloads/en/devicedoc/21952a.pdf
Tkp. az is szóba jöhet, hogy egy nagyon olcsó USB/soros port illesztőn (lehet TTL is, akkor nem kellenek a szintillesztők, és azt 500Ft alatt megúszod) keresztül kapod az információkat egy mikrovezérlőtől, aminek vagy van elég lába a 25-30 bemenet kezeléséhez, vagy valamilyen portbővítővel (pl. a már korábban linkelt Microchip extenderek valamelyikével) van kiegészítve.
A bemenetek tényleges megvalósítása a feladattól függ (távolságok, zavarok elleni védekezés, mit kapcsol a kapcsoló stb.)
Köszönöm.
--
Kum Gábor
Linux póló | Ciprus | Matek korrepetálás
Mar egy csomot irtak, ez lesz talan a legkoltseghatekonyabb:
Arduino nano (kb. $2) ad neked USB kommunikaciot, SPI-t, par vezerlojelet, meg a maradekot GPIO-kent fel tudod hasznalni (ha jol szamolom, 14-et).
Aztan fogsz par SN74166-ot (lehetoleg LS, de lehet HC, HCT, meg hasonlo is, ajanlom az olyanokat, ami ha nem huzod le, logikai 1-est kap, igy nem kell kulon felhuzoellenallas - regi TTL igy mukodott). Lehet mas shift-regiszter is, itt pl. CD4021-et hasznalnak. Ezek jellemzoen filleres cuccok. IC-nkent 8-8 bemenetet kapsz pluszban.
Az Arduinoval ciklikusan olvasod a sajat bemeneteket es a shift-regiszterekre kotott bemeneteket, ha valtozik, szolsz soros vonalon (ami USB-ve alakul). A kapcsoloid a 1-1 input, es a GND kozt vannak. PC-n valami egyszeru programmal ezeket nezed, es reagalsz ra, ahogy kell.
Kb. ennyi, nem nagy dolog, par ora alatt osszerakhato a hardware+firmware+software.
--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin
Az Arduino Nano tényleg jó megoldás, valószínűleg a legolcsóbb, de ha már ott az SPI, akkor 74166 helyett jobb lenne inkább valamilyen SPI-n működő I/O extender (MCP23S17, MCP23S18, MAX7301 stb.)
Jok ezek az extenderek, de ilyen aron akar ujabb uC-t is tehetnel be (mondjuk atmega8-ast/128-at). A shift-reg meg ehhez kepest jellemzoen gombokert van.
Persze ha nem sorozatgyartasra megy, akkor mindegy, amelyikkel hamarabb osszehozhato, az a megfelelo.
--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin
+1, a shift regisztert kezdőnek könnyebb programoznia is IMHO mint egy SPI-t.
Az SPI lényegében egy shift regiszter, csak programozható az él, meg az, hogy hol vegyen a bitből mintát.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
74LS166:
https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=74ls1…
372,90Ft
MCP23S17:
https://www.ebay.com/sch/i.html?_from=R40&_nkw=MCP23S17&_sacat=0&_sop=15
320,96Ft
74LS166: 8 bit
MCP23S17: 6 bit
SPI modul:
https://www.ebay.com/itm/MCP23017-SOP-DIP-Bidirectional-16-Bit-I-O-Expa…
I2C modul:
https://www.ebay.com/itm/MCP23017-SOP-DIP-Bidirectional-16-Bit-I-O-Expa…
Webáruházban találtam 74LS166-ot 30Ft körüli áron, csak a szállítás drága egy kicsit :)
itt
Vagy siman a lomexes keresoben: SN74LS166AN
Csomagolasi egyseg 25 darab, brutto 330 ft-ert megkapod. Ha a Lehel ter utba esik, akkor szallitasi koltseg sincs (nekem pl. igen, de ez nyilvan nem altalanos).
Ha ragaszkodsz a netes rendeleshez, Alin is van ilyesmi: $2.77 10 darab
Egyebkent ilyesmit az ember amugy sem egyesevel vesz, neha konnyu kinyirni, es ha kintrol rendeled, varhatsz ujabb 3-4 hetet mig megjon. Egy ilyen "lancolhato" IC eseten meg tobb ertelme van a tobb darabos rendelesnek.
Ettol fuggetlenul az IC ajanloert koszi!
Nezegettem korabban az I/O extendereket, akkor az jott ki, hogy ha beteszek egy rendszerbe meg egy uC-t (mondjuk atmega8-ast), azzal jobban jarok (pinben meg feldolgozasi lehetosegben, es arban is). Ugy latom, az extenderek arai kezdenek esni. Meg mindig a mega8-as felett van, de a trend tetszik (akkoriban 10-es tetelben $2 korul volt, ha jol emlekszem, most van <$1 - igaz, az atmega8-bol a DIP tokos $0.8, SMD-bol meg $0.44 korul is vettem mar).
--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin
74LS166AN: Kifutott termék :)
Ki tudja, meddig lesz kapható ilyen áron, új terméket már nem terveznék ilyennel, a fogyasztásuk sem illeszkedik a mai trendekhez. A HC és HCT még nem számít náluk kifutottnak, igaz, jóval drágábbak is (a fogyasztásuk viszont nyilván kedvezőbb).
Ettől függetlenül nyilvánvalóan használhatóak még ezek, a 80-as és 90-es években én is sokat használtam ilyeneket, de szép lassan kikoptak nálam, ahogy a 8255, 8155 is (ez utóbbiak ára amúgy is elszállt, pár éve kellett vennem 8255-öt, mert eldurrantottak egy panelt, amiben ilyen is volt, jóval 1000Ft felett kértek érte) :)
A mikrovezérlők egy kicsit "átrendezik" az ember gondolkodását, aminek lehet persze hátránya is, viszont egy jól megválasztott uC mellé sokszor már alig kell valami.
Valoban kifutott termek, azert ajanlottam azt, mert - ha jol emlekszem - az is logikai 1-nek veszi a lebego bemenetet, igy a felhuzoellenallasok forrasztasa meguszhato (ez meg unalmas). 74HC166-os eseten meg kell (asszem, nem raktam ossze).
A 8255 sokkal specifikusabb alkatresz, az SN74 sorozat viszont nem hiszem, hogy kihalna a kozeljovoben. Meg tovabb is fejlesztettek, ott a vicces nevu Potato Chips, ugyan nincs meg a teljes sorozat, de amit gyartanak, az joreszt GHz feletti sebesseget tud: http://www.potatosemi.com/potatosemi2010/products_74.html
Szoval nem tartok annyira a kihalasatol.
De egyebkent ez is jogos, egyik korabbi munkaadomnal en is csodalkoztam, amikor termeket epitettek egy olyan ARM IC-re, aminek leallt addigra a gyartasa. Volt eleg a szekrenyben, bevallaltak. Hobbi celra - es ehhez tartozo mennyisegre - viszont nem latok benne problemat.
--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin
Meg egy eszembe jutott: egy tetszoleges Arduino (mondjuk a fenti nano), egy marek dioda (mondjuk 1N4147), es Charlieplexinggel kiolvashatod. Extrem esetben a szukseges 25-30db tobbszoroset is tudja.
--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin
Nekem NXP a kedvencem, az IDE miatt, de TI vagy ST controllerek is jobb választás mint AVR (nem fejlődik, felvásárolták) vagy PIC ( nem ismeri c99-et).
Válasz két usb portos kit: egyik debug, másik virtual com port, és a sw fejlesztés sokkal gyorsabb.
https://hu.farnell.com/w/c/development-boards-evaluation-tools/embedded…
No offense, de ...
Szóval van itt egy konkrét feladat, arra kell valami olcsó, egyszerűen összerakható, nem pilótavizsgás megoldást csinálni. Ezért javasoltuk többen az arduino-t, ami kezdőknek van kitalálva, alkalmas a feladatra, OOTB megy egy az USB, nem kell hozzá programozó, stb. A sw pedig buta mint a föld, de ez itt inkább előny mint hátrány, és tele van a net példakóddal, valamint olyan emberrel aki tud segíteni ha megakad.
És ebből a szempontból tök mindegy, hogy tud-e c99-et, vagy hogy megvette-e a Microchip az Atmelt...
+1
Soha nem tudhatod, hogy a kapcsolók olvasgatásán kívül mikor kell java appot futtatni, vagy 4k-s videót is lejátszani. A programnak is hordozhatónak kell lennie raspály és vindóz platformokra, hiszen bármikor felmerülhet még egy relé kapcsolgatásának műszaki igénye. Azt meg egy assembler utasítás helyett sokkal jobb így megoldani!
Én erre az eszközre szavazok. Az alap kapcsoláshoz kell 3db kondenzátor, 33 bemenetet védő ellenállás és 24db pullup, meg egy usb csatlakozó.
Van hozzá bootloader és usb stack.
:-)
Az általad javasolt chip bloat, mert egy csomó felesleges funkciója van, amit a posztoló nem fog használni! :-)
Viszont a nem használt perifériák lekapcsolhatók. ;)
Pickit vagy valami programozó nem kell még hozzá?
Csak addig, amíg valaki besüti a bootloadert. (1x)
Az általunk ajánlott Arduino boardokból nem spórolták ki a pullupokat...
100 dollárért saját kezűleg húzom fel az összes bemenetet. ;)
Egyébként ez nem board, csak egy mcu. A board nélkül, de a csatlakozókkal együtt, úgy 2500Ft az anyagköltsége. Még kvarc se kell neki. ;)
Viszont van hozzá usb driver, amely 1000 termékben hibátlanul működik.
Valamint az én bátyám sokkal erősebb! :-D
Igen, legóba jobb :)
Csak az OP nem legózósnak tűnik.
Ami biztos: Nem is tudjuk mi a feladat.
Ha a cimbora azt sem tudja mire kell rákeresni, akkor honnan tudná, hogy megfelelő lesz-e az áramkör?
A kit-ek is kezdőknek készültek. A hozzá adott mintákkal elindítani a lapot olyan nehéz, mint egy villanykapcsolót felkapcsolni.Saját igényekre változtatni a mintákat, debuggal megállítani a futást, hogy lássa mikor mi történik a kártyán = semmivel nem pótolható, élvezetes tanulás. Arduino erre nincs lehetőség. Szerintem felesleges mézesmadzag.
PIC18 is többen javasolják. Én meglepődtem hogy egyedi assemblit kell tanulni, mert a c99 nem tudja. Ettől nagyon el száll az ember lelkesedése.
„Én meglepődtem hogy egyedi assemblit kell tanulni, mert a c99 nem tudja.”
Állítás: c99-et nem tudja.
Következtetés: Assembly-t kell tanulni.
A levezetés útvonalát tudnád részletezni?
Gyártói pdf mindig említik, hogy nem előnyös C használni, mert ...
https://vimeo.com/239887043
Video elején milyen C szerkezeteket nem lehet lefordítani.
4:24 -nél ASM analizálást mutatja, hogy lehet léptetni, és C léptetés nincs, csak kezdő pont.
Szóval nem akarják megcsinálni, inkább marketingelik.
Ha debuggerrel megállítod az USB kommunikációt, az abban a pillanatban szét is esik.
Az assembly-től miért száll el az ember lelkesedése? Szerintem attól jön meg igazán. Ha valami borzalmas, az regisztereket, biteket masszírozni C szintaxissal, meg az, hogy leírsz valamit, s fogalmad sincs, mennyi memóriát, futásidőt emészt majd fel. Ez nagy gépen nem gond, de egy picike mikrokontrolleren az lehet.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
PIC12F629 a kedvencem! Csak is ASM-ben!
Ha ez probléma, akkor lehet külön konv IC SPI-USB-re, v log tartományt figyelni, v lemondani USB-ről amíg a többit teszteli.
Egyre kevésbé számít az ASM előnye, mert MEM és sebesség szempontból folyamatos a fejlődés a kicsiknél is. 20kB->1MB 20Mhz->120MHz
Csodállom a MenuetOS, Purebasic alkotóinak a munkáit, de az ASM készítésre nem lessz szükség.
A MenuetOS, Purebasic és ASM. Ez jó! Csak nem tudni miről beszélsz. :-D
Ajánlok egy régebbi vitát tanulmányozásra. Az ne zavarjon, hogy én is írtam oda valamit. ;) Azért gondolkodj el egy kicsit. Ha a program 100 utasításból és 3 bájt memória felhasználásával megírható és néhány száz kHz-es órajel elegendő hozzá, akkor mi előnye van az 1MB memóriának, vagy a 120MHz órajelnek?
Szerintem egy mcu elsősorban hardvert valósít meg, amit egy kicsit programozni is lehet. Ha nem erről van szó, akkor lehet pc vagy rpi az alap. Ilyenkor viszont lehet szoftvert írni tetszőleges nyelven.
Az ASM meg roppant bonyolult! Mind a 35 utasítás. Mondják ezt azok, akik több 10000 class-t használnak. ;) Inkább arról van szó, hogy aki szerint ez felesleges, az nem tud ASM-ben programozni és leginkább nem ismeri a hardvert.
Az USB... főként azért divatos, mert egy laptopon nincsen más lyuk...
Biztos van valahol egy másik bucko, aki azért morog, hogy miért kell ehhez MCU, meg lehet építeni diszkrét alkatrészekből is, amit ráadásul nem kell programozni sem.
És biztos van valahol még egy bucko, aki meg azért morog, hogy miért kell ehhez tranzisztor, amikor ott vannak az elektroncsövek is, amelyek sokkal szebbek.
És persze van valahol még egy bucko, aki meg minderre azért morog, mert az elektroncső helyett elég lenne erre néhány relé is, felesleges elektroncsöveket fűteni.
És persze volt valahol még egy bucko is, aki szerint az egész elektromosság hülyeség, úgy, ahogy van, mert tisztán mechanikusan kell megoldani a problémákat, de szerencsére ez a generáció már teljesen kihalt, ahogy a többi is ki fog... akik érdekes módon soha nem a múltat sírják vissza, hanem a saját aranykorukat, amikor még tudták követni a fejlődést és nem ment el mellettük a világ.
Ez egyébként mindig is így volt, csak ez az első olyan korszak, amikor annyira gyors lett a fejlődés, hogy egy új technológia hetek-hónapok-évek alatt elterjed, nem lehet már egy élet munkáját alapozni arra, amit az inas a mestertől megtanult.
--
https://iotguru.live
Ugyan már! Itt mindösszesen 1db naív bucko létezik.
Hiába öreg, meg tapasztalt, mégis megvezeti az a sok aljas gyártó.
Még a 80-as években - amikor már volt 64 bites processzor - a legnagyobb példányszámban eladott termék a 4 bites, 30..50 cent árú processzor volt.
Azóta meg rengeteget fejlődtünk! A Microchip (akiket nyilvánvalóan hajbi pénzel!) rendre hozza ki az újabbnál-újabb 8 bites pic16-os (14 bites utasításszó) termékeit. Ócska kis vacakok ezek, mert se windows, se linux, se java nem fut rajtuk. Azt már meg se kellene említenem, hogy ez a gyártó megvette a magasszintű nyelvet támogató Atmel platformot.
Szóval nem eredendően vagyok maradi, csak megvezettek. ;)
Ez egyébként mindig is így volt, csak ez az első olyan korszak, amikor annyira gyors lett a fejlődés, hogy egy új technológia hetek-hónapok-évek alatt elterjed, nem lehet már egy élet munkáját alapozni arra, amit az inas a mestertől megtanult.
Így is van. Persze a roppant elavult tudásom azért elegendő ahhoz, hogy nálam jóval fiatalabb programozókat tanítsak programot írni. Méghozzá C#-ban is - amihez abszolút nem értek, csak a feladat megoldásához. Az új technológia tán az, amikor az interrupt neve mától thread? (Ok, ez egy kissé csúsztatás.) Hidd el, ha a fiatal versenyzőnek nem áll föl, akkor el tudom mesélni milyen volt, amikor nekem még fölállt. ;) Azzal az apró különbséggel, hogy a hardver oldalt én programozom és nekem semmi problémám sem szokott lenni.
Az ASM PIC esetén speciális dolog. Egyelőre, ebben a fejlett világban, nem sikerült annyira side-effect mentes fordítót és libet találni, amivel megérné szívni. Bizonyára új technológiával készült. :-D Talán Atmel platformon én is C-t használnék.
Aztán a sokszor hetek-hónapok alatt elterjedő új technológiák általában drágábbak. Ez a tulajdonság már évi 100db-os gyártásnál előtérbe kerül. Pl. egy termékben a 700Ft-os alkatrészár nem rossz. Ha egy számmal nagyobb mcu-t választok, akkor minimum +500Ft és a megnövekedett panelméret duplázza a költségeket. Persze a hobbiprojekt az más...
Van abban igazság, amit írsz. Ugyanakkor itt jegyzem meg, az MCU célorientált. Tehát jellemzően egyszerű, mint a faék, keveset fogyaszt, különösképp, ha pusztán azért nem hajtod feleslegesen gyorsan, mert magas szinten programozod. Továbbra is gyártanak 8 bites picike MCU-kat, amelyeket lehet ugyan C-ben programozni, csak nem érdemes. És van egy rakás hétköznapi és kevésbé hétköznapi feladat, amelyre sokkal alkalmasabbak, mint egy összetett architektúra, mint pl. a Raspberry Pi.
Ha a feladat egy kerékpár hátsó lámpa LED-jeinek három féle séma szerinti villogtatása, nyomógombbal ezek között választás, akkor nem fogok 4 magos CPU-val, 1 GiB RAM-mal, meg operációs rendszerrel nekifeszülni ennek csak azért, mert milyen jó, hogy magas szinten programozható.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
A 8 bites picike MCU és a Raspberry között nem egy diszkrét lépcső van, hanem ott is van több ezer más MCU és board, amelyek mondjuk programozhatóak magasabb szintű nyelven. És magasabb szintű nyelven nem azért programozunk, mert balfaszok vagyunk, hanem azért, mert az assembly programozás nem egy erény, hanem egy szűk hardver adta szükség volt... és kezdünk ott tartani, hogy már igen nagy szériák esetén se éri meg az assembly szintjén maradni.
--
https://iotguru.live
A legegyszerűbb egy natív USB-vel rendelkező arduino alapú cucc, pl. aliról valami atmega32u4-es board.
sub
Egyébként mi a feladat? Mert lehet, hogy már elmentél olyan irányba, amerre nem kellett volna és van egyszerűbb megoldás, ha visszalépünk ahhoz a ponthoz, hogy mi a problémád.
--
https://iotguru.live
+1
Egy a sok közül: nyílászárók ki-becsukott állapotának lekérdezése Rpi-n.
--
Kum Gábor
Linux póló | Ciprus | Matek korrepetálás
Ehhez nem kell USB.
Az RPi ismeri az I2C-t, az SPI-t stb. Van rajta GPIO bőven, nem nagyon vagy bekorlátozva, az eddig ajánlott dolgok közül egy csomó simán illeszthető hozzá.
Veszel 2db MCP23017-et, egy marék optocsatolót, még egy marék ellenállást, és már írhatod is a programot hozzá.
Megjegyzés: célszerű legalább 12V-os jelszintekkel dolgozni az érintkezőknél, mert sokszor 10m-es távolságokról is lehet szó egy nagyobb lakásban. Akár használhatod a PLC-knél bevált bemeneti illesztőket is, azok általában 24V-ról mennek, ipari környezetben is stabilan működnek. Texas Instruments, Silicon Laboratories stb. gyártanak ilyen IC-ket:
http://www.ti.com/product/ISO1211
https://www.silabs.com/products/isolation/digital-isolators/si838x-digi…
https://www.silabs.com/documents/public/application-notes/AN970.pdf
+1
(Meg sub)
Ebben az esetben talan jobban jarsz egy ablakonkent/ablakcsoportonkent telepitett mikrokontrolleres board-dal. A uC-nek lehet eleg laba ahhoz, hogy a kozeli ablakokat trukkozes nelkul lekezelje, a kozpont fele meg kommunikalhat relative keves vezeteken (mondjuk RS485-on, +tap+GND, 4 vezetekkel megoldod telefonkabelen, extrem esetben akar lemehetsz 1+GND-re is 1wire protokollal).
Ha nem akarsz magad forrasztgatni, akkor meg a lent mar emlitett riasztokozpontot ajanlom en is. Foleg, ha biztonsagkritikus, es nem csak hazautomatizalasos jatek a cel.
--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin
Hát, igen, ezt a feladatot már ott elrontottad, hogy RasPi-t választottál és megterveztél egy elektronikai hálózatot elektronikai tudás hiányában. :/
Nem fog menni. Nekifuthatsz, szophatsz vele heteket, hónapokat, aztán majd kidobod és veszel egy riasztót. A riasztóban nem az okosságot kell megfizetni, hanem az üzembiztonságot, amit egy RasPi nem fog megadni, illetve egy nem PLC-szerűen védett bemenetekkel rendelkező board sem... különben úgy jársz, hogy bekapcsolod a turmixgépet és a RasPi ablaknyitást jelez és/vagy elhalálozik a GPIO és többet nem jelez ablaknyitást...
ha játszani akarsz, akkor elég lehet a RasPi saját PIN készlete, van rajta legalább 26 GPIO, ha GND-re kötöd a kapcsolóid közös pontját és felhúzó ellenállással a GPIO-ra, akkor így tudsz kezelni 26 kapcsolót. Ha több kell, veszel expansion board-ot hozzá.
--
https://iotguru.live
Ha több kell, veszel expansion board-ot hozzá.
Szerintem meg 26-nak a fele 13, annak a négyzete meg 169. Nem jól látom? ;) Ennyit lehet viszonylag egyszerűen kezelni azon a 26 porton.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
Nem gyakran szoktak ablaknyitás érzékelőket mátrixba kötni, én még nem láttam erre példát. Te igen?
--
https://iotguru.live
Ha lenne 169 ablakom, biz' isten megfontolnám. :
A riasztók valamiért nem így működnek. Szerintem van oka... :)
--
https://iotguru.live
Jó, nyilván A/D konverterrel olvasnék be egy-egy bemenetet, hogy a szakadást és rövidzárat is detektálni tudjam. Védelem is kell a bemenetre. A multiplexelés az EMC követelményeknek sem felelne meg, szórná a zajt rendesen. Az a mátrixos gondolat csak teljesen elméleti felvetés volt.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
Valamint 26-1 az 25, es 26*25 az 650, ennyivel le tudsz kezelni egy eleg nagy epuletet. Persze a kabelezes miatt en sem igy csinalnam, de ha mar szamolgatunk.. (jo, kell hozza egy par dioda pluszban, de a tiedhez is)
--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin
Szervusz Gábor!
Amennyiben van minden ablakhoz vezetéked, úgy én egy riasztó központot javasolnék.(ahova nincs, oda rádiós kiegészítővel) Ügyesen telepített nyitás érzékelővel még bukóra is lehet nyitva éjszaka, úgy hogy ha közben benyúlnak és kiakasztják, jelezni tud GSM, Internet, mobil app, etc ;) irányába.
Érvek mellette:
- erre van tervezve
- szabotázs, bolond biztos
- van kezelője, kijelzője
- normális tápja van
- rádiós kiegészítő normalis kommunikációval
- normálisan megy akkuról
- üzembiztos SW tákolás nélkül
- készen megvehető, biztos forrás
- sorosan lekérdezhető állapotok
- ipari RS485 bővíthetőség galvanikus izolátorral akar
- VDS minősítés GRADE II
- nem horror az ára
- én is ezt használom és tudok segíteni
Szerintem. :D
Páka, vfero
Köszönöm. Le tudom saját szoftverrel kérdezni az nyitott-zárt státuszokat így?
--
Kum Gábor
Linux póló | Ciprus | Matek korrepetálás
még egy javaslat: hosszú vezetékeknél arra is kell vigyázni, hogy ezek már antennaként viselkednek, elég nagy lehet rajtuk a zaj... ami extrém esetben tönkre is vághatja a digitális/analóg bemenetedet.
megoldás pl. https://i.stack.imgur.com/grkqV.png
Impulzusok reflexióival lehetne akár vezeték szakaszt is mérni! Utána nyúlj a kábelhez.:D