Upam da ni preveč suhoparno tole software poglavje... Mislim pa, da lahko marsikomu pomaga razumeti kako zadeve delujejo in kako se lotiti tega "Problema" pri sebi... Načeloma vse skupaj res ni big-deal, je pa dejstvo da če tega ne poznaš, zadevo vidiš kot ogromno težavo in se znaš precej ustaviti na tem delu.
Predstavil bom flash BLUETOOTHA.
- Zakaj bi to sploh počeli? - Načeloma ni treba, vendar če kupimo bluetooth za 3€ (http://www.ebay.co.uk/itm/Interface-Bas ... 20d29b50ce), je le-ta s tovarniškimi nastavitvami na:
Ime: Linvor/HC06
Baud: 9600
Password: 1234
In to bomo spremenili, ker je precej bedno . Za ta proces potrbujemo FTDI kabel, ker pa sem spet preškrt da bi ga imel, sem uporabil domači Arudino MEGA board.
Na bluetooth modulu imamo: VCC, GND, RX in TX.
Za preprogramiranje povežemo bluetooth pine na arduino takole:
VCC (bluetooth) gre na +5V (arudino MEGA)
GND (bluetooth) gre na GND (arduino MEGA)
TX (bluetooth) gre na RX1 (arduino MEGA)
RX (bluetooth) gre na TX1 (arduino MEGA)
Nato na ARDUINO MEGA naložimo tole kodo (moja preprosta koda ):
Se pravi, da bo bluetooth komuniciral preko arduinota z računalnikom. Nato v ARDUINO okolju odpremo "SERIAL MONITOR" (desno zgoraj) in v njem spodaj desno izberemo BAUD 9600.// by Jure Korber
// Code for AT commands on bluetooth/GPS -> Arduino as FTDI.
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
}
void loop()
{
if (Serial.available())
Serial1.write(Serial.read());
if (Serial1.available())
Serial.write(Serial1.read());
}
Nato vpišemo v vrstico AT in stisnemo enter. Vrniti bi moralo OK. -> pomeni da smo rekli bluetoothu AT, on pa nam je nazaj napisal OK. Sicer bo izgledalo napisano kr ATOK (ker se ne zbriše kar smo mi napisali in ni novih vrstic, tako da se samo kopiči tekst skupaj).
Če ne prejmemo nazaj OK, smo naredili nekaj narobe. Vsekakor je naslednja reč, da spremenimo nastavitve bluetootha. To naredimo z temi ukazi:
Se pravi, gremo po vrsti. Najprej napišem notri AT, odgovori mi z OK.
Potem napišem notri : AT+VERSION in mi odgovori z OKlinvorV1.5 (pomeni da ima gor firmware 1.5)
potem napišem notri: AT+NAMEJKhexa in mi odgovori z OKsetname (pomeni, da ko bom iskal ta bluetooth po kompu ali mobitelu, ga bom našel kot "JKhexa")
potem napišem notri AT+PIN4343 in mi odgovori z OKsetPIN (pomeni da za skonektat potrebujem vpisat pin 4343 (in ne več 1234, kot je bil tovarniški!)
potem napišem notri AT+BAUD8 in mi odgovori z OK115200 in potem se veza prekine. Ker smo to naredili na koncu, je tako vseeno, ker imamo vse nastavljeno!
-> zakaj se veza prekine? -> zato ker od sedaj naprej deluje na 115200 baudu, mi pa imamo arduino nastavljen na 9600. Zato gremo v arduino program in v vrstici:
Serial.begin(9600);
Serial1.begin(9600);
Spremenimo oba iz 9600 na 115200. Tudi v serial monitorju spodaj izberemo sedaj 115200 in bomo spet imeli vezo, do spremembe baud-a. Ampak to rabimo samo če z imenom, passwordom ali čem drugim nismo zadovoljni.
TAKO. In imamo pripravljen bluetooth, ki ga priklopimo na ustrezno mesto v AIOPV2, in lahko preko njega vzpostavimo komunikacijo z računalnikom ali telefonom. To je pa odlično zato, ker greš z multijem ven, prek mobitela sprogramiraš misijo "waypointe" in poletiš, prav tako opravimo štelanje vseh PID-ov kar preko mobitela ali računalnika brez kabla, tako da lahko nastavimo, probamo, nastavimo, probamo in imamo v enem samem letu praktično vse že dobro poštimano .
Ker je povezava zelo hitra, vidimo tudi če vsi senzorji delajo OK (HUD), če GPS deluje, koliko je natančen, ali ima 3D FIX, lahko spreminjamo mode (glede na PWM 5. kanala) itd. itd. Res super stvar, je pa omejena na ca. 10-15m - to je dovolj za nastavitve, nikakor pa ne dovolj za neko telemetrijo! Enako se da narediti tudi z 433mhz telemetrijo (30$), vendar tisto deluje le za prenosnik, ker se priklopi preko USB-ja, imaš pa dometa kak kilometer. Ne vem še, ali ta stvar moti tudi 433mhz rx-tx!!! Oba sta hopping, morem poskusiti, bi pa prosil vsakega, ki ima kaj pojma glede tega, če pove svoje mnenje!
EDIT: Wooow! Pravkar smo prišli čez 1000 ogledov
LP!
Jure