Forum
pozrem nato , dik 😉
Má někdo ty 1-wire snímače zprovozněný na D1 mini? Mám jich tu několik, tak by se mi to docela hodilo, páč né všude mám UTP. Navíc je to trochu skladnější.
@vasut ano mam, nahraj si tam espeasy a potom popridavaj 1wire, controller udp do loxone a vybavene … slape to roky stabilne, pred tym som mam gateway cez arduino …
Zdar děcka,
pokračuju v dodělávání Web UI ke svým Arduinům.... Tentokrát tu mám na Arduino 1-Wire senzory + BH1750 (světlo). Automaticky to detekuje senzory, Arduino si piny a IDčka detekovaných senzorů ukládá do EEPROM. Pokud senzor odpojíte, ve web UI se ukáže error. V nastavených intervalech Arduino posílá UDP zprávy (JSON), které parsujete v Loxonu. Kdo chce, může otestovat v dev větvi na githubu
https://github.com/budulinek/arduino-sensors-udp-gateway/tree/dev
README jsem zatím neaktualizoval, zatím hážu jenom sem pár screenshotů. Jo a projděte si nastavení v advanced_settings.h
1-wire je "DS18x20". Pro popisky ve web UI (a pro identifikaci senzorů v JSON zprávách) používám názvy senzorů, nikoliv sběrnic. Nebo myslíte, že bych měl radši používat 1-wire (= sběrnice) nebo třeba Dallas (= bývalý výrobce)?
Takže piny pro 1-wire sběrnice nastavuješ tím "Bus Pin". V nové verzi už nastavování pinů zmizí, protože se mi povedlo zprovoznit automatickou detekci.
Ja som zacal najskor pozerat advanced_settings.h a tam som to nenasiel kde sa nastavuju piny. Uz to chapem, je to v UI.
Samotná I2C (A4 a A5) je fixní. Jednotlivé BH1750 senzory jsou identifikované svými ADDR piny. Jako ADDR pin si můžeš vybrat cokoliv kromě fixních pinů SPI a I2C sběrnice ("Available" ve screenshotu). ADDR piny není potřeba nikde definovat (ani ve skeči, ani ve web UI), arduino je detekuje samo. V JSONu pak dostaneš:
{"Type":"BH1750","Pin":"9","Illuminance":20}
To samé u SPI senzorů. SPI senzory (např. MAX31865) budou sdílet SPI sběrnici, jednotlilvé senzory jsou (budou) identiikované svými CS piny. Opět, chci Arduino naučit, aby je samo identifikovalo (work in progress...).
Co se týče 1-wire senzorů, ty jsou primárně identifikované svojí ID, ale zároveň i svým DATA pinem. Jako DATA pin můžeš opět použít jakýkoliv pin s nálepkou "Available". JSON:
{"Type":"DS18x20","Pin":"3","Id":"28FF8F347918010F","Temperature":26.937}
Co se týče názvů, moc se mi nechce dávat "1Wire" do toho levého menu. Ale možná by nebylo od věci dát "1WIRE" místo "DATA" do toho přehledu pinů.
Pokud to teda shrnu:
Samotné SPI a I2C jsou fixní. Flexibilní jsou tyto piny. Ty se pak ukazují v JSON a slouží k identifikaci jednotlivých senzorů. Zároveň je nemusíš nikde nastavovat, Arduino pozná, jestli je daný pin použit jako DATA (pro 1-wire senzory), ADDR (pro I2C senzory) nebo CS (pro SPI senzory):
- DATA (resp. 1WIRE) pro DS18x20 (více senzorů může sdílet jeden pin, k jejich rozlišení slouží ID)
- ADDR pro BH175
- CS pro MAX31865
Nová verze bude vypadat takto (zatím není na githubu):
Skusal som to skompilovat a mam hlasku.
"Málo dostupnej pamäte, môže nastať problém so stabilitou."
Mam to ignorovat? Kompilujem pre NANO.
vyriesil som to v advanced_settings.h
takto
//#define ENABLE_LIGHT
zatial light sensor nepotrebujem