DX:n Bluetooth-moduuli tutuksi - osa1

testaa ensin ilman pariuttamista jotta yhteys pelaa modulin ja ftdi:n välillä syöttämällä AT pääteohjelmassa, vastauksena pitäisi tulla OK. riippuen pääteohjelmasta esm. hyperterminal lähettää A merkin suoraan kun se näppikseltä syötetään ja tulee kiirus painaa T nappia eli hyperterminaalia käytettäessä tulisi komennot copy/pastettaa, pääteohjelma johon artikkelissa viitataan lähettää syötetyt merkit vasta kun send nappia painetaan ohjelmassa.
pariutettuna ei tartte mitään kikkailuja vaan data kulkee kunhan vaan syöttää merkkejä terminaaliin.

RX linjan diodi mallia schottky? normi diodilla voip olla että ei saavuta 0 tilaa

Kappas, laitoin äsken pitkän vastauksen, mutta sepäs ei koskaan tullutkaan perille asti!

Lyhennän sitä tässä samalla, uusia huomioita.

Kiitos vaustauksestasi!!!

Tilasin jokin aika sitten eBaysta 3.3V FTDI basic adapterin, ja sillä tuota äsken testailin, eikä toiminut. Otin sitten vanhemman 5V FTDI basic adapterin, josta olin jo vaihtanut tinasillan 5V > 3.3V puolelle. Kappas, se toimi.

Tuossa uudemmassa eBayn adapterissa lukee selvästi 3.3V, mutta mittauksen jälkeen tutkin sen, ja sepäs olikin 5V asennossa. No perkele! 5V joka signaalissa.
Laitoin juuri palautetta myyjälle, katsotaan miten reagoi.

Mutta, tuo itse jumpperoitu toimi ihan oikein.

Sitten se kysymys joka ei tullut näköjään vielä perille. Huomasin että aikaisemmassa postauksessasi oli kytkentämuutosehdotus, ja siinä shottky-diodi, mikä sen merkitys tässä kytkennässä on?
Kiitos taas, odotan innolla uutta oppia!

Kari

Se schotky- ylösvetovastus hässäkkä on tasonmuuntimena siinä. voip siis kytkeä 5v ttl porttiin , toimii siten että kytkettävän laitteen tx:n 5 voltin 1 tila ei mene diodin läpi mutta ylösvetovastus pitää bt modulin rx:n 1 tilassa, kytkettävän laitteen tx:n 0 tila taas tekeen sen jotta kun diodin katodille tulee 0 niin anodipuolelle eli toisinsanoen bt modulin rx pinnille tulee diodin kynnysjännitteen (0.3v) verran jännitettä ylösvetovastuksen kautta,
bt piirin datalehdessä oli muistaakseni määritetty 0 tilan tasoksi 0 - 0.6 volttia joten schotkyn muodostama 0 tila riittää mainiosti.

Hätätilanteessa voi käyttää isoa vastusta tx - rx välissä tai tehdä 2:lla vastuksella jännitejaon modulin rx pinnille.

Asia selvä. Käyttökohteeni tulee olemaan 3.3V versio arduino, FIO:n pariksi tässä sitä juuri laittelen.
Eli linjatasot ovat suoraan yhteensopivia näinkin.

Tein testiohjelman jolla linkitän arduinossa sarjaliikenteen kahden portin välillä, tämä pelittää nyt tältä osin. Nyt sitten ihmettelen kuinka kummassa saan Windowsin päästä yhteyden laitteeseen.

Pariutumisriitti tuntuisi onnistuneen, asettamani PIN kelpasi windowsille, ja laitepari taitaa olla kunnossa, COM21 ilmestyi käyttöön.
En vain tajua kaikkea logiikkaa jota näiden välillä tapahtuu. Onko bluetootissa kahdet eri nopeudet jotka tulee säätää kohdilleen? Kiinteä sarjanopeus minulla on nyt 9600,8,N,1 eikä flow controlia, ja se kuittaa OK:t. Onko ilmojen kautta omat setti säädöille?

Vähän jänskättää, näinköhän tämä edes toimii.
:smiley:

Kari

samat asetukset molempiin niin pitäisi toimia,

Tämä onkin todella rajoitettu AT-komentojen osalta, muistuu mieleen mukavat modeemi-ajat kun viriteltiin omia sovelluksia…

Tässä ei ole Byron76 blogin mukaan kuin 5 komentoa? byron76.blogspot.com/2011/09/one … wares.html

Oletko päivittänyt HC-05 firmwaren, vai pystyykö tällä Linvorilla (HC-06) oikeasti tekemään jotain fiksua?

En vieläkään saa yhteyttä kannettavan bluetoothilla tähän palikkaan, täytyy vaan sinnikkäästi jatkaa kantapään kautta.

Kari

Korjaan edellisen, saan siis parin aikaiseksi, mutta järkevää liikennettä en saa muodostettua.

Windows XP, parittaa, mutta näyttää laitteen “linvor, tuntematon pääluokka (31)”. Mikähän tuo mahtaa olla englanniksi että osaisi googlettaa?

Bluetooth on ollut aina näissä PC-yhteyksissä käsittämättömän epäselvä asia, vaikea käyttöönotettava, ja epäselvät rajapinnat, muualla BT-laitteet toimivat aina odotetusti.
Huh…

Kari

No alkoihan se data kulkemaan, en kyllä tiedä mitä eroa edellisiin testeihin mahtoi olla, mutta pelittää!

Hain netistä Terminaalisoveluksen joka toimii W7:ssa, “Terminal v1.9b…-by Br@y++”
Windows tunnistaa monta uutta COM-porttia, enkä tiedä millä logiikalla se oikea pitäisi valita, meni kokeilemalla. 19, 20 ja 22 olivat vaihtoehdot, 20 toimi.

Ehkäpä tuo viimeinen AT+BAUD4 oikaisi epäselvyydet ja asetti loput kohdilleen.

Kytkentähän oli simppeli, laitoin FIO:oon FTDI-sovittimen, ja bluetootin NewSoftSerial kirjastolla pinneihin 2 ja 3, resetin varmuuden vuoksi vielä pinniin 4 jos haluan lennosta katkoa yhteyttä.

Testin vuoksi vielä Arduinon terminaalin kautta voi kokeilla komentoa “a” joka tarkistaa BT:n version. “b” sitten vielä lähettää tuo nopeuskomennon.

Jos tästä mitään hyötyä on, niin karu koodi:

#include <NewSoftSerial.h>

long LastTime;
NewSoftSerial ms(2, 3); //2=receive, 3 transmit
int mySerResetPin=4;
char CommandIn;
bool DataTuli=LOW;

void setup()
{

  Serial.begin(9600); 
  pinMode(mySerResetPin, OUTPUT);
  digitalWrite(mySerResetPin,HIGH);
  ms.begin(9600);
}

void loop()
{

  while (ms.available())
  {
    Serial.print(char(ms.read()));
    DataTuli=HIGH;
  }

  if(DataTuli==HIGH)
  {
    Serial.println();
    DataTuli=LOW;
  }

  while (Serial.available())
  {
    CommandIn=Serial.read();
    ATkomennot();
  }

  if ((millis()-LastTime) > 1000)
  {
    LastTime=millis();
    Serial.println (LastTime);

  } 

}


void ATkomennot()
{
  switch (CommandIn)
  {
  case 'a': 
    ms.print("AT+VERSION");
    break; 
  case 'b': 
    ms.print("AT+BAUD4");
    break;

  default: 
    CommandIn=0;
  }

}


Kiitos tästä loistavasta ketjusta, jatka Arduinon kanssa koodailua kun tämä viimeinenkin este on madaltunut näin paljon.

on ohjelmoitu yhteen moduliin tuo hc05 firmware jossa kattavampi valikoima AT komentoja. uppaan artikkelin operaatiosta kunhan saan kirjoitettua tekstin puhtaaksi…

Tuli mennäviikolla nippu tällaisia arduino yhteensopivia? pcb:tä…
atmega_bt2.jpg

näitä on muutama ylimääräinen jos jollakulla tarvetta…

Paljonkos levystä pyydät? Kaikkea pitäisi olla yksi kappale sitä hetkeä varten kun hätä iskee…

Kari

oisko se 5€ kohillaan? tarkempia speksejä levystä myöhemmin…

AT komennoista hc06/hc05: mututuntumalla mennään kun ei aika tahdo riittää testaamiseen, suurimman osan asetuksista tod.näk saa muutettua isp portin kautta mutta helpompihan se tietenkin olisi tehdä sarjaportin kautta kuten hc05 firmwarella.

Vitonen passaa. Onko levy testattu käytännössä, vai onko ensimmäinen vasta kasauksen alla? En epäile hetkeäkään että olisi bugeja, mutta tuota noinnii…

Missäpäin PCB asustaa, postilla vai noudolla? Espoonlahdessa itse…

T:Kari

itse en ole testannut, odottelen osa täydennystä, kaverille meni 3 kasattua joissa kahdessa bt moduli eikä ole toimivuudesta/toimimattomuudesta kuulunut kommenttia. Luonnollisesti kasailen asap. yhden itselle kunhan puuttuvat osat saapuu eli ei tarvitse ostaa viallista…
tarvittaessa posti kuljettaa, levyt majailee puolivälissä suomineitoa.

ja niitä tietoja levystä:

-levyn mitat n. 45 x 55 mm
-ei kiinnitys reikiä, koteloitaessa kiinnitettävä purkalla tai shieldin ruuvinreijistä
-arduino shield yhteensopivat piikkirimat
-regulaattorit 5 ja 3.3 voltille
-ohjelmointi isp kaapelilla, bootloader ohjelmoituna erillisellä muuntimella usb/sarjaportin kautta tai bluetoottina(testattu, toimii)
-bt moduli kytketty atmegan rx ja tx pinneihin
-voi käyttää myös ilman bt modulia
-kontollerina atmega328 tai muu pinniyhteensopiva

kysyvälle lisätietoa.

Eipä mittää, jatketaan yhteystietojen vaihtoa privaattiviestinnän puolella.
Hieno homma!

Kari

Tässä näppärä ohjelma jolla saa muutettua mm. tiedonsiirtonopeuden bt moduliin jos ei halua käyttää tai ole asennettuna terminaaliohjelmaa.
btconfig.jpg

btconfig.rar (4.06 MB)

Olisiko kukaan sattunut tekemään kicadille komponenttia tuosta?

oiskohan tuosta apuja…BT_kicad_lib.zip (1.91 KB)

Erittäin paljon kiitoksia. Tuossa modulissa näemmä on myös USB. Onkohan siinä USB Host toiminnalluus, josko sitä voisi käyttää USB-RS232 sovittimena myös :smiley:.

ei taida taipua usb-serialiksi tämä…

Onko joku koittanut mitä tapahtuu jos tuon puskee USB-väylään kiinni? Luulen että vaikka moduulin rauta tukee USB:tä niin softa on niin rampautettu että siitä ei löydy mitään muuta kuin UART-liityntä.