per C++ Bluetooth ansteuern zum Datei übertragen



  • Naja, das ist ja nur ein Beispiel für die sendto-Funktion. Ich hab keine Ahnung ob das so wie es ist auch über Bluetooth funktioniert. Ich kanns auch gerade schlecht testen. Und über einen Standard Port für Bluetooth finde ich auch nichts, so dass ich nicht beurteilen kann, ob der Post richtig ist, so wie er in dem Beispielcode steht. Außerdem wo gibt man die Daten an, die man übertragen will ? In welchem Form muss man sie wo angeben ?



  • MatzeMeyer schrieb:

    Und über einen Standard Port für Bluetooth finde ich auch nichts

    Es gibt keinen "Standardport" für Bluetooth. Bluetooth ist ein Kommunikationsstandard, kein Netzwerkprotokoll. Über Bluetooth kannst du eine Vielzahl von Diensten laufen lassen. Netzwerkdienste und serielle Verbindungen mit virtuellen Com-Ports sind nur einige Beispiele. Es gibt auch direkte Dateiübertragung (wie im "Senden An"-Kontextmenü im Explorer).

    Daher kann man das nicht einfach so in einem Codebeispiel abbilden. Welche Art von Dienst wolltest du denn nutzen? Hast du dir darüber überhaupt schon Gedanken gemacht? Sind die Geräte, zwischen denen übertragen werden soll, schon gepaart?



  • naja also wenn du mich fragst baust du grad für nen Haustiervogel nen Junge auf! Wieso willst du das Netzwerktechnisch lösen? Warum willst du über TCP/IP gehen? Du kannst BT ganz einfach wie einen com Port nutzen, wenn du sie pairst legst du ja den comPort fest, was aber gar nichts mit deinem Port zu tun hat!!



  • Polofreak schrieb:

    Du kannst BT ganz einfach wie einen com Port nutzen, wenn du sie pairst legst du ja den comPort fest,

    Wie gesagt, das ist nur einer der Dienste, die über Bluetooth laufen können. Man kann auch ein Netzwerk über BT laufen lassen. Aber wenn sein Zielsystem diesen Dienst nicht anbietet, bringt das gar nichts.



  • klar logo aber über netzwerk ist doch in seinem fall sehr wahrscheinlich viel zu kompliziert wenn er nur ein file schreiben will.
    Über nen comport sähe so z.B. schon ne send und ne recieve aus:

    int CSerial::SendData(char *buffer, int nLen)
    {
    	DWORD dwBytesWritten;
    
    	if(!m_bOpened || m_hIDComDev == NULL)
    		return(-1);
    
    	WriteFile(m_hIDComDev, (LPSTR) buffer, nLen, &dwBytesWritten, &m_OverlappedWrite);
    
    	return((int)dwBytesWritten);
    
    }
    
    //reads Data from COM-Port
    int CSerial::ReadData(char *buffer)
    {
    	if(!m_bOpened || m_hIDComDev == NULL) 
    		return(-1);
    
    	DWORD dwBytesRead;
    
    	if(WaitForSingleObject(m_OverlappedWrite.hEvent, 500))
    		if(!ReadFile(m_hIDComDev, buffer, dwBytesRead, &dwBytesRead, &m_OverlappedRead))
    			return(-2);
    
    	return((int)dwBytesRead);
    }
    


  • Ja, also Netzwerkgeschichten und so sind viel zu kompliziert, denke ich. Ich will einfach nur ein einziges file auf einen einzigen rechner schieben. ich hab mir das jetzt so gedacht: datei aufm pda erstellen und speichern und dann auf rechner per bluetooth schicken.
    am elegantesten äre natürlich die datei gleich aufm rechner zu schreiben ohne das groß speicherplatz aufm pda benutzt wird, aber ich weiß nicht, ob das möglich ist. denn auf dem pda muss auf jeden fall das c++-programm ablaufen.
    polofreak, wo packe ich denn bei dir die send und wo die read funktion hin ?



  • gepairt sind die geräte (also pda und rechner) natürlich bereits.



  • naja einfach so wie es ist kannst du es ja nicht verwenden, das waren ja nur beispiele. Ich bin eigentlich nicht so der freund von komm ich progg es dir einfach drum einfach nur noch ein paar hinweise mach dir am besten ne Klasse CSerial und in die machste ne open ne send ne recieve dann solltest noch was haben wo du start- stop- databit setzt und so hast du schon mal was gelesen wie man was über nen Com Port sendet? weil das was ich dir grad schreib sind eigentlich grundlegende Sachen.



  • Nein, da hast Du mich falsch verstanden, Polofreak ! Ich will kein Programm geschrieben kriegen, sondern nur die Verbindung von dem was Du gepostet hast, zu dem was ich auf der MS-Seite mit sendto gefunden habe, hinkriegen. Ich bin bei dem Thema absolut dumm, hab weder jemals was an nen COM-Port noch sonst irgendwie aus meinem PC heraus (oder eben aus dem PDA heraus) gesendet oder empfangen. Und ich setz mich hier auch nicht einfach hin und sag mir: lass die mal machen, sondern schaue sehr viel in Büchern und im Netz dazu. Nur irgendwie haben alle Leute andere Wege und das Thema scheint irgendwie für mich als Newbie kaum auf bestimmte wichtige Dinge eingrenzbar. Ich find immer wieder neues und kann das irgendwie nicht zuordnen.



  • Hier gibt es die Grundlagen. Wäre nicht schlecht, da mal reinzuschauen. Nein, besser, wirklich durchlesen und verstehen. Danach verstehst du das.

    Serial Communication 😉



  • Als sehr gute implementierung der seriellen Schnittstelle würde ich folgende empfehlen:
    Serial library for C++
    [url=http://www.codeproject.com/system/cserialport.asp]CSerialPort v1.03 - Serial Port Wrapper
    [/url]



  • Ok, Leute, schönen Dank für die Links, habs überflogen, aber dadurch gleichzeitig wieder noch zusätzlich Wege gefunden, die scheinbar Datenaustausch bewirken. Mir ist diese Socket-Geschichte des Quellcodes von mir bzw. der Microsoftseite irgendwie am sympathischsten. Nur was bewirke ich damit ? Weiß denn hier jemand, ob das Ding, was ich da gepostet habe, schon etwas sendet. Man, wenn ich nicht gerade unterwegs wäre, würde ich das alles mal sebst testen, aber ich komme zur Zeit nicht an den Rechner mit embed Visual C++ und ner Bluetooth Schnittstelle !!!



  • // Send a datagram to the receiver 
      printf("Sending a datagram to the receiver...\n"); 
      sendto(SendSocket, 
        SendBuf, 
        BufLen, 
        0, 
        (SOCKADDR *) &RecvAddr, 
        sizeof(RecvAddr));
    

    das sendet dir dienen SendBuf was in dienem Fall ein char-Array ist. Dem solltest du noch irgendwas zuweisen, weil du sonst kein Plan hast was drin steht.



  • Muss ich denn so prinzipiell ne send-Funktion aufm PDA haben und (!) ne receive-Fkt. auf dem PC oder geht das auch nur mit Code auf dem PDA ?



  • @Polofreak: das Problem was ich damit einfach immernoch habe, ist, dass ich noch immer nicht weiß, was auf dem Zielsystem, sprich dem PC dann mit den Daten passiert. Kann man Dateien komplett rüberschicken vom Quell- zum Zielsystem (und wenn ja wie, denn dann muss die Datei ja irgendwo landen) oder muss man auf dem Zielsystem ein Script laufen haben, dass permanent den Port-Eingag überwacht und ankommende Daten in eine Datei formt ?



  • MatzeMeyer schrieb:

    oder muss man auf dem Zielsystem ein Script laufen haben, dass permanent den Port-Eingag überwacht und ankommende Daten in eine Datei formt ?

    Genau so ist es (zumindest wenn Du alles selber machen willst)



  • Kann mir vielleicht jemand helfen, hab fast genau das gleiche Problem. Muss meinem Bluetooth Drucker nen COM Port zuweisen, das ich mit ihm Drucken kann. Büdde Büdde helfen


Anmelden zum Antworten