www.mikrocontroller.net

Forum: Projekte & Code IgorPlug UDP modifizieren?


Autor: Frank Esselbach (Firma: Q3) (qualidat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wäre hier jemand in der Lage für einen "Bascom-Fuzzi" das Programm ein 
wenig zu modifizieren und als HEX-File bereitzustellen?

Im Original ist das Projekt dafür gemacht, die Daten aus einem 
TSOPx-IR-Empfänger per UDP ins LAN zu blasen. Für viele auch anders 
nutzbar wäre das Projekt, wenn man folgende Änderungen vornehmen würde:

- Dateneingang für "gewöhnliche" RS232 (TTL)-Daten mit z.B. 9600 baud

- die IP-Adresse entweder per Kommando setzen, z.B. wenn im 
Empfangspuffer
ein String mit einem bestimmten Format ankommt 
"+++<192168003xxx:12345>+++" dann ist das eben keine Nachricht zum 
Senden, sondern die IP-Adresse nebst Port

- oder wenigstens die Segmentadresse (vorletztes Oktett) per Lötbrücke, 
DIP-Schalter oder BCD-Schalter setzen, es scheinen ja genügend Pins frei 
zu sein ...

Frank

http://www.cesko.host.sk/IgorPlugUDP/IgorPlug-UDP%...

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der sendet das doch eh per Broadcast, warum sollte man da ne andere IP 
setzen wollen?

Autor: Frank Esselbach (Firma: Q3) (qualidat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

> Der sendet das doch eh per Broadcast, warum sollte man da ne andere IP
> setzen wollen?

    * destination IP=192.168.1.255 (broadcast to 192.168.1.xxx adresses)
    * destination port=6668, source port=6668
    * destination MAC=FF-FF-FF-FF-FF-FF (broadcast)

Weil die Adresse wenigstens zum Zielnetz (hier 192.168.1.0) passen muss.
UDP bsiert auf IP. Was machst du, wenn dein LAN auf 192.168.2.0 oder gar 
10.10.10.0 lautet? Jedesmal neu flashen?

Wie gesagt, ein Kompromiss wäre es, wenigstens das vorletzte Oktett 
variabel zu gestalten, weil wohl die meisten (Klasse-C-) Netze mit 
192.168. anfangen, aber eben längst nicht alle.

Der Port 6668 dürfte auch meistens frei sein, garantiert aber nicht 
immer.

Frank

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay das stimmt natürlich.
Also leider hab ich kein Eagle installiert, deshalb weiß ich nicht was 
an Pins noch Frei ist am ATMEGA aber auf dem Schematic siehts aus als 
sei noch PC0-5 frei zusammen mit PB0-1 hätte man da noch "Platz" für ein 
8fach Dipschalter.
Hab auch mal im Source nachgesehen, das scheint machbar zu sein das als 
init einzulesen. Bin leider erstmal nen paar Tage weg, aber danach könnt 
ichs mal versuchen zu modifizieren. Wegen Searialinput hast du das mal 
versucht ob sich da was tut? So wie es aussieht wird auf jedenfall die 
Serielle Schnittstelle inistialisiert und gesendet wird auch was. Was 
mit empfangenen Daten passiert konnt ich so auf die schnelle nicht 
sehen.
Wegen des Ports: Wenn man den ISP Stecker "mißbraucht" + ein paar freie 
Pins (z.B: wenn man Infrarot raustreicht) könnte man das auch zumindest 
in nem kleinen Bereich einstellen.

Das einzige Problem dabei ist die CRC32 Checksum. Die wird nämlich in 
den defines berechnet und ist dann natürlich falsch. Im Internen LAN 
könnte es aber trozdem sein das das Paket ankommt müßte man 
ausprobieren.

Autor: Frank Esselbach (Firma: Q3) (qualidat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, ich werde erst mal sehen, ob ich es auf dem Steckbrett überhaupt zum 
Laufen bringe.
Keine Ahnung, auf welche Rate der Input-Port eingestellt ist. Aus dem 
IR-Empfänger kommen die Bits, so, wie sie die Fernbedienung sendet, nur 
eben um die Trägerfrequenz bereinigt, geregelt und gesäubert. Evtl. kann 
die Software auch die Baudrate selber finden?

Frank

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> .equ  BaudRate    =20000000/16/57600-0.5  ;set UART baudrate to 57600
>> (for 20MHz=20 000 000Hz)
Naja... gehen tut das schon --> Siehe bootloader von PeDa oder 
ähnliches...
Aber da müßtest du dan vieleicht doch selber einsteigen in die Materie, 
weil das dann doch etwas mehr änderungen am Code benötigt.
Auf der Website steht zumindest das auch über die Serielle gesendet 
wird.

Autor: Roger Steiner (edge)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank Esselbach wrote:
> Weil die Adresse wenigstens zum Zielnetz (hier 192.168.1.0) passen muss.
> UDP bsiert auf IP. Was machst du, wenn dein LAN auf 192.168.2.0 oder gar
> 10.10.10.0 lautet? Jedesmal neu flashen?

Wenn das Ding im selben LAN ist dann nimm einfach 255.255.255.255

Cheers, Roger

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.