Forum: Mikrocontroller und Digitale Elektronik RS232 over WiFi


von Hanns-Jürgen M. (yogy)


Lesenswert?

Hallo zusammen,
Meine Heizungssteuerung (ziemlich komplexer Eigenbau) im Keller basiert 
auf einen HC11 und verfügt über eine RS232 Schnittstelle (Nur RX/TX), 
die mit meinem PC verbunden ist, und somit über ein propietäres Binaer 
Protokoll fernsteuerbar ist.

Das funktionierte seit 2002 eigentlich ganz gut, aber seitdem ich vor 
einem Jahr auf IP-Telephonie zwangsumgestellt wurde und die 
Hausverkabellung ändern mußte, gibt es Probleme (RSR232 Datenverluste). 
Leider kann ich nicht auf RS485 umstellen, da die Verkabellung das nicht 
zuläßt.

Ich suche nun nach einen preisgünstigen RS232 <-> WiFi Modul, ao daß die 
Heizungs-Fernsteuerung über WLAN laufen kann. Die mir bekannten 
China-WLAN-Module müssen jedoch vom Prozessor RS232 seitig 
programmiert/gesteuert werden, da geht hier jedoch nicht, da der HC11 
keine Ressourcen mehr frei hat. Gerne würde ich so ein "ESP8266" System 
verwenden, da billig, aber offenbar müssen diese auch "programmiert" 
werden.

Meine anfängliche Überlegung, das System auf Arduino-2560 Hardware 
umzustellen, habe ich aus Kostengründen fallen gelassen.

Hat jemand eine Idee?

Danke und viele Grfüße

Yogy

von M. K. (sylaina)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Leider kann ich nicht auf RS485 umstellen, da die Verkabellung das nicht
> zuläßt.

Warum denn das genau? Für RS485 braucht man 2 Adern, für RS232 braucht 
man mindestens 3 Adern. Am Kabel sollt das nun wirklich nicht klemmen.

von jannyboy (Gast)


Lesenswert?

M. K. schrieb:
> Für RS485 braucht man 2 Adern

GND sollte man auch mitnehmen.
Full-Duplix geht dann halt nicht mehr.
Dann braucht man RS422 mit 5-Adern.

von Hanns-Jürgen M. (yogy)


Lesenswert?

M. K. schrieb:
> Hanns-Jürgen M. schrieb:
>> Leider kann ich nicht auf RS485 umstellen, da die Verkabellung das nicht
>> zuläßt.
>
> Warum denn das genau? Für RS485 braucht man 2 Adern, für RS232 braucht
> man mindestens 3 Adern. Am Kabel sollt das nun wirklich nicht klemmen.

Ja, danke für den Hinweis, das ist natürlich richtig. Nur dazu muß die 
Sende/Empfangsrichtung umgeschaltet werden, das beim HC11-System so 
nicht vorgesehen ist.

Aber ich denke mal darüber nach :-). Für PC Seite müßte es ja einen 
USB-485 Adapter geben.

von Thomas Z. (thomas_z41)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Gerne würde ich so ein "ESP8266" System
> verwenden, da billig, aber offenbar müssen diese auch "programmiert"
> werden.
Es wurden speziell für solche Einsatzzwecke ESP8266 Firmware geschrieben 
die komplett transparent sein soll, z.B.: 
https://github.com/jeelabs/esp-link

von Michael U. (amiga)


Lesenswert?

Hallo,

für den ESP8266 gibt es ESP-Link und vermitlich noch ein paar Lösungen 
für eine serial-WLAN-Bridge.
Wenn Deine Heizungssteuerung Eigenbau ist, sollte das Flashen eines 
ESP-Moduls keine unüberwindbare Hurde sein.

Mich verwundert etwas, daß RS232 sich innerhalb eines Hauses aus dem 
Tritt bringen läßt. Ich gehe mal davon aus, daß Du RS232-Pegel (also 
+/-3...12V) benutzt, die Heizung dürfte doch auch kaum sonderlich hohe 
Datenraten erfordern. Mit 1200 oder 2400 Baud sollte man doch auch bei 
Störungen eigentlich etliche Meter überbrücken können?

Gruß aus Berlin
Michael

von Dent (Gast)


Lesenswert?

Hanns-Jürgen M. schrieb:
> M. K. schrieb:
>> Hanns-Jürgen M. schrieb:
>>> Leider kann ich nicht auf RS485 umstellen, da die Verkabellung das nicht
>>> zuläßt.
>>
>> Warum denn das genau? Für RS485 braucht man 2 Adern, für RS232 braucht
>> man mindestens 3 Adern. Am Kabel sollt das nun wirklich nicht klemmen.
>
> Ja, danke für den Hinweis, das ist natürlich richtig. Nur dazu muß die
> Sende/Empfangsrichtung umgeschaltet werden, das beim HC11-System so
> nicht vorgesehen ist.
>
> Aber ich denke mal darüber nach :-). Für PC Seite müßte es ja einen
> USB-485 Adapter geben.

Bevor ich mir den ESP-Kram ins Haus hole, halte ich es für besser die 
vorhandene Verkabelung auf RS485 umzustellen. Die von dir erwähnte 
Umschaltung kann automatisch erfolgen.

Was mich wundert steht schon im 2. Absatz von: 
Beitrag "Re: RS232 over WiFi"

von Basic (Gast)


Lesenswert?

Espbasic.

Der Entwickler hat ein kleines Programm geschrieben welches via 
webinterface ( Browser ) die Kommunikation zu einer RS232 abwickelt.

Google ist dein Freund.

von Stefan F. (Gast)


Lesenswert?

Schau mal ob du einen gebrauchten Lantronics XPort bekommen kannst.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Fertige Wifi-zu-Seriell-Module gibt es von Lantronix:

https://www.lantronix.com/products/wiport/

Davon genügt auch eines, die Gegenseite auf dem PC wird mit einem 
virtuellen Schnittstellentreiber gebildet.

Das alles kann man sich auch selbstbauen, mit dem bereits angesprochenen 
ESP8266 sollte die Hardwareseite umsetzbar sein; um das mit einem 
beliebigen bereits vorhandenen Programm auf der PC-Seite zu verbinden, 
empfiehlt sich die Komponente com2tcp aus der com0com-Serie, das ist 
ebenfalls ein virtueller Schnittstellentreiber.

Für den ESP8266 muss man dann "nur" noch ein Programm schreiben, das das 
von com2tcp verwendete (ziemlich einfache) Protokoll auf die 
Hardware-UART des ESP8266 adaptiert.

von Hanns-Jürgen M. (yogy)


Lesenswert?

Michael U. schrieb:
> Hallo,
>
> für den ESP8266 gibt es ESP-Link und vermitlich noch ein paar Lösungen
> für eine serial-WLAN-Bridge.
> Wenn Deine Heizungssteuerung Eigenbau ist, sollte das Flashen eines
> ESP-Moduls keine unüberwindbare Hurde sein.
>
> Mich verwundert etwas, daß RS232 sich innerhalb eines Hauses aus dem
> Tritt bringen läßt. Ich gehe mal davon aus, daß Du RS232-Pegel (also
> +/-3...12V) benutzt, die Heizung dürfte doch auch kaum sonderlich hohe
> Datenraten erfordern. Mit 1200 oder 2400 Baud sollte man doch auch bei
> Störungen eigentlich etliche Meter überbrücken können?
>
> Gruß aus Berlin
> Michael

Hallo Michael,

Die Steuerung kommuniziert mit 9600 Bd. Dies ist auch notwendig, da die 
daten von der PC-Software alle paar Sekunden abgefragt werden. Es sind 
u.a. 18 Temp-Meßwerte neben diversen Stati (z.B. Pumpen). Die Steuerung 
kontrolliert neben dem Brauchwasser weitere drei Heizkreise. Die 
Kabellänge zwischen Heizungsraum und PC beträgt grob geschätzt 25 m. Las 
Kabel dient ein 8 adriges Telefonkabel (Norm vergessen), 4 Adern 
übertragen ISDN Signale von der Frotzbox zur Telephonanlage im Keller.

Wo genau die Ursache des Datenverlustes liegen, kann ich nicht 
feststellen. Wenn ich jedoch mit dem Rechner (egal ob Netbook mit Win 
oder PC mit DOS) in den Heizraum gehe, funktioniert alles.

Dank auch Deiner Hinweise und Links zum ESP werde ich versuchen, diese 
Richtung einzuschlagen.

Yogy

von Hanns-Jürgen M. (yogy)


Lesenswert?

Rufus Τ. F. schrieb:

> Für den ESP8266 muss man dann "nur" noch ein Programm schreiben, das das
> von com2tcp verwendete (ziemlich einfache) Protokoll auf die
> Hardware-UART des ESP8266 adaptiert.

Das von mir verwendete binäre Protokoll zur Kommunikation ist einen 
Eigenentwicklung aus dem Jahr 1993 und prinzipiell netzwerkfähig. 
(Single-Master System) Natürlich dann nicht mit RS232-Hardware. Die SW 
auf dem PC habe ich mit Vbasis erstellt.

Vor längerer Zeit habe ich eine Arduino-HW mit einem WS5100 Lan Modul 
(später auch einem  WifI Modul) ausgestattet und mit meinem 
"Netzwerkprotokoll" und dem VB-Programm erfolgreich getestet. Von daher, 
no prob.

Ich werde mich wohl mit dem ESP mal genauer befassen. :-)

Viele Grüße

Yogy

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Na dann: Viel Erfolg!

von Wolfgang (Gast)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Dies ist auch notwendig, da die daten von der PC-Software alle paar
> Sekunden abgefragt werden. Es sind u.a. 18 Temp-Meßwerte neben diversen
> Stati (z.B. Pumpen). Die Steuerung kontrolliert neben dem Brauchwasser
> weitere drei Heizkreise.

Was hast du für eine TURBO-Heizung, dass deine Temperaturen im 
Sekundenrhythmus übertragen werden müssen. Da lässt sich die Datenrate 
bestimmt locker um einen Faktor 10 reduzieren, ohne mit dem 
Abtasttheorem in Konflikt zu kommen ;-)

von Einhart P. (einhart)


Lesenswert?


von A. S. (Gast)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Wo genau die Ursache des Datenverlustes liegen, kann ich nicht
> feststellen. Wenn ich jedoch mit dem Rechner (egal ob Netbook mit Win
> oder PC mit DOS) in den Heizraum gehe, funktioniert alles.

Welche Treiberbausteine verwendest Du denn auf welcher Seite?

9600 über 100m Kabel sind kein Problem, wenn man die Pegel 
enstprechend wählt.

Hat ein Kabel (GND) vielleicht Wackelkontakt? (ne nach Werkzeug mal 
100mA über je 2 Strippen jagen und schauen, ob sich was tut)

Hast Du ein Oszi? Ist der Laptop vielleicht neu?

von Hanns-Jürgen M. (yogy)


Lesenswert?

Achim S. schrieb:
> Hanns-Jürgen M. schrieb:
>> Wo genau die Ursache des Datenverlustes liegen, kann ich nicht
>> feststellen. Wenn ich jedoch mit dem Rechner (egal ob Netbook mit Win
>> oder PC mit DOS) in den Heizraum gehe, funktioniert alles.
>
> Welche Treiberbausteine verwendest Du denn auf welcher Seite?
>
> 9600 über 100m Kabel sind kein Problem, wenn man die Pegel
> enstprechend wählt.
>
> Hat ein Kabel (GND) vielleicht Wackelkontakt? (ne nach Werkzeug mal
> 100mA über je 2 Strippen jagen und schauen, ob sich was tut)
>
> Hast Du ein Oszi? Ist der Laptop vielleicht neu?

..Wackler im Kabel, na ja, denkbar. Habe es nicht geprüft (s.u.) Ja, ich 
habe einen (Speicher-) Oszi, mein Laptop ist eher alt. Treiberbaustein 
am HC11: MAX232; Treiberbaustein PC-Seite: irgendein USB-RS232 
Wandlerkabel. Beim DOS-PC (nutzt eine Turbo-Pascal SW) kann ich nicht 
sagen, was da für ein Treiber verbaut ist. Beim 8Acer) Netbook kenne ich 
den Treuber ebenfalls nicht.

Die einzelnen Datenprotokolle sind unterschiedlich lang, bis zu 72 byte 
brutto. Der Datebnverlust tritt offenbar in beide Richtungen bei 
bestimmten Befehlen/Datenprotokollen auf, also nicht bei allen, aber 
reproduzierbar. Das ist das Seltsame. z.B. gibt es vier Befehle, die 
jeweils eines der vier Segmente im EEPROM abfragen. Es handelt sich 
dabei um exakt die selbe Protokollänge, Unterschied ist nur die 
Startadresse (und der Speicherinhalt). Nur eines der Befehle 
(Speichersegmente) funzt. Bei einigen anderen Befehlen ist das Verhalten 
ähnlich.

Dies ist sehr ungewöhnlich, ich müßte zur Verifizierung des Fehlers 
sowohl den Befehl als auch die Antwort loggen/aufzeichnen. Nur, macht 
das Sinn? Eine Umstellung auf LAN/WLAN wäre da eleganter und 
grundsätzlicher, zudem ich dadurch drei freie Adern zum Keller bekäme. 
Aber mal sehen, falls ich morgen Forscherlust verspüre, schließe ich den 
Oszi mal an. Ich werde berichten, so oder so.

von Hanns-Jürgen M. (yogy)


Lesenswert?


von Jobst M. (jobstens-de)


Lesenswert?

Man könnte auch zusätzlich an jedem Ende einen µC mit 2 seriellen 
Schnittstellen benutzen, welcher die Daten zwischen RS232 und RS485 
übersetzt und evtl. auch durch schnellere Geschwindigkeit auf 
RS485-Seite auf RS232-Seite Fullduplex ermöglicht.


Gruß

Jobst

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Ich werde mich wohl mit dem ESP mal genauer befassen. :-)

 Tu das, aber dazu muss ESP neu geflasht werden. Und ob er aus dem
 Keller etwas vernünftiges sendet, ist auch fraglich.

 Anstatt zwei CAN Transceiver zu nehmen, so etwas braucht wirklich
 nur 2 Leitungen und Rx und Tx mit CANH und CANL auszutauschen...

: Bearbeitet durch User
von Jörg K. (joergk)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Treiberbaustein PC-Seite: irgendein USB-RS232
> Wandlerkabel.

Genau da könnte das Problem liegen. Viele USB-RS232-Wandler machen nicht 
wirklich die RS232-konformen +/-12V auf der TX-Leitung und die 
Schaltschwellen auf der RX-Seite sind auch nicht unbedingt dort, wo sie 
sein sollen. Wenn Du ohnehin den Oszi anschließt, würde ich mal darauf 
achten.

Was bei 9600baud sehr einfach geht, wäre 20mA-Stromschleife alias TTY.


Jörg

von Manfred (Gast)


Lesenswert?

Achim S. schrieb:
> 9600 über 100m Kabel sind kein Problem, wenn man die Pegel
> enstprechend wählt.
Das deckt sich mal nicht mit der Praxis. Die Strecke mag gehen, wenn man 
einen ordentlichen Leitungsweg exclusiv für sich hat. In der Realität 
(Kundennetze) darf man über ein vorhandenes Fernmeldekabel schalten, da 
ist deutlich früher Schluß mit stabil.

von Guido (Gast)


Lesenswert?

Hallo,

es wurde schon angesprochen, aber auch ich würde von dem ESP-Zeug
abraten und generell eine drahtgebundenen Kommunikation vorziehen.
Bei WLAN hast du eine zusätzliche Komponente - den Accesspoint - der
ebenfalls absolut zuverlässig laufen muss, damit dein System 
funktioniert.

Ich finde übrigens deinen USB-RS232-Wandler verdächtig.
Liegt eigentlich dein RS232-Kabel nahe an der Telefonleitung, die auf IP 
umgestellt wurde?
Hast du mal durchgerechnet, ob du tatsächlich 9600 brauchst?
Ggf einen RS232 Repeater einbauen.
Hat dein Protokoll eine Checksumme oder andere Art von Fehlererkennung?

Naja, sind einfach ein paar Gedanken. Ich würde eine bis dato 
zuverlässige
Steuerung jedenfalls nicht durch ESP8266 unzuverlässig machen.

von ./. (Gast)


Lesenswert?

Sehr stabil trotz WiFi: HLK-RM04.

Dazu gibt es auch ein Baseboard auf das Mann die Module
aufstecken kann.

Dazu brauchst Du dann auch noch 2 Antennen mit UFL-Stecker.

von Hanns-Jürgen M. (yogy)


Lesenswert?

So, meine Ergebnisse und damit Antwort an alle:

Ja, ich brauche die 9600 Bd (mindestens)
Ja, die einzelnen Nachrichtenprotokolle werden mit einer 16 bit Checksum 
abgeschlossen
Ja, ich will/werde auf LAN/WLAN umsteigen (mittelfristig)
Ja, ich habe die Ursache der aktuellen Probleme nun gefunden. Der MAX232 
(bzw.ein kompatibler von der Sch****firma ST) war hinüber, so daß der 
Mittelrwert des TX Signal je nach Bitfolge schwankte. Damit ist auch die 
Reproduzierbarkeit der  Fehlübertagung zu erklären. Also den MAX 
getauscht, nun funzt es wiweder. Aber die Pegel sehen schlecht aus, 
entweder sind die Elkos der Ladungspumpen "hinüber" oder die ganze 
ST-Charge ist für den A... Die würde mich auch nicht sonderlich 
wunderns, mit deren Halbleitern hatten wir bei einer früheren Firma oft 
Ärger...

Ich werde das in den nächsten Tagen mal genauer die Spannungen der 
Ladepumpen nachmessen.

Und ja, ich habe mir ein "Developmentboard" für den ESP bestellt.... 
Wird was für die langen Wintertage...

Danke für Eure Tips insb. zum ESP.

Yogy

von lt1014 (Gast)


Lesenswert?

richtige C's am MAX für Ladepumpe?
Es gibt welche die brauchen 1u andere kommen mit 100n aus.

von Hanns-Jürgen M. (yogy)


Lesenswert?

So, mein heutiger (28.11.) Status:

Heute habe ich es nach längerer "Probiererei" geschafft, meinen 
brandneuen TCP <-> Rs232 Konverter (urs-tcp232-310) zum Spielen zu 
bringen. Modus: TCP-Server. Funktioniert einwandfrei. Aber das leidige 
Kabel... hetzt will ich WiFi..

Mitte letzter Woche hab ich mich zudem an einem WeMOS D1 (ersp8266) 
Modul versucht. Ich habe es dann auch geschafft, das Modul mittels 
dieser Arduino-IDE zu programiieren. Funktioniert auch., Vermutlich 
würde ich meine WfFi nach Rs232 Kopplung auch mit der Arduino-IDE 
hinbekommen, aber, das möchte ich nicht.

Ich möchte wissen, was ich tue bzw. der Compiler macht, und ich möchte 
auch die Libraries kennen und ggf. modifizieren. Nur bei der Arduino IDE 
ist das wohl nicht möglich ?????.

Gerne würde ich zur Programmierung Atmelstudio verwenden. geht das?? Und 
wo finde ich den SRC der Libraries??

Meine Sucherei im Web war da nicht sooo erfolgreich. Über ein paar Tips 
u/o Links würde ich mich sehr freuen..

Have e nice evening

von Forist (Gast)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Ich möchte wissen, was ich tue bzw. der Compiler macht, und ich möchte
> auch die Libraries kennen und ggf. modifizieren. Nur bei der Arduino IDE
> ist das wohl nicht möglich ?????.

Wo auch immer der Link "Source Code" auf 
https://www.arduino.cc/en/Main/Software hinführt ...

Lesen musst du allerdings selber.

von Lantronix (Gast)


Lesenswert?

Das WIFI Lantronix Teil bekommst du für unter 30€ bei sphinx.

Da kannst du deine spielerei sofort vergessen!

Wenn unbedeutend unbedingt gebastelt wird, hilft das kostenlose Ser2net.

von Udo (Gast)


Lesenswert?

Lantronix schrieb:
> Das WIFI Lantronix Teil bekommst du für unter 30€ bei sphinx.

Das halt ich für ein Gerücht

von Florian F. (flof3000)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Nur bei der Arduino IDE
> ist das wohl nicht möglich ?????.

Doch, Arduino ist ja auch nur ein Wrapper um GCC.

Schau mal nach ~/.Arduino - also im Homevereichniss, oder such nach 
ESP8266Webserver.h - oder gleich auf Github 
https://github.com/esp8266/Arduino.

von Hanns-Jürgen M. (yogy)


Lesenswert?

So, danke für Eure Antworten. Und ja, ich will das jetzt selber 
basteln/knacken :-)

Heute werde ich mich dann bei Arduino und Github rumtollen...

Have a nice day

yogy

von Christian V. (chrisva)


Lesenswert?

Hallo Hanns-Jürgen
Hanns-Jürgen M. schrieb:
> Gerne würde ich zur Programmierung Atmelstudio verwenden. geht das?? Und
> wo finde ich den SRC der Libraries??

In Atmel Studio 7 kann man Arduinoprojekte importieren (Neues Projekt -> 
Arduino Projekt), möglicherweise kann man dann auch einfach mit F12 zu 
den Quellen springen. (Habe diese Variante noch nicht genutzt)

Gruß
Christian

von Hanns-Jürgen M. (yogy)


Lesenswert?

Hallo Christian,
danke für den Tip, werde ich bestimmt mal testen und nutzen. Leider 
(Oder natürlich)  funktioniert das nur mit AVRs/Atmels und leider nicht 
mit den ESPs.
Schade.
Viele Grüße
yogy

von ms (Gast)


Lesenswert?


von absolutkeineahnungnomenestomen (Gast)


Lesenswert?

Udo schrieb:
> Lantronix schrieb:
>> Das WIFI Lantronix Teil bekommst du für unter 30€ bei sphinx.
>
> Das halt ich für ein Gerücht

Na dann verlass Dich mal nicht auf Deinen Riechkolben !!

wenn du die Portokosten übernimmst kannst Du eins für 30 € haben.
Muß halt auch ein paar euronen verdienen ;-)

von Hanns-Jürgen M. (yogy)


Lesenswert?

So, nach frustrierenden gefühlten 4 Wochen (okay, es waren nur rund 12 
Stunden) werde ich mir kurzfristiog keine weitere IDE (für den ESP) 
antun und mache das aktuelle projekt (bzw. ich versuche es) mit der 
Arduino Platform.-

