Forum: Mikrocontroller und Digitale Elektronik Telnet Ulrich Radig


von Miriam (Gast)


Lesenswert?

Hallo Forum,

ich habe seid längerem das Pollin Net IO Mikrocontroller Board.
Alles funktioniert tadellos.
Nun wollte ich die Software von Ulrich Rahdig testen. Da gibt es bei mir 
ein paar Probleme vor allem wenn wes um Telnet geht
wenn ich beim Pollin Board folgenden Python code unnter Ubuntu ausführe:
1
#!/usr/bin/python
2
#-*- coding:utf8 -*-
3
import time
4
import telnetlib
5
import Tkinter
6
import psycopg2
7
Pollin_State=True
8
if Pollin_State==True:
9
    print "Test"
10
    conn = psycopg2.connect("dbname='DB' user='DB' host='127.0.0.1' password='DB'")
11
    cur = conn.cursor()
12
    cur.execute('''DROP Table IF EXISTS PollinAVR''')
13
    cur.execute('''CREATE TABLE IF NOT EXISTS PollinAVR
14
        (ID INT PRIMARY KEY     NOT NULL,
15
        state        boolean);''')
16
    conn.commit()
17
    cur = conn.cursor()
18
19
20
#Default network parameters
21
telnethost = '192.168.0.90'
22
telnetport = 50290
23
#telnetport = 23
24
25
26
27
#=======================================================
28
29
# Connecting to device / initializing:
30
31
print 'Connecting to AVR NET-IO with telnet at IP %s on port %d' % (telnethost, telnetport)
32
33
#Connect on telnet port
34
netio = telnetlib.Telnet(telnethost, telnetport)
35
36
def sg(netio, cmd):
37
  netio.write(cmd + '\n')
38
  return netio.read_until('\n').strip('\r\n')
39
40
#Get values of all ADCs and Status
41
def adcs(netio):
42
    while True:
43
        time.sleep(1)
44
        for i in [1,2,3,4]:
45
      print 'ADC' + str(i) + ': ' + sg(netio,'getadc ' + str(i)).rjust(4) + ' -',
46
      print sg(netio,'getstatus')
47
48
adcs(netio)

dann werden mir die Werte der Analog Wandler angezeigt

Mit dem Code von Ulrich Radig passiert gar nichts.
wenn ich die Konsole öffne und eine Telnet verbindung aufbau, dann 
klappt es nur 2mal bei 10 versuchen. und dann kann es sein, dass auch 
zwischendurch komische Zeichen versendet werden.

Kann mir jemand sagen an was das liegt?

vielen Dank

im mom verwende ich den ATMega32

: Bearbeitet durch User
von Miriam (Gast)


Lesenswert?

Hallo zusammen,

nach langem googlenm habe ich erfahren, dass das Board von Ulrich Radig 
wirklich Probleme mit Telnet hat.
Leider kann iches nicht besser :-(
kennt jemand eine ähnliche Software mit der ich z.B über Telnet die Ein 
und Ausgänge abfragen kann.
Es muss nicht zwingend über Telnet sein.
oder gibt es sonst ein andere Möglichkeit, dass ich mir die Werte 
zusenden lasse?

vielen Dank im voraus

von Stefan F. (Gast)


Lesenswert?

Schau mal dort:
http://stefanfrings.de/avr_io/index.html

Diese Firmware funktioniert mit IP-Socket einwandfrei. Da findest du 
auch Programmierbeispiele für die PC-Seite in C++ und Java.

Vielleicht bringt es dich jedoch eher weiter, einfach mal keine Telnet 
Library zu verwenden, sondern einen einfachen IP Socket.

von Stefan F. (Gast)


Lesenswert?


von Miriam (Gast)


Lesenswert?

Hallo Stefan,

erstmal vielen Dank für die schnelle antwort.
Wenn ich das richtig verstanden habe, kann ich meinen ATMega 32 nicht 
mehr verwenden sondern ich benötige mindestens den 644 richtig?

habe soeben die sockets ausprobiert.
mein problrm ist, dass wenn ich dies auch schon auf der Linux Konsole 
ausführe die Daten auch nicht immer richtig ankommen.

ist dies bei deiner Firmware anders?
ist deine Fimrware mit dem Pollin Board kompatibel?

Weil, dann würde ich mir jetzt einen anderen Controller bestellen

vielen Dank

von Bippo (Gast)


Lesenswert?

Schau dir mal das Projekt hier an:

http://www.ethersex.de/index.php/Main_Page

von Stefan F. (Gast)


Lesenswert?

Ja, meine Firmware benötigt 64KB.

Wenn man den HTTP Server entfernt, kommst du auch mit 32KB aus, aber das 
würde ich nicht machen. Nimm den Code lieber unverändert - zumindest für 
den Anfang. Dann hast du eine potentielle Fehlerquelle weniger.

Beachte, dass meine Firmware einen anderen Ethernet Controller 
voraussetztm als den sonst üblichen ENC8J60.

> mein problem ist, dass wenn ich dies auch schon auf der Linux
> Konsole ausführe die Daten auch nicht immer richtig ankommen.

Mit welchen Programm hast du getestst? Telnet wäre falsch, wenn die 
Firmware vom Herrn Radig mit Telnet nicht klar kommt. Versuche es mal 
mit netcat (nc).

> Daten auch nicht immer richtig ankommen.

Das liegt vermutlich am µIP Stack, den auch meine Firmware verwendet. 
Ich hatte einige kleine Bugs korrigiert, um sporadische Fehlfunktionen 
zu beheben. Aber frag mich bitte nicht nach den Details, den daran 
erinnere ich mich (5 Jahre später) nicht mehr.

Meine Firmware hat übrigens auch ein Problem mit Telnet. Das erste 
Kommando wird immer mit "Unknown Command" (oder so ähnlich) quittiert. 
ABer danach läuft es.

> ist deine Fimrware mit dem Pollin Board kompatibel?
Nein, da ist "der falsche" Ethernet Controller drauf. Ich habe mir die 
die Mühe gemacht, meine Firmware an den EN28J60 anzupassen, weil alle 
meine Boards den anderen CP2201 Chip haben.

> Weil, dann würde ich mir jetzt einen anderen Controller bestellen

Hol Dir das CrumbX1-Net Modul. Es ist ein bisschen teuer, aber dafür 
funktioniert es unkompliziert. Du kannst es manuell geprüft und mit 
vorinstallierter Firmware bestellen.

Ist dein Programmieradapter zu Xmega Controllern (PDI Modus) kompatibel?

von Stefan F. (Gast)


Lesenswert?

Ich muss was korrigieren: Die Firmware von Herrn Radig beruht wohl doch 
nicht auf dem µIP STack.

> Ich habe mir die die Mühe gemacht

Sollte heissen: Ich habe mir NIE die Mühe gemacht....

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.