Forum
Ahoj,
jak jsem tady již avizoval dříve tak konečně se mne podařilo dodělat můstek pro připojení Quida přímo pomocí LoxoneLink. Vše je funkční na nové verzi miniserveru ( >= 10) t.j. toho který šifruje komunikaci, respektive ověřuje zda je zařízení ve vaší LoxoneLink síti skutečně vaše.
Arduino přes LoxoneLink(CAN) vytvoří 5 DI extension, a pak na těch 5 posílá výstupy Quida které je připojeno pomocí ETH a UDP Spinel protokolu. t.j. na první di extension 1-20, na druhý 21-40, atd atd.
- V současné době chci přidat ještě nějakou možnost konfigurace přes SD kartu, momentálně to je natvrdo v kódu.
- Dále přidat podporu pro RS485 aby se dalo použít i levnější QUIDO.
- Dále by se mne hodil frekvenční vstup, což Quido umí, respektive umí počítat impulzy. také to nebude problém.
Proč to tak vlastně dělám a nepoužiji můstek zde zveřejněný pomocí PicoC, dokonce jsem si jej i koupil a používám, ale chtěl sem to vyřešit tak aby pokud se něco někdy stane, tak to byl někdo schopen rozchodit i beze mne. t.j. prostě koupil 5 DI Extension od Loxone, vyrval Quido a jen přeházel ty vstupy, což bude už hračka..
Základ je pro všechny zařízení LoxoneLink stejný, takže není problém přidat například RelayExtension.
Tree jsem zatím neportoval protože jsem je nepotřeboval, každopádně to už není problém.
Musím konstatovat, že koupě těch 5 DI extension by byla levnější než ten večerní čas tomu věnovaný, no ale proto stavíme domy a dáváme do nich svépomocně Loxone protože nás to prostě baví....
Ještě dodělám nějaké úpravy a pak dám pravděpodobně k dispozici...
Zde ukázka funkčnosti, omluvte zhoršenou kvalitu obrazovky nějak se mne to mázlo ...
https://uloz.to/file/ru4GCXC6Mvo7/img-3778-mov
Velké díky patří samozřejmě tomu bez koho by to fakt nešlo:
https://github.com/sarnau/Inside-The-Loxone-Miniserver
Hlavně díky za vyřešení problému šifrování, škoda, že byla implementace pro STM32 zveřejněné nedávno, první verzi jsem portoval pomocí toho zveřejněného Python scriptu grrrr to mohli bejt ty koupené extensions.
Honza
Aky pouzivas HW na CAN ?
Nebolo by jednoduchsie vstupy spravit priamo na Arduino?
- tak v quido které mám jich je 100
- jsou galvanicky odděleny
- napájejí se 24V
- není potřeba už řešit nic hardwarového, arduino, ethernet a CAN jen zaklapnu do sebe
Pokud bych to řešil takto tak jedině 1 arduino = 1 DI extension, plus udělat nějakou desku, ale přiznám se rovnou na to sem levej. Ošetřit nějaké zákmity atd.... Quido je pro mne jednoduší, ale neříkám, že ta druhá varianta nebude lepší...
Ještě doplním, asi určitě bude existovat nějaké rozšíření pro arduino, nějaký IO Shield.
Každopádně připojení Quida zabralo asi 2 hoďky, mají zveřejněný kompletní C# zdroják spinel klienta a je to na pár řádků, největší čas mne zabrala ta Loxone část...
Tak to je nesmirne zajimavy pocin. Jak se to tvari v Configu? Bohuzel ve videu je tam z Configu jen kratky a rozmazany zaber.
Cize v Configu vidis aj status a aj verziu FW?
Predpokladam ze ked das update s configu tak to len arduino odignoruje.
Asi sa to do mensieho arduina ako mega nevleze?
Ano v configu vidíš to samé jako kdyby jsi měl originální extension.
tak jsou 4 možnosti, verze 2 funguje v pohodě, ostatní jen nastiňuji v případě problému jak by se dalo řešit.
- Pokaždé vystavím aktuální verzi kde je verze nastavena na tu aktuální
- Nastavím tam verzi třeba 20.0.0.0 a loxone to neřeší, předpokládám že tam bude v kodu něco jako aktualizuj pokud je verze extension menší než verze miniserveru (tak to mám já)
- Pokud používáte v arduinu ethernet, tak si pokaždé před startem extension načíst aktuální verzi pomocí ftp přímo z miniserveru
- Nechat si zaslat kompletní aktualizační data přes CAN a v nich se dá zjistit ta verze na kterou se aktualizuje, tu si uložit někam do eprom a pak restartovat arduino a spustit jej v té aktuální verzi co mám uloženou
Ještě k tomu arduinu momentálně při kompilaci se zobrazuje tato hodnota:
Program size: 22 288 bytes (used 9% of a 253 952 byte maximum) (2,79 secs)
Minimum Memory Usage: 1469 bytes (18% of a 8192 byte maximum)
předpokládám že se to tedy vleze i do menšíhokaždopádně to sem zakomentoval nalinkování SD.h, t.j. knihovna pro SD kartu, tak už se to tam nevleze:
Program size: 25 848 bytes (used 10% of a 253 952 byte maximum) (15,48 secs)
Minimum Memory Usage: 2078 bytes (25% of a 8192 byte maximum)
Určitě by se to dalo ještě optimalizovat
Zaujimave ze to nieje velke .
Je aj board pre Nano CAN aj LAN sheld.
Musim mrknut ten kod na github.
@honza, jak je to s rychlostí komunikace? Pokud jsem to pochopil, tak mezi Papouchem a Arduinem běží Spinel.
Máš tedy vyzkoušeno jen na nové výkonnější verzi miniserveru ?
Dost lidí muselo zůstat u starších verzí Loxone z důvodu zpomalování komunikace Loxone-Papouch (při použití můstku od L)..
Zkoušeli jste někdo komunikaci nové výkonnější verze Miniserveru a Papoucha pomocí můstku od L ?
Na MS2 bezi mustek i na posledni verzi Loxconfigu zase jako zamlada, tzn stovky event bez problemu (dle info od uzivatelu, sam mam MS1).
Diky rychlejsimu cpu, vice jadrum a vice pameti uz na novem MS2 neni problem s rychlosti PicoC, takze zvlada event loopu naprosto bezproblemu