Decodoare pentru accesorii - DIY

sebba

Active Member
18 Ianuarie 2017
56
0
Arad
LOCATION
Arad
In ultimul timp a dat peste mine un elan muncitoresc in ale trenuletelor
Mi-am zis ca e timpul sa fac ceva cu colectia mea bazata pe Marklin
Cateva detalii am mai dat in topicul Unde mi-e trenul

pana acum am facut doua decodoare pentru accesorii pe care vreau sa le folosesc pe post de decodoare de macaz

asa cum am scris si pe celalalt topic, primul decodor l-am facut in baza acestui link: https://github.com/dagnall53/ESPWIFIROCNET
la al doilea am folosit o placa attiny85, detalii aici: https://rudysmodelrailway.wordpress.com/2015/10/15/use-an-attiny-with-usb-as-a-dcc-function-decoder/

deoarece sunt inca la nivel de tinut sinele in cutie si intins prin casa ocazional, prima conditie a fost ca aceste decodoare sa intre in macazele de tip C-Gleis de la Marklin si sa se alimenteze din sine

o sa incerc sa compar cele doua decodoare:

1. Decodorul bazat pe modulul ESP8266
- functioneaza ca un nod ROCNET, comunica prin wireless si foloseste pentru comunicare un server (broker) MQTT
- brokerul MQTT poate fi instalat cel mai simplu pe un Raspberry Pi. Mie mi-a fost usor sa-l implementez pentru ca deja folosesc . Folosirea functiei RETAIN asigura sincronizarea iesirilor decodorului cu comenzile trimise de rocrail chiar si dupa ce decodoul a fost decuplat (STOP, adica taierea alimentarii pe linie si implicit deconectarea decodorului)
- ca si avantaje as enumera 6 pini disponibili (atat am reusit eu sa folosesc practic, teoretic ar trebui sa fie 8 dar mie nu mi-ai functionat cum trebuie ceilalti 2) ce pot fi configurati prin intermediul rocrailnode setup atat ca intrari cat si ca iesiri, independent
- pinii folositi ca intrari pot fi alocati sensorilor de detectare iar cei folositi ca iesiri sa actioneze macazuri sau semnale, totul din acelasi decodor (in limita pinilor disponibili, bineinteles)
- comunicarea prin wireless are avantajul ca este bidirectionala fara a fi nevoie de electronica suplimentara in decodor dar in acelasi timp fiecare decodor are nevoie sa ocupe o adresa de IP din retea (ceea ce nu cred ca este foarte grav) si ca necesita un timp mai mare pentru reconectare in retea, aproximativ 8-10sec (dupa iesireadin STOP, la revenirea alimentarii)
- datorita faptului ca modulul este totusi mai inghesuit printre sine e de preferat ca access point-ul la care se conecteaza sa nu fie prea departe)

dupa mine, cel mai mare dezavantaj al acestui tip de decodor, este timpul mare de reconectare la retea
din pacate nu stiu prea bine rocrail dar ma gandesc ca la cat de destept e rocrail ar permite realizarea unor functii de monitorizare a prezentei decodorului in retea.
aici mai am de sapat

2. modelul bazat pe attiny85
- functioneaza ca si decodor DCC, citeste informatia transmisa prin linie. conectarea la linie se face printr-un optocuplor 6N137, unisens
- cel putin la alte scheme de decodoare DIY am vazut ca se poate adapta si "emisia", relativ simplu, tot cu un optocuplor si ceva piese. Pentru decodoare ce nu trebuiesc montate in in corpul macazurilor sau al sinelor nu cred ca ar fi o problema dar in cazul meu spatiul e limitat si orice piesa conteaza. S-ar putea totusi integra fara probleme daca s-ar proiecta un cablaj pentru SMD-uri
- ce nu-mi place la acest decodor este ca nu stie sa-si actualizeze starea dupa resetare. Tot timplul revine la starea initiala (programata) iar softul nu stie ce pozitie are
Probabil exista si aici varianta de a face rocrail-ul sa trimita niste semnale preventive (sa zicem ca la fiecare actionare a unui macaz sa trimita un sir de comenzi 1-0 sau 0-1) ca sa se "asigure" ca macazul a ajuns in pozitia dorita, indiferent de starea in care a fost inainte. Parerea mea e ca - si daca se poate - nu prea e elegant. Poate s-ar rezolva cu o comunicare bidirectionala si la fiecare initiere a decodorului acesta sa raporteze rocrail-ului ca si-a schimbat starea... mai e de sapat pe aici....
- un avantaj al acestui decodor ar fi faptul ca se conecteaza mult mai rapid in sistem, cam 3-4 secunde iar conectarea nu depinde de alti factori (gen retea wireless)
- alt avantaj ar fi ca poate fi comandat si de controllerele standard (Mobile Station 2 in cazul meu)
- are doar 5 pini utilizabili. acestia pot fi doar pini de iesire daca nu se face comunicarea bidirectionala

acum... ca preturi... ar fi similar
preturi din romania:
ESP8266-12F - 17 lei
ATTINY85 - 15 lei
Sursa stabilizata 5v (3.3v pentru ESP) - cam 5 lei una mai prapadita si cam 15 lei una mai serioasa
Punte redresoare, condensatori filtraj, etc - la fel la ambele variante - sa zic 10-15 lei

revin...
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
Salut Seba,

Pentru macazuri n-as folosi un decodor care sa nu mearga decat "conectat la" PC. Iar pentru decodoare DCC as mai arunca un ochi si .

Spor,
Liviu
 

sebba

Active Member
18 Ianuarie 2017
56
0
Arad
LOCATION
Arad
Salut,

adica sa nu fie alimentat din linie? la asta te referi?
sincer, m-am gandit si la varianta de a "dubla" sinele cu inca un fir (sau doua) pe care sa se duca alimentare continua la decodoare
imi place decodorul lui Dagnall pentru ca permite in acelasi modul atat iesiri pentru macazuri cat si intrari de la senzorii de ocupare si cum - cel putin la mine - senzorii se afla fizic langa macazuri, imi vine usor sa pun un astfel de modul intr-un macaz si apoi doar sa trag fire scurte la sinele alaturate

acum vreau sa fac si varianta lui Ellard, cea propusa de tine
insa se pare ca si aici mai am multe de asimilat
am scris INO-ul lui Ellard intr-un esp-12f (compilarea a mers doar dupa ce am setat board-ul ca WEMOS)
nu l-am conectat insa in layout, doar l-am testat asa, legat la PC si monitorizat prin serial
pare ca raporteaza dar nu mai e detectat ca si rocnetnode, cum face la cel al lui Dagnall

sincer, nu am sapat prea mult in cod sa vad ce si cum... asa trebuie sa mearga? nu e vazut ca si rocnetnode?
partea buna ar fi ca pare sa lucreze mult mai rapid dar sa-l vad intai si cum va merge intre linii
partea mai deranjanta e ca nu-l pot seta astfel incat sa furnizeze pini atat ptr in cat si ptr out
cand va fi functional voi reveni cu mai multe "impresii" :D

ma uit si la paco, tnx
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
Salut,
sebba a spus:
adica sa nu fie alimentat din linie? la asta te referi?
Nu, ziceam ca macazurile sa poata fi comandate si cand ai PC-ul stins, direct din centrala. Sau la tine centrala e PI-ul?
sebba a spus:
sincer, m-am gandit si la varianta de a "dubla" sinele cu inca un fir (sau doua) pe care sa se duca alimentare continua la decodoare
ESP-ul e destul de gurmand. In functie de cate vrei sa montezi, poate ca ar fi chiar indicat sa le faci alimentare separata (si continua).
sebba a spus:
imi place decodorul lui Dagnall
Sincer, stiu de el dar nu prea stiu ce are inauntru.
sebba a spus:
acum vreau sa fac si varianta lui Ellard,
Varianta lui Ellard mai are pana sa fie functionala. Abia s-a hotarat la ce hardware sa se opreasca (initial voia cu nrf24).
sebba a spus:
ma uit si la paco, tnx

Astea sunt "DCC pur", se alimenteaza linistite prin sine si se comanda tot asa, asa ca le poti folosi si cand e Rocrail oprit.

Orice ai alege, spor la treaba.

PS Observi ca nu ti-am zis ca e cel mai bun, da? :D
Nu te lasa pacalit de textul de pe prima pagina, in exemple e si unul pentru ESP8266.
Desi nu e chiar gata, pe post de senzor chiar functioneaza, iar comanda unor servo-uri n-ar fi chiar greu de implementat. Accept . ;-)
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
LE Uite a proiectului meu, dar fiind facut ca o biblioteca, e suficient (daca ma gandesc mai bine, e necesar) sa si sa-l adaugi ca biblioteca noua in Arduino.
Exemplul pentru ESP8266 il gasesti la... exemple: File -> Examples -> RN...

