Stránka 1 z 1

MEGA Virtuino a Ubidots

Napsal: 03 pro 2020, 10:35
od ripaxxx
Ahoj všem, prosím prvotně o radu, zda je to proveditelné a případně bych trochu zpřehlednil Scatch a vložil pro pomoc. Dělám projekt do domácnosti a zůstal jsem viset. Příklad použití: Tlačítkem rozsvítím světlo, mobilem (virtuino) zhasnu a zároveň můžu měnit i prahovou hodnotu z DHT pro ventilátor. Ale zároveň si z DHT posílat na cloud a případně sepnout kotel...
Mám to stavěné aby to jelo samostatně přes tlačítka a "doplňkově" spínání a změnu proměnných přes Virtuino (pohodlnost), které jede pouze ve vnitřní síti (nemám a nechci veřejnou IP). Nyní jsem chtěl rozšířit o monitoring DHT a případné sepnutí i mimo domov přes cloud Ubidots a nastal problém. Nejspíše se mi komunikace hádají a nefunguje ani jedno. Samostatně ano. Je vůbec možné aby mi jeden program jel jako server a druhý zároveň client? Jsem v koncích... :roll:
HW: Deska MEGA s ethernet shieldem 9100.
Děkuji a budu vděčný za jakýkoliv nápad.

Re: MEGA Virtuino a Ubidots

Napsal: 03 pro 2020, 14:58
od gilhad
Obecne je mozne, aby jeden program fungoval zaroven jako server i klient a sam jsem par takovych napsal.

Na druhou stranu splacat "jen tak nejak" dohromady par knihoven (jak je v Arduino svete bohuzel rozsireny zvyk) spis fungovat nebude, nez bude, protoze se mezi sebou nejspis budou prat o zdroje, navzajem se prerusovat ci blokovat a delat radu jinych necekanych interakci (rada knihoven tak nejak mlcky predpoklada, ze ma pro sebe cele Aduino a veci okolo se jim tak nejak vyhnou a budou si hrat jen tam, kde to te knihovne nevadi - pokud ty veco okolo jsou nejake blikani ledkama a tlacitka, tak to prochazi a casto prochazi i rada dalsich veci, at uz protoze si nahodou narokujou jen zdroje, ktere danou knihovnu nezajimaji, nebo protoze se "nahodou vetsinou" nestrefi naraz do oblasti problematickych - pak to "pada jen obcas nahodne"). Obdobne na tom jsou shieldy a jejich pristup k pinum.

Re: MEGA Virtuino a Ubidots

