tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
Like Tree2Danke
ERLEDIGT
JA
ANTWORTEN
20
ZUGRIFFE
21076
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    finnex finnex ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Beiträge
    120
    Hallo,
    ich habe heute den Bausatz von Pollin bekommen (Avr-Net-Io).
    Leider kann ich nur mit der beiligenden Software von Pollin (NETSERVER) den Microkontroller ansprechen.
    Nun wollte ich mir gerne eine eigene Sofware schreiben:
    -muss nichts grafisches sein -> Konsole würde reichen um es nach meinen Wünschen zu schreiben.

    Mit welchen Befehlen kann ich den Microk. selber über TCP/IP ansprechen?

    MfG Finnex
     
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

    -André Kostolany

  2. #2
    andy2009 andy2009 ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    2
    Unter Windows ist das sicher sehr interessant, aber ich will diese Board 24/7 nutzen und Windows habe ich nur im Desktopbereich. Sonst läuft bei mir Debian.

    Unter Linux ist die Komunikation erschreckend simpel

    echo "getadc 1" | nc 192.168.0.90 50290 -w 5 >> /var/log/netioavr.log

    Der Befehl schreibt den Wert des Analogports 1 in das logfile nach 5 sekunden trent sich die verbindung zum Board. Ich hab das mal als Cron-job einen Tag laufen lassen und alle 5 Minuten was in die Datei geschrieben, ging sehr gut.
     

  3. #3
    finnex finnex ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Beiträge
    120
    Hallo,
    wo geben ich denn diesen Befehl echo "getadc 1" | nc 192.168.0.90 50290 -w 5 >> /var/log/netioavr.log ein? Einfach in die Konsole?

    Oder ist das php--> wegen echo?

    Mfg Finnex
     
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

    -André Kostolany

  4. #4
    andy2009 andy2009 ist offline Grünschnabel
    Registriert seit
    Mar 2009
    Beiträge
    2
    Hallo Finnex,

    ja ist ein Konsolenbefehl.

    nc ist netcat , das echo "befehl für netioavr" | übergibt den Befehl an nc und das ergebniss über >> dateipfad wird in die angegeben Datei gedrückt. Die Zeile in einen Cron-job und schon ist es automatisch, die Logdatei kann dann über PHP oder ähnlich ausgewertet werden. -w n n= sekunden bis sich nc selbst beendet.

    Zum Spielen auf der Konsole nc "ip der karte "port der karte" und du kannst Befehle eingeben und bekommst die Reaktion, nur kann man so nichts automatisieren, aber du kannst dir das Ergebnis auch per mail schicken, wenn auf den System ein Postfix läuft. Also muss man erst mal nichts an der Firmware andern für Telnet oder so


    Grüße
    Andreas
     

  5. #5
    finnex finnex ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Beiträge
    120
    Hallo,
    ok das klinkt ja schonmal nicht schlecht. Kann man das auch irgendwie bei Windows realisieren? Ich wollte gerne mit der Karte einen "W-Lan Roboter" bauen.
    Dazu habe ich mir gedacht, dass ich die Pfeiltasten einlese und dann dementsprechend ein Befehl zum Mikrocontroller schicke.

    Habe jetzt mal herrausgefunden, dass ich dazu die Winsockets benötige um eine TCP/IP Verbindung mit dem MiKrocontroller herzustellen. Jedoch werde ich daraus nicht schlau und mir fehlen auch die ".h Dateien", sodass ich es nicht komplimieren kann.

    MfG Finnex
     
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

    -André Kostolany

  6. #6
    finnex finnex ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Beiträge
    120
    Hallo,
    habs jetzt geschafft, habe mein eigenes Programm geschrieben... kann jetz den Mic selber ansprechen.

    Falls es noch jemand wissen will wie ich es gemacht habe, kann mir ne PN schreiben.

    MfG Finnex
    Geändert von finnex (28.09.09 um 19:26 Uhr)
     
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

    -André Kostolany

  7. #7
    mparow mparow ist offline Grünschnabel
    Registriert seit
    Apr 2009
    Beiträge
    1
    Hallo, ich habe auch ein Pollin AVR NetIO Board und bin sehr an Deiner Lösung interessiert. Kannst Du mir den Quellcode ins Postfach legen?
    MfG mparow
     

  8. #8
    finnex finnex ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Beiträge
    120
    Hallo,
    ich poste einfach mal hier den quelltext.
    Mit diesem Programm kann ich jetzt mit den Zahlen 1-8 (NumBlog) die Ports an oder aus schalten. Mit der Zahl 9 Mach ich alle aus. Ich habe den Quelltext mit Dev-C++ complemiert.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    
    #include <windows.h>
    #include <winsock2.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string>
    #include <iostream>
     
    using namespace std;
    SOCKET      Socket;
    SOCKADDR_IN addr;
     
     
    void gotoxy(int xpos, int ypos)
    {
        COORD scrn;    
        HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
        scrn.X = xpos; scrn.Y = ypos;
        SetConsoleCursorPosition(hOuput,scrn);
    }
     
     
    int main()
    {
       
    string      m_host = "192.168.178.99";
       
    string      m_port = "50290";
       
       
    WSADATA wsa;
       
    int rc = WSAStartup(MAKEWORD(2, 0), &wsa);
      
     if(rc == SOCKET_ERROR){
          cout << "Error while starting server... \n";
       }
       
       Socket = socket(AF_INET, SOCK_STREAM, 0);
       if(Socket == INVALID_SOCKET){
          std::cout << "Error while building socket. \n";
       }
     
       addr.sin_addr.s_addr = inet_addr(m_host.c_str());
       addr.sin_port        = htons(atoi(m_port.c_str()));
       addr.sin_family      = AF_INET;
     
       if(connect(Socket, (SOCKADDR*)&addr, sizeof(SOCKADDR)) == 0){
          cout << "Connection with server " << inet_ntoa(addr.sin_addr)
               << " established." << endl << endl;
       } else {
          cout << "Impossible to connect to server " << inet_ntoa(addr.sin_addr)
               << ":" << addr.sin_port
               << ". Please check host and port. \n";
          return 1;
       }    
       
           
       // Everything okay - start communicating with server
       char        buffersend[1024];
       char        bufferrecv[1024];
       int         bufpos = 0;
       int         bufIndex = 0;
       char        c;
       fd_set      fdSetRead;
       TIMEVAL     timeout;
       bool        mainloop = true;
     
       getch();
       system("cls");
       
       char outport11[] = "setport 1.1\r\n";
       char outport10[] = "setport 1.0\r\n";
              
       char outport21[] = "setport 2.1\r\n";
       char outport20[] = "setport 2.0\r\n";
       
       char outport31[] = "setport 3.1\r\n";
       char outport30[] = "setport 3.0\r\n";
       
       char outport41[] = "setport 4.1\r\n";
       char outport40[] = "setport 4.0\r\n";
       
       char outport51[] = "setport 5.1\r\n";
       char outport50[] = "setport 5.0\r\n";
       
       char outport61[] = "setport 6.1\r\n";
       char outport60[] = "setport 6.0\r\n";
       
       char outport71[] = "setport 7.1\r\n";
       char outport70[] = "setport 7.0\r\n";
       
       char outport81[] = "setport 8.1\r\n";
       char outport80[] = "setport 8.0\r\n";
       
       
       char eingabe = 0;
       
       int status1 = 0,
           status2 = 0,
           status3 = 0,
           status4 = 0,
           status5 = 0,
           status6 = 0,
           status7 = 0,
           status8 = 0;
           
       
       send(Socket, outport10, strlen(outport10), 0);
       Sleep(1);
       send(Socket, outport20, strlen(outport20), 0);
       Sleep(1);
       send(Socket, outport30, strlen(outport30), 0);
       Sleep(1);
       send(Socket, outport40, strlen(outport40), 0);
       Sleep(1);
       send(Socket, outport50, strlen(outport50), 0);
       Sleep(1);
       send(Socket, outport60, strlen(outport60), 0);
       Sleep(1);
       send(Socket, outport70, strlen(outport70), 0);
       Sleep(1);
       send(Socket, outport80, strlen(outport80), 0);
       
       printf("Software: Finnex \n");
       printf("Erstellt fuer AVR IO von Pollin");
       printf("\n\nAnzeige:  K1   K2   K3   K4   K5   K6   K7   K8");
       gotoxy(10,4);
       printf("O    O    O    O    O    O    O    O ");
       
       printf("\n\n\n\n\nSteuerung:\n K1=1\n K2=2\n K3=3\n K4=4\n K5=5\n K6=6\n K7=7\n K8=8\n 9=Alles auf Null setzen");
       while(mainloop) 
       {  
       //SEND DATA
             
         eingabe = getch();
     
         
         if(eingabe == 49 && status1 != 1)
         {
             send(Socket, outport11, strlen(outport11), 0);
             status1 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 49 && status1 == 1)
         {
             send(Socket, outport10, strlen(outport10), 0);
             status1 = 0;
             eingabe = 0;        
         } 
         
         gotoxy(10,4);
         if (status1 == 0)
         {
              printf("O");      
         }
         if (status1 == 1)
         {
              printf("X");      
         }
           
         if(eingabe == 50 && status2 == 0)
         {
             send(Socket, outport21, strlen(outport21), 0);
             status2 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 50 && status2 == 1)
         {
             send(Socket, outport20, strlen(outport20), 0);
             status2 = 0;
             eingabe = 0;        
         }  
         
         gotoxy(15,4);
         if (status2 == 0)
         {
              printf("O");      
         }
         if (status2 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 51 && status3 == 0)
         {
             send(Socket, outport31, strlen(outport31), 0);
             status3 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 51 && status3 == 1)
         {
             send(Socket, outport30, strlen(outport30), 0);
             status3 = 0;
             eingabe = 0;        
         } 
         
         gotoxy(20,4);
         if (status3 == 0)
         {
              printf("O");      
         }
         if (status3 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 52 && status4 == 0)
         {
             send(Socket, outport41, strlen(outport41), 0);
             status4 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 52 && status4 == 1)
         {
             send(Socket, outport40, strlen(outport40), 0);
             status4 = 0;
             eingabe = 0;        
         }  
         
         
         gotoxy(25,4);
         if (status4 == 0)
         {
              printf("O");      
         }
         if (status4 == 1)
         {
              printf("X");      
         } 
         
         
         if(eingabe == 53 && status5 == 0)
         {
             send(Socket, outport51, strlen(outport51), 0);
             status5 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 53 && status5 == 1)
         {
             send(Socket, outport50, strlen(outport50), 0);
             status5 = 0;
             eingabe = 0;        
         }  
         
         gotoxy(30,4);
         if (status5 == 0)
         {
              printf("O");      
         }
         if (status5 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 54 && status6 == 0)
         {
             send(Socket, outport61, strlen(outport61), 0);
             status6 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 54 && status6 == 1)
         {
             send(Socket, outport60, strlen(outport60), 0);
             status6 = 0;
             eingabe = 0;        
         }
         
         gotoxy(35,4);
         if (status6 == 0)
         {
              printf("O");      
         }
         if (status6 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 55 && status7 == 0)
         {
             send(Socket, outport71, strlen(outport71), 0);
             status7 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 55 && status7 == 1)
         {
             send(Socket, outport70, strlen(outport70), 0);
             status7 = 0;
             eingabe = 0;        
         }  
         
         gotoxy(40,4);
         if (status7 == 0)
         {
              printf("O");      
         }
         if (status7 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 56 && status8 == 0)
         {
             send(Socket, outport81, strlen(outport81), 0);
             status8 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 56 && status8 == 1)
         {
             send(Socket, outport80, strlen(outport80), 0);
             status8 = 0;
             eingabe = 0;        
         } 
         
          gotoxy(45,4);
         if (status8 == 0)
         {
              printf("O");      
         }
         if (status8 == 1)
         {
              printf("X");      
         }                                          
         
         if(eingabe == 57)
         {
             send(Socket, outport10, strlen(outport10), 0);
             Sleep(1);
             send(Socket, outport20, strlen(outport20), 0);
             Sleep(1);
             send(Socket, outport30, strlen(outport30), 0);
             Sleep(1);
             send(Socket, outport40, strlen(outport40), 0);
             Sleep(1);
             send(Socket, outport50, strlen(outport50), 0);
             Sleep(1);
             send(Socket, outport60, strlen(outport60), 0);
             Sleep(1);
             send(Socket, outport70, strlen(outport70), 0);
             Sleep(1);
             send(Socket, outport80, strlen(outport80), 0);
             eingabe = 0;
             status1=0;
             status2=0;
             status3=0;
             status4=0;
             status5=0;
             status6=0;
             status7=0;
             status8=0;  
             
             gotoxy(10,4);
             printf("O    O    O    O    O    O    O    O ");      
         } 
                                                  
                    
       }
     
       cout << "Shutting down client. \n";
       closesocket(Socket);
       WSACleanup();
       cout << "\nPROGRAM EXIT";    
    }

    Wenn man das Programm ausführt wird die Steuerung nochmal beschrieben. Bei mir ist der Microcontroller auf die IP: 192.168.178.99 eingestellt. Muss man halt noch dementsprechen ändern.

    Ich hoffe ich konnte helfen. Bei fragen im Quelltext einfach melden.
    Ps. Beim komplemieren habe ich im DEV c++ noch eine Lib einfügen müssen sonst hat es nicht geklappt.

    Mfg Finnex
     
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

    -André Kostolany

  9. #9
    neulingont808 Tutorials.de Gastzugang
    bin ganz neu auf dem gebiet muss aber in einem schulprojekt ein programm für das avr-net-io board schreiben....

    jetzt meine frage welche lib muss ich für dein programm einfügen ?(und wie tue ich das?)

    mfg
     

  10. #10
    finnex finnex ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Beiträge
    120
    Hallo,
    also ich habe vor einer Weile mein Projekt verbessert und habe eine grafische Oberfläche hinzugefügt.
    Das Programm ich mit Visual C# programmiert.
    Man kann mit den Pfeiltasten die Ports 1-4 und mit den 4 Buttons Port 5-8 steuern.
    Gedacht ist die Software um ein Fernsteuerungsauto mit W-Lan über den Rechner zu steuern.
    Bilder liegen im Anhang.

    Bei fragen einfach melden.


    MfG Finnex
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Avr-Net-Io Pollin  TCP/ip-Abfrage eigenes programm schreiben-software_connect11.jpg   Avr-Net-Io Pollin  TCP/ip-Abfrage eigenes programm schreiben-software_connect44.jpg  

     
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

    -André Kostolany

  11. #11
    günnih Tutorials.de Gastzugang
    Hallo, habe das AVR-NET-IO gekauft, zusammengelötet und mit Pollin-Net-Server in Betrieb genommen. Was mir vorschwebt ist, über dieses Teil einzelne Geräte ein- und auszuschalten. Dazu würde mir (in Windows) ein Button auf dem Desktop (Name z.B. "Drucker ein") genügen, hinter dem z.B. ein WScript-Progrämmchen steht, das den AVR-NET-IO ansteuert. Ich habe schon mal mit dem Programm "Telnet IP-Adr. Port" versucht weiterzukommen, konnte aber das Board nicht ansprechen (Result NACK). Da ich auf dem Gebiet Netzwerk Neuling bin, komme ich so im Moment nicht weiter. Gibt es unter Windows ähnliche Konsolenbefehle wie in Unix, mit denen man das Board ansprechen kann und diese vielleicht in ein kleines Steuerprogramm einbinden könnte ?
    MfG
    günni
     

  12. #12
    AVRtest Tutorials.de Gastzugang
    Hallo günnih,

    es funktioniert bei Windows mit Telnet oder Putty. Wenn man die Syntax genau einhält, bekommt man auch positive Antwort zurück.

    @ finnex: es heisst kompiliert, nicht complemiert


    Gruß
    Ralf
     

  13. #13
    vlan vlan ist offline Grünschnabel
    Registriert seit
    Oct 2004
    Beiträge
    1
    Zitat Zitat von finnex Beitrag anzeigen
    Hallo,
    ich poste einfach mal hier den quelltext.
    Mit diesem Programm kann ich jetzt mit den Zahlen 1-8 (NumBlog) die Ports an oder aus schalten. Mit der Zahl 9 Mach ich alle aus. Ich habe den Quelltext mit Dev-C++ complemiert.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    
    #include <windows.h>
    #include <winsock2.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string>
    #include <iostream>
     
    using namespace std;
    SOCKET      Socket;
    SOCKADDR_IN addr;
     
     
    void gotoxy(int xpos, int ypos)
    {
        COORD scrn;    
        HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
        scrn.X = xpos; scrn.Y = ypos;
        SetConsoleCursorPosition(hOuput,scrn);
    }
     
     
    int main()
    {
       
    string      m_host = "192.168.178.99";
       
    string      m_port = "50290";
       
       
    WSADATA wsa;
       
    int rc = WSAStartup(MAKEWORD(2, 0), &wsa);
      
     if(rc == SOCKET_ERROR){
          cout << "Error while starting server... \n";
       }
       
       Socket = socket(AF_INET, SOCK_STREAM, 0);
       if(Socket == INVALID_SOCKET){
          std::cout << "Error while building socket. \n";
       }
     
       addr.sin_addr.s_addr = inet_addr(m_host.c_str());
       addr.sin_port        = htons(atoi(m_port.c_str()));
       addr.sin_family      = AF_INET;
     
       if(connect(Socket, (SOCKADDR*)&addr, sizeof(SOCKADDR)) == 0){
          cout << "Connection with server " << inet_ntoa(addr.sin_addr)
               << " established." << endl << endl;
       } else {
          cout << "Impossible to connect to server " << inet_ntoa(addr.sin_addr)
               << ":" << addr.sin_port
               << ". Please check host and port. \n";
          return 1;
       }    
       
           
       // Everything okay - start communicating with server
       char        buffersend[1024];
       char        bufferrecv[1024];
       int         bufpos = 0;
       int         bufIndex = 0;
       char        c;
       fd_set      fdSetRead;
       TIMEVAL     timeout;
       bool        mainloop = true;
     
       getch();
       system("cls");
       
       char outport11[] = "setport 1.1\r\n";
       char outport10[] = "setport 1.0\r\n";
              
       char outport21[] = "setport 2.1\r\n";
       char outport20[] = "setport 2.0\r\n";
       
       char outport31[] = "setport 3.1\r\n";
       char outport30[] = "setport 3.0\r\n";
       
       char outport41[] = "setport 4.1\r\n";
       char outport40[] = "setport 4.0\r\n";
       
       char outport51[] = "setport 5.1\r\n";
       char outport50[] = "setport 5.0\r\n";
       
       char outport61[] = "setport 6.1\r\n";
       char outport60[] = "setport 6.0\r\n";
       
       char outport71[] = "setport 7.1\r\n";
       char outport70[] = "setport 7.0\r\n";
       
       char outport81[] = "setport 8.1\r\n";
       char outport80[] = "setport 8.0\r\n";
       
       
       char eingabe = 0;
       
       int status1 = 0,
           status2 = 0,
           status3 = 0,
           status4 = 0,
           status5 = 0,
           status6 = 0,
           status7 = 0,
           status8 = 0;
           
       
       send(Socket, outport10, strlen(outport10), 0);
       Sleep(1);
       send(Socket, outport20, strlen(outport20), 0);
       Sleep(1);
       send(Socket, outport30, strlen(outport30), 0);
       Sleep(1);
       send(Socket, outport40, strlen(outport40), 0);
       Sleep(1);
       send(Socket, outport50, strlen(outport50), 0);
       Sleep(1);
       send(Socket, outport60, strlen(outport60), 0);
       Sleep(1);
       send(Socket, outport70, strlen(outport70), 0);
       Sleep(1);
       send(Socket, outport80, strlen(outport80), 0);
       
       printf("Software: Finnex \n");
       printf("Erstellt fuer AVR IO von Pollin");
       printf("\n\nAnzeige:  K1   K2   K3   K4   K5   K6   K7   K8");
       gotoxy(10,4);
       printf("O    O    O    O    O    O    O    O ");
       
       printf("\n\n\n\n\nSteuerung:\n K1=1\n K2=2\n K3=3\n K4=4\n K5=5\n K6=6\n K7=7\n K8=8\n 9=Alles auf Null setzen");
       while(mainloop) 
       {  
       //SEND DATA
             
         eingabe = getch();
     
         
         if(eingabe == 49 && status1 != 1)
         {
             send(Socket, outport11, strlen(outport11), 0);
             status1 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 49 && status1 == 1)
         {
             send(Socket, outport10, strlen(outport10), 0);
             status1 = 0;
             eingabe = 0;        
         } 
         
         gotoxy(10,4);
         if (status1 == 0)
         {
              printf("O");      
         }
         if (status1 == 1)
         {
              printf("X");      
         }
           
         if(eingabe == 50 && status2 == 0)
         {
             send(Socket, outport21, strlen(outport21), 0);
             status2 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 50 && status2 == 1)
         {
             send(Socket, outport20, strlen(outport20), 0);
             status2 = 0;
             eingabe = 0;        
         }  
         
         gotoxy(15,4);
         if (status2 == 0)
         {
              printf("O");      
         }
         if (status2 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 51 && status3 == 0)
         {
             send(Socket, outport31, strlen(outport31), 0);
             status3 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 51 && status3 == 1)
         {
             send(Socket, outport30, strlen(outport30), 0);
             status3 = 0;
             eingabe = 0;        
         } 
         
         gotoxy(20,4);
         if (status3 == 0)
         {
              printf("O");      
         }
         if (status3 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 52 && status4 == 0)
         {
             send(Socket, outport41, strlen(outport41), 0);
             status4 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 52 && status4 == 1)
         {
             send(Socket, outport40, strlen(outport40), 0);
             status4 = 0;
             eingabe = 0;        
         }  
         
         
         gotoxy(25,4);
         if (status4 == 0)
         {
              printf("O");      
         }
         if (status4 == 1)
         {
              printf("X");      
         } 
         
         
         if(eingabe == 53 && status5 == 0)
         {
             send(Socket, outport51, strlen(outport51), 0);
             status5 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 53 && status5 == 1)
         {
             send(Socket, outport50, strlen(outport50), 0);
             status5 = 0;
             eingabe = 0;        
         }  
         
         gotoxy(30,4);
         if (status5 == 0)
         {
              printf("O");      
         }
         if (status5 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 54 && status6 == 0)
         {
             send(Socket, outport61, strlen(outport61), 0);
             status6 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 54 && status6 == 1)
         {
             send(Socket, outport60, strlen(outport60), 0);
             status6 = 0;
             eingabe = 0;        
         }
         
         gotoxy(35,4);
         if (status6 == 0)
         {
              printf("O");      
         }
         if (status6 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 55 && status7 == 0)
         {
             send(Socket, outport71, strlen(outport71), 0);
             status7 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 55 && status7 == 1)
         {
             send(Socket, outport70, strlen(outport70), 0);
             status7 = 0;
             eingabe = 0;        
         }  
         
         gotoxy(40,4);
         if (status7 == 0)
         {
              printf("O");      
         }
         if (status7 == 1)
         {
              printf("X");      
         } 
         
         if(eingabe == 56 && status8 == 0)
         {
             send(Socket, outport81, strlen(outport81), 0);
             status8 = 1;
             eingabe = 0;        
         } 
         if(eingabe == 56 && status8 == 1)
         {
             send(Socket, outport80, strlen(outport80), 0);
             status8 = 0;
             eingabe = 0;        
         } 
         
          gotoxy(45,4);
         if (status8 == 0)
         {
              printf("O");      
         }
         if (status8 == 1)
         {
              printf("X");      
         }                                          
         
         if(eingabe == 57)
         {
             send(Socket, outport10, strlen(outport10), 0);
             Sleep(1);
             send(Socket, outport20, strlen(outport20), 0);
             Sleep(1);
             send(Socket, outport30, strlen(outport30), 0);
             Sleep(1);
             send(Socket, outport40, strlen(outport40), 0);
             Sleep(1);
             send(Socket, outport50, strlen(outport50), 0);
             Sleep(1);
             send(Socket, outport60, strlen(outport60), 0);
             Sleep(1);
             send(Socket, outport70, strlen(outport70), 0);
             Sleep(1);
             send(Socket, outport80, strlen(outport80), 0);
             eingabe = 0;
             status1=0;
             status2=0;
             status3=0;
             status4=0;
             status5=0;
             status6=0;
             status7=0;
             status8=0;  
             
             gotoxy(10,4);
             printf("O    O    O    O    O    O    O    O ");      
         } 
                                                  
                    
       }
     
       cout << "Shutting down client. \n";
       closesocket(Socket);
       WSACleanup();
       cout << "\nPROGRAM EXIT";    
    }

    Wenn man das Programm ausführt wird die Steuerung nochmal beschrieben. Bei mir ist der Microcontroller auf die IP: 192.168.178.99 eingestellt. Muss man halt noch dementsprechen ändern.

    Ich hoffe ich konnte helfen. Bei fragen im Quelltext einfach melden.
    Ps. Beim komplemieren habe ich im DEV c++ noch eine Lib einfügen müssen sonst hat es nicht geklappt.

    Mfg Finnex
    Hallo Finnex,
    ich habe versucht dein Programm mit DEV c++ zu kompelieren doch der Vergang wird immer unterbrochen. Welche Lib hast du nachtraglich eingefügt und wo.
    viele Grüße
    vlan
     

  14. #14
    finnex finnex ist offline Mitglied Gold
    Registriert seit
    Feb 2008
    Beiträge
    120
    Hallo,
    da jetzt schon einige den Code meiner Netzwerksteuerung haben wollten,
    lade ich sie hier mal im Anhang hoch.

    Ich hoffe sie kann einigen weiterhelfen.

    MfG Finnex
    Angehängte Dateien Angehängte Dateien
     
    EDV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

    -André Kostolany

  15. #15
    elo-opa elo-opa ist offline Grünschnabel
    Registriert seit
    Apr 2011
    Beiträge
    1
    Moin, moin,
    das C++ Listing ist ja schon mal hilfreich.
    Zum Board wurde ein Beispielprogramm Netserver mitgeliefert.
    Etwas in der Art möchte ich auch in Visual Basic erstellen.
    Hat jemand eine Idee, wie ich die Kopplung mittels TCP/IP programmiere?
    Viele Grüße vom Opa (Generation 50+)
     

Ähnliche Themen

  1. Daten in eigenes Programm schreiben
    Von ComFreek im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 09.09.09, 16:59
  2. Eigenes Steuerelement Schreiben
    Von 10110010 im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 20.07.08, 10:48
  3. Abfrage: eigenes Programm läuft bereits
    Von heirobebe im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 15.05.07, 18:38
  4. [VB6] Eigenes Theme für Programm?
    Von tobmir im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 29.06.06, 21:58
  5. Ein eigenes Forum schreiben?
    Von jackie05 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 26.03.06, 11:28