Bastelprojekt WLAN RGB Controller für ca. 6€

Begonnen von Samsi, 28 Februar 2015, 13:16:07

Vorheriges Thema - Nächstes Thema

mrpj

Hmm,

seltsam - ich benutze leider die aktuelle 7.5 Version - werde es später mal mit einer 7.2 probieren.

Kannst du denn die *.sch öffnen?

PeMue

Hallo,

mit Eagle v7.3 (voll) geht es.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Pf@nne

Zum PWM:

die Hardware mit MOSFETS direkt am GPIO hat schon was.
Sind das eigentlich FETs mit integriertem Treiber?

Wenn da noch Bedenken wegen der PWM bestehen...
was würde gegen einen I2C PWM Treiber sprechen?
Das wäre dann hardware PWM, da sollte dann nix mehr flackern.
FHEM auf: DS415+ (Master), Raspberry Pi 2

Garagenhaus

#213
OK Fehler gefunden. Habe auf Git Hub mit rechte Maus "save as" versucht den File runterzuladen. Wenn ich die Zip Funktion benutze geht es. Strange strange
Edit: Rechte Maustaste "save as" auf "Raw" geht auch.

mrpj

#214
Zitat von: Pf@nne am 08 Februar 2016, 17:35:34
Zum PWM:

die Hardware mit MOSFETS direkt am GPIO hat schon was.
Sind das eigentlich FETs mit integriertem Treiber?

Was verstehst du unter Treiber?

Die verwendeten Mosfets sind "Logic Level". Sprich sie schalten voll bei geringeren Spannungen durch.

Datenblatt IRLZ44N


Zitat von: Pf@nne am 08 Februar 2016, 17:35:34
Wenn da noch Bedenken wegen der PWM bestehen...
was würde gegen einen I2C PWM Treiber sprechen?
Das wäre dann hardware PWM, da sollte dann nix mehr flackern.

Ich habe wie gesagt kein einziges Flackern bisher erkennen können. In diesem Github Issue wird davon berichtet. Es ist wohl ein Software Fehler und kommt bei kleinen Werten vor

Ich teste heute Abend mal kleine Werte und beanspruche das Wifi nochmals.

Zwischen Dezember/Januar wurden aber auch ein paar fixes zu PWM eingebaut
https://github.com/esp8266/Arduino/pull/1391

Meine Vermutung ist vielmehr, dass die Leute in dem issue zu pwm noch viel mehr Code auf dem ESP laufen haben, der einiges blockiert. Beim herumspielen hatte ich auch mal das ein oder andere delay(); in meinem Code und das hat auch einiges stocken lassen.

Nachtrag

Und es hat auch keiner seine Schaltung gepostet - sowas hängt auch von den Bauteilen die verwendet werden ab  ;)

herrmannj

ZitatIch habe wie gesagt kein einziges Flackern bisher erkennen können.
Kann ich bestätigen. Kein Flackern.

Ich hatte HSV2RGB und eine Kerzen-Flammen Simulation laufen.

vg
joerg

mrpj

Heya,

so ich hab mal etwas getestet - ich kann flackern erzeugen - dazu muss ich aber wirklich den ESP belasten.
Einfachste Methode - OTA update mit dem integrierten Webserver  ;D 8) - aber das verwundert mich auch nicht - denn der webserver blockiert den esp ganz schön und nutzt gleichzeitig noch wifi.
Sowas kommt im normalgebrauch nicht vor

Noch eine Sache wie man den ESP auslasten kann: kontinuierlich den ADC auslesen - das blockiert auch "lange" (relativ gesehen).
Merklich wird es nur  im unteren Bereich des PWM  (0-5 von 1023).

Das mit dem ADC ist etwas unschön - macht die PowerFail Erkennung später schwieriger.... Mal sehen vielleicht lässt sich da ja auch noch einiges optimieren

Hauswart

#217
Ich habe diesbezüglich eine Frage:
ZitatEinfache Konfiguration via Webbrowser

       
  • Wenn der Controller zum ersten mal angeschaltet wird, startet er im AP Modus (SSID rgbww-***). Man kann sich dann mit dem Smartphone/Tablet/Laptop verbinden, die Zugangsdaten zum HomeWifi und weitere Optionen (IP etc.) eingeben und er startet neu und verbindet sich. (Bei einem Neustart sucht er automatisch nach dem gespeicherten WiFI, falls dies nicht gefunden wird, startet er wieder im Accesspoint Modus und man kann in z.B. rekonfigurieren)[/l][/l][/l][/l][/l][/l]
Finde ich auch Security Sicht supoptimal. Thema Hacking: Ist sende zum ESP ständige Deauths zum HomeWifi (und sorge für eine Reboot des ESP
[falls überhaupt notwendig]), schon kann ich mich darauf verbinden und die Daten (inkl. HomeWifi Zugangsdaten) auslesen?





PR ist raus :)  Jetzt muss ich den Thread mal durchlesen, welche kostengünstigen LED-Bänder dafür zu empfehlen sind...
[/list]
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

mrpj

#218
Zitat von: Hauswart am 09 Februar 2016, 09:08:30

Finde ich auch Security Sicht supoptimal. Thema Hacking: Ist sende zum ESP ständige Deauths zum HomeWifi (und sorge für eine Reboot des ESP
[falls überhaupt notwendig]), schon kann ich mich darauf verbinden und die Daten (inkl. HomeWifi Zugangsdaten) auslesen?
Spannendes Thema  :D

Diese bedenken kann ich nicht teilen, denn es gibt zu keinem Zeitpuntk die Möglichkeit das Passwort auszulesen. (Nur wenn du physischen Zugriff auf den Controller hast und den kompletten Controller ausliest).