Napsal: 04 pro 2020, 16:29
od ripaxxx
Děkuji, já mám bohužel problém už se zahájením komunikací :( Na cloud se neodešle nic a telefon se mi nespojí s "arduinoserverem". Kdyby tu byl někdo kdo by se mi podíval ná kód byl bych vděčný. Stačí mi pouze zda mám správně nastavení komunikací. To když se mi rozběhne tak se s programem poperu....
Edit:
Tuto akci beru zpět. Už tak mám ten kód složitý a knihovny se pořád asi hádají...I jen přidělování IP dělá problémy. Jedna má snahu DHCP a druhou dávám fixně. Takže dle DHCP jsem druhou přiřazoval stejně ručně. Nejspíše to vyřeším MEGA na řízení domu a nějaké nano s wifi pro monitoring. Pak buď spojit linkou a nebo vyloženě povely drátem na piny MEGA. Jen jeden dotaz. Lze připojit jedno čidlo (např.DHT22) na dvě zařízení zároveň aby to fungovalo spolehlivě?

Re: MEGA Virtuino a Ubidots

Napsal: 04 pro 2020, 16:49
od pavel1tu
Já nepochopil co ti chodí a co ne ...
- rozchoď si to po částech, klidně zvlášť vyčítání čidel, zvlášť server, zvlášť klienta
- pak k základní části (vyčítání/ovládání) začni postupně přidávat ostatní věci co se týče komunikace

PS: pokud bez postupného ladění prostě "poslepuješ" kody z různých projektů/příkladů - nerozchodíš to. Vše si komentuj, piš kod přehledně, odesílání kudy program běží na Serial

Re: MEGA Virtuino a Ubidots

Napsal: 05 pro 2020, 18:02
od ripaxxx
Právě takto jsem to řešil...Slepoval...Problém mám už od začátku ten, že program (Virtuino - server) řízení domu funguje , než se do něj pokusím dopsat monitoring (Ubidots - client). Poté mi už ani jeden nenaváže komunikaci. Tím myslím se servery....Ale asi doopravdy půjdu cestou druhé desky se svou wifi. Odpadne toto a v případě změny cloudu nebudu muset extra sahat do hlavního programu....Budu si posílat pouze proměnné nebo povel na pin. Děkuji za ochotu pomoci, ale po zvážení to byla fakt blbost. V knihovnách se používají i stejné výrazy pro oba programy a asi by to nedělalo dobrotu i kdybych rozchodil komunikaci. Jen tedy prosím o tu poslední radu. Můžu si zapojit digitální čidlo např. DHT22 na dvě zařízení paralelně tak aby to fungovalo? Děkuji všem

Re: MEGA Virtuino a Ubidots

Napsal: 07 pro 2020, 15:12
od ondraN
DHT22 paralelně ke dvěma zařízením nepřipojíš (teda šlo by to, ale s dodatečným HW a nutností úpravy knihoven). Nejjednodušší cesta je použít čidla dvě těsně u sebe, aby měřily zhruba to samé.

Re: MEGA Virtuino a Ubidots

Napsal: 08 pro 2020, 05:04
od gilhad
IMHO by v pohode pripojit slo, pokud by obe zarizeni mela spolecnou zem, tolerovala stejne napeti a mela ty spravne knihovny - v podstate staci na zacatku sledovat tu linku,
- jestli behem 120uS klesne na nulu na asi 50uS, tak si to zrovna povida s kolegou a tak proste pockej, nez domluvi.
- jestli je dole na 100+uS, tak kolega zahajuje komunikaci a tak proste poslouchej a dozvis se hodnotu posilanou kolegovi
- jinak zahaj komunikaci sam

(jo a jeste tam je cosi o 2s, kdy to meri, takze asi je spravne zahajit komunikaci a pak jeste jednou za 2s a akceptovat az ta druha data - pokud jsi na lince pristihnul kolegu, tak jen pockat ty 2s a pak si o ta data zadat - uz by mela byt namerena - s tim, ze se zase koukas, jestli do toho nekeca kolega - pak je asi dobre ty 2s pockat, zda se o ta data neprihlasi on a kdyz ne, tak se prihlasit sam, pokud ho predbehnes, tak to zase pozna on a jen bude cist taky)

Pokud tohle budou delat vsechny knihovny, tak tam muze byt odberatelu kolik chce

Re: MEGA Virtuino a Ubidots

Napsal: 09 pro 2020, 06:02
od ripaxxx
Děkuji za cenné rady. Po nekonečném hledání i na zahraničních fórech jsem, kde se řešilo neco podobného jsem šel tedy jinou cestou. Dle "odborníků" tam je komunikace pro dvě aplikace jako server/client zároveň obtížná a problematická. Nakonec to vyladily, ale jen kód pro komunikaci byl šíleně složitý a obsáhlý. Možná by to fungovalo na nějaké jednoduché programy stylu jednou za čas něco pošli, ale já potřebuji jedno spojení bez prodlev. :(
Zatím testována osekaná varianta mého programu na MEGA a Ethernet Shield pro monitoring na CLOUD a Bluetooth modul připojen na Serial1 piny pro řízení. Komunikace byla funkční a bez výpadků. Nicméně předělávám program na hotovo a bluetooth kvůli dosahu zkusím zaměnit za ESP8266. Snad to půjde a nebude se mi něco hádat na TCP. Tato cesta se mi zatím jeví jako nejlepší. Vůbec mě nenapadlo, že můžu využít více sériových linek a zapojit modul "za stovku" :roll: Čidla si vyčtu do proměnné a teprve tu budu číst v obou programech. Tím odpadá problém s časy...

ps:Asi nejvíce mi pomohla rada o "slepování" příkladů. Šel jsem více do hloubky a snažil se číst a upravovat i knihovny a začalo to fungovat. Už jen třeba to, že zahájení komunikace stejného programu od jednoho autora knihoven je např. pro Bluetooth virtuino.run() a pro ethernet virtuinoRun(). :shock: To bych ještě překousl. Ale to, že samotná knihovna je napsaná úplně jinak a musí se předělávat v mém programu styl vyčítání a posílání pinů je smutné :x