Gata, am terminat cu reclama nerusinata. :pig:
 

sebba

Active Member
18 Ianuarie 2017
56
0
Arad
LOCATION
Arad
salut Liviu,

da, la mine centrala e PI-ul:

cat despre munca ta, sa n-ai nici o jena ca iti faci reclama
daca am avea toti cu ce sa ne facem reclama am fi departe
iar cui nu ii convine, sa puna mana sa faca :D

sa revin
tocmai am incercat RNMqttEsp8266. am bagat tot RN-Masterul ca librarie
insa pierd ceva... si nu ma prind ce...
am configurat ssid, passwd, mqtt server address
dar dupa ce se conecteaza atat la net cat si la mqtt am doar mesajul de "client disconnected" care se repeta o data pe secunda sau chiar mai repede
Cod:
Connecting to MyWiFi
......
WiFi connected
IP address: 
192.168.1.21
Board address: 0
Client disconnected
Client disconnected
Client disconnected
Client disconnected

ce gresesc? sau ce mai am de facut ca sa mearga?
la board am setat atat ESP8266 generic cat si nodemcu si nu mai stiu ce... cu toate face la fel
si la toate am un warning ;a compilare:
Cod:
WARNING: library RN-master claims to run on [tivac] architecture(s) and may be incompatible with your current board which runs on [esp8266] architecture(s).
tnx
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
Salut Seba,
sebba a spus:
da, la mine centrala e PI-ul:
OK, atunci nu mai conteaza ce decodere folosesti. Ba chiar e probabil mai bine ca la tine, ca "usurezi" partea DCC.
sebba a spus:
tocmai am incercat RNMqttEsp8266. am bagat tot RN-Masterul ca librarie
Mama ce curajos esti. :x
:D
Serios acum, proiectul meu nu e gata. E o optiune numai daca-ti place sa programezi jucariile astea, sa faci zeci de teste si ai chef sa duci/ducem mai departe proiectul asta. Altfel, mai bine ramai la al lui Dagnall daca tot esti multumit de el.

Daca te hotarasti sa mergi mai departe cu testele...
Mesajul "client disconnected" inseamna ca ESP8266 nu gaseste broker-ul mqtt.
sebba a spus:
am configurat ssid, passwd, mqtt server address
Vezi sa se potriveasca si portul pentru mqtt. In proiectul meu e 8123.
Cod:
PubSubClient mqttClient(mqttServer, 8123, mqttRec, espClient);
Tot pe portul asta trebuie sa-l pui si pe mosquito sa comunice, sau sa modifici sketchul sa foloseasca portul pe care asculta mosquito. Pentru asta modifici linia de mai sus si pui portul care trebuie.
sebba a spus:
si la toate am un warning ;a compilare:
Cod:
WARNING: library RN-master claims to run on [tivac] architecture(s) and may be incompatible with your current board which runs on [esp8266] architecture(s).
Warningul ala e inofensiv - trebuie sa actualizez informatiile din proprietatile bibliotecii.
Proiectul l-am inceput cu un Launchpad (cu ethernet) de la TI (pentru ca programarea efectiva - arsul firmwareului in controller - e mai rapida), asa ca am definit biblioteca pentru el. Cand am extins-o la diverse Arduino-uri, n-am actualizat si "comentariile". O s-o fac la un moment dat.

Spor,
Liviu
 

sebba

Active Member
18 Ianuarie 2017
56
0
Arad
LOCATION
Arad
ah... mi-a scapat portul
pe 8123 am "Home Assistant" si d-aia nu mi-a sarit in ochi ca fiind gresit
bag acum 1883 si continui cu testele

cat despre programare... m-am mai bagat dar nu sunt decat la nivel de incepator
ma mai prind eu de una si de alta dar nu pot sa spun ca mai si stiu multe
plus ca nici nu prea mai imi vine sa lucrez mult, d-aia am ajuns si la arduino & stuff
pe vremuri faceam electronica la greu, pictam cablaje cu smoala diluata in acetona, eram si eu tanar si nelinistit :)
acum... decat sa bag un eagle mai bine fac cablaju de mana in vectric aspire :D
aprofundarile, cu asta tau prost, ca nu-mi place sa le fac de mantuiala si decat sa le fac prost mai bine nu le mai fac :D
dar si cand imi vine piticu... sa tii atunci! :D

o sa ma "retrag" putin si o sa fac doar partea de testare si feedback, evetual o sa mai indraznesc cu ceva sugestii (poate ca unele vor fi idioate) si daca ma voi simti in stare voi veni si cu ceva cod

imi place si nu imi place cel al lui Dagnall
partea care nu imi place e faptul ca are unele latente (nu numai la conectare) ci si in functionare si cred ca face asta tocmai datorita partii care imi place, adica faptul ca poti avea simultan IN si OUT pe acelasi decodor

astazi (dupa ce am ajuns sa pricep si eu ce e ala BBT) de exemplu, Ellrond (doar 2 senzori) vs Dagnall (2 senzori + 1 macaz), Dagnall mi-a pierdut cam 10% din semnale
nu spun ca e facut prost ca nu am cum sa-mi dau cu parerea despre ce e inauntru - cum ziceam, nu-s asa de experimentat
poate ca nici eu nu stiu sa configurez cum trebuie toate jucariile astea
dar chiar si asa, simplul fapt ca un decodor merge mai bine decat altul, ambele beneficiind de aceeasi calificare a utilizatorului...
probabil ca si dagnall ar merge bine daca ar avea doar "un sens"

cum sunt la stadiul de teste inca nu am decis pe care varianta merg, acum aprofundez :D
si vreau sa o fac cat mai bine
deja a incoltit ideea ca ar fi mai bine un decodor per bloc si care doar sa raporteze senzorii
si decodoarele de macaz separat
cel cu attiny (dcc) merge bine, destul de rapid, il vede si Mobile Station 2, insa nu stiu cum sa fac reinitializarea lui la fiecare alimentare (ca in 50% din cazuri, la pornire, e invers) :D

bag 1883 ca port si revin

tnx man
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
Salut,

Cu ultima versiune de pe github (V0.39) ar trebui ca la compilare sa nu mai apara warningul cu tivac/esp8266.

Numai bine,
Liviu
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
Abia acum am vazut:
sebba a spus:
insa nu stiu cum sa fac reinitializarea lui la fiecare alimentare (ca in 50% din cazuri, la pornire, e invers) :D
Vezi " " in Rocrail.
Start of Day -> Init field

To make sure all switches and signals have the right position this command flips them all twice.
All defined signals will be sent a command with the last known state, or 'RED' If no state is available.
See also: Command Line Options and Console Mode
La configurarea macazelor in Rocrail mai trebuie sa adaugi si pozitia "de start". E pozitia in care vor fi lasate macazurile in urma folosirii optiunii "start of the day" in interfata.

Spor,
Liviu
 

sebba

Active Member
18 Ianuarie 2017
56
0
Arad
LOCATION
Arad
iar e ceva ce nu pricep... greu e sa nu mai ai 20 de ani! pfff...

am bagat la macaz "Safe Position: thrown" pentru ca decodorul cu attiny85 asa muta macazul dupa fiecare alimentare
am testat cu "Init Field" din "Start of the day" si macazul face ce trebuie, adica se muta cand asa, cand asa, devenind apoi sincronizat cu ce afiseaza/stie rocrail
bun, dar lenea din mine e mare si comanda de init field e ascunsa prin meniuri

am vazut eu ca rocrail asta stie pe undeva de system actions! bun asa! stai ca-l fac eu sa isi dea singur cateva palme la fiecare "power on"
am facut un "action" care sa ruleze initfield si care, culmea, mi-a mers din prima
acum am action-ul care functioneaza dar trebuie si activat, nu-i asa?

ma duc in "system actions" si adaug action-ul nou creat astfel incat sa ruleze la fiecare state "go-cmd"
uimire mare, ruleaza si asta asa cum i-am zis (insa nu cum am dorit)

ce se intampla in momentul asta? la fiecare "power on" se activeaza "iecshan-ul" cu pricina insa nu face ce trebuie
adica face, dar trebuie sa faca altfel: adica, dupa ce dau comanda "power on" sa astepte vreo 10 secunde sau cat ii spun eu si abia apoi sa ruleze initfield-ul
am nevoie de aceast timp de asteptare pentru ca decodoarele de macaz cu attiny85 nu pornesc instantaneu, le trebuie 3-4-5 secunde, abia dupa aia primesc si comenzi
daca "initfield" ruleaza inainte ca decodoarele sa fie up and running, atunci e degeaba, si tot nu scap de clicka-clicka prin meniuri

am incercat tot felul de configurari, cu activation time, cu toate variabilele de timp pe care le-am gasit pe acolo insa nu i-am prins logica
please help... :roll:
 

sebba

Active Member
18 Ianuarie 2017
56
0
Arad
LOCATION
Arad
si sa revin si la "manufacturarea" de decodoare pentru senzori

@Liviu, am bagat RN-ul tau, am gasit prin cod ca sunt doi pini configurati pentru "input", 4 si 5
m-am jucat putin pe acolo si am reusit sa declar mai multi si sa-i aloc dupa cum doresc
rocrail vede "nodul" insa orice intrare se vede in rocrail cu adresa 255 (bus 11 address 255)
am incercat eu ceva "imbunatatiri" dar nu mi-a iesit
in serial se afiseaza si id-ul intrarii, port 0, port 1 etc dar in rocrail (mqtt) nu, toate sunt pe 255

tnx
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
Salut Seba,

Trebuie sa-mi fac timp sa testez, ca nu ma prind de ce face asa.
Daca mai testezi, posteaza te rog mesajele din terminalul serial.

Desi daca ma gandesc mai bine, cred ca-i normal. Adresele trebuie intai programate, din Rocrail, abia dupa aia sunt raportate corect. Ce vezi tu acolo (0xFF) indica eeprom neprogramat.
Ce vezi tu in serial sunt pinii folositi de la ESP, nu adresele de raportat la Rocrail. Fiecare pin are alocata o structura in care, printre altele, e salvata si adresa corepunzatoare.
Cand un pin isi schimba starea, adresa corespunzatoare impreuna cu noua stare sunt transmise la Rocrail.
Adresele raportate pot avea valoari intre 1 si (parca) 9000 si sunt citite la pornire din eeprom (sau sunt modificate la(re) programare). Cum la tine eepromul e inca gol...

Multumesc pentru teste si raportare,
Liviu
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
A, si inca ceva, daca pare "lenes" te poti juca cu "pauza" (delay(500) de la sfarsitul lui loop(), dar n-o sterge de tot, lasa macar 5..10 ms.
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
Hmm, buna intrebare. Nu mai tin minte exact cum am facut, sper sa am timp sa testez deseara.
Cred ca am folosit meniul , am declarat porturile folosite de mine (1 si 2) ca intrari, am lasat celelalte campuri goale si i-am zis set. Dupa ce le scrie prima data, ar trebui sa mearga.

Oricum, acum ca ma uit mai bine, ma gandesc sa definesc o varianta implicita, ca am senzatia ca in Rocrail/RocNetNode porturile sunt oricum fixe (1..8 ) si ca adresele senzorilor se calculeaza din perechea bus:port. Trebuie sa mai studiez putin. Cum ziceam, nu e inca gata.

PS Din poza de pe topicul celalalt inteleg ca macazurile tale au nevoie de 2 pini pentru comanda. Comanda e in impuls sau e continua?
 

sebba

Active Member
18 Ianuarie 2017
56
0
Arad
LOCATION
Arad
le pot comanda oricum, atat dintr-un pin cat si din doi, asta nu-i problema
daca ar fi sa aleg, as alege varianta cu un singur pin de comanda, ca sa fac economie si eventual sa pot folosi esp-01 de la care nu pot utiliza multi pini
solenoidul este marklin 74491: https://www.maerklin.de/en/products/details/article/74491/
are doua bobine si permite alimentare continua, dupa comutare isi autodecupleaza bobina si nu mai consuma curent, deci pot folosi atat alimentare continua cat si doar impuls

am ceva timp acum si bag in teste RN-ul
tnx
 

LiviuM

Well-Known Member
Trenulist
11 Martie 2011
397
0
Tot nu m-am prins ce semnale iti trebuie pentru comanda macazului. :oops:
M-am uitat putin prin cod si am vazut ca tineam minte bine *) - comanda simpla "comuta iesirea" e deja implementata.
Cod:
<i>
</i> // output commands. Only decoded, no action implemented. Should program
	 // to see how it works
        case RN_GROUP_OUTPUT : 
               recState = RN.Payload[11]%2;
               recAddr = RN.Payload[11] - recState;
                  myIos[recAddr].SetOut(recState);
Nu-i implementata varianta mai complicata, de comandat servo-uri.

*) Adica tineam minte ca la un moment dat am aprins din Rocrail niste led-uri pe .
Asa ca daca tot ajungi la teste, poti sa testezi si iesirile -> programezi un port ca iesire, il "aloci" unui macaz in plan si clicai macazul cu mausul. Daca legi un led la portul definit ca iesire, ar trebui sa se aprinda/stinga. Pentru macaz probabil trebuie sa mai bricolezi (nu cred ca ESP-ul e destul de voinic sa-l duca singur).
 

