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 11:48] – raivo.sell | 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 139: | Line 138: | ||
<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 |
#include < | #include < | ||
#include < | #include < | ||
Line 154: | Line 153: | ||
#define WEBSERVER_VHOST " | #define WEBSERVER_VHOST " | ||
- | // Robootika | + | // Kodulabor II |
//#define ADC_CHANNEL 2 | //#define ADC_CHANNEL 2 | ||
- | // Robootika | + | // Kodulabor III |
#define ADC_CHANNEL 14 | #define ADC_CHANNEL 14 | ||
Line 163: | Line 162: | ||
uint8_t buf[BUFFER_SIZE+1]; | uint8_t buf[BUFFER_SIZE+1]; | ||
+ | // Põhiprogramm | ||
int main(void) | int main(void) | ||
{ | { | ||
Line 175: | Line 175: | ||
adc_init(ADC_REF_AVCC, | adc_init(ADC_REF_AVCC, | ||
- | while(1) | + | |
+ | | ||
{ | { | ||
uint16_t dat_p,plen; | uint16_t dat_p,plen; | ||
- | // Etherneti | + | // Etherneti |
plen=enc28j60PacketReceive(BUFFER_SIZE, | plen=enc28j60PacketReceive(BUFFER_SIZE, | ||
buf[BUFFER_SIZE]=' | buf[BUFFER_SIZE]=' | ||
Line 190: | Line 191: | ||
{ | { | ||
itoa(thermistor_calculate_celsius(adc_get_average_value( | itoa(thermistor_calculate_celsius(adc_get_average_value( | ||
- | ADC_CHANNEL, | + | ADC_CHANNEL, |
+ | |||
client_browse_url(PSTR("/ | client_browse_url(PSTR("/ | ||
PSTR(WEBSERVER_VHOST),& | PSTR(WEBSERVER_VHOST),& | ||
otherside_www_ip, | otherside_www_ip, | ||
+ | | ||
time = 0; | time = 0; | ||
} | } | ||
Line 200: | Line 203: | ||
continue; | continue; | ||
} | } | ||
+ | | ||
if(dat_p==0) | if(dat_p==0) | ||
} | } | ||
} | } | ||
</ | </ |