Wenn der Controller sich nicht zum letzten gespeicherten Netzwerk verbinden kann, startet er nach einem timeout von ca. 120s das Konfigurationsportal im Accesspoint Modus. In dem Portal kann man sich nur mit neuen Zugangsdaten verbinden, aber keine Daten auslesen.

Es gibt in der WifiManager Bibliothek noch die Möglichkeit ein Passwort für den AccessPoint zu definieren. Der AP ist dann mit WPA2-PSK gesichert für das Konfigurationsportal zu definieren. Aus meiner Sicht nicht zwingend notwendig - bietet mMn keinen Vorteil/mehr Sicherheit



Es gibt die Möglichkeit einer Attacke:
1) Der Angreifer schafft es, dass der Controller neustartet und es in dem timeout nicht schafft mit dem hinterlegten Zugangsdaten bei einem Accesspoint anzumelden

2) Der Angreifer verschafft sich via BruteForce zugang zu dem Accesspoint (sehr unwahrscheinlich). Ist mit desem verbunden und wartet darauf bis man sich selbst verbindet um die Zugangsdaten für das Heimnetzwerk einzugeben
Der Angreifer lauscht nun in dem ungesicherten Wlan des ESP mit und warte darauf bis der Nutzer dort seine Zugangsdaten eingibt.

Lässt sich aber ganz einfach verhinden, indem man seinen Controller neustartet. Er verbindet sich dann automatisch mit den letzten gespeicherten Zugangsdaten. (Wenn in diesem Zeitraum der Angreifer den Router immernoch mit requests blockert, dürfte man das im allgemeinen Netzwerk auch bemerken)

Hauswart

Zitat von: mrpj am 09 Februar 2016, 10:11:36
Diese bedenken kann ich nicht teilen, denn es gibt zu keinem Zeitpuntk die Möglichkeit das Passwort auszulesen. (Nur wenn du physischen Zugriff auf den Controller hast und den kompletten Controller ausliest).
Okay, d.h. via Wlan kann ich nicht die FW auslesen? Auch wenn die OTA-Update zur Verfügung steht? Oder steht dies alles erst zur Verfügung, wenn ich einen neuen AP definiert habe? Sprich im default AP ist dies unterbunden?
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

mrpj

Im Moment ist es die "Erstkonfiguration" allen anderem vorgeschaltet. (siehe setup() Bereich)

OTA geht im Moment auch nur, wenn der Controller mit einem Router/Accesspoint verbunden ist.
Auch bei der OTA Webseite lässt sich ein passwort vorschalten.

OTA ist auch nur eine Webseite mit einem Datei Upload Feld - es ist also eine Einbahnstraße

Danke für den Impuls wegen Sicherheit - ich denke es ist nochmals wichtig diesen Punkt als ToDo fest zu halten und bei der Implementierung zu berücksichtigen. Spätestens wenn v1 fertig ist, wäre ein überprüfen eine gute Idee.

Hauswart

Vielen Dank für deine Erläuterungen, dann muss ich mir nur noch überlegen, welche Bestellvariante ich bevorzuge und wie viele bzw. welche LED-Bänder ich mir anschaffe.... :D
1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

ext23

Zitat von: mrpj am 08 Februar 2016, 10:50:32
die arduino lib für den esp nutzt 1khz 10bit pwm als default - siehe https://github.com/esp8266/Arduino/blob/master/doc/reference.md#analog-output

1kHz ist sehr gut, wenn er das sauber schafft bei 5 Kanälen gibt es da nichts zu meckern. Bei 1kHz sollte man aber EMV beachten, also Widerstände vor die MOSFETs in entsprechender Dimensionierung um die Flanken etwas abzuflachen.

Btw. ich hätte allgemein noch ein paar Feature Requests für die Software Entwicklung:

- SSL für die Kommunikation
- Eventuell WLAN via Radius
- IR Empfänger (Um normale IR Fernbedienungen weiter zu nutzen (WAF))
Da war noch was, aber das fällt mir gerade nicht ein.

Gibt es eigentlich das ganze auch als LAN Version?

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Zitat von: Pf@nne am 08 Februar 2016, 17:35:34
Zum PWM:

die Hardware mit MOSFETS direkt am GPIO hat schon was.
Sind das eigentlich FETs mit integriertem Treiber?

Wenn da noch Bedenken wegen der PWM bestehen...
was würde gegen einen I2C PWM Treiber sprechen?
Das wäre dann hardware PWM, da sollte dann nix mehr flackern.

Direkt am GPIO? (Ich hab mir das schematic noch nicht angesehen) Da sollte aber auch ein Widerstand zwischen. Ich weiß ja nicht wie das C in den verwendeten MOSFETs so ist, aber da können beim Umladen recht hohe Ströme entstehen die ohne Vorwiderstand die GPIO Ports in die ewigen schicken kann...

Aber wenn der 1kHz sauber schafft, geht das auch per SoftPWM, ich denke das ist kein Problem.

/Daniel

HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

AxelSchweiss

#224
Zitat von: ext23 am 09 Februar 2016, 11:24:22
Gibt es eigentlich das ganze auch als LAN Version?

An einer LAN Version hätte ich auch Interesse.
Eventuell lässt sich ja in die Software/ESP noch ein W5100 oder ein ENC28J60 anflanschen.
Dann würde z.B. wenn LAN einen Link bekommt das WLAN deaktiviert. So ist das bei vielen der günstigen WebCams.
WLAN ist eben nicht LAN wenn es um die Verfügbarkeit geht.
(Ich habe z.B.: tageszeit- und witterungsabhängig sporadische Aussetzer bei meinem Mediaplayer)