This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| et:examples:communication:bluetooth:btbee [2015/03/03 22:23] – raivo.sell | et:examples:communication:bluetooth:btbee [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Bluetooth BTBee ====== | ||
| + | |||
| + | //Vajalikud teadmised: | ||
| + | [HW] [[et: | ||
| + | [AVR] [[et: | ||
| + | [LIB] [[et: | ||
| + | [LIB] [[et: | ||
| + | |||
| + | /* | ||
| + | **Eunistone mooduli puhul vaata siia:** | ||
| + | [[et/ | ||
| + | **Bluetooth Bee mooduli puhul vaata siia:** | ||
| + | |||
| + | [[et/ | ||
| + | */ | ||
| + | |||
| + | ===== Teooria ===== | ||
| + | |||
| + | [{{ :: | ||
| + | Bluetooth (eesti keeles sinihammas) on tööstusstandard seadmete juhtmevaba ühenduse loomiseks. Bluetooth on eelkõige mõeldud arvutite ja mobiiltelefonide ühendamiseks erinevate perifeeriaseadmetega, | ||
| + | |||
| + | Bluetooth ühenduse üheks omaduseks on tema automaatne ühenduvus. Kui Bluetooth seade ilmub teise seadme nähtavuspiirkonda toimub automaatne elektrooniline infovahetus, | ||
| + | |||
| + | Bluetooth protokolli juures on turvalisus oluline tegur ja erinevaid režiimid tagavad andmevahetuse ja ühenduse turvalisuse. Üldjuhul saab kasutaja määrata usaldatud seadmed (inglise keeles //trusted devices//), millega võib ühendusi luua ilma, et küsitakse eraldi parooli. Kui uus seade üritab luua ühendust on kasutajal võimalus seda lubada või keelata. Turvameetmed sisaldavad endas autoriseerimist ja seadme identifitseerimist enne, kui alustatakse andevahetust. | ||
| + | |||
| + | Tänasel päeval on Bluetooth-ist juba neli põhiversiooni ja hulk alamversioone välja arendatud. Enamus mooduleid, mis on ette nähtud hobiprojektides kasutamiseks baseeruvad veel standardil 2.0. Kolmas versioon tõi Bluetooth-i suurema andmesidekiiruse (kuni 24 Mbit/s) ja neljas madalama voolutarbe võimaluse - millest tuleneb ka inglisekeelne nimetus //Bluetooth low energy//. | ||
| + | |||
| + | ===== Praktika ===== | ||
| + | [{{ : | ||
| + | |||
| + | Bluetooth Bee (lühend BTBee) on Bluetooth jadaport (inglise keeles //Bluetooth Serial Port Profile//, lühend Bluetooth SPP) tüüpi moodul, mis sobib Robootika Kodulabori Kombomooduli „XBee“ pesasse. Samuti nagu teiste XBee moodulitega, | ||
| + | Kui moodul on ühendatud XBee pessa ja Kodulabori komplekt pingestatud läheb BTBee toite sisselülitamisel vaikimisi //slave// režiimi. Seejärel on võimalik hakata moodulile üle UART liidese käske saatma. Suhtluseks kasutatakse AT käsustikku, | ||
| + | |||
| + | BTBee mooduli vaikimisi seaded: | ||
| + | * Töörežiim: | ||
| + | * Jadaliides: 38400 b/s, 1 STOP, No Parity | ||
| + | * Parool: 1234 | ||
| + | |||
| + | Mooduliga suhtlemiseks võib kasutada arvuti (tavaliselt sülearvuti) või mobiiltelefoni Bluetooth liidest. Android mobiiltelefoni puhul võib kasutada rakendust " | ||
| + | |||
| + | ~~CL~~ | ||
| + | <code c> | ||
| + | // Kodulabori juhtmevaba BTBee mooduli näidisprogramm | ||
| + | // LCD ekraanil kuvatakse välisest seadmest saadetud tekst | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | // Põhiprogramm | ||
| + | int main(void) | ||
| + | { | ||
| + | // LCD seadistamine | ||
| + | lcd_gfx_init(); | ||
| + | lcd_gfx_goto_char_xy(0, | ||
| + | lcd_gfx_write_string(" | ||
| + | |||
| + | // USART liidese seadistamine | ||
| + | usart_init_async(1, | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | // Lõputu tsükkel | ||
| + | while (1) | ||
| + | { | ||
| + | char info[30]; | ||
| + | |||
| + | // Kas on infot tulnud? | ||
| + | if (usart_has_data(1)) | ||
| + | { | ||
| + | // Sissetulnud info lugemine | ||
| + | usart_read_string(1, | ||
| + | // Teksti kuvamine LCD-l | ||
| + | lcd_gfx_write_string(info); | ||
| + | } | ||
| + | |||
| + | // Kas nupule on vajutatud? | ||
| + | if (button_read(S1)) | ||
| + | { | ||
| + | // Teksti saatmine | ||
| + | usart_send_string(1," | ||
| + | // Nupu vabastamise ootamine | ||
| + | while(button_read(S1)); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||