{"id":366,"date":"2018-02-06T05:46:31","date_gmt":"2018-02-06T07:46:31","guid":{"rendered":"http:\/\/vejas.defas.lt\/?p=366"},"modified":"2018-05-31T09:59:53","modified_gmt":"2018-05-31T11:59:53","slug":"ziogas","status":"publish","type":"post","link":"http:\/\/vejas.defas.lt\/?p=366","title":{"rendered":"\u017diogas"},"content":{"rendered":"<p>V\u0117jo j\u0117gain\u0117s valdiklio atskira realizacija, koreguojanti v\u0117jo krypt\u012f nuo generatoriaus apsisukim\u0173.<\/p>\n<p>Schema: <a href=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/Ziogas_schema.pdf\">Ziogas_schema<\/a>, plok\u0161t\u0117<br \/>\n<a href=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/Ziogas_plokste.pdf\">Ziogas_plokste<\/a>.<br \/>\nRpi suinstaliuotas OS, pana\u0161iai, kaip ir VJV (v\u0117jo j\u0117gain\u0117s valdiklio. user&#8217;is pi\/vejojegaines, root be slapta\u017eod\u017eio). \u0160is Rpi turi WLAN, nenaudosime GSM ry\u0161io. Ta\u010diau paimsime duomenis i\u0161 Arduino, kaip ir VJV atveju. Taigi,<br \/>\nruo\u0161iame kompiliavimui tok\u012f pat fail\u0105, kaip ir VJV Rpi. Perkopijuojame i\u0161 VJV fail\u0105 test2.c ir naudojame komandin\u0119 eilut\u0119:<\/p>\n<pre style=\"font-size: small;\">gcc -o test2.o -L\/usr\/lib\/test1 -lmysqlclient -I\/usr\/local\/include -L\/usr\/local\/lib -lwiringPi test2.c<\/pre>\n<p>Po kurio laiko test2.c failas stipriai modifikuotas buvo pervadintas \u012f fail\u0105 ziogas.c ir kompiliuojamas jau jis, gaunant vykdom\u0105j\u012f fail\u0105 ziogas.o. Gaunu prane\u0161im\u0105 mysql.h &#8211; no such file. Instaliuojame mysql:<\/p>\n<pre style=\"font-size: small;\">apt-get install mysql-server mysql-client<\/pre>\n<p>Pridedam ir:<\/p>\n<pre style=\"font-size: small;\"> apt-get install libmysqlclient-dev<\/pre>\n<p>Nepanikuojam, jei gaunam prane\u0161im\u0105 libmysqlclient-dev is missing or absolete. Pasirodo paketo vardas pasikeit\u0117. Dabar reikia naudoti:<\/p>\n<pre style=\"font-size: small;\">apt-get install default-libmysqlclient-dev<\/pre>\n<p>Paruo\u0161iame darbui su SSH. Pagal nutyl\u0117jm\u0105 neveikia. Raspi-config \u010dia tinkama. Ka\u017ekas buvo susimai\u0161\u0119s su sertifikat\u0173 failais &#8211; nepavykdavo prisijungti. Pagalba i\u0161 googles:<\/p>\n<pre style=\"font-size: small;\">pi@raspberrypi ~ $ sudo rm -f \/etc\/ssh\/ssh_host*\r\npi@raspberrypi ~ $ sudo dpkg-reconfigure openssh-server\r\n<\/pre>\n<p>Neveikia:<br \/>\nspi: nebuvo kontakto plok\u0161t\u0117je MOSI signalas nenukeliaudavo iji Rpi. Dabar n\u0117ra CLK signalo, arba nepamatuojamas oscilu. proftpd: suinstaliuojame komanda<\/p>\n<pre style=\"font-size: small;\">apt-get install pro-ftpd<\/pre>\n<p>Pajungus i\u0161orin\u012f +12V maitinim\u0105 impulsai D12 pin&#8217;e suma\u017e\u0117ja iki 1V. Nuo USB maitinimo &#8211; normal\u016bs<\/p>\n<p>Arduino Nano modulio, naudojamo \u010dia i\u0161vadai:<br \/>\n<a href=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/nano.pdf\">nano<\/a><br \/>\nNano vaizdas i\u0161 vir\u0161aus:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-387\" src=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/Nano_Vaizdas_Top-300x203.jpg\" alt=\"\" width=\"300\" height=\"203\" srcset=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/Nano_Vaizdas_Top-300x203.jpg 300w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/Nano_Vaizdas_Top-768x519.jpg 768w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/Nano_Vaizdas_Top.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><br \/>\nir i\u0161 apa\u010dios<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-386\" src=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/nano_Vaizdas_Bottom-300x139.jpg\" alt=\"\" width=\"300\" height=\"139\" srcset=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/nano_Vaizdas_Bottom-300x139.jpg 300w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/nano_Vaizdas_Bottom-768x355.jpg 768w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/nano_Vaizdas_Bottom.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Pana\u0161u SPI neveikia su Arduino. Pagooglinau ir radau tok\u012f atsakym\u0105:<i>Arduino Nano is based on the ATmega168\/328 chip, which does support SPI in hardware<\/i>. K\u0105 darom? bandom paimti duomenis per USB. Pajungus USB laid\u0105 Rpi-Arduino su komanda lsusb randame \u012frengin\u012f<\/p>\n<pre style=\"font-size: small;\">Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter<\/pre>\n<p>. Usman ra\u0161o: <u>I was wondering if I can find any helpful materials or tutorials on how to read data and transfer data from one device to another Raspberry PI device using USB ports. In short it would be reading data through USB<\/u>. &#8211; keista, pasirodo n\u0117ra sunku.<\/p>\n<p>Pabandysime perduoti duomenis i\u0161 Arduino per USB nuosekl\u0173 port\u0105 realizuot\u0105 USB adapterio b\u016bdu. Pasitikrinam, kaip atrodo Arduino prijungtas prie Rpi per USB s\u0105saj\u0105. Pa\u017ei\u016briu u\u017ekrovimo informacin\u012f fail\u0105 u\u017eklausdamas:<\/p>\n<pre style=\"font-size: small;\">dmesg |grep tty<\/pre>\n<p>ir gaunu atsakym\u0105:<\/p>\n<pre style=\"font-size: small;\">[ 5.785336] usb 1-1.2: ch341-uart converter now attached to ttyUSB0<\/pre>\n<p>Sukursime DB lentel\u0119, \u012f kuri\u0105 periodi\u0161kai \u012fra\u0161in\u0117sime duomenis i\u0161 nuoseklaus porto. DB pavadinimas <u>ziogas<\/u>, lentel\u0117s pavadinimas <u>Duomenys<\/u> ir slapta\u017eodis &#8211; ziogas. Lentel\u0117s laukai:<br \/>\nid &#8211; identifikatorius<br \/>\nVK &#8211; vejo kryptis AD keitiklio reik\u0161m\u0117. integer 0&#8230;1023. A7 Arduino \u012fvadas<br \/>\nGD1 &#8211; generatoriaus da\u017enis realizuotas per optron\u0105. integer &#8211; 4 baitai. D2 Arduino \u012fvadas<br \/>\nGD2 &#8211; generatoriaus da\u017enis realiz. per komparatori\u0173. integer &#8211; 4 baitai. D3 Arduino \u012fvadas<br \/>\nKP &#8211; korekcija potenciometru &#8211; kiek nusukti v\u0117jo krypties daviklio reik\u0161m\u0119. A0 Arduino \u012fvadas<br \/>\nK0 &#8211; v\u0117jo krypties daviklio kalibravimas. integer 0&#8230;1023. A1 Arduino \u012fvadas<br \/>\nGD2 &#8211; generatoriaus analogin\u0117 reik\u0161m\u0117 realiz. per operacin\u012f stiprinuv\u0105. integer &#8211; 4 baitai. A5 Arduino \u012fvadas<br \/>\nTS &#8211; milis() funkcija i\u0161 Arduino, rodanti paketo laik\u0105. Integer tipas.<br \/>\nData &#8211; duomen\u0173 fiksavimo data ir laikas. Duomen\u0173 tipas timestamp su CURRENT_TIMESTAMP numatyt\u0105ja reik\u0161me<\/p>\n<p>Sukuriamas mysql root slapta\u017eodis &#8216;ziogas&#8217;.<\/p>\n<pre>\/usr\/bin\/mysqladmin -u root password 'ziogas'<\/pre>\n<p>Sukuriama duomen\u0173 baz\u0117 ir suteikiama useriui ziogas priejimas prie jos:<\/p>\n<pre style=\"font-size: small;\">MariaDB [(none)]&gt; create database ziogas;\r\nQuery OK, 1 row affected (0.00 sec)\r\nMariaDB [(none)]&gt; grant all on ziogas.* to ziogas identified by 'ziogas';<\/pre>\n<p>Ir v\u0117l pasikeitimai: failas \/etc\/mysql\/my.cnf dabar linkintas o leisti i\u0161orin\u012f prisijungim\u0105 galima u\u017ekomentuojant eilut\u0119 faile \/etc\/mysql\/mariadb.conf.d: <u>#bind-address=127.0.0.1<\/u><\/p>\n<p>Tolimesn\u0117s u\u017eduotys:<\/p>\n<p>DB strukt\u016bra:<\/p>\n<pre style=\"font-size: small;\">DROP TABLE IF EXISTS `ziogas`.`Duomenys`;\r\nCREATE TABLE  `ziogas`.`Duomenys` (\r\n  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'identifikatorius',\r\n  `VK` int(10) unsigned NOT NULL COMMENT 'vejo kryptis AD keitiklio reik\u0161m\u0117. integer 0...1023. A7 Arduino \u012fvadas',\r\n  `GD1` int(10) unsigned NOT NULL COMMENT 'generatoriaus da\u017enis realizuotas per optron\u0105.',\r\n  `GD2` int(10) unsigned NOT NULL COMMENT 'generatoriaus da\u017enis realiz. per komparatori\u0173.',\r\n  `KP` int(10) unsigned NOT NULL COMMENT 'korekcija potenciometru - kiek nusukti v\u0117jo krypties daviklio reik\u0161m',\r\n  `K0` int(10) unsigned NOT NULL COMMENT 'v\u0117jo krypties daviklio kalibravimas',\r\n  `GV` int(10) unsigned NOT NULL COMMENT 'Analogine generatoriaus itampa',\r\n  `TS` int(10) unsigned NOT NULL COMMENT 'data ir laikas, duomen\u0173 fiksavime',\r\n  `Date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Data ir laikas mysql irase',\r\n  PRIMARY KEY (`id`)\r\n) ENGINE=InnoDB AUTO_INCREMENT=77096 DEFAULT CHARSET=utf8mb4;\r\n<\/pre>\n<p>C+ failas ziogas.c. Padaryti vykdomuoju.<br \/>\nPasiai\u0161kinti, kod\u0117l programa l\u016b\u017eta atjungus USB s\u0105saj\u0105.<br \/>\nArduino kodas ziogas projekte:<br \/>\nPavyko perduoti duomenis per USB s\u0105saj\u0105. Perdavimo greitis: 2ms\/paketas.<br \/>\nKaista transformatorius. Kod\u0117l?<br \/>\nKaista 7805 stabilizatorius. Kiek srov\u0117s naudoja visa sistema?<br \/>\nPatikrinti, ar veikia Apache. Ne. Suinstaliuojam pagal nuorod\u0105: <a href=\"http:\/\/vejas.defas.lt\/?p=39\">http:\/\/vejas.defas.lt\/?p=39<\/a>.<br \/>\nPerkelti duomen\u0173 nuskaitymo php fail\u0105. vgreitis.php.<a href=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/vgreitis.zip\">index.php<\/a><\/p>\n<pre style=\"font-size: small;\"><!--?php if(($dbh=mysqli_connect(\"localhost\", \"ziogas\", \"ziogas\", \"ziogas\", 3306))){ if (isset($_REQUEST['id'])) { if ($_REQUEST['id']!=0) { $id=$_REQUEST['id']; } } if (!isset($id)) { $q=\"Select id from ziogas.Duomenys order by id desc limit 1\";\/\/TSL if (!$res = mysqli_query($dbh, $q)) { echo $q.\"&lt;br&gt;\".mysqli_error($dbh); } else { $row = mysqli_fetch_assoc($res); $id=$row['id']; } } $q=\"Select * from ziogas.Duomenys where id&gt;=\".$id.\" order by id asc limit 1\";\/\/TSL if (!$res = mysqli_query($dbh, $q)) { echo $q.\"&lt;br&gt;\".mysqli_error($dbh); } else { while($row = mysqli_fetch_row($res)) { echo json_encode($row); } } } else echo \"Klaida:\".mysqli_error($dbh); ?-->\r\n<\/pre>\n<p>Problema: kaista maitinimo stabilizatorius IC U1 L7805, maitinanti Rpi. Pakeista i\u0161kirptu NB plok\u0161t\u0117s fragmentu, \u017er. foto nuotrauk\u0105.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-422\" src=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/20180213_092857-300x180.jpg\" alt=\"\" width=\"300\" height=\"180\" srcset=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/20180213_092857-300x180.jpg 300w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/20180213_092857-768x461.jpg 768w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/20180213_092857-1024x614.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/>.<\/p>\n<p>M\u0117lynas laidas +12V, Geltonas GND, oran\u017einis +5V. Valdymo IC TPS51020. Enable\u00a0 &#8211; 20kOm var\u017ea sujungta EN (9pin TPS51029) ir VIN (24pin TPS51020).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>I\u0161jungti RPI mygtuko paspaudimu.<\/strong> Radau nuorod\u0105: <a href=\"http:\/\/scruss.com\/blog\/2017\/10\/21\/combined-restart-shutdown-button-for-raspberry-pi\/\">shutdown-restart<\/a>. Instaliavimas:<\/p>\n<pre>sudo apt install python3-gpiozero\r\nsudo mkdir -p \/usr\/local\/bin\r\nchmod +x shutdown_button.py\r\nsudo cp shutdown_button.py \/usr\/local\/bin\r\nsudo cp shutdown_button.service \/etc\/systemd\/system\r\nsudo systemctl enable shutdown_button.service\r\nsudo systemctl start shutdown_button.service\r\n<\/pre>\n<p>jei reikia atsisi\u0173sti kod\u0105: nuoroda: <a href=\"https:\/\/github.com\/scruss\/shutdown_button\">scruss\/shutdown_button<\/a>.<\/p>\n<p>Mygtukas jungiamas tarp GPIO 27 ir GND kontakt\u0173. Jeigu Rpi turi 40 kontakt\u0173 GPIO kontakt\u0173 grup\u0119, naudojama septinta skai\u010diuojant nuo kair\u0117s kontakt\u0173 pora, kaip parodyta paveiksl\u0117lyje.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-426\" src=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/gpio-1024x768-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/gpio-1024x768-300x225.jpg 300w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/gpio-1024x768-768x576.jpg 768w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/gpio-1024x768.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Naudojimas<\/strong>:<\/p>\n<p>Rpi perkraunamas, jei mygtukas laikomas paspaustas daugiau, nei dvi sekund\u0117s, bet ma\u017eiau nei penkios sekund\u0117s. Rpi i\u0161jungiamas palaikius nuspaust\u0105 mygtuk\u0105 ilgiau, nei penkios sekund\u0117s. Laik\u0173 nustatymai, kaip ir mygtuko kontakto numerio parinkimas gali b\u016bti pakeisti python shutdown_python.py faile.<\/p>\n<p><strong>Perkelti registracijos fail\u0105.<\/strong> Failas \/etc\/host2mysql. J\u012f pakoreguoju, i\u0161mesdamas eilutes susijusias su 3G modemo inicializacija, palieku tik paskutin\u0119 eilut\u0119 ir HOST vard\u0105 kei\u010diu \u012f ziogas. Jo turinys atrodo taip:<\/p>\n<pre style=\"font-size: small;\">echo \"--------------------------\"\r\nsudo ifconfig wlan0 |grep \"inet \" |awk -F \":\" '{print $1}'| awk '{print \"insert into hostai (host,IP) values(\\x27ziogas\\x27,\\x27\" $2 \"\\x27)\" }' |mysql -hdefas.lt -uvejas -p******** VJserver\r\n<\/pre>\n<p>dar \u012fra\u0161au \u012f crontab&#8217;\u0105 eilut\u0119, kad kas penkiolika minu\u010di\u0173 sistema padaryt\u0173 \u012fra\u0161\u0105 defas.lt serveryje komanda <i>crontab -e<\/i>:<\/p>\n<pre style=\"font-size: small;\">0,5,10,15,20,25,30,35,40,45,50,55 * * * * \/etc\/host2mysql &gt;&gt;\/var\/log\/crontab.log\r\n<\/pre>\n<p><strong>Aplikacijos ziogas.o automatinis paleidimas.<\/strong><\/p>\n<p>\u012era\u0161omos dvi paleidimo eilut\u0117s \/etc.rc.local faile. sleep komand\u0105 ra\u0161au pagal pirm\u0105 VJV projekt\u0105 &#8211; nesp\u0117davo pasileisti mySQL&#8217;as. Ten b\u016bdavo <i>sleep 100<\/i>. \u010cia u\u017eteko reik\u0161m\u0117s 30, kas rei\u0161kia 30 sekund\u017ei\u0173 u\u017edelsim\u0105, prie\u0161 programos start\u0105, po OS sistemos u\u017esikrovimo.<\/p>\n<pre>sleep 30\r\nsudo \/home\/pi\/ziogas.o &amp;\r\n<\/pre>\n<p>Rpi programos kodas:<a href=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/ziogas.c\">ziogas.c<\/a><br \/>\n<strong>Para\u0161yti finalin\u012f koregavimo algoritm\u0105<\/strong>.<br \/>\nPrad\u017eiai pavaizduosiu v\u0117jo krypties priklausomyb\u0119 nuo v\u0117jo grei\u010dio esant koregavimui. Koregavimas realizuotas Arduino programos algoritmu:<\/p>\n<pre>int VKKoregavimas(int VK, int VG) {\r\n  signed int KOR;\r\n  unsigned long x, A;\r\n  unsigned int a;\r\n  float y,z, P, R, PX,KPOT, XA,XC, XV, Y, B;\r\n  if (VGUS&lt;VGUSmin) {\r\n    KOR=VGUS*(VKmax-VKmin)\/4\/VGUSmin\/(1+((512-POT)\/512));\r\n    P=VGUS; R=VGUSmin-VGUS;\r\n    KORmax=(VKmax-VKmin)\/4;\r\n    KPOT=VGUSmin;  \r\n    PX=512-POT;  \r\n    PX=PX\/512;  \r\n    KPOT=KPOT*PX;\r\n    B=VGUSmin-VGUS+KPOT;\r\n    if (B&lt;0) {B=0;} Y=VGUSmin+KPOT; XA=B; XC=Y; y=B\/Y; KOR=y*KORmax; if (VK&gt;Puse) return VK-KOR; else return VK+KOR;\r\n  } else return VK;\r\n}\r\n<\/pre>\n<p>\u0160i funkcija turi du argumentus: v\u0117jo krypt\u012f <em>VK<\/em> ir generatoriaus greit\u012f <em>VG<\/em>, o gr\u0105\u017eina koreguot\u0105 v\u0117jo krypt\u012f <em>VKO<\/em>. Arduino programoje algoritmas realizuotas paprastais aritmetiniais veiksmais, nes sura\u0161ius \u012f ilg\u0105 formul\u0119, rezultatas b\u016bna nenusp\u0117jamas. Galb\u016bt reik\u0117t\u0173 visus argumentus paversti \u012f FLOAT tipo, pabandysiu v\u0117liau.<br \/>\nAlgoritmo principas parodytas paveiksle:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-446\" src=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/VKK-300x129.jpg\" alt=\"\" width=\"753\" height=\"324\" srcset=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/VKK-300x129.jpg 300w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/VKK-768x330.jpg 768w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/VKK-1024x440.jpg 1024w\" sizes=\"auto, (max-width: 753px) 100vw, 753px\" \/><br \/>\nAlgoritmas:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-450 aligncenter\" src=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/vkk_dia-203x300.jpg\" alt=\"\" width=\"519\" height=\"767\" srcset=\"http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/vkk_dia-203x300.jpg 203w, http:\/\/vejas.defas.lt\/wp-content\/uploads\/2018\/02\/vkk_dia.jpg 566w\" sizes=\"auto, (max-width: 519px) 100vw, 519px\" \/><br \/>\nProced\u016bra:<\/p>\n<pre>int VKKoregavimas(int VK, int GG) {\r\n  int KOR;\r\n  float y, PX,KPOT, XV, Y, B;\r\n  if (GGUS&lt;GGUSmin) {\r\n    \/\/KOR=GGUS*(VKmax-VKmin)\/4\/GGUSmin\/(1+((512-POT)\/512));\r\n    KORmax=(VKmax-VKmin)\/4;\r\n    KPOT=GGUSmin;  \r\n    PX=512-POT;  \r\n    PX=PX\/512;  \r\n    KPOT=KPOT*PX;\r\n    B=GGUSmin-GGUS+KPOT;\r\n    if (B&lt;0) {B=0;} Y=GGUSmin+KPOT; y=B\/Y; KOR=y*KORmax; if (VK&gt;Puse) return VK-KOR; else return VK+KOR;\r\n  } else return VK;\r\n}\r\n<\/pre>\n<p><strong>Nulinti GGUS skaitliuk\u0105, jei n\u0117ra pertraukimo (timeout funkcija) Arduino modulyje.<\/strong><br \/>\n\u012evedu tikrinim\u0105 pagrindin\u0117je programoje: jei generatoriaus periodo laikas didesnis nei trigubas, tarkime, kad generatorius stovi ir GGUS kintam\u0105jam priskirkim maksimaliai didel\u0119 reik\u0161m\u0119.<\/p>\n<pre>if ((micros()-GGUS_prev)&gt;2*GGUS) {GGUS=-1;}<\/pre>\n<p><u><strong>TODO<\/strong>:<\/u><\/p>\n<p>Atskirti valdymo svetain\u0117je (php) atskiras j\u0117gaines pagal HOST vard\u0105.<br \/>\nPadaryti atsargin\u0119 Rpi OS kopij\u0105.<br \/>\n\u012ed\u0117ti funkcij\u0105 truncate Duomenys ir duomen\u0173 perkopijavim\u0105.<br \/>\nApvali vejo krypties diagrama. Dalinai atlikta. chart.js tipas doughnut.<br \/>\nPakeisti DB, kad rodyt\u0173 i\u0161duodam\u0105 koreguot\u0105 v\u0117jo krypt\u012f<br \/>\n<strong>Pataisyti v\u0117jo krypties davikl\u012f: yra &#8216;mirtina&#8217; zona, kur nesikei\u010dia \u012ftampa, kei\u010diant krypt\u012f.<\/strong><br \/>\nD\u0117\u017e\u0117 &#8211; konstrukcija, sugalvoti. Nepamir\u0161ti i\u0161vesti matavimo ta\u0161k\u0173<\/p>\n<p>JS grafike po &#8216;DB klaida&#8217; prane\u0161imo stabdyti arba automati\u0161kai paleisti duomen\u0173 perdavim\u0105, gerai b\u016bt\u0173 mirksintis rutuliukas, skirting\u0173 salv\u0173 &#8211; dirba ar nedirba<br \/>\nJei l\u016b\u017eta programa, j\u0105 reikia i\u0161 naujo pakelti. Gal \u010dia Goga pad\u0117s?<br \/>\nResetinti MySQL duomenis, kas kiek laiko.<br \/>\nPasiruo\u0161imas deryboms. Argumentai: GSM ry\u0161ys &#8211; m\u0117nesinis mokestis, aptarnavimas &#8211; naujos savyb\u0117s, apra\u0161ymas (laikmena, ar popierius)<\/p>\n<p>Pirmasis bandymas lauke pareikalavo prisijungimo prie kito WLAN. Pa\u0161arinau savo mob. tel. su SSID AndriodAP_art, psw: aaaaaaaaaa. WLAN tinklai konfig\u016bruojami <code>\/etc\/wpa_supplicant\/wpa_supplicant.conf<\/code> faile. Daugiau info: https:\/\/www.raspberrypi.org\/documentation\/configuration\/wireless\/wireless-cli.md<\/p>\n<p>paleisti naujai wlan0: ifconfig wlan0 down ir atitinkamai up.<\/p>\n<p>perkonfig\u016bruoti komanda:\u00a0 <code>wpa_cli -i wlan0 reconfigure<\/code><\/p>\n<p>Tarp kitko eth0 interfeiso adresas 192.168.2.177 (192.168.2.57 &#8211; wlan0 ir tai darbe). Bet j\u0117gain\u0117 \u012f uzsakym\u0173 program\u0105 neprisiduoda. U\u017ekomentinam dhcpd.conf faile wlan fiksuotus adresus. ir pa\u0161alinam eth0 kaip gataway: route del default eth0.<\/p>\n<p>Dar pasteb\u0117jimas &#8211; bloga data &#8211; nesuinstaliuotas ntpdate paketas. Kalam: apt-get install ntpdate. Jei gavom klaid\u0105: 404 Not Found [IP: 93.93.128.193 80], paleid\u017eiam apt-get update komand\u0105.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>V\u0117jo j\u0117gain\u0117s valdiklio atskira realizacija, koreguojanti v\u0117jo krypt\u012f nuo generatoriaus apsisukim\u0173. Schema: Ziogas_schema, plok\u0161t\u0117 Ziogas_plokste. Rpi suinstaliuotas OS, pana\u0161iai, kaip ir VJV (v\u0117jo j\u0117gain\u0117s valdiklio. user&#8217;is pi\/vejojegaines, root be slapta\u017eod\u017eio). \u0160is Rpi turi WLAN, nenaudosime GSM ry\u0161io. Ta\u010diau paimsime duomenis i\u0161 Arduino, kaip ir VJV atveju. Taigi, ruo\u0161iame kompiliavimui tok\u012f pat fail\u0105, kaip ir VJV &hellip; <a href=\"http:\/\/vejas.defas.lt\/?p=366\" class=\"more-link\">Skaityti toliau: <span class=\"screen-reader-text\">\u017diogas<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-366","post","type-post","status-publish","format-standard","hentry","category-be-kategorijos"],"acf":[],"_links":{"self":[{"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=\/wp\/v2\/posts\/366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=366"}],"version-history":[{"count":69,"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions"}],"predecessor-version":[{"id":458,"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions\/458"}],"wp:attachment":[{"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=366"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/vejas.defas.lt\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}