ESP8266 + Shiftregister für mehr Eingänge

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
calcaneus
Junior Member
**

Beiträge: 8
Registriert seit: Feb 2017
Bewertung: 0
#1
05.02.2017, 12:59

Hallo,

ich habe einen ESP8266 01 und hab als Eingang nur CPIO2. Jetzt gibt es doch Shiftregister für mehr Ausgänge beim Arduino. Geht sowas auch anderstrum mit mehreren Eingängen/Ausgänge (für mehrere Sensoren am ESP8266 01)?

Hat jemand nen Tipp für mich?
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#2
05.02.2017, 14:31

Hallo Calcaneus,

erstmal herzlich willkommen im Forum. Viel Spaß hier!

Jetzt mal zu Deiner Anfrage. Wenn ich Dich richtig verstehe, dann hast Du NUR den ESP8266? Und möchtest direkt mit einem/mehreren Sensoren kommunizieren? Also läuft auch Dein eigenes Programm auf dem ESP? Sollte das so sein, sehe ich persönlich ein paar Probleme:

* Du hast nur GPIO2 übrig, also nur eine Leitung für die Daten vom Sensor
* Jeder Sensor liefert (vermutlich) Daten in einem eigenen Format
* Woher soll der ESP wissen, welcher Sensor gerade Daten liefert?

Diese Dinge fallen mir nach ersten Überlegungen auf.

Wenn Du natürlich die WLAN-Kommunikation und die Sensordaten über einen Arduino ziehst, könntest Du per SPI mehrere Sensoren nutzen. Sofern kein SPI möglich ist, könntest Du mit einem Schieberegister so etwas wie eine Umschaltung bauen, damit so etwas wie "Chipselect" möglich wird.

Es wäre ganz praktisch, wenn Du noch ein paar Informationen zu Deiner Idee geben könntest. Vielleicht ist es dann auch leichter, einen Plan zur Umsetzung zu machen.

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
calcaneus
Junior Member
**

Beiträge: 8
Registriert seit: Feb 2017
Bewertung: 0
#3
05.02.2017, 16:40

Meine Idee dazu:
Ich hab ein Wasserproblem im Keller. Deshalb wollte ich mir was bauen. Da bin ich über Arduino gestolpert und hab mir da mal nen Anfängerbausatz geholt und mich eingearbeitet. Nun wollte ich die Sensorinfos aufs Handy schicken, tja und dazu braucht man Internetzugang und deshalb bin ich auf den 8266 gekommen und war total begeistert, dass der "standalone" laufen kann. Da dachte ich mir " den Arduino kannst dir da ja sparen". Hier schliesst sich der Kreis mit meinem Post.

Gesendet von meinem GT-I9505 mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#4
05.02.2017, 20:33

Ok,

verstanden! Der ESP8266 ist in seinen unterschiedlichen Ausbaustufen unterschiedlich leistungsfähig. Du hast den 01er. Der hat nur zwei GPIO-Pins. Also theoretisch für zwei Sensoren. Du hast aber nur noch einen GPIO übrig. Da sehe ich ehrlich gesagt keine Möglichkeit mehrere Sensoren abzufragen. Du benötigst mindestens noch einen GPIO, um die Sensordaten von den Steuersignalen für eine "Umschaltelektronik" zu trennen.

Aber selbst dann habe ich spontan noch keine Idee, wie eine Lösung wirklich aussehen könnte.

Alternativ könntest Du natürlich auf den Arduino verzichten, und den ESP8266 direkt an einen ATMega328 oder ATMega168 anschließen. Du hättest eine serielle Schnittstellt für den ESP8266 und Du könntest mehrere Sensoren abfragen.

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
calcaneus
Junior Member
**

Beiträge: 8
Registriert seit: Feb 2017
Bewertung: 0
#5
05.02.2017, 20:53

Super. Vielen Dank für die Info. Ich kuck mir das mit ATMega mal genauer an.

Gesendet von meinem GT-I9505 mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#6
05.02.2017, 20:57

