Arduino a Microlog2 - externí display
Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
-
- Příspěvky: 110
- Registrován: pon zář 03, 2012 8:47 pm
- Reputace: 1
Arduino a Microlog2 - externí display
Zdravím všechny,
mám takový problém.Chtěl bych vyčítat z micrologu2 pomocí jiného arduina přes ethernet hodnoty které umí microlog posílat.Nemáte někdo kus kódu jak to vyčíst a uložit do nějakého registru .Pak už promě není problém toto zobrazit na LCD displeji s jinejma hodnotama jako celková výroba za den a tak.Chtěl jsem si udělat výstup na grafickej displej ale nedaří se mi z micrologu správně načíst data,vybrat jen ty co potřebuji a uložit do paměti.
Už se s tím zabejvám jak dlouho ale prostě asi na to nemám ty správný buňky.
Dík za jakoukoli pomoc
mám takový problém.Chtěl bych vyčítat z micrologu2 pomocí jiného arduina přes ethernet hodnoty které umí microlog posílat.Nemáte někdo kus kódu jak to vyčíst a uložit do nějakého registru .Pak už promě není problém toto zobrazit na LCD displeji s jinejma hodnotama jako celková výroba za den a tak.Chtěl jsem si udělat výstup na grafickej displej ale nedaří se mi z micrologu správně načíst data,vybrat jen ty co potřebuji a uložit do paměti.
Už se s tím zabejvám jak dlouho ale prostě asi na to nemám ty správný buňky.
Dík za jakoukoli pomoc
Polánka 2790W (24v),8 x MoserBaer 195w Jih,6 x 205W Sever ,Midnite 150 Lite,NiCd 4x160Ah(life blackout)+18650 2,5kW+LiFePo 160Ah Winston+LiFePo 2x 120Ah by Mivvy, PowerJack LF 6kW by Matěj +5kW záložní by Matěj, HomeAssistant s komunikací BT BMS
- mypower.cz
- R.I.P.
- Příspěvky: 4927
- Registrován: pát bře 04, 2011 11:36 am
- Reputace: 521
Re: Arduino a Microlog2 - externí display
Veškré věci, které se dají zobrazit ve www rozhraní micrologu si rozhraní z micrologu stahuje přes HTTP
http://microlog.mypower.cz/mod:webservices
Jsou tam data od výstupů z jednotlivých analogových vstupů, po výstup ze sampleru, po stav displaye po nastavení (pozor, včetně FVEID).
To znamená na dalším arduinu je potřeba udělat HTTP klienta, který si bude sahat na microlog a stahovat data v nějkých rozumných intervalech a tyto si poté interpretovat tak jak bude potřeba.
Formát dat je možné zjistit buď ze zdrojového kódu micrologu, případně si je vhodně upravit na straně micrologu dle potřeb, nebo můžu samozřejmě konkrétní formát popsat detailněji, například uložení samplů ze sampleru je uloženo poněkud specifičtěji (8 + 2 bity).
http://arduino.cc/en/Tutorial/WebClientRepeating
http://microlog.mypower.cz/mod:webservices
Jsou tam data od výstupů z jednotlivých analogových vstupů, po výstup ze sampleru, po stav displaye po nastavení (pozor, včetně FVEID).
To znamená na dalším arduinu je potřeba udělat HTTP klienta, který si bude sahat na microlog a stahovat data v nějkých rozumných intervalech a tyto si poté interpretovat tak jak bude potřeba.
Formát dat je možné zjistit buď ze zdrojového kódu micrologu, případně si je vhodně upravit na straně micrologu dle potřeb, nebo můžu samozřejmě konkrétní formát popsat detailněji, například uložení samplů ze sampleru je uloženo poněkud specifičtěji (8 + 2 bity).
http://arduino.cc/en/Tutorial/WebClientRepeating
-
- Příspěvky: 110
- Registrován: pon zář 03, 2012 8:47 pm
- Reputace: 1
Re: Arduino a Microlog2 - externí display
No a v tom je pro mě ta potíž.
Mám arduino nano s 28j60 mini adapterem.Funguje mi jako klient s knihovnou UIPEthernet.V arduinu nejsem moc kovanej,tak jsem chtěl jen pokud už někdo řešil ,tak sem dat vzorek kódu abych pochopil jak se to řeší.
Vím že mám poslat něco jako GET:ipadresa.... ,to odešlu ale nevím jak zpracovat ten řetězec co mi přijde.
Mám arduino nano s 28j60 mini adapterem.Funguje mi jako klient s knihovnou UIPEthernet.V arduinu nejsem moc kovanej,tak jsem chtěl jen pokud už někdo řešil ,tak sem dat vzorek kódu abych pochopil jak se to řeší.
Vím že mám poslat něco jako GET:ipadresa.... ,to odešlu ale nevím jak zpracovat ten řetězec co mi přijde.
Polánka 2790W (24v),8 x MoserBaer 195w Jih,6 x 205W Sever ,Midnite 150 Lite,NiCd 4x160Ah(life blackout)+18650 2,5kW+LiFePo 160Ah Winston+LiFePo 2x 120Ah by Mivvy, PowerJack LF 6kW by Matěj +5kW záložní by Matěj, HomeAssistant s komunikací BT BMS
- mypower.cz
- R.I.P.
- Příspěvky: 4927
- Registrován: pát bře 04, 2011 11:36 am
- Reputace: 521
Re: Arduino a Microlog2 - externí display
Faze I. vyzkouset vzorovy priklad www klienta z arduino.cc (misto nacitani dat z arduino.cc zmenit adresu na microlog na lokalni siti - treba 192.168.1.200) a dostat se do stavu, ze to na seriovou konzoli na arduino nano vypise totez co je na wiki. Tim mame prenos dat vyresen.
Faze II. zpracovani dat "on the fly" a bud primo behem cteni ze sitoveho rozhrani zobrazeni na displayi, nebo ulozeni do promenne a pak zobrazeni na displayi.
Faze II je specificka. Fazi I je mozne realizovat i pomoci prikladu z arduino.cc a dostat vypis na seriovou konzoli. Fazi II muzeme pak tady dovymyslet primo na foru jakmile se prenos a vypis do seriove konzole povede
Faze II. zpracovani dat "on the fly" a bud primo behem cteni ze sitoveho rozhrani zobrazeni na displayi, nebo ulozeni do promenne a pak zobrazeni na displayi.
Faze II je specificka. Fazi I je mozne realizovat i pomoci prikladu z arduino.cc a dostat vypis na seriovou konzoli. Fazi II muzeme pak tady dovymyslet primo na foru jakmile se prenos a vypis do seriove konzole povede
-
- Příspěvky: 110
- Registrován: pon zář 03, 2012 8:47 pm
- Reputace: 1
Re: Arduino a Microlog2 - externí display
pomocí "char c = client.read(); Serial.print(c); to na seriovou konzoli dostanu,dokoce to vypíše i všechny hodnoty co se přečtou z micrologu.....a dál už je to pro mě španělská vesnice.Kam co jak uložit podle čeho porovnat a tak
Polánka 2790W (24v),8 x MoserBaer 195w Jih,6 x 205W Sever ,Midnite 150 Lite,NiCd 4x160Ah(life blackout)+18650 2,5kW+LiFePo 160Ah Winston+LiFePo 2x 120Ah by Mivvy, PowerJack LF 6kW by Matěj +5kW záložní by Matěj, HomeAssistant s komunikací BT BMS
- mypower.cz
- R.I.P.
- Příspěvky: 4927
- Registrován: pát bře 04, 2011 11:36 am
- Reputace: 521
Re: Arduino a Microlog2 - externí display
tzn pojdme si rici ktera data nacitame, co mame v seriove konzoli jako zdroj dat a dospejeme k tomu jak z tohoto bloku dat vyklofnout jen to co potrebujeme ..
Jestli je mozne postnout sem ukazku toho co se vypisuje do seriove konzole, urcite dame vyklofavaci kod, alebrz parser dohromady.
Jestli je mozne postnout sem ukazku toho co se vypisuje do seriove konzole, urcite dame vyklofavaci kod, alebrz parser dohromady.
-
- Příspěvky: 110
- Registrován: pon zář 03, 2012 8:47 pm
- Reputace: 1
Re: Arduino a Microlog2 - externí display
OK,jakmile budu z prace doma ,pošlu
Polánka 2790W (24v),8 x MoserBaer 195w Jih,6 x 205W Sever ,Midnite 150 Lite,NiCd 4x160Ah(life blackout)+18650 2,5kW+LiFePo 160Ah Winston+LiFePo 2x 120Ah by Mivvy, PowerJack LF 6kW by Matěj +5kW záložní by Matěj, HomeAssistant s komunikací BT BMS
-
- Příspěvky: 110
- Registrován: pon zář 03, 2012 8:47 pm
- Reputace: 1
Re: Arduino a Microlog2 - externí display
Posílám v příloze data co mi lezou na seriovou konzoli a výpis jak to čtu.No jo ale co s tim dál?
- Přílohy
-
- srduino.ino
- (2.65 KiB) Staženo 204 x
Polánka 2790W (24v),8 x MoserBaer 195w Jih,6 x 205W Sever ,Midnite 150 Lite,NiCd 4x160Ah(life blackout)+18650 2,5kW+LiFePo 160Ah Winston+LiFePo 2x 120Ah by Mivvy, PowerJack LF 6kW by Matěj +5kW záložní by Matěj, HomeAssistant s komunikací BT BMS
- mypower.cz
- R.I.P.
- Příspěvky: 4927
- Registrován: pát bře 04, 2011 11:36 am
- Reputace: 521
Re: Arduino a Microlog2 - externí display
Data ze sampleru.. dobre .. co z toho konkretne chceme vycist ? Ktere udaje nas zajimaji?
-
- Příspěvky: 110
- Registrován: pon zář 03, 2012 8:47 pm
- Reputace: 1
Re: Arduino a Microlog2 - externí display
Ahoj
potrenboval bych ze sampleru dostat "average" hodnoty jednotlivých pinu, /ideální by byla hodnota již prepočtená na měřenou/ a tu uložit někam ve formátu třeba float do registru arduina.
potrenboval bych ze sampleru dostat "average" hodnoty jednotlivých pinu, /ideální by byla hodnota již prepočtená na měřenou/ a tu uložit někam ve formátu třeba float do registru arduina.
Polánka 2790W (24v),8 x MoserBaer 195w Jih,6 x 205W Sever ,Midnite 150 Lite,NiCd 4x160Ah(life blackout)+18650 2,5kW+LiFePo 160Ah Winston+LiFePo 2x 120Ah by Mivvy, PowerJack LF 6kW by Matěj +5kW záložní by Matěj, HomeAssistant s komunikací BT BMS
- mypower.cz
- R.I.P.
- Příspěvky: 4927
- Registrován: pát bře 04, 2011 11:36 am
- Reputace: 521
Re: Arduino a Microlog2 - externí display
Dobra... pokusim se dnes napsat, odladit a hodim sem kod.
- mypower.cz
- R.I.P.
- Příspěvky: 4927
- Registrován: pát bře 04, 2011 11:36 am
- Reputace: 521
Re: Arduino a Microlog2 - externí display
Dér iz it:
Výstup z konzole:
Funkce ktera vypisuje do konzole se jmenuje AfterHTTPRequest() a je volana po kazdem nacteni dat z MicroLogu.
Mame pristup uplne ke vsem hodnotam, tedy vsech 16 pinu (0-15), a muzeme si tady libovolne delat co chceme s
pinVALUE - okamzitou hodnotou (64tý sampl ze 128mi)
pinRMS - efektivni hodnotou vypoctenou ze 128mi samplů
pinAVG - prumernou hodnotou vypoctenou ze 128mi samplů
pinMAX - maximalni hodnotou ze 128mi samplu
pinMIN - minimalni hodnotou ze 128mi samplu
treba je zobrazit na display, nebo treba klidne vytůtat morseovkou na maly piezoelektricky speaker.
PS: jsem borec .. stihnul jsem to jeste dnes je 23:44
PS2: testovano na Arduinu UNO a vycitano z micrologu samozrejme jak jinak nez na Arduinu MEGA.
PS3: hodnoty jsou takove jako jdou z prevodniku, tedy 0-1023. Odpovidajicim prepoctem dostaneme hodnoty v rozsahu, v jakem potrebujeme.
Kód: Vybrat vše
/*
Repeating Web client
This sketch connects to a a web server and makes a request
using a Wiznet Ethernet shield. You can use the Arduino Ethernet shield, or
the Adafruit Ethernet shield, either one will work, as long as it's got
a Wiznet Ethernet module on board.
This example uses DNS, by assigning the Ethernet client with a MAC address,
IP address, and DNS address.
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
created 19 Apr 2012
by Tom Igoe
http://arduino.cc/en/Tutorial/WebClientRepeating
This code is in the public domain.
*/
#include <SPI.h>
#include <Ethernet.h>
// assign a MAC address for the ethernet controller.
// fill in your address here:
byte mac[] = {
0xDE, 0xAA, 0xBE, 0xEF, 0xFE, 0xED};
// fill in an available IP address on your network here,
// for manual configuration:
IPAddress ip(192,168,1,63);
// fill in your Domain Name Server address here:
IPAddress myDns(8,8,8,8);
// initialize the library instance:
EthernetClient client;
// http: //192.168.1.238/cfg?cmd=7370
char server[] = "192.168.1.238";
const int maxPinCount=16;
struct extPin {
int pinVALUE;
int pinRMS;
int pinAVG;
int pinMIN;
int pinMAX;
};
extPin extPinData[maxPinCount];
unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
boolean lastConnected = false; // state of the connection last time through the main loop
const unsigned long postingInterval = 10*1000; // delay between updates, in milliseconds
void setup() {
// start serial port:
Serial.begin(9600);
// give the ethernet module time to boot up:
delay(1000);
// start the Ethernet connection using a fixed IP address and DNS server:
Ethernet.begin(mac, ip, myDns);
// print the Ethernet board/shield's IP address:
Serial.print("My IP address: ");
Serial.println(Ethernet.localIP());
}
boolean newLine=false;
boolean pinLine=false;
boolean pinParamEnd=false;
byte pinValIndex=0;
byte pinNoIndex=0;
int pinVal=0;
char pinType='-';
char pinStr[10];
void loop() {
// if there's incoming data from the net connection.
// send it out the serial port. This is for debugging
// purposes only:
if (client.available()) {
char c = client.read();
if (pinLine)
{
int xs=strlen(pinStr);
// Serial.print(c);
if (c=='\n')
{
pinParamEnd=true;
pinLine=false;
newLine=true;
}
else
if ((c==':') || (c==','))
pinParamEnd=true;
else
if (xs<(sizeof(pinStr)-1))
{
pinStr[xs]=c;
pinStr[xs+1]=0;
}
if (pinParamEnd)
{
// Serial.print(pinValIndex);
// Serial.print(":");
// Serial.println(pinStr);
if (pinValIndex==0)
pinNoIndex=atoi(pinStr);
else
if ((pinNoIndex>=0) && (pinNoIndex<maxPinCount) &&
(strlen(pinStr)>2) && (pinStr[1]=='='))
{
pinType=pinStr[0];
pinVal=atoi(pinStr+2);
// Serial.print(pinNoIndex);
// Serial.print(":");
// Serial.print(pinType);
// Serial.print(" ");
// Serial.println(pinVal);
extPin * qpin=&extPinData[pinNoIndex];
if (pinType=='V') qpin->pinVALUE=pinVal;
if (pinType=='S') qpin->pinRMS=pinVal;
if (pinType=='A') qpin->pinAVG=pinVal;
if (pinType=='M') qpin->pinMIN=pinVal;
if (pinType=='X') qpin->pinMAX=pinVal;
}
pinValIndex++;
pinStr[0]=0;
pinParamEnd=false;
}
}
else
if (newLine)
{
pinLine=(c=='A');
newLine=false;
if (pinLine)
{
pinParamEnd=false;
pinValIndex=0;
pinStr[0]=0;
}
}
else
newLine=(c=='\n');
}
// if there's no net connection, but there was one last time
// through the loop, then stop the client:
if (!client.connected() && lastConnected) {
// Serial.println();
Serial.println("disconnecting.");
client.stop();
AfterHTTPRequest();
}
// if you're not connected, and ten seconds have passed since
// your last connection, then connect again and send data:
if(!client.connected() && (millis() - lastConnectionTime > postingInterval)) {
httpRequest();
}
// store the state of the connection for next time through
// the loop:
lastConnected = client.connected();
}
// this method makes a HTTP connection to the server:
void httpRequest() {
// if there's a successful connection:
if (client.connect(server, 80)) {
Serial.println("connecting...");
// send the HTTP PUT request:
client.println("GET /cfg?cmd=7370 HTTP/1.1");
// client.println("Host: www.arduino.cc");
// client.println("User-Agent: arduino-ethernet");
client.println("Connection: close");
client.println();
// note the time that the connection was made:
lastConnectionTime = millis();
}
else {
// if you couldn't make a connection:
Serial.println("connection failed");
Serial.println("disconnecting.");
client.stop();
}
}
void AfterHTTPRequest()
{
Serial.println("Yeeeeah ... We have data from MyPower MicroLog :D");
Serial.print("Pin10 Average Value: ");
Serial.println(extPinData[10].pinAVG);
Serial.print("Pin10 RMS Value: ");
Serial.println(extPinData[10].pinRMS);
Serial.print("Pin6 Current Value: ");
Serial.println(extPinData[6].pinVALUE);
Serial.print("Pin12 Maximum Value: ");
Serial.println(extPinData[12].pinMAX);
Serial.print("Pin11 Minimum Value: ");
Serial.println(extPinData[11].pinMIN);
}
Kód: Vybrat vše
My IP address: 192.168.1.63
connecting...
disconnecting.
Yeeeeah ... We have data from MyPower MicroLog :D
Pin10 Average Value: 35
Pin10 RMS Value: 56
Pin6 Current Value: 10
Pin12 Maximum Value: 132
Pin11 Minimum Value: 0
connecting...
disconnecting.
Yeeeeah ... We have data from MyPower MicroLog :D
Pin10 Average Value: 33
Pin10 RMS Value: 52
Pin6 Current Value: 8
Pin12 Maximum Value: 174
Pin11 Minimum Value: 0
connecting...
disconnecting.
Yeeeeah ... We have data from MyPower MicroLog :D
Pin10 Average Value: 31
Pin10 RMS Value: 50
Pin6 Current Value: 12
Pin12 Maximum Value: 162
Pin11 Minimum Value: 0
connecting...
disconnecting.
Yeeeeah ... We have data from MyPower MicroLog :D
Pin10 Average Value: 35
Pin10 RMS Value: 56
Pin6 Current Value: 8
Pin12 Maximum Value: 131
Pin11 Minimum Value: 0
connecting...
disconnecting.
Yeeeeah ... We have data from MyPower MicroLog :D
Pin10 Average Value: 33
Pin10 RMS Value: 52
Pin6 Current Value: 14
Pin12 Maximum Value: 168
Pin11 Minimum Value: 0
connecting...
Mame pristup uplne ke vsem hodnotam, tedy vsech 16 pinu (0-15), a muzeme si tady libovolne delat co chceme s
pinVALUE - okamzitou hodnotou (64tý sampl ze 128mi)
pinRMS - efektivni hodnotou vypoctenou ze 128mi samplů
pinAVG - prumernou hodnotou vypoctenou ze 128mi samplů
pinMAX - maximalni hodnotou ze 128mi samplu
pinMIN - minimalni hodnotou ze 128mi samplu
treba je zobrazit na display, nebo treba klidne vytůtat morseovkou na maly piezoelektricky speaker.
PS: jsem borec .. stihnul jsem to jeste dnes je 23:44
PS2: testovano na Arduinu UNO a vycitano z micrologu samozrejme jak jinak nez na Arduinu MEGA.
PS3: hodnoty jsou takove jako jdou z prevodniku, tedy 0-1023. Odpovidajicim prepoctem dostaneme hodnoty v rozsahu, v jakem potrebujeme.
- mypower.cz
- R.I.P.
- Příspěvky: 4927
- Registrován: pát bře 04, 2011 11:36 am
- Reputace: 521
Re: Arduino a Microlog2 - externí display
PS: jelo mi to celou noc az doted do rana, kdy to stale vycita . Tzn povazoval bych to i za stabilni.
-
- Příspěvky: 110
- Registrován: pon zář 03, 2012 8:47 pm
- Reputace: 1
Re: Arduino a Microlog2 - externí display
No,vypadá to dost slušně.Tohle bych dal možná tak za dva měsíce.To byl teda fofr.
Móooc děkuji.....o víkendu to testnu a hodím sem result i s nějakým foto.
no jo někdo na to má holt hlavu
Móooc děkuji.....o víkendu to testnu a hodím sem result i s nějakým foto.
no jo někdo na to má holt hlavu
Polánka 2790W (24v),8 x MoserBaer 195w Jih,6 x 205W Sever ,Midnite 150 Lite,NiCd 4x160Ah(life blackout)+18650 2,5kW+LiFePo 160Ah Winston+LiFePo 2x 120Ah by Mivvy, PowerJack LF 6kW by Matěj +5kW záložní by Matěj, HomeAssistant s komunikací BT BMS
-
- Příspěvky: 110
- Registrován: pon zář 03, 2012 8:47 pm
- Reputace: 1
Re: Arduino a Microlog2 - externí display
Ahoj,
tak po prvních testech to vypadá že mi to není schopná přenést OpenVPN síť která má latenci cca 200ms a při téhle komunikaci vzroste na 3000-4000 a téměř nic nedostávám.Až tam dam LTE modem,snad to půjde.
P.S- nedalo by se to vyčítat jen ze stránky micrologu,tedy bez příkazu "/cfg?cmd=7370" ??? tam ty data máme taky,né ?
tak po prvních testech to vypadá že mi to není schopná přenést OpenVPN síť která má latenci cca 200ms a při téhle komunikaci vzroste na 3000-4000 a téměř nic nedostávám.Až tam dam LTE modem,snad to půjde.
P.S- nedalo by se to vyčítat jen ze stránky micrologu,tedy bez příkazu "/cfg?cmd=7370" ??? tam ty data máme taky,né ?
Polánka 2790W (24v),8 x MoserBaer 195w Jih,6 x 205W Sever ,Midnite 150 Lite,NiCd 4x160Ah(life blackout)+18650 2,5kW+LiFePo 160Ah Winston+LiFePo 2x 120Ah by Mivvy, PowerJack LF 6kW by Matěj +5kW záložní by Matěj, HomeAssistant s komunikací BT BMS
- mypower.cz
- R.I.P.
- Příspěvky: 4927
- Registrován: pát bře 04, 2011 11:36 am
- Reputace: 521
Re: Arduino a Microlog2 - externí display
jj, no jiste ze slo to pujde snadno upravit, budu-li mit chvilku, udelam rychlejsi verzi
ty data jsou dokonce v datech ze sampleru i vyse pred daty ze sampleru (samply)(S4:S=29,A=17,M=0,X=86,C=128:..data.ze.sampleru...)
premyslel jsem, jestli tu http komunikaci nekilluje samotny webserver ulogu, ale asi nee .. ja tam totiz mam pocit kdysi zamyslel timeout, aby melo cas mereni a nebylo to dlouho sekle na HTTP komunikaci, protoze v ulogu funguje neco blizkeho "kooperativnimu multitaskingu", ale v kodu to ted nemuzu najit, takze mozna jsem to nakonec neresil timeoutem a ukoncenim HTTP komunikce, nebo jsem ted slepy a v kodu funkce WebServer() to nevidim, nebo jsem ten timeout nakonec dal jinam ..
Je na OpenVPN nastavena komprese dat? To by mohlo taky znacne pomoci, protoze data ze sampleru jsou v hexa a to pujde zkomprimovat urcite dosti dobre ... By se mozna snizila i latence .. a nebo pak si pohrat s timeouty VPNky a poradne je prodlouzit, pokud tu komunikaci nejak zabije sama OpenVPN, ale to by IMHO nemela. Pouzivam OpenVPN na vykryti obcas dosti vypadavajicich wifin (za neprizniveho pocasi) a sice ping vzroste az na 40s klidne, ale VPNka stale drzi spojeni (ktere nejsou killnuta na strane prijmu nebo odesilani) a pakety chodi ve spravnem poradi... Leckdy po davkach.
Pokud by s tim bylo mozno zaexperimetovat, postnout sem konfiguraci openvpn na strane serveru i klienta, muzu to srovnat se svym nastavenim a treba na neco prijdem, kazdopadne jak bude cas, pokud me nejaky zdejsi schopny cckar nepredbehne, udelam verzi pro nacitani z hlavni stranky ulogu... to je jasne, ze to bude lepsi Ze me to hned nenapadlo, nicmene nechal jsem se unest vyzvou v podobe komplikovanejsiho parseru dat ze sampleru
ty data jsou dokonce v datech ze sampleru i vyse pred daty ze sampleru (samply)(S4:S=29,A=17,M=0,X=86,C=128:..data.ze.sampleru...)
premyslel jsem, jestli tu http komunikaci nekilluje samotny webserver ulogu, ale asi nee .. ja tam totiz mam pocit kdysi zamyslel timeout, aby melo cas mereni a nebylo to dlouho sekle na HTTP komunikaci, protoze v ulogu funguje neco blizkeho "kooperativnimu multitaskingu", ale v kodu to ted nemuzu najit, takze mozna jsem to nakonec neresil timeoutem a ukoncenim HTTP komunikce, nebo jsem ted slepy a v kodu funkce WebServer() to nevidim, nebo jsem ten timeout nakonec dal jinam ..
Je na OpenVPN nastavena komprese dat? To by mohlo taky znacne pomoci, protoze data ze sampleru jsou v hexa a to pujde zkomprimovat urcite dosti dobre ... By se mozna snizila i latence .. a nebo pak si pohrat s timeouty VPNky a poradne je prodlouzit, pokud tu komunikaci nejak zabije sama OpenVPN, ale to by IMHO nemela. Pouzivam OpenVPN na vykryti obcas dosti vypadavajicich wifin (za neprizniveho pocasi) a sice ping vzroste az na 40s klidne, ale VPNka stale drzi spojeni (ktere nejsou killnuta na strane prijmu nebo odesilani) a pakety chodi ve spravnem poradi... Leckdy po davkach.
Pokud by s tim bylo mozno zaexperimetovat, postnout sem konfiguraci openvpn na strane serveru i klienta, muzu to srovnat se svym nastavenim a treba na neco prijdem, kazdopadne jak bude cas, pokud me nejaky zdejsi schopny cckar nepredbehne, udelam verzi pro nacitani z hlavni stranky ulogu... to je jasne, ze to bude lepsi Ze me to hned nenapadlo, nicmene nechal jsem se unest vyzvou v podobe komplikovanejsiho parseru dat ze sampleru
-
- Příspěvky: 110
- Registrován: pon zář 03, 2012 8:47 pm
- Reputace: 1
Re: Arduino a Microlog2 - externí display
Zasílám konfigurák VPNky pro srovnání.
Zkoušel jsem to dát i s kompresí dat ,nicméně moc to nepomohlo,ale trošičku se to zlepšilo.Všiml jsem si také pomalejší komunikace na straně micrologu že pokud koukám na jeho webové rozhraní ,tak pokud dám záložku displej - zkrátka se to občas nenačte(připomímám že tam mám gprs modem a jede to přes openvpn).Pokud se načte stránka displeje a zobrazí se mi aktuální data z displeje které s bez problémů aktualizují tak se mi stejně nenačte plná konfigurace pro displej,tudíž když bych chtěl něco upravit přes VPNku tak pokud dam "uložit" většinou to skončí hláškou "chyba v řádku...blabla" ...páč se to celé nenačetlo,a pokud se to uloží tak zase chyběj řádky v konfiguraci displeje.
Jinak TIMEOUT při HTTP komunikaci jsem tam nikde nenašel,ale docela často(asi tak 3x za ty 3měsíce co mi tam microlog běží) se mi stává že se uprostřed komunikace přeruší spojení a microlog furt někam odesílá data.Za ty dva dny co to bylo kouslý se tam nějak přeneslo skoro 880MB .Na to že tam mam limit 4GB je to dost.
Jinak mi přijde komunikace micrologu dost náročná pokud je pomalé připojení(a to já mám ) na to že tam běhá "pár" dat tak latence VPNky jde o dost nahoru.Když vyčítám z tristara přes webové rozhraní tak to tak strašné s latencí není jako u micrologu.Je to taky možná tím že by to chtělo rychlejší Atmel.No to jen informačně.
Zkoušel jsem to dát i s kompresí dat ,nicméně moc to nepomohlo,ale trošičku se to zlepšilo.Všiml jsem si také pomalejší komunikace na straně micrologu že pokud koukám na jeho webové rozhraní ,tak pokud dám záložku displej - zkrátka se to občas nenačte(připomímám že tam mám gprs modem a jede to přes openvpn).Pokud se načte stránka displeje a zobrazí se mi aktuální data z displeje které s bez problémů aktualizují tak se mi stejně nenačte plná konfigurace pro displej,tudíž když bych chtěl něco upravit přes VPNku tak pokud dam "uložit" většinou to skončí hláškou "chyba v řádku...blabla" ...páč se to celé nenačetlo,a pokud se to uloží tak zase chyběj řádky v konfiguraci displeje.
Jinak TIMEOUT při HTTP komunikaci jsem tam nikde nenašel,ale docela často(asi tak 3x za ty 3měsíce co mi tam microlog běží) se mi stává že se uprostřed komunikace přeruší spojení a microlog furt někam odesílá data.Za ty dva dny co to bylo kouslý se tam nějak přeneslo skoro 880MB .Na to že tam mam limit 4GB je to dost.
Jinak mi přijde komunikace micrologu dost náročná pokud je pomalé připojení(a to já mám ) na to že tam běhá "pár" dat tak latence VPNky jde o dost nahoru.Když vyčítám z tristara přes webové rozhraní tak to tak strašné s latencí není jako u micrologu.Je to taky možná tím že by to chtělo rychlejší Atmel.No to jen informačně.
- Přílohy
-
- VPN_CONF.txt
- (763 bajtů) Staženo 172 x
Polánka 2790W (24v),8 x MoserBaer 195w Jih,6 x 205W Sever ,Midnite 150 Lite,NiCd 4x160Ah(life blackout)+18650 2,5kW+LiFePo 160Ah Winston+LiFePo 2x 120Ah by Mivvy, PowerJack LF 6kW by Matěj +5kW záložní by Matěj, HomeAssistant s komunikací BT BMS
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 6 Odpovědi
- 1423 Zobrazení
-
Poslední příspěvek od ElektroEzs
-
- 1 Odpovědi
- 888 Zobrazení
-
Poslední příspěvek od glottis
-
- 0 Odpovědi
- 767 Zobrazení
-
Poslední příspěvek od Rand
-
- 6 Odpovědi
- 802 Zobrazení
-
Poslední příspěvek od dumi
-
- 7 Odpovědi
- 314 Zobrazení
-
Poslední příspěvek od soami
Kdo je online
Uživatelé prohlížející si toto fórum: Claudebot [Bot] a 1 host