-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 29

Thema: ELV Bluetooth-Seriell-Wandler

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.08.2005
    Alter
    33
    Beiträge
    685

    ELV Bluetooth-Seriell-Wandler

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    evtl. sucht der Eine oder Andere eine Bluetooth Lösung.
    Die von ELV (68-702-03) sieht verdammt vielversprechend aus.
    Mein PicoPlug habe ich aus meinem Bot geschmisssen (zu Störanfällig).

    Das Ding ist vielleicht auch eine Alternative zum Easy Radio (auch billiger, keine weiteren Boards nötig), denn Dongle bzw. interne Bluetooth Karte haben ja die meisten PC's und Laptop's.
    Zumal es "Class 1" hat .
    Das Netzteil kann man doch best. "ersetzen".?

    Was sagt ihr dazu?


    EDIT:
    Hier noch eine Seite:
    http://www.sunix.com.tw/ipc/sunix_en...php?prod_id=82

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.08.2005
    Alter
    33
    Beiträge
    685
    Das ist das günstigste Angebot, welches ich bis dato gefunden habe:

    http://www.wantronix.de/multiport/su...tooth_i_o.html

    Preis: 72€

    Es wird für mich immer interessanter

    Oder habt ihr Einwände und entdeckt ein Haken dabei?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.08.2005
    Alter
    33
    Beiträge
    685
    So, trotz dieser extrem vielen Antworten will ich meine Erfahrung posten.

    Heute 17:00 Uhr habe ich den BTS1009 von der Poststelle abgeholt und ausgiebig getestet.



    Zum BTS1009
    • klein
      class 1
      leicht
      sparsam
      5V Stromanschluss oder über Pin9


    Der Adapter liefert auch 5V und nicht wie der vom PicoPlug ohne Last bis zu 10V.
    Es wurde problemlos erkannt und die Configuration war sehr schnell und unproblematisch.

    Reichweite:
    Mein Notebook hat eine class 2 BT-Karte, jedoch konnte ich mich komplett im Haus frei bewegen ohne einen Kontaktzusammenbruch.
    Ich lief durch mehrer Zimmer, hinter tragende Wände (mit Stahl) und sogar im Garten und dann runter in den Keller (Etage darunter, die Decke ist wirklich massiv). Es funktionierte tadellos.
    Für mein Desktop besorge ich mir noch einen class 1 BT-Dongle.

    Proggen ging unter Bascom per MCS Bootloader problemlos.
    Zw. BTS1009 und meinen 2 Atmel's befindet sich ein max232 (UART-Schaltung http://www.mikrocontroller.net/artic...Tutorial:_UART).

    Zusammenfassung:
    Bin sehr zufrieden
    Preis: http://www.sly.de/artikeldet.php?suc...4a0f5fae96a374
    Leiferung: sehr schnell

    Bei Fragen: einfach melden



    Bitte:
    Kann mir einer von euch mit der Bascom Vollversion den Bootlader ein paar mal compilieren (versch. Baudraten und wait-Zeiten), dass wäre echt nett (würde Bootlader.bas per E-mail zum editieren versenden).


    Gruß
    Stefan

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.08.2006
    Ort
    Budapest
    Alter
    30
    Beiträge
    563
    Hey, das ist doch wirklich interessant.
    Kann man dann vom PC aus auch zB über HyperTerminal mit dem AVR kommunizieren? Da ja die meisten BT-Dongles auch am PC ein virtuelles COM-Port erstellen. Benutzt du den Converter nur fürs Proggen oder auch für die Kommunikation zwischen PC und AVR?

    MfG

    pongi

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.08.2005
    Alter
    33
    Beiträge
    685
    Bis jetzt progge ich damit und lasse den Atmel etwas zum PC senden (das sehe ich dann im Terminal).
    Später will ich per PC den Bot steuern.

    Als ich durch das gesamte Haus lief, ließ ich den Atmel print-Befehle senden und konnte so die ganze Zeit über sehen, ob der Kontakt noch steht.

    Für mich ist es besser als eine Funk-Verbindung per Board, denn da müsste ich mir Boards auch auf der Seite des PC's bauen und dann über Adapter anschließen (Notebook hat nur USB). Nun brauche ich garnichts dazu, denn das Notebook hat ja eine BT-Karte drinnen

    Gruß
    Stefan

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.08.2006
    Ort
    Budapest
    Alter
    30
    Beiträge
    563
    Ja, genau aus diesem Grund will ich mir auch BT überlegen, habe aber bis jetzt nichts gefunden, was eine Verbindung über eine ausreichend lange Strecke bewältigt, und noch dazu bezahlbar ist. Also auf alle Fälle vielen Dank für die Info!

    Vielleicht kann man ja später auch eine Steuerung per Handy ermöglichen, das wäre auch ziemlich geil, glaub ich.

    MfG

    pongi

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.08.2005
    Alter
    33
    Beiträge
    685
    Oh ja, aber ein Programm für's Handy zu schreiben, stelle ich mir nicht einfach vor (bin beim Programmieren noch relativ am Anfang).

    Es gab auch andere vielversprechende BT-Adapter, doch die waren erst ab 120€ und aufwärts zu ergattern.
    Ich denke, dass der Preis für diesen Adapter in Ordnung ist.
    Nun brauche ich mich wenigstens nicht mehr über das PicoPlug zu ärgern, bzw. bei jeder Kommunikation zu hoffen, dass alles korrekt klappt.

    Gruß
    Stefan

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2006
    Beiträge
    559
    also ich find 70 € immernoch ganz schön viel, diese Wlan-Dinger kosten ja auch nur 30 € mehr.
    Außerdem braucht man ja auch noch nen Stick für den PC

    Handy-Programme zu schreiben ist wenn man einmal angefangen hat eigentlich einfacher als welche fürn PC, weils einfach viel weniger Möglichkeiten gibt.
    Und wenn man einmal das Prinzip verstanden hat, braucht man sich nur noch alles zusammenkopieren

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.08.2005
    Alter
    33
    Beiträge
    685
    Zitat Zitat von scales
    also ich find 70 € immernoch ganz schön viel, diese Wlan-Dinger kosten ja auch nur 30 € mehr.
    Außerdem braucht man ja auch noch nen Stick für den PC
    Naja, auf der einen Seite nicht ganz billig. Aber auf der anderen Seite sehr einfach zu bedienen, einfach zu erkennen (über jeden PC erreichbar), klein, stromsparend und mit einer hohen Reichweite.
    Der Stick ist eher optional, denn fast jedes modernes Notebook hat BT eingebaut.

    Zum Bootloader:
    Code:
    '----------------------------------------------------------------
    '                          (c) 1995-2005, MCS
    '                        Bootloader.bas
    '  This sample demonstrates how you can write your own bootloader
    '  in Bascom BASIC
    '  VERSION 2 of the BOOTLOADER. The waiting for the NAK is stretched
    '  further a bug was resolved for the M64/M128 that have a big page size
    '-----------------------------------------------------------------
    'This sample will be extended to support other chips with bootloader
    'The loader is supported from the IDE
    
    $crystal = 16000000
    '$crystal = 14745600
    $baud = 9600                                                '38400                                               'this loader uses serial com
    'It is VERY IMPORTANT that the baud rate matches the one of the boot loader
    'do not try to use buffered com as we can not use interrupts
    
    $regfile = "m32def.dat"
    Const Loaderchip = 32
    
    #if Loaderchip = 32                                         ' Mega32
        $loader = $3c00                                         ' 1024 words
        Const Maxwordbit = 6                                    'Z6 is maximum bit                                   '
        Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
    #endif
    
    
    Const Maxword =(2 ^ Maxwordbit) * 2                         '128
    Const Maxwordshift = Maxwordbit + 1
    
    
    'Dim the used variables
    Dim Bstatus As Byte , Bretries As Byte , Bblock As Byte , Bblocklocal As Byte
    Dim Bcsum1 As Byte , Bcsum2 As Byte , Buf(128) As Byte , Csum As Byte
    Dim J As Byte , Spmcrval As Byte                            ' self program command byte value
    
    Dim Z As Long                                               'this is the Z pointer word
    Dim Vl As Byte , Vh As Byte                                 ' these bytes are used for the data values
    Dim Wrd As Word , Page As Word                              'these vars contain the page and word address
    Dim Bkind As Byte , Bstarted As Byte
    'Mega 88 : 32 words, 128 pages
    
    
    
    Disable Interrupts                                          'we do not use ints
    
    
    Wait 10                                                     'wait 100 msec sec
    'We start with receiving a file. The PC must send this binary file
    
    'some constants used in serial com
    Const Nak = &H15
    Const Ack = &H06
    Const Can = &H18
    
    $timeout = 100000                                           'we use a timeout
    'When you get LOADER errors during the upload, increase the timeout value
    'for example at 16 Mhz, use 200000
    
    Bretries = 10                                               'we try 5 times
    Testfor123:
    
    Bstatus = Waitkey()                                         'wait for the loader to send a byte
    
    Print Chr(bstatus);
    
    If Bstatus = 123 Then                                       'did we received value 123 ?
       Bkind = 0                                                'normal flash loader
       Goto Loader
    Elseif Bstatus = 124 Then                                   ' EEPROM
       Bkind = 1                                                ' EEPROM loader
       Goto Loader
    Elseif Bstatus <> 0 Then
       Decr Bretries
       If Bretries <> 0 Then Goto Testfor123                    'we test again
    End If
    
    
    Goto _reset                                                 'goto the normal reset vector at address 0
    
    
    'this is the loader routine. It is a Xmodem-checksum reception routine
    Loader:
      Do
         Bstatus = Waitkey()
      Loop Until Bstatus = 0
    
    
    
      If Bkind = 0 Then
         Spmcrval = 3 : Gosub Do_spm                            ' erase  the first page
         Spmcrval = 17 : Gosub Do_spm                           ' re-enable page
      End If
    
    
    Bretries = 10                                               'number of retries
    
    Do
      Bstarted = 0                                              ' we were not started yet
      Csum = 0                                                  'checksum is 0 when we start
      Print Chr(nak);                                           ' firt time send a nack
      Do
    
        Bstatus = Waitkey()                                     'wait for statuse byte
    
        Select Case Bstatus
           Case 1:                                              ' start of heading, PC is ready to send
                Incr Bblocklocal                                'increase local block count
                Csum = 1                                        'checksum is 1
                Bblock = Waitkey() : Csum = Csum + Bblock       'get block
                Bcsum1 = Waitkey() : Csum = Csum + Bcsum1       'get checksum first byte
                For J = 1 To 128                                'get 128 bytes
                  Buf(j) = Waitkey() : Csum = Csum + Buf(j)
                Next
                Bcsum2 = Waitkey()                              'get second checksum byte
                If Bblocklocal = Bblock Then                    'are the blocks the same?
                   If Bcsum2 = Csum Then                        'is the checksum the same?
                      Gosub Writepage                           'yes go write the page
                      Print Chr(ack);                           'acknowledge
                   Else                                         'no match so send nak
                      Print Chr(nak);
                   End If
                Else
                   Print Chr(nak);                              'blocks do not match
                End If
           Case 4:                                              ' end of transmission , file is transmitted
                 If Wrd > 0 Then                                'if there was something left in the page
                     Wrd = 0                                    'Z pointer needs wrd to be 0
                     Spmcrval = 5 : Gosub Do_spm                'write page
                     Spmcrval = 17 : Gosub Do_spm               ' re-enable page
                 End If
                 Print Chr(ack);                                ' send ack and ready
    
    
                 Waitms 20
                 Goto _reset                                    ' start new program
           Case &H18:                                           ' PC aborts transmission
                 Goto _reset                                    ' ready
           Case 123 : Exit Do                                   'was probably still in the buffer
           Case 124 : Exit Do
           Case Else
              Exit Do                                           ' no valid data
        End Select
      Loop
      If Bretries > 0 Then                                      'attempte left?
         Waitms 1000
         Decr Bretries                                          'decrease attempts
      Else
         Goto _reset                                            'reset chip
      End If
    Loop
    
    
    
    'write one or more pages
    Writepage:
     If Bkind = 0 Then
       For J = 1 To 128 Step 2                                  'we write 2 bytes into a page
          Vl = Buf(j) : Vh = Buf(j + 1)                         'get Low and High bytes
          lds r0, {vl}                                          'store them into r0 and r1 registers
          lds r1, {vh}
          Spmcrval = 1 : Gosub Do_spm                           'write value into page at word address
          Wrd = Wrd + 2                                         ' word address increases with 2 because LS bit of Z is not used
          If Wrd = Maxword Then                                 ' page is full
              Wrd = 0                                           'Z pointer needs wrd to be 0
              Spmcrval = 5 : Gosub Do_spm                       'write page
              Spmcrval = 17 : Gosub Do_spm                      ' re-enable page
    
              Page = Page + 1                                   'next page
              Spmcrval = 3 : Gosub Do_spm                       ' erase  next page
              Spmcrval = 17 : Gosub Do_spm                      ' re-enable page
          End If
       Next
    
     Else                                                       'eeprom
         For J = 1 To 128
           Writeeeprom Buf(j) , Wrd
           Wrd = Wrd + 1
         Next
     End If
    ' Toggle Portb.2 : Waitms 10 : Toggle Portb.2                'indication that we write
    Return
    
    
    Do_spm:
      Bitwait Spmcsr.0 , Reset                                  ' check for previous SPM complete
      Bitwait Eecr.1 , Reset                                    'wait for eeprom
    
      Z = Page                                                  'make equal to page
      Shift Z , Left , Maxwordshift                             'shift to proper place
      Z = Z + Wrd                                               'add word
      lds r30,{Z}
      lds r31,{Z+1}
    
      #if(loaderchip = 128) Or(loaderchip = 2561)
          lds r24,{Z+2}
          sts rampz,r24                                         ' we need to set rampz also for the M128
      #endif
    
      Spmcsr = Spmcrval                                         'assign register
      spm                                                       'this is an asm instruction
      nop
      nop
    Return
    
    
    'How you need to use this program:
    '1- compile this program
    '2- program into chip with sample elctronics Programmer
    '3- select MCS Bootloader from programmers
    '4- compile a new program for example M88.bas
    '5- press F4 and reset your micro
    ' the program will now be uploaded into the chip with Xmodem Checksum
    ' you can write your own loader.too
    'A stand alone command line loader is also available
    
    
    'How to call the bootloader from your program without a reset ???
    'Do
    '   Print "test"
    '   Waitms 1000
    '   If Inkey() = 27 Then
    '      Print "boot"
    '      Goto &H1C00
    '   End If
    'Loop
    
    'The GOTO will do the work, you need to specify the correct bootloader address
    'this is the same as the $LOADER statement.
    Da ich nur eine Demo-version habe und mich primär mit C beschäftigen will, wäre eine Anschaffung der VV von Bascom nur für den Bootloader für mich sehr unwirtschaftlich

    Ist einer so nett und compiliert mir dieses Programm mit den unten aufgeführten Daten und schickt die files mir per E-mail. Das wäre echt sehr nett. (Habe damals dieses compilierte Programm ebenfalls von einem RN-User erhalten.)

    Die gewünschten Veränderungen:
    Standard:
    Zeile 14 ---> Baudrate: 9600
    Zeile 48 ---> Wait 10

    Änderungen mit standard wait (10):
    Baudrate:
    • 38400
      57600
      115200
      230400
      460800


    Änderungen mit wait 5
    Baudrate:
    • 9600
      38400
      57600
      115200
      230400
      460800



    Das wäre wie gesagt, sehr nett.
    Meine E-mail Addresse lautet: real-reeper@web.de

    Gruß
    Stefan

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    11.04.2006
    Ort
    Berlin
    Beiträge
    162
    Hi Reeper!
    Ich überlege, mir auch diesen Wandler zu kaufen!

    Welche Baudraten hast du inzwischen damit hinbekommen?
    Außerdem interessiert mich bei welchem Händler du nun bestellt hast?

    Wenn es noch etwas interessantes über das Gerät gibt, das ich wissen sollte bevor ich bestelle, lass es mich wissen

    MfG Stefan

    PS: ja ich heiß auch Stefan, auch mit "f" \/

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •