Velké množství digitální vstupů

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Velké množství digitální vstupů

Příspěvek od ondraN » 10 úno 2020, 21:10

A jak moc to má být odolné proti indukovaným proudům a ESD nábojům? Pokud budou vstupy připojené na běžné IO galvanicky, a někde to dostane pořádnou pecku, tak celý ten blok odejde. Pokud bude někde souběh se silovým kabelem, bude se tam něco indukovat. To je také třeba zvážit, jinak bude ten systém děsně nespolehlivý.

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Velké množství digitální vstupů

Příspěvek od kiRRow » 10 úno 2020, 22:04

Pokud to chceš stavět sám, tak bych viděl jako centrální mozek jedno arduino ... každý přípojný uzel na sběrnici je několik arudin ( protože každé UNO má jen 5analogových vstupů a z toho 2 jsou Data a Clock na I2C ) ... a každá ovládací/zobrazovací klávesnice je další arduino ...

dostalradim
Příspěvky: 18
Registrován: 15 srp 2019, 08:25
Reputation: 0

Re: Velké množství digitální vstupů

Příspěvek od dostalradim » 10 úno 2020, 22:09

No nad tím jsem taky přemýšlel, ale vycházím z toho, že ty senzory už teď fungují několik let bezchybně a v případě nějakých problémů můžu dohledat kde se něco takovéhleho může odehrávat.

Asi teda dává největší smysl pořídit něco, co dokáže výstup senzoru převést na I2C teda. Dobrá, to jsem asi potřeboval vědět.

Já chápu reakce typu, jděte do profesionálního řešení a vůbec je nechci nijak zlehčovat. Ve své oblasti působnosti mám stejné názory a lidem radím to stejné, ale přišel jsem si pro jednoduchou a konkrétní radu. Tohle je pro mě taky názor, ale né odpověď a tady mi to momentálně moc nepomůže.

On celý ten požadavek nikdy neměl co dělat s cenou, ale spíš s tím, že zabezpečovačky dělají lidé z oblasti HW a když k nim chceme pomocí nějakého současného API přistupovat ať už z důvodů různých reportů, přípápadně navázat na stavy systému nějaké další věci, tak je to prakticky nemožné. Řešení, které má API pomocí komplikovaného SDK, které za pár let ukončí vývoj je zkrátka naprd. Stejně tak software, který musí běžet na Windows serveru je naprd.

Bohužel nejsem schopný doheldat výrobce, který dělá zabezpečovačku ze současného IT světa. Znáte nějakou takovou? To je pro mě rozumné API, komunikace protokolem vyšší vrstvy, provoz aplikace na linuxovém serveru a bez neobvyklých a komplikovaných problémypřivolávajících komponent.

dostalradim
Příspěvky: 18
Registrován: 15 srp 2019, 08:25
Reputation: 0

Re: Velké množství digitální vstupů

Příspěvek od dostalradim » 10 úno 2020, 22:17

Možná jsem špatně začal. Já osobně si na něco takového ani moc netroufám, nejsem blázen, nerozumím tomu a vím, že je to komplikovanější než se mně může zdát, chtěl jsem se prostě jen zeptat jak byste něco takového řešili vy a pak na základě toho zhodnotit jak moc to je složitý s lidmi, které mám možnost kontaktovat a se kterými na tom můžu spolupracovat.

Příklad. Chtěli bychom napsat software, který například při přečtení karty tedy otevření dvěří odešle fotografii z kamery, která je poblíž nebo nějak určená. A to je s každým řešením, které jsem viděl prakticky nemožné. Alespoň tedy "vyšším" protokolem a programovacím jazykem. Neumím tohle moc vyjádřit, ale snad víte co myslím.

Mockrát díky za debatu, moc mi pomohla.

Uživatelský avatar
gilhad
Příspěvky: 778
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Velké množství digitální vstupů

Příspěvek od gilhad » 11 úno 2020, 03:35

Jestli chapu problem, tak je tu potreba nejak propojit na jedne strane "nejaky rozumny pocitac" a na druhe strane stovky "uplne blbych cidel", pricemz mezitim budou kilometry dratu.

Ty kilometry jsou problem, protoze se tam naindukuje kdejaky sum a I2C je puvodne navrhovano pro centimetry, nikoli metry.