Der ATmega ist der Chip, der auf dem Arduino steckt. Das hatte ich vergessen zu erwähnen. Und er funktioniert auch bei 3,3 Volt.
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#7
06.02.2017, 14:59

Hallo Calcaneus,

schau mal hier: http://micro-dev.de/wiki.php?wid=8
Da ist so einiges zum ESP8266 erklärt.

Beigefügt habe ich noch einen kleinen Schaltplan. Und zwar ohne Arduino. Einfach nur mit einem ATMega 328. Das Ganze mit 3,3 Volt Betriebsspannung.

Vielleicht hilft Dir dieses Beispiel ja bei Deinen Überlegungen.

Gruß
Uni


Angehängte Dateien Thumbnail(s)
   
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
(Dieser Beitrag wurde zuletzt bearbeitet: 05.09.2017, 19:30 von Unilein.)
Zitieren
calcaneus
Junior Member
**

Beiträge: 8
Registriert seit: Feb 2017
Bewertung: 0
#8
06.02.2017, 23:05

Das schaut gut aus. Danke

Gesendet von meinem GT-I9505 mit Tapatalk
Zitieren
calcaneus
Junior Member
**

Beiträge: 8
Registriert seit: Feb 2017
Bewertung: 0
#9
07.02.2017, 16:36

Nach langem hin und her habe ich mich entschlossen den Arduino in Kombination mit dem ESP8266 und einigen Sensoren zu nehmen. Mir geht es primär erstmal darum die ganze Suppe wie gewünscht zum Laufen zu bringen. Habe 6h nach Arduino und ESP8266 gegoogld und bring das Ding so net zum Laufen.

Mir fehlts noch aweng an Verständnis. Meine Überlegungen:

1.) Arduino steuert alles
2.) Arduino steuert die Sensoren und nimmt die Einträge in der DB (Logging) vor - ESP8266 ist nur für die Internetverbindung des Arduino und evtl. für Zeit und DNSServer

Den ESP8266 alleine hab ich ja schonmal zum Laufen gebracht. Das ist kein Problem. Die Probleme fangen erst an sobald ich den mit dem Arduino verknüpfe.

Vielleicht bin ich auch einfach nur gerade betriebsblind und sollte mal ne Stunde Radfahren gehn...
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 741
Registriert seit: Apr 2014
Bewertung: 5
#10
08.02.2017, 22:27

Sorry,

gestern leider keine Zeit mehr für eine Antwort gehabt.

Der Plan könnte wie folgt sein:

Bauteile:
* Arduino (oder ATMega168 oder 328, oder eine anderer mit Unterstützung serieller Kommunikation=
* ES8266 (Version ist letztendlich egal. Es reicht aber die Version 01)
* Sensor(en)
* ein paar zusätzliche Bauteile wie Spannungsregler, Pullups, evtl Quarz und Kondensatoren (geht aber auch ohne Quarz)

Funktionsweise:

Der Arduino ist der Master. Das Programm läuft auf dem Arduino (oder dem ATMega). Die Sensoren sind am Arduino angeschlossen. Der ESP8266 ist am Arduino angeschlossen (An einem seriellen Port des Arduino). Das Programm initialisiert den ESP8266 (SSID, Passwort, Geschwindigkeit, usw). Das Programm auf dem Arduino liest die Daten vom Sensor bei Bedarf und sendet diese über den seriellen Anschluss zum ES8266, der die Daten dann irgendwohin überträgt (Oder als Webserver fungiert).

Für den Arduino benötigt man für die Kommunikation dann eine Lib, die serielle Kommunikation bereit stellt. Und für die Sensoren auch die jeweils passende Lib. Für den ESP8266 gibt es selbstverständlich auch eine passende Lib. Ist also auf der Arduino-Plattform kein Hexenwerk.

Mit einem einzelnen ATMega sieht es ein wenig anders aus. Da ist ein wenig mehr notwendig. Die eine oder andere Lib kann auch mit dem Atmel Studio verwendet werden. Die Programme werden in C, C++ oder in Assembler entwickelt. Ein wenig komplizierter, aber dafür effektiver.

Hoffe, das es ein wenig hilft.

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste