This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:examples:storage:network [2015/02/27 09:01] – rellermaa | et:examples:storage:network [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ~~PB~~ | ||
| ====== Andmesalvestus pilve ====== | ====== Andmesalvestus pilve ====== | ||
| //Vajalikud teadmised: | //Vajalikud teadmised: | ||
| Line 13: | Line 12: | ||
| {{ : | {{ : | ||
| ===== Praktika ===== | ===== Praktika ===== | ||
| - | Andmete salvestamiseks pilve on vaja esiteks valida sobiv pilveteenus või seadistada ise pilveserver. Lihtsam on kasutada olemasolevaid suurfirmade teenused. Samas on küllalt lihtne teha ka ise vastav funktsionaalsus, | + | Andmete salvestamiseks pilve on vaja esiteks valida sobiv pilveteenus või seadistada ise pilveserver. Lihtsam on kasutada olemasolevaid suurfirmade teenused. Samas on küllalt lihtne teha ka ise vastav funktsionaalsus, |
| - | Kuna pilveteenuste pakkujate nimekiri pidevalt muutub ja samuti muutuvad nende hinnapoliitika ning funktsionaalsus on järgnev näide tehtud minimalistliku lahendusena, | + | Kuna pilveteenuste pakkujate nimekiri pidevalt muutub ja samuti muutuvad nende hinnapoliitika ning funktsionaalsus on järgnev näide tehtud minimalistliku lahendusena, |
| Näiterakenduses on kasutusel lihtne temperatuuriandur, | Näiterakenduses on kasutusel lihtne temperatuuriandur, | ||
| - | Esmalt seadistatakse veebi- ja andmebaasi server, luues tühi andmebaas | + | Esmalt seadistatakse veebi- ja andmebaasi server, luues tühja andmebaasi |
| <code sql> | <code sql> | ||
| Line 52: | Line 51: | ||
| FROM monitor ORDER BY id ASC"); | FROM monitor ORDER BY id ASC"); | ||
| - | while( $row = mysql_fetch_array($result) ) { | + | while ($row = mysql_fetch_array($result)) { |
| - | // Tabeli koostamine | + | |
| | | ||
| | | ||
| Line 122: | Line 121: | ||
| </ | </ | ||
| - | ~~PB~~ | + | < |
| Mikrokontrolleri kood peab ühilduma serveri koodiga ja seda just andmete formaadi ning URL-i osas. | Mikrokontrolleri kood peab ühilduma serveri koodiga ja seda just andmete formaadi ning URL-i osas. | ||
| Line 128: | Line 127: | ||
| parameeter s on anduri ID ja parameeter v on anduri lugem. Ajatempel pannakse igale sisestusele automaatselt andmete saabumise järgi. | parameeter s on anduri ID ja parameeter v on anduri lugem. Ajatempel pannakse igale sisestusele automaatselt andmete saabumise järgi. | ||
| - | Alljärgnev kood on Kodulabori näitekood, mis vastab eelpool kirjeldatud serveri ja andmebaasi konfiguratsioonile. Kodulabor III puhul tuleb kasutada eraldi Ethernet moodulit, mis on Robootika Kodulabori lisakomplektis. | + | Alljärgnev kood on Kodulabori näitekood, mis vastab eelpool kirjeldatud serveri ja andmebaasi konfiguratsioonile. Kodulabor III puhul tuleb kasutada eraldi Ethernet moodulit, mis on Robootika Kodulabori lisakomplektis. |
| + | ^ Signaal ^ Viik ^ | ||
| + | | SI | PF3 | | ||
| + | | SO | PF2 | | ||
| + | | SCK | PF1 | | ||
| + | | CS | PF0 | | ||
| + | | VCC | +3.3V | | ||
| + | | GND | GND | | ||
| <code c> | <code c> | ||
| // Kodulabori temperatuuri lugemi pilve salvestamise näidisprogramm | // Kodulabori temperatuuri lugemi pilve salvestamise näidisprogramm | ||
| - | // Lugem võetakse kord iga 5 sekundi järel ja salvesatatakse | + | // Lugem võetakse kord iga 5 sekundi järel ja salvestatakse |
| - | + | ||
| - | // Süsteemi teegid | + | |
| #include < | #include < | ||
| #include < | #include < | ||
| #include < | #include < | ||
| #include < | #include < | ||
| - | // Kodulabori teegid | ||
| #include < | #include < | ||
| #include < | #include < | ||
| #include < | #include < | ||
| - | // Defineeri serveri aadress | + | // Serveri aadressi defineerimine |
| #ifdef WEBSERVER_VHOST | #ifdef WEBSERVER_VHOST | ||
| #undef WEBSERVER_VHOST | #undef WEBSERVER_VHOST | ||
| Line 150: | Line 153: | ||
| #define WEBSERVER_VHOST " | #define WEBSERVER_VHOST " | ||
| - | // Robootika | + | // Kodulabor II |
| - | #define ADC_CHANNEL 2 | + | //#define ADC_CHANNEL 2 |
| + | // Kodulabor III | ||
| + | #define ADC_CHANNEL 14 | ||
| - | // Robootika Kodulabor III | + | // Paketi |
| - | //#define ADC_CHANNEL 14 | + | |
| - | + | ||
| - | // Paketi | + | |
| #define BUFFER_SIZE 650 | #define BUFFER_SIZE 650 | ||
| uint8_t buf[BUFFER_SIZE+1]; | uint8_t buf[BUFFER_SIZE+1]; | ||
| + | // Põhiprogramm | ||
| int main(void) | int main(void) | ||
| { | { | ||
| uint16_t time = 0; | uint16_t time = 0; | ||
| - | // Käivita | + | // Etherneti |
| ethernet_init_client(); | ethernet_init_client(); | ||
| ethernet_getDNSIP(); | ethernet_getDNSIP(); | ||
| Line 172: | Line 175: | ||
| adc_init(ADC_REF_AVCC, | adc_init(ADC_REF_AVCC, | ||
| - | while(1) | + | |
| + | | ||
| { | { | ||
| uint16_t dat_p,plen; | uint16_t dat_p,plen; | ||
| - | // Hoiame | + | // Etherneti |
| plen=enc28j60PacketReceive(BUFFER_SIZE, | plen=enc28j60PacketReceive(BUFFER_SIZE, | ||
| buf[BUFFER_SIZE]=' | buf[BUFFER_SIZE]=' | ||
| Line 183: | Line 187: | ||
| if(plen == 0) | if(plen == 0) | ||
| { | { | ||
| - | // Iga 5 sekundi tagant | + | // Iga 5 sekundi tagant serverisse |
| if(time >= 5000) | if(time >= 5000) | ||
| { | { | ||
| - | itoa(thermistor_calculate_celsius(adc_get_average_value(ADC_CHANNEL, | + | itoa(thermistor_calculate_celsius(adc_get_average_value( |
| - | client_browse_url(PSTR("/ | + | ADC_CHANNEL, |
| + | |||
| + | client_browse_url(PSTR("/ | ||
| + | | ||
| + | | ||
| + | | ||
| time = 0; | time = 0; | ||
| } | } | ||
| Line 194: | Line 203: | ||
| continue; | continue; | ||
| } | } | ||
| - | if(dat_p==0) | + | |
| - | { | + | |
| - | | + | |
| - | continue; | + | |
| - | } | + | |
| } | } | ||
| - | return (0); | ||
| } | } | ||
| </ | </ | ||