Takze bych na "dalkove trasy" pouzil neco rozumnejsiho, napriklad klasicky intranet a dal minimalne jedno Rapsberry ci jine lacine PC na kazde patro, radsi dve az tri, cimz se dalka smrskne na neco zvladatelnejsiho a jednotlive useky budou schopny fungovat i samostatne.

RPi ma I2C primo vyvedene (jen pozor, 3V3, nikoli 5V - ale zase i klasicka Arduina muzou byt 3V3 za cenu nizsi rychlosti, STM32 a esp jsou, pokud se nepletu, 3V3 nativne), ale i normalni pocitace ho vetsinou nekde uvnitr maji a melo by jit vytahnout.

Na I2C se da navesit asi tak 120 zarizeni, napriklad Arduin (STM32, ESP,...) ktera ho maji v sobe HW zadratovane (pokud by se ukazalo ze to na ty vysledne vzdalenosti chodi dost spolehlive, jinak se na ne daji hodit hieldy pro komunikaci na vyrazne vetsi dalku)

Arduino muze obsluhovat (dle typu) urcity pocet senzoru primo, nebo nasobne vetsi pocet prez expandery napriklad MCP23S17 (16 I/O, pro komunikaci jsou potreba 3 piny pro data + 1 na kazdou osmici expanderu (tedy 128 jednodratovych cidel, 64 dvoudratovych). Expandery samozrejme prodlouzi dosah mezi Arduinem a cidly, protoze jedou opet binarne a jejich vystup prevede lehce zasumeny vstup na jasnou hodnotu.
(a jsou levneji nez Arduina - ostatne, pokud by to vzdalenosti dovolily, tak jde pouzit i neprime adresovani kdy ta osmice expanderu na danem pinu bude adresovat 16 sedmic kazdy, cimz se dostaneme na 3piny pro data + 1 pin pro kazdych14.336 I/O - ale tady uz to asi narazi na sum kvuli dratum, na vnitrni pamet Arduin, pokud by ty hodnoty mely uchovavat a na scanovaci frekvenci (jak casto dokazeme jednotlive cidlo cist, aby to jeste melo smysl))

Arduina bych koncipoval jako "relativne hloupe reflexy" - tedy, ze budou hlavne cist data a eventualne spusti nejaky poplach, pokud narazi na zcela jasny a snadno urcitelny problem - a dal bych si pozor na false positive poplachy. (a u Arduin vsude po budove se blbe updatuje SW/FW/jak tomu chcete rikat)

RPi naopak jsou schopna jet kompletni OS a provadet slozite vypocty a je az trapne jednoduche je updatovat po internetu, tak bych vetsinu ridici logiky, logy, statistiky a podobne veci dal sem.

Podle rozsahu projektu (co se tyce bohatstvi vystupu, kooperace s dalsimi systemy (treba tou kamerou), vlastnich webovych stranek, posilani SMS prez GW nezavislou na odstrizeni internetu, proverek podrizenych nodu a tak podobne) bych pak eventualne zvazil jeste jedno RPi, nebo PC s nejakym kvalitnejim diskem jako centralu a firewall a vubec vrchni veleni cele budovy.

dostalradim
Příspěvky: 18
Registrován: 15 srp 2019, 08:25
Reputation: 0

Re: Velké množství digitální vstupů

Příspěvek od dostalradim » 11 úno 2020, 11:44

gilhad píše:
11 úno 2020, 03:35
Jestli chapu problem, tak je tu potreba nejak propojit na jedne strane "nejaky rozumny pocitac" a na druhe strane stovky "uplne blbych cidel", pricemz mezitim budou kilometry dratu.

Ty kilometry jsou problem, protoze se tam naindukuje kdejaky sum a I2C je puvodne navrhovano pro centimetry, nikoli metry.

Takze bych na "dalkove trasy" pouzil neco rozumnejsiho, napriklad klasicky intranet a dal minimalne jedno Rapsberry ci jine lacine PC na kazde patro, radsi dve az tri, cimz se dalka smrskne na neco zvladatelnejsiho a jednotlive useky budou schopny fungovat i samostatne.

RPi ma I2C primo vyvedene (jen pozor, 3V3, nikoli 5V - ale zase i klasicka Arduina muzou byt 3V3 za cenu nizsi rychlosti, STM32 a esp jsou, pokud se nepletu, 3V3 nativne), ale i normalni pocitace ho vetsinou nekde uvnitr maji a melo by jit vytahnout.

Na I2C se da navesit asi tak 120 zarizeni, napriklad Arduin (STM32, ESP,...) ktera ho maji v sobe HW zadratovane (pokud by se ukazalo ze to na ty vysledne vzdalenosti chodi dost spolehlive, jinak se na ne daji hodit hieldy pro komunikaci na vyrazne vetsi dalku)

Arduino muze obsluhovat (dle typu) urcity pocet senzoru primo, nebo nasobne vetsi pocet prez expandery napriklad MCP23S17 (16 I/O, pro komunikaci jsou potreba 3 piny pro data + 1 na kazdou osmici expanderu (tedy 128 jednodratovych cidel, 64 dvoudratovych). Expandery samozrejme prodlouzi dosah mezi Arduinem a cidly, protoze jedou opet binarne a jejich vystup prevede lehce zasumeny vstup na jasnou hodnotu.
(a jsou levneji nez Arduina - ostatne, pokud by to vzdalenosti dovolily, tak jde pouzit i neprime adresovani kdy ta osmice expanderu na danem pinu bude adresovat 16 sedmic kazdy, cimz se dostaneme na 3piny pro data + 1 pin pro kazdych14.336 I/O - ale tady uz to asi narazi na sum kvuli dratum, na vnitrni pamet Arduin, pokud by ty hodnoty mely uchovavat a na scanovaci frekvenci (jak casto dokazeme jednotlive cidlo cist, aby to jeste melo smysl))

Arduina bych koncipoval jako "relativne hloupe reflexy" - tedy, ze budou hlavne cist data a eventualne spusti nejaky poplach, pokud narazi na zcela jasny a snadno urcitelny problem - a dal bych si pozor na false positive poplachy. (a u Arduin vsude po budove se blbe updatuje SW/FW/jak tomu chcete rikat)

RPi naopak jsou schopna jet kompletni OS a provadet slozite vypocty a je az trapne jednoduche je updatovat po internetu, tak bych vetsinu ridici logiky, logy, statistiky a podobne veci dal sem.

Podle rozsahu projektu (co se tyce bohatstvi vystupu, kooperace s dalsimi systemy (treba tou kamerou), vlastnich webovych stranek, posilani SMS prez GW nezavislou na odstrizeni internetu, proverek podrizenych nodu a tak podobne) bych pak eventualne zvazil jeste jedno RPi, nebo PC s nejakym kvalitnejim diskem jako centralu a firewall a vubec vrchni veleni cele budovy.
Chápeš to naprosto správně!
Tý jo dobrý vědět. Díky. Tím pádem I2C na tohle použití padá z háčku.

Taky nad tím přemýšlím tak, že bych měl co patro to nějaké Arduino MEGA to bych asi zvládnul v pohodě s Ethernet modulem bych to dostal i do nějakého "chytřejšího" systému. Radši bych teda nějaký ARM procesor, abych tam moh rozjet něco Linuxovýho a získat tak možnosti dohledu, vzdálené správy a podobně. Ale bohužel se mi nepodařilo najít nějaké RPi MEGA řekněme nebo tak něco. Jinak z těch RPi/Arduin by ta informace pouze doputovala do systému, který by byl nejspíš virtuální server Linuxový, tam už bych si s tím dokázal pohrát v pohodě, SMS přes bránu taky v pohodě a další typy notifikací už tam jsou pak zadarmo. Problém je dostat z té hloupé sítě tu informaci no.

Každopádně, byl jsem ještě za kolegou, která to má na starost, není to odborník, ale implementoval to před lety a spravuje to v rámci možností. Půjčil mi PIR senzor, který používá a nějakou dokumentaci k tomu stávajícímu řešení. Tam používají expandery na patro jak popisujete a z něj dostávají info přes RS-485 někam do "řídící" jednotky, takže použití expanderu padá, tam budou přenášet něco jejich a to asi nerozklíčuju.

Jinak jako s RPi mám celkem zkušenost provozuju si na tom nějaké služby a s programováním ESP8266 a Arduino desek taky. :)

Kolega mi sice dal ten PIR senzor, ale ukázalo se, že jako problém bude taky napájení, ono potřebuje totiž 10-15 VDC. Jako to bych zvládnul nějakým externím zdrojem a měničem to bych si poradil, ale mám k tomu takové dvě otázky. Jaké napětí bude na tom kontaktu, co říká tu jedničku jestli senzor něco vidí? A taky bych asi měl mít společnou nulu, aby to tu jedničku správně poznávalo, co? Toho docílím tak, že jen propojím GND piny? Nebo jsem mimo?

Uživatelský avatar
kiRRow
Příspěvky: 1151
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Velké množství digitální vstupů

Příspěvek od kiRRow » 11 úno 2020, 18:26

Nevím co máš za typ detektoru, ale klasický PIR detektor má 6 svorek ... dvě jsou napájecí (typicky 12V) ... dvě jsou NC Tamper a dvě jsou NC Detekce. Ve vypnutém stavu by poplachové relé mělo být rozpojeno. NC Stav detektoru je takový, kdy je pod napájením a nedetekuje pohyb. Normálně se detektory vyvažují odporama, aby se zabránilo možnosti jejich sabotáže. Většinou se používají hodnoty 1K, 2K2, 5K6 nebo 10K.
( pokud bys měl detektor NC, kdekoliv před detektorem ti vyskratuji poplachovou smyčku a detektor může rozpínat relé jak divý - u detektoru NO zase lze pohodlně přestřinout kabel )

Uživatelský avatar
gilhad
Příspěvky: 778
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Velké množství digitální vstupů

Příspěvek od gilhad » 11 úno 2020, 21:38

Co ja vim, tak RPi ma vetsim mnozstvim I2C trochu problem, protoze je multitaskovy (a rozhodne ne RT) a je treba pocitat tim, ze tvuj program proste na nejakou dobu obcas nebude reagovat. Pokud je master, tak HW si nejak poresi prenosy (jen ztrati data) a SW si muze porovnat ocekavanou delku a kontrolni soucet a kdyz tak se zeptat znovu.

Na RPi neni problem prelozit lokalne celou Gentoo distribuci ze zdrojaku, vcetne MySQL a Apache a jinych demonu (jen mu to holt trva dlouho), takze uz to RPi je plnohodnotny "chytry" Linuxovy system schopny poustet i znacne komplikovane veci - takze "pohrat" si na nem s par stovkama ci tisici dat z cidel by nemel byt problem, namastit to muzes v prakticky jakemkoli jazyce portovanem pro Linux (ci kombinaci) (C++,go, rust, java, forth, prolog, scala, python ... cobol, whitespace :lol: proste vyber je).

Napetove prizpusobeni pouze pro cteni se trivialne udela odporovym delicem, pro obousmerny prenost takrka trivialne tranzistorem ci integracem https://learn.sparkfun.com/tutorials/bi ... okup-guide

Jake napeti ten PIR pouziva, ci garantuje je v jeho datasheetu.

Pro pouziti antitamperovacich odporu muzes u prijemce udelat opet odporovy delic a z nej si vytahnout signaly dva - jeden, ze je napeti moc vysoke (a nekdo ti to zkratoval) a druhe, ze je moc nizke (a nekdo to prestrihnul) - dal je pak bud zpracujes jako dva signaly, nebo celkem jednoduse das jeden invertovany a testujes, zda jsi v OK oblasti jako jeden signal (takze celkem 3 tranzitory a 2 diody, pokud nepouzijes rovnou nejaky integrac).

Samozrejme misto tranzistoru se daji pouzit libovolne operacni zeilovace, kde se to asi pocita a natasvuje snaz a presneji.

dostalradim
Příspěvky: 18
Registrován: 15 srp 2019, 08:25
Reputation: 0

Re: Velké množství digitální vstupů

Příspěvek od dostalradim » 12 úno 2020, 20:18

kiRRow píše:
11 úno 2020, 18:26
Nevím co máš za typ detektoru, ale klasický PIR detektor má 6 svorek ... dvě jsou napájecí (typicky 12V) ... dvě jsou NC Tamper a dvě jsou NC Detekce. Ve vypnutém stavu by poplachové relé mělo být rozpojeno. NC Stav detektoru je takový, kdy je pod napájením a nedetekuje pohyb. Normálně se detektory vyvažují odporama, aby se zabránilo možnosti jejich sabotáže. Většinou se používají hodnoty 1K, 2K2, 5K6 nebo 10K.
( pokud bys měl detektor NC, kdekoliv před detektorem ti vyskratuji poplachovou smyčku a detektor může rozpínat relé jak divý - u detektoru NO zase lze pohodlně přestřinout kabel )
Přesně tyto detektory, to co jsem napsal je z datasheetu. Vím, že ten PIR senzor pracuje na 10-15VDC a má 6 svorek přesně jak píšeš. Mám je i proložené těma odporama, abych to nešlo ustříhnout, takže v pohodě.

Ale nějak nechápu, jak zařídit, abych moh kontrolovat ty jedničku na kontaktu z 5V zařízení jako je Arduino. To si musím na každé čidlo dát něco, co tu úroveŇ sníží na 5V? To bude dělat učitě problémy a moc se mi tomu nechce věřit no. nějaký lepší trik na to asi není co.

jonasplv
Příspěvky: 13
Registrován: 19 bře 2019, 21:41
Reputation: 0

Re: Velké množství digitální vstupů

Příspěvek od jonasplv » 13 úno 2020, 00:46

Zdravím,

zaujal ma Váš nápad zrejme nahradiť staršiu, modulárnu ústredňu zo stovkami PIR senzorov vlastným riešením doplneným o čítačky kariet na vstupoch spolupracujúce z IP kamerami. (Túto potrebu som zatiaľ vyčítal z doterajšej komunikácie.)

Ja by som to robil tak ako to popíšem nižšie.
Ide o už otestované a funkčné bloky navrhnuté na vlastných PCB na množstve doteraz funkčných mojich inštaláciách:

Základ by som navrhol na MCU Atmega2560. (Arduino MEGA)
Má 16 analógových vstupov, na ktorých viete načítavať hodnotu na odpormi vyvážených slučkách, napríklad podľa tohoto tutoriálu:

https://www.b4x.com/android/forum/threa ... sor.79750/

PCB s atmega2560 by som pospájal cez sériovú zbernicu v RS485 štandarde cez SerialTTL to RS485 prevodník MAX485.
Na tejto zbernici sa dá komunikovať s 32 MCU Atmega 2560 spolu 32x16=512 PIR senzorov.

Komunikáciu na zbernici by riadilo jedno MCU s Atmega2560 ako Master, dosah na zbernici do 1000 m.

Ak je to málo tak Atmega2560 má 4xHardware serial, Master môže potom obsluhovať 4 zbernice RS485, spolu cez 2000 PIR senzorov na analógových vstupoch.

Master by zároveň cez SPI zbernicu a Ethernetový modul s W5500 odosielal stavy senzorov cez http GET ako klient napr. do systému DOMOTICZ, ktorý beží na RPI a linuxe, bol by užívateľským rozhraním, dajú sa v ňom vytvárať plány miestností, pridávať užívatelia, užívateľské nastavenia potom cez http request naspäť Atmega2560 rozparsuje a vyhodnotí.

Ale keďže ste výborný softwaristi ako píšete, tak si môžete vlastný "DOMOTICZ" naprogramovať aj sami podľa vlastnej predstavy a potreby.
Taký môj typ, ja pre NONSTOP systémy ako DOMOTICZ preferujem jednodoskové mikropočítače z vstavanou EMMC kartou, ako napr. Orange Pi a prevádzkujem ich NONSTOP už cez dva roky.

Ak veľmi nebazírujete na bezpečnosti, tak PIR senzori viete pripojiť aj na digitálne vstupy (Jedno PIR-ko na dva vstupy, NC kontakty POHYB a TAMPER) cez optočlen napr. PC817, aby boli Galvanicky oddelené kvôli možným rušeniam. Takto budú odolné iba voči prestrihnutiu kábla.
Takto zapojené s doplnením externého PULL-UP rezistora 4K7 na 5V.

Obrázek

Ak by bolo málo analógových vstupov, cez už spomenuté MCP23017 po I2C zbernici a MCP23S17 po SPI zbernici, digitálne vstupy na PCB takto rozšírite.
Ale iba v rámci PCB s Atmega2560 max. desiatky centimetrov od nej.
Knižnicu čo používam obsluži 8xMCP po I2C a 8X MCP po SPI, spolu na jednej Atmege viete spraviť 8x16 + 8x16 digitálnych vstupov.
Celkovo aj cez 10.000 PIR senzorov.

Od Vás mi chýba info koľko cca PIR senzorov vlastne potrebujete načítavať, ako je doteraz naťahaná kabeláž, do koľkých miest, ako sa dá použiť, také moduly by som si potom na mieru navrhol.
Aké čítačky už máte, alebo aké plánujete zakúpiť, alebo tiež vlastná výroba?

Hádam sa rozhodnete správne a držím palce nech Vám to pekne funguje. :)

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů