German ESP32 relaisshield

weblint

New Member
Licensed User
Hallo,

ich komme irgendwie nicht weiter. Ich versuche über einen ESP32 eine 4 Kanal Relaiskarte anzusteuern. B4A bringt die Schaltbuttons auf ein Smartphone.

Hat das schon jemand gemacht?
 

pucki

Active Member
Licensed User
Das sind 2 Eier von der Selben Henne ;)

Das einen Ei ist B4A (Android) = Software für dein Handy.

Das andere ist B4R(R=Raspberry) aber muss man aber nicht so eng sehen. Die ist für die Programmierung deines ESP8266. Du benötigst noch die Arduino-Umgebung. Damit programmierst du den ESP8266.

Einfach gesagt.
2.) Mit B4A eines Software schreiben die beim Patschen auf ein Button das Wort "Relais-1" an die Wlan-Adresse deines ESP sendet. Fertig. ;)

2.) Mit B4R eines Software schreiben die dein ESP ins Wlan-Netz hängt. Gibt im Engl. Forum-Teil ein paar Beispiele . Dort codest du einfach eine Empfangsroutine die beim Empfangen des Wortes "Relais-1" (oder was auch immer) den Pin an den das Schaltsignal des Ralais anliegt auf HIGH schaltet. Wenn es klappt macht das Relais einfach klick (wenn was angeschlossen ist schaltet es durch) Bau dir zur Übung eine 3 V Glühlampe (oder LED mit Vorwiederstand) in einen GESCHLOSSENEN EIGENEN Stromkreis auf. Wenn es leuchtet ist das fein ;)

So einfach ist das.

Gruß

Pucki
 

DonManfred

Expert
Licensed User
Longtime User
So einfach ist das.
:D:D:D Wenn man weiss man man da tut. Für mich z.B. war dein geschriebenes zwar eine Rede von hyroglyphen, mystischen irgendwas. Aber ich denke, selbst ich habe verstanden was Du da vermitteln möchtest. Ich bin nicht so der Hardwaretype, also programmieren von Raspberry Pi, ESP8266 usw. Von daher ist das für mich vollkommenes Neuland. Ich muss zugeben, dass ich B4R zwar installiert aber nie verwendet habe. Da mir die Arduino umgebung fehlt habe ich es nicht fertig konfigurieren können.

Aber Danke für deinen Post. Er macht mir das alles besser verständlich. :)
 

pucki

Active Member
Licensed User
:D:D:D Ich muss zugeben, dass ich B4R zwar installiert aber nie verwendet habe. Da mir die Arduino umgebung fehlt habe ich es nicht fertig konfigurieren können.

Ok. ;)

Bisschen Hilfe gibt noch ;) Zuerst einmal : B4R ist ein nackter Compiler der irgendwas abliefert. B4R unterstützt KEINE Programmer (Das sind kleine Geräte die die Daten in den passenden Chip schreiben . Das machen Sier via "ch340-Serial-an-USB-Schnittstelle" per USB . Der Grund ist das es keine Serial-Schnittstellenstecker (die alten 2 reihig-9-poligen Stecker) mehr gibt die in PC's eingebaut werden. Ergo wir die CH-340-Treiber ein Com-Port zugewiesen und schon haben wir wieder eine Schnittstelle ;)

Erel macht folgendes. Er erstellt einen Code mit BASIC-Syntax geschrieben, und übergibt den an die Arduino-Software die sich mit 1000 Parametern aufrufen lässt.
Die Arduino-Software übernimmt nun den Job diesen Code zum Programmer zu senden (s.o.) der den Code dann in den Chip schreibt. Was auch der Grund ist, das du B4R sagst wo die Arduino-Software ist und welchen Chip / Board du ansteuern willst.

Das selbe Programm kannst du auch als einer Art C Code in der Arduino-Software schreiben. Allerdings ist das dann logischerweise eine andere Syntax die du erst mal lernen musst.

Davon abgesehen ist die Arduino-Software sehr zickig. Was bedeutet, Ein Code denn du unter 1.6.* geschrieben hast und perfekt läuft fliegt dir unter 1.8.* um die Ohren. Ich rede aus Erfahrung. Was einer der Gründe ist B4R zu benutzen. Der 2. Grund ist einfach das man nur ein paar neue Befehle lernen muss, aber die Syntax selbst und die Programmierlogik gleich bleibt. Beispiel " x = 0 : For i = 1 to 10 : x = x + 1 : Next x" funktioniert in B4A genauso wie in B4R. Das macht vieles einfacher.

NUN zum Thread-Problem.

Nun wird es richtig lustig. Der ESP8266 selbst kann NICHT angesprochen werden. ;) Es gibt allerdings 2 Varianten wie es geht.

1.) man kauft sich eine ESP8266-NODE-MCU (erkennt man IMMER am USB-Stecker on Board)
2.) Man hängt den "nackten" ESP8266 an einen anderen Einheit. (z.b. ein Arduino. Darüber kann man ihn dann Ansteuern)
Hier ist eine sehr brauchbare Erklärung für die Grundlagen.
https://www.mikrocontroller-elektronik.de/nodemcu-esp8266-tutorial-wlan-board-arduino-ide/

Hier ist der Link zur ARDUINO-Version. https://www.arduino.cc/en/main/software

Obwohl die Arduino-Software ursprünglich für die Arduinos entwickelt wurde, können damit auch über Plug-In's (Nehmt sich Boards - Boardverwalter) auch andere Chips programmiert werden. Bei den ESP8266 musst du der Arduino-Software das Board erst einmal "anlernen" Ich persönlich spiele gerade mit den ESP8266 (die NOD-Version) herum. Ich habe das Teil erst 12 Tage und bin mich am einarbeiten. Und mit den ATTINY-85 (ein 8 Beine Chip mit 8 KB Gesamtspeicher - mit ohne Tricks 5 programmierbaren Beinchen). Wobei du je nach Beinchen die sogar mit mit den I2C - Bus zuweisen kannst). Einfaches Beispiel. Ein Sensor (z.b. Temperatur an einen Pin angeschossen) wird ausgelesen und das Ergebnis via I2C Bus (braucht 2 Pins) an ein Display weitergeleitet zur Anzeige. Das selbst kannst du auch mit ein Arduino machen, nur der ist viel größer. Das ganze ist dann von Hand in SMD-Technik auf locker auf eine Fläche von 2 x 2 cm Platine zu packen inkl. Kabelanschluss des Display.

Willst du die Daten via Netzwerk auslesen hängst du besagten Sensor einfach an einen Pin des ESP8266 und schreibst bisschen Software (siehe Beitrag oben) und du bist mobil glücklich und musst nicht zum Display laufen.

So einfach ist das. Ach ja. Für das Jahr 2019 habe ich mir vorgenommen meine eigene Internet-UNABHÄNGIGE Sprachgesteuerte Home-Automation zu entwickeln und zu bauen. Geschätzte Kosten : ca. 150 Euro für das Start-System (Spracherkennung und eine Relais-Steuerung die eine Lampe anmacht. Der Rest ist dann sehr günstig.

Gruß

Pucki

ps: Sorry für den langen Text. Sollte eigentlich nicht sein.
 
Top