Mrznutie arduina
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
- dzooky
- Příspěvky: 124
- Registrován: 03 úno 2018, 01:09
- Reputation: 0
- Bydliště: Fintice
- Kontaktovat uživatele:
Mrznutie arduina
Ahojte vsetci
Mam nasledujuci problem,,
Robim "arduino siet" a zatial mam oziveneho mastra a 1 slave.
Master je Arduino Mega
Zatial na mastrovi je rozbhane pripojenie do ethernetu cez enc28j60 cez uipe spolu s ovladanim cez aplikaciu Blynk
Master komunikuje so slave cez RS485
Zatial je na neho pripojene tlacidlo na otvaranie brany a rele ktorym otvara branu
Potom bezkontaktne spinace na zistenie polohy brany a led ktora zobrazuje stav brany
Slave 1 - Arduino nano
Na neho mam pripojenu rfid citacku MFRC522 a prachovy senzor PMS5003
Komunikacia RS485
Master v pravidelne pozaduje data od slave 1.
Data dostane len ak je prilozeny spravny kluc alebo ak prachovy senzor ma nove data co je kazde 3 minuty inak neposiela data
Komunikacia do ethernetu
Master vzdy urobi post do DB ak ma nove prachove data od slave .
A teraz kde je problem.
Po case den/dnoch master zamrzne neraguje musim ho restartnut.
Takze otazka ko zistim kde master skapal a na com?
Ked ho pripojim k pc master sa restartne a neviem na com ztvrdol, viete mi poradit ako rozluskat co robi problem?
Nateraz som odpojil slave ci ho komunikacia dajak nezakilluje ale nemyslim si.
Je to dost problematicke odsledovat kedy do zdochne lebo kape to po dni ci dnoch a nemozem to mat tak dlho zavesene na notase.
Tak na zaciatok tolko,
Vieme ze je z prvych odpovedi bude daj sem kod ale nemam ho tu a master ma vyse 1000 riadkov.
Ked tak potom dohodim.
Mam nasledujuci problem,,
Robim "arduino siet" a zatial mam oziveneho mastra a 1 slave.
Master je Arduino Mega
Zatial na mastrovi je rozbhane pripojenie do ethernetu cez enc28j60 cez uipe spolu s ovladanim cez aplikaciu Blynk
Master komunikuje so slave cez RS485
Zatial je na neho pripojene tlacidlo na otvaranie brany a rele ktorym otvara branu
Potom bezkontaktne spinace na zistenie polohy brany a led ktora zobrazuje stav brany
Slave 1 - Arduino nano
Na neho mam pripojenu rfid citacku MFRC522 a prachovy senzor PMS5003
Komunikacia RS485
Master v pravidelne pozaduje data od slave 1.
Data dostane len ak je prilozeny spravny kluc alebo ak prachovy senzor ma nove data co je kazde 3 minuty inak neposiela data
Komunikacia do ethernetu
Master vzdy urobi post do DB ak ma nove prachove data od slave .
A teraz kde je problem.
Po case den/dnoch master zamrzne neraguje musim ho restartnut.
Takze otazka ko zistim kde master skapal a na com?
Ked ho pripojim k pc master sa restartne a neviem na com ztvrdol, viete mi poradit ako rozluskat co robi problem?
Nateraz som odpojil slave ci ho komunikacia dajak nezakilluje ale nemyslim si.
Je to dost problematicke odsledovat kedy do zdochne lebo kape to po dni ci dnoch a nemozem to mat tak dlho zavesene na notase.
Tak na zaciatok tolko,
Vieme ze je z prvych odpovedi bude daj sem kod ale nemam ho tu a master ma vyse 1000 riadkov.
Ked tak potom dohodim.
Re: Mrznutie arduina
Udělej si v té DB i logovací tabulku a do ní loguj aktivitu mastera. Minimálně tím vypozoruješ, zda se to vždy zahaltuje ve stejném místě, nebo pokaždé někde jinde.
Nejrychlejší by bylo logovat na serial, ale když píšeš, že to tak dlouho nemůže být připojené k PC, tak ne... IMHO nechat běžet PC pár dní (třeba s vypnutým monitorem) není tak hrozné, ale neznám situaci, možná to nemáš "na stole".
Terminologicky je trochu zavádějící, že se master připojuje na slave, tady bych ještě popřemýšlel nad návrhem, čekal bych, že když přiložím RFID ke slave, tak ten mi pošle request na master.
Nejrychlejší by bylo logovat na serial, ale když píšeš, že to tak dlouho nemůže být připojené k PC, tak ne... IMHO nechat běžet PC pár dní (třeba s vypnutým monitorem) není tak hrozné, ale neznám situaci, možná to nemáš "na stole".
Terminologicky je trochu zavádějící, že se master připojuje na slave, tady bych ještě popřemýšlel nad návrhem, čekal bych, že když přiložím RFID ke slave, tak ten mi pošle request na master.
- dzooky
- Příspěvky: 124
- Registrován: 03 úno 2018, 01:09
- Reputation: 0
- Bydliště: Fintice
- Kontaktovat uživatele:
Re: Mrznutie arduina
No bohuzial uz je to osadene dole v garazi a jediny laptop co mam je pracovny a ten nosim do prace.
Potom mam len workstation co je strasne neprakticke.
Ten napad s logovanim do DB je fajn skusim nejako aplikovat.
Teraz ked som dal slave prec zdochlo to za par hodin.
Co sa tyka terminologie Master/Slave
No pokial dobre viem a chapem RS485 tak na sieti je master len jeden ostatni su slave a master je ten co posiela.
U seba som dane arduino nazval master lebo ten toho tam robi najviac a je pripojeny do siete (ethernet).
Master ma u mna fungovat tak ze vzdy kontaktuje vsetkych slavov za radom a vyzaduje od nich data.
Ked slave data ma odpovie ked nema neodpoveda.
Kedze zatial je funkcny iba jeden slave, master kontaktuje iba jeho.
Slave nemoze poslat data vtedy ked nacita kartu lebo taky isty slave bude este jeden a co ked budu mat obaja data naraz? Co sice nehrozi ale.
V podstate slave nacita kartu, drzi message ze ma spravnu kartu a ked ho master vyziada ci zachytil kartu odpovie mu.
Potom mam len workstation co je strasne neprakticke.
Ten napad s logovanim do DB je fajn skusim nejako aplikovat.
Teraz ked som dal slave prec zdochlo to za par hodin.
Co sa tyka terminologie Master/Slave
No pokial dobre viem a chapem RS485 tak na sieti je master len jeden ostatni su slave a master je ten co posiela.
U seba som dane arduino nazval master lebo ten toho tam robi najviac a je pripojeny do siete (ethernet).
Master ma u mna fungovat tak ze vzdy kontaktuje vsetkych slavov za radom a vyzaduje od nich data.
Ked slave data ma odpovie ked nema neodpoveda.
Kedze zatial je funkcny iba jeden slave, master kontaktuje iba jeho.
Slave nemoze poslat data vtedy ked nacita kartu lebo taky isty slave bude este jeden a co ked budu mat obaja data naraz? Co sice nehrozi ale.
V podstate slave nacita kartu, drzi message ze ma spravnu kartu a ked ho master vyziada ci zachytil kartu odpovie mu.
Re: Mrznutie arduina
Se zamrzáním neporadím, ale na trvalé logování sériové komunikace se dá použít třeba tohle:
https://www.ebay.com/itm/282713844996
Je to OpenSource a dá se to postavit i na Arduinu (Já jsem si to zbastlil na Arduinu Mini Pro s držákem paměťové karty).
https://github.com/sparkfun/OpenLog
https://www.ebay.com/itm/282713844996
Je to OpenSource a dá se to postavit i na Arduinu (Já jsem si to zbastlil na Arduinu Mini Pro s držákem paměťové karty).
https://github.com/sparkfun/OpenLog
- dzooky
- Příspěvky: 124
- Registrován: 03 úno 2018, 01:09
- Reputation: 0
- Bydliště: Fintice
- Kontaktovat uživatele:
Re: Mrznutie arduina
Vyzera to fajn kym to pride z ciny najrychlesie zatial skusim dajake post do DB
AKurat zistujem ze ked mam vypnuteho slave, podstatne skor to skape.
AKurat zistujem ze ked mam vypnuteho slave, podstatne skor to skape.
Re: Mrznutie arduina
Takhle se taky projevuje to, kdyz program nekde alokuje pamet a pak ji neuvolni a alokuje znovu, tak mu po case proste dojde volna pamet a je zle.
dalsi zpusob je, kdyz alokujes a dealokujes na stridacku ruzne velke bloky pameti ((coz se stane snadno treba u retezcu), tak sice muzes mit volne pameti relativne dost, ale v malych blocich.
A kdyz se nepodari kontaktovat klienta, tak je docela mozne, ze to zkousi nekolikrat po sobe a tim padem tu pamet ztraci rychleji.
dalsi zpusob je, kdyz alokujes a dealokujes na stridacku ruzne velke bloky pameti ((coz se stane snadno treba u retezcu), tak sice muzes mit volne pameti relativne dost, ale v malych blocich.
A kdyz se nepodari kontaktovat klienta, tak je docela mozne, ze to zkousi nekolikrat po sobe a tim padem tu pamet ztraci rychleji.
Re: Mrznutie arduina
Kód: Vybrat vše
int freeRam () {
extern int __heap_start, *__brkval;
int v;
return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}
kdyz si ji pridas do programu a budes si nekde vypisivat, jakou hodnotu vraci, tak jsou dve moznosti - bud se po chvili (rekneme prvnich dvou pokusech o spojeni a predani dat) ta hodnota zastavi na nejake nenulove urovni (a pak nemas problem s pameti), nebo bude postupne s kazdym dalsim spojenim ci pokusem o nej) klesat - a pak vyse zmineny problem mas.
- dzooky
- Příspěvky: 124
- Registrován: 03 úno 2018, 01:09
- Reputation: 0
- Bydliště: Fintice
- Kontaktovat uživatele:
Re: Mrznutie arduina
@gilhad
Dikes za typ
Akurat poobede som zistil ze nemam zakomentovane funkcie, ktore obsluhuju periferie ktore aktualne nemam pripojene RTC DS3231 aj LCD obe na I2C
Mozno to sposobovalo to uvidime, zatial to bezi. Uvidime ako po case
Dikes za typ
Akurat poobede som zistil ze nemam zakomentovane funkcie, ktore obsluhuju periferie ktore aktualne nemam pripojene RTC DS3231 aj LCD obe na I2C
Mozno to sposobovalo to uvidime, zatial to bezi. Uvidime ako po case
- dzooky
- Příspěvky: 124
- Registrován: 03 úno 2018, 01:09
- Reputation: 0
- Bydliště: Fintice
- Kontaktovat uživatele:
Re: Mrznutie arduina
No skusil som cekovat tu pamat stale to iste cislo hadzalo, cislo trosku vacsie ako 5000.
Teraz ma napadlo ci to nebude napajanim.
K zariadeniam mam dotiahnutych 5 a12V teda taky je zdroj.
Na konci vedenia pri nich je dakus menej kvoli ubytku napatia.
Slave je arduino nano, ktory vobec nebavi na 5V.
Aby bezal musi ist na 12V
Master som napajal s 5V kvoli tomu ze sa na nom regulator pre 5V strasne hrial
Teraz ked som ho dal na 12V vydiet ze aj ledky svietia uz poriadne, asi tak ako by mali a uvidim ci teraz zdochne.
No len sa bojim ze sa odpecie ten regulator
Teraz ma napadlo ci to nebude napajanim.
K zariadeniam mam dotiahnutych 5 a12V teda taky je zdroj.
Na konci vedenia pri nich je dakus menej kvoli ubytku napatia.
Slave je arduino nano, ktory vobec nebavi na 5V.
Aby bezal musi ist na 12V
Master som napajal s 5V kvoli tomu ze sa na nom regulator pre 5V strasne hrial
Teraz ked som ho dal na 12V vydiet ze aj ledky svietia uz poriadne, asi tak ako by mali a uvidim ci teraz zdochne.
No len sa bojim ze sa odpecie ten regulator
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 13 hostů