sebba

Active Member
18 Ianuarie 2017
56
0
Arad
LOCATION
Arad
da, merge asa cum ai zis
adica dupa ce scriu ESP-ul si-l detectez in rocrail, merg si setez primii doi pini ca input si apoi set
apoi detecteaza fiecare intrare separat, 11:1, 11:2
insa cateodata e o problema care apare si la sketch-ul lui Ellrond, cateodata: rocrail nu vede schimbarea de stare a pinului de intrare si chiar daca nu mai e activat (adica pleaca trenul de pe bloc) acesta ramane activat
in rocrail am si niste mesaje de eroare "broken socket"
in mosquitto semnalul ajunge, atat la activare cat si la dezactivare
iar mesajul cu brocken socket, in mosquitto, apare asa:
Cod:
Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocnet/sr', ... (12 bytes))

Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocnet/dc', ... (10 bytes))



Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocnet/sr', ... (12 bytes))

Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocrail/service/info', ... (80 bytes))
<exception text="sensor report 11:2 off code= load=0" level="16384" id="9999"/>

Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocrail/service/info', ... (83 bytes))
<fb uidname="TST" bus="11" addr="2" fbtype="0" load="0" iid="MQTT" state="false"/>

Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocnet/dc', ... (10 bytes))



Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocrail/service/info', ... (141 bytes))
<state iid="MQTT" power="true" trackbus="true" sensorbus="false" accessorybus="false" emergency="false" consolemode="false" healthy="true"/>

Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocrail/service/info', ... (60 bytes))
<exception text="RocNet Group: 3" level="16384" id="9999"/>

Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocrail/service/info', ... (54 bytes))
<exception text="broken socket" level="4" id="9999"/>

Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocrail/service/info', ... (54 bytes))
<exception text="broken socket" level="4" id="9999"/>

Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocnet/sr', ... (12 bytes))

Client mosqsub/7796-cs2host received PUBLISH (d0, q0, r0, m0, 'rocnet/dc', ... (10 bytes))
am incercat sa cuprind in output-ul lui mosquitto si o schimbare on/off a intrarii in esp

acum, nu ma pricep prea tare dar daca in mosquitto ajunge semnal de on si de off dar rocrail cateodata nu vede schimbarea... presupun ca e vorba de ceva timing in setarile lui rocrail si care nu reuseste sa citeasca ce semnale apar in mosquitto

o alta intrebare, datorata faptului ca eu, la 3 sine, folosesc izolarea unei sine si speculez scurtul pe care il fac osiile ca sa detectez prezenta trenului pe bloc:
e posibil sa se faca o setare astfel incat pentru orice impuls (hardware) de minim xx milisecunde esp-ul sa scoata noul status al intrarii pentru YY secunde si in aceasta perioada (YY) sa nu mai citeasca daca se mai schimba sau nu ceva pe input?

cred ca o astfel de optiune ar ajuta in cazul meu unde scurtul nu e tot timpul un scurt curat ci un "tren" de impulsuri foarte rapida si foarte scurte
sa zicem ca orice impuls de minim 20ms (xx-ul) ar fi considerat impuls "curat" pentru 1000 ms (YY)
am incercat sa obtin asta prin adaugarea unui condensator (47uF) pe intrare dar se pare ca trebuie unul mai mare si nu prea ar fi loc in terasament

am ajuns la concluzia asta urmarind semnalele ce se vehiculeaza prin esp si mqtt si in cazul unui tren de impulsuri scurte si dese esp-ul se cam inneaca
ma gadesc ca daca l-am pune in asteptare la fiecare impuls considerat valid, cate o secunda, si abia apoi sa-si reverifice intrarea si sa raporteze catre mqtt doar in cazul in care intrarea si-a schimbat starea am mai reduce din capacitatea de procesare necesara

---

eu acum imi dau cu parerea, ca in politica, sau ca la televiziunile "de succes", daca vezi ca bat campii apasa pe butonul de "mute" sau "power off" - adica zi-mi sa mai pun mana pe carte si sa nu mai vorbesc aiurea :D
 

sebba

Active Member
18 Ianuarie 2017
56
0
Arad
LOCATION
Arad
LiviuM a spus:
Tot nu m-am prins ce semnale iti trebuie pentru comanda macazului. :oops:
un pin de output: 1 ptr straight, 0 ptr turnout - sau invers :D
inca nu am trecut la teste pe partea de output (cu RN-ul)

tnx