Aber auch da: Probleme. Ich will muß eine feste IP benutzen. Ich dachte 
mir, ich nehme mir das zugehgehörige Headerfile von GitHub, modifiziere 
es nach meinen Bedrüfnisse und lege es in meinem "Sketchbook" (was für 
eine bezeichnung, es schütelt mich) ab. Dann müßte es doch funzen...

Aber das esp8266wifi.h ist nicht auf meinem Rechner zu finden ??, obwohl 
es im geladenen Beispiel aufgerufen wird. Auch das "Beispiel" selbst 
finde ich nicht auf meinem Rechner. Okay, ich kann eesp8266wifi von 
Github 
(/github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi/src) 
laden, aber dort und in den dort includierten Headerfiles kann ich 
(bislang zumindeest) nirgends eine Möglichkeit finden, eine feste IP 
vorzugeben. Ganz im Gegensatz zur wificonfig.h, die ich auch auf meinem 
Rechner finde. aber die wird von den ESP-Headern nicht aufgerufen...

Suche ich auf meinem Rechner nach ESP-Dateien, so gerate ich in die 
Firmata-Library, die aber auch die erwähnten Files nicht explizit 
enthält. Grübel...

Okay, meine Fragen zusammengefaßt:

- wo auf meinem Rechner (bzw. innerghalb der Arduino Files) finde ich 
esp8266wifi.h etc?

- in welcher von esp8266wifi.h aufgerufenen und nachfolgenden 
aufgerufenen  Headerdatei habe ich die Möglichkeit, eine feste IP 
vorzugeben (analog zur wificonfig.h).

Ach ja, ich programmiere meine Sachen bislang in Standard-C. CPP ist 
nicht mein Ding. Habe ich dadurch etwas übersehen?

Bittet rettet mein WE. Danke.  Yogy

von ms (Gast)


Lesenswert?


von Michael U. (amiga)


Lesenswert?

Hallo,

Du machst Dir vermutlich das Leben am falschen Ende schwer.
Mak muß die Arduino-IDE nicht mögen, man kann µC usw. auch persöhnlich 
beim Registernamen ansprchen wollen usw.
Mache ich auch gern, habe auch "ganz unten" angefangen, 6800, Z80, 6502, 
AVR...

Nun zu Deinem Problem:
Arduino-IDE runterladen und installieren, wenn Du Windows benutzt, den 
Installer nutzen, der macht das schon richtig.

Nach dieser Anleitung:
https://github.com/esp8266/Arduino#installing-with-boards-manager
den Link unter Datei->Voreinstellungen in "Zusätzliche 
Boardverwalter-URL" reinkopieren.
Dann Werkzeuge-> Board->Boardverwalter
Liste aufbauen lassen und nach ESP suchen.

Beim Eintrag "esp8266 by ESP8266 Community" installieren auswählen.
Aktuell müßte noch die die Version 2.3.0 sein.
Anschließend die IDE beenden und neu starten.
Unter Werkzeuge->Boards sollte es jetzt die ESP-Module geben.

Daß die Dateien Sketche genannt werden und .ino heißen kannst Du erstmal 
ignorieren.
Projekte kommen in den Sketchordner, findet man unter Sketch-> 
Sketchordner anzeigen, kann man in den Voreinsteunngen auch voanders hin 
legen.

Zur festen IP: den Aufrauf entsprechend anpassen, z.B.
1
#include <ESP8266WiFi.h>
2
3
const char* ssid = "xxxxxxxx";
4
const char* password = "yyyyyyyy";
5
6
WiFiClient espClient;
7
8
void setup()
9
{
10
  WiFi.config(IPAddress (192,168,0,140), IPAddress (192,168,0,1), IPAddress (192,168,0,1)); // IP, Gateway, DNS
11
  WiFi.mode(WIFI_STA);
12
  WiFi.begin(ssid, password);
13
}

Ist jetzt nur aus einem Sketch von mir kopiert, WiFi.conig() muß 
natürlich in Deinem Sketch hinzugefügt werden, der Rest sollte so 
ähnlich schon da sein.

Der unschätzbare Vorteil der Arduino-IDE ist es, daß man das in 
kürzester Zeit zum Laufen bekommt. Über Detail des ESP8266 usw. kann man 
sich immernoch informieren, wenn man will.

Gruß aus Berlin
Michael

von Hanns-Jürgen M. (yogy)


Lesenswert?

@Michael,

vorab: Ich habe die aktuelle Arduino IDE mitsamt den Erweiterungen für 
ESP und WEMOS letzte Woche "frisch" installiert. Die Beispiele "Blink" 
und "Webserver" habe ich auch erfolgreich zum Spielen gebracht.,

Meine Frage bezog sich darauf, die Beispielfiles, Librrary-CPP und 
-Headerfiles auf meinem rechner aufzufinden (Suchefunktion des 
Explorers), das funzt aber nicht.

Gruß vom Westpol nach Berlin (bin in zwei Wochen wieder dort...)

Yogy

von Michael U. (amiga)


Lesenswert?

Hallo,

wenn Du Windows 7 benutzt:
%appdata%\Local\Arduino15\packages\esp8266\...
usw. müßte bei späteren Windows ähnlich sein.

Ich hatte bisher selten Grund, da "nachzuschlagen".
Die Beschreibungen der üblichen Funktionen entsprechen denen der 
Arduino-Libs, WiFi z.B. https://www.arduino.cc/en/Reference/WiFi

Ausnahmen sind normalerweise bei 
https://github.com/esp8266/Arduino/blob/master/doc/reference.md zu 
finden.

Natürlich kann man auch gleich ganz tief einsteigen, nur dafür habe ich 
meist die Zeit nicht und damit geht es bei mir nur ans "Eingemachte", 
wenn Beispiele usw. überhautpt nicht machen, was sie sollten. ;)

Der entscheidende Nachteil ist dann, daß man seine Umbauten selber 
pflegen muß, bei jedem Update Ärger und Nacharbeit ins Haus steht usw.

Die Zeit, wo ich alles selber geschrieben habe, ist irgendwie vorbei.

Gruß aus Berlin
Michael

von Johannes S. (8n1)


Lesenswert?

Wenn du den ESP8266 mit der Arduino IDE programmieren willst findest du 
eine umfangreiche Beschreibung aller Klassen, Methoden, Parameter usw. 
bezüglich WiFi hier:
https://github.com/esp8266/Arduino/tree/master/doc/esp8266wifi
Wie das mit der statischen IP funktioniert steht dann bspw. hier:
https://github.com/esp8266/Arduino/blob/master/doc/esp8266wifi/station-class.md

Die Dokumentation ist echt Top!

von Hanns-Jürgen M. (yogy)


Lesenswert?

So, Update:

WeMOS (ESP) funktioniert nun mit fester IP. Dank Eurer Tips. Morgen u/o 
So versuche ich mich an der WiFi -> RS232 Bridge..
@Michael.

Nun, ich macher gerne "alles" selber. Zumindest, wenn ich die Zeit dazu 
habe. Außerdem programmiere ich (nahezu) ausschließlich für mich selber.

Der Vorteil des "Selbermachens" bzw. "Selbergemachthabens"

Ich weiß, was das System macht und was es machen soll.
Die Definitionen können von mir frei festgelegt werden.
Ich muß nicht mir unbekannte Libraries einbinden und deren Nomenklatur 
"lernen". Das ist besonders hinderlich, wenn Libraries verschiedener 
Quellen gemischt werden.

Nun, letzteres wird bei Arduino wohl eher nicht der Fall sein. Aber was 
ist bei einem Umstieg auf eine andere Plattform?

Zum Beispiel war mein erstes eigenes Projekt in "C" eine 
Heizungssteuerung mit "Netzwerkanschluß"  (eigene "Norm" mit UART 
Protokoll), die ich im Jahr 1993 auf Basis meiner 
Assembler-Vorgängerversion (ohne Schnittstelle) realisierte (Motorola 
68HC11A1). Die damals neu erstellten Routinen bildeten den Rumpf meiner 
Libraries. Im Jahr 2002 baute ich eine neue Heizungssteuerung (Basis 
Motorola 68HC11F1) für die in unserem neuen Haus deutlich komplexere 
Mehrkreis-Heizungsanlage. Die Libraries wuchsen mit.

2010, die HC11s waren nicht mehr lieferbar und eine alten 
Prozessorplatinen waren aufgebraucht, suchte ich einen kostengünstigen 
und leistungsfähigeren Nachfolger und wurde bei den Arduinos fündig. 
Auch hier nutz(t)e ich meine "alten" Libraries, wenn ich auch nach und 
nach einzelne Routinen überarbeite u/o Variablenbenennungen 
modernisiere.

So, jetzt ist "Feierabend", das Bier wartet.

Prost, Yogy

von Hanns-Jürgen M. (yogy)


Lesenswert?

Final Update...mit Erfolgsmeldung

Aber zunächst meine besten Neu-Jahrswünsche für euch. Möge 2017 Euch 
Glück, Erfolg und Gesundheit bringen.

Zum Thema:

Nach mehreren Stunden hatte ich die Übertragung über TCP laufen. Das 
PS-Testprogramm (Visual Basic) mit TCP Protokoll hatte ich ja schon und 
die WeMos/Arduinn-Geschichte ging aúch ganz gut.

Aber TCP benötige ich für die paar Bytes eigentlich nicht und so 
versuchte ich, das ganze mit UDP zu realisieren. Auch das habe ich 
schlußendlich hinbekommen. Auf dem WeMos ging das auch recht zpürgig, 
aber mit VB, das ich nur sporadisch nutze und von dem ich eigentlich 
keine Ahnung habe, hatte ich so meine Schwierigkeiten. Aber, egal, nun 
kann ich die Binaerprokolle via UDP und dem WeMos als WiFi - RS232 
Interface mit der heiozungssteuerung  austauschen. Heureka.

von GuppyMeister (Gast)


Lesenswert?

https://wiki.openwrt.org/toh/unbranded/a5-v11

Kostet 6 €, dazu das quelloffene Linux ser2net installiert und fertig 
ist die Laube.

Unglaublich was Du da für Umwege mit deinem ESp und Arduino Gerotz 
anstellst.

Kopfschüttel

von GuppyMeister (Gast)


Lesenswert?

Wenn Du mir im Gegenzug einen neuen a5-v11 sendest, hast Du am Wochende 
eine funktionierende Lösung im Postkasten ;-)

von Andreas B. (bitverdreher)


Lesenswert?

Warum machst Du nicht das, was Thomas vor 2 Monaten schon erwähnt hat:
http://jeelabs.org/book/1526b/
https://github.com/jeelabs/esp-link
Draufspielen und fertig.
Auf PC Seite unter Linux socat und unter Windows gibt es da auch ein 
Program um die serielle schnittstelle über das WLAN zu simulieren.


Gruß
Andreas

von Hanns-Jürgen M. (yogy)


Lesenswert?

FINAL:

Ich glaube, Ihr habt einfach nicht verstanden, was ich will und 
benötig(t)e.

Die Heizungssteuerung hat eine RS232 Schnittstelle, die über ein 
proprietäres Binärprotokoll angesteurt wird.

Das Steuerprogramm für Windoof hingegen ist eine existierende 
Visual-Basic Anwendung.

Also nix mit Webbrowser oder so'n Zeug!

Gesucht habe ich eine Lösung, die RS232 Leitung gegen einen WiFi to 
RS232 Converter auszutauschen. Und das geht nun mit dem ESP/WeMOS 
wunderbar. Die Aufgabe ist damit gelöst.

von GuppyMeister (Gast)


Lesenswert?

Zumindst hast Du meinen Vorschlag anscheinend nicht verstanden.
Das tut genau das, was Du möchtest.
Eine bidirektionale transparente RS232 zu Ethernet /WIFI Brücke.

von Andreas B. (bitverdreher)


Lesenswert?

Das gleiche gilt für die SW von Jeelabs. Daß man diese transparente 
Bridge mit einem Webserver konfigurieren kann, ist ein zusätzliches 
Feature.

Gruß
Andreas

von GuppyMeister (Gast)


Lesenswert?

er rafft das nicht....

von Jobst M. (jobstens-de)


Lesenswert?

Hanns-Jürgen M. schrieb:
> Ich glaube, Ihr habt einfach nicht verstanden, was ich will und
> benötig(t)e.

Dann hast Du entweder Dein Problem so beschrieben, dass man es nicht 
verstehen kann oder Du hast nicht verstanden, dass bei den Antworten 
genau die Lösungen dabei sind, die das beschriebene Problem einfach 
lösen.

Oder Du hast eine Lösung gefunden, die Du ganz toll findest, weil sie 
von Dir ist. Und Dir gefällt es nun nicht, dass die Leute Deine Lösung 
nicht toll finden.
Und deshalb versuchst Du nun den Leuten zu erzählen, dass deren Lösungen 
falsch sein und sie das Problem nicht verstanden hätten.


An Deiner Stelle hätte ich die vorhandenen Leitungen zusammen mit 2 
analogen Modems (zur Not aus der Bucht für'n Euro) im Standleitungsmodus 
benutzt. Das wäre in 10~30 Minuten aufgebaut gewesen und hätte 
funktioniert.

Oder habe ich Dein Problem auch nicht verstanden?


Du hast nun eine Lösung. Und Du wirst sie vermutlich für eine einfachere 
Lösung auch nicht wieder abbauen. Wenn der Weg und auch der Lernwert mit 
ein Ziel waren, dann ist das vollkommen okay, damit kann man leben. Aber 
versuch uns nicht für blöd zu verkaufen.


Gruß

Jobst

von GuppyMeister (Gast)


Lesenswert?

@Hanns-Jürgen M. (yogy)


Das hast Du gut auf den Punkt gebracht.

Aber Du hast das Problem leider nicht verstanden ;-)

HIHI

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.