duinozone.cz - Arduino a Raspberry fórum

Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Projekty / Ovládanie relé cez internet - NodeMCU/Arduino + Ethernet shield
« Poslední příspěvek od martinius96 kdy Dnes v 00:30:19 »
Ovládanie relé z internetu nie je príliš náročný projekt a môže byť prínosným najmä na sezónne spínanie z tepla domova/práce. Napríklad vianočné osvetlenie pred domom už nebude nutné zapínať ručne do zásuvky pred domom, ale jednoducho pomocou relé na 5V a Arduina. V jednoduchom web prostredí s prepínaním Zapnúť/Vypnúť je možné kontrolovať stav výstupu a pomenovať si výstupy podľa jednotlivých výstupov. Spínať je možné maximálne 230V pri 10A, čo stačí aj na osvetlenie v domácnosti. Systém nepracuje s manuálnym ovládaním výstupu (napríklad klasickým tlačidlom).

Na projekt je potrebné využiť Arduino (UNO) a Ethernet shield W5100, alebo iný modul s Ethernet konektorom. Systém funguje na pricípe sťahovania obsahu výstupov do Arduina. Arduino porovná prichádzajúci reťazec a vykoná akciu pre daný výstup. Mnou testované riešenie funguje s Ethernet shieldom W5100, testované aj s mikrokontrolérom NodeMCU, kde tiež systém fungoval spoľahlivo. Shield W5100 nepodporuje HTTPS! Riešenie funguje aj s webserverom na lokálnej IP vrámci LAN siete, do ktorej bude shield s Arduinom pripojený.

Web časť možné odtestovať tu: https://arduino.php5.sk/rele
Web časť dostupná i na Githube (bez parsera pre Arduino/k dispozícii parser pre NodeMCU): https://github.com/martinius96/ovladanie-rele
Ďalšie zaujímavé projekty nájdete na: https://arduino.php5.sk
2
Projekty / Re:Inteligentný dom - NodeMCU
« Poslední příspěvek od Jirka kdy Leden 10, 2018, 08:50:09 dopoledne »
Zdravím, mám jej v provozu (zatím jen tak zkušebně) cca 1,5 celkem bez problémů. Jediná potíž co se mi jeví je někdy start. Spínal jsem s tím jen topení a pár funkcí-zkušebně pro srandu na seznámení s možnostmi.
Jeví se mi zatím daleko spolehlivější jak David od Jablotronu.
Co se týká odběru je fakt, že to chce tvrdý zdroj. Ale stejně by to mělo být zálohované z aku. Takže ten by špičky měl bez problémů vykrýt.
3
Projekty / Re:Inteligentný dom - NodeMCU
« Poslední příspěvek od martinius96 kdy Leden 10, 2018, 08:33:22 dopoledne »
Zdravím, rád by som pomohol ale nemám s GSM modulom žiadne skúsenosti. Tie moduly nie sú až tak vyladené, často trpia zásekmi z napájania. Majú obrovskú špičku, pri pripájaní na sieť operátora majú odber 2A, Arduino má cca 60mA pri normálnom kóde, ten prúdový náraz je obrovský a je problém to ufiltrovať atď. Nemám s tým vôbec skúsenosti, neviem vám poradiť.
4
Projekty / Re:Inteligentný dom - NodeMCU
« Poslední příspěvek od seta1J kdy Leden 10, 2018, 08:28:49 dopoledne »
Zdraví,
přemýšlím o podobném i když trochu jinak. Uvažuji ovládat přes SMS, manuálně a režimy poněkud jinak.
Režimy :
1/ jsem doma (manuální zapnutí) = teplota např.20°C, vypnout alarm
2/ nejsem doma (manuálně,SMS) = teplota např. 15°C, zapnout alarm, zatáhnout žaluzie,...
3/ budu doma za 2hod. (SMS) = teplota 20°C (zapnuto pouze na 2hod.), zapnout alarm
4/ jsem doma - noc (manuálně) = teplota na 17°C, zapnout alarm (jen některá čidla)
5/ jsem doma - den (manuálně) = teplota na 20°C, zapnout alarm (jen některá čidla)

Úvaha : Budu mimo je zbatečné topoit na 20 ale až budu předpokládat návrat zapnu SMS režim 3. Při náhlé změně se po 2hod. přepne do režimu 2.
Mezi 4 a 5 třeba přepnout i pulzně časově (do 4 v 21,00hod.do 5 v 5,00hod.).
Zalévání a pod. musí fungovat stejně jestli doma jsem či ne.
5
Vědátorna / Re:graficky lcd display 128x64 encoder menu POMOC
« Poslední příspěvek od radoslav kdy Leden 07, 2018, 14:55:28 odpoledne »
hmm nikto nic?  :(
6
Projekty / HTTP parser s Ethernet Wiznet W5100
« Poslední příspěvek od martinius96 kdy Leden 06, 2018, 01:28:38 dopoledne »
Ahojte, tak sa mi konečne podaril parser pre Ethernet shield, ktorý dokáže z celej prijatej HTTP hlavičky vytiahnuť premennú, ktorá je uložená v Json súbore, alebo textovom súbore. Rád by som sa s vami podelil o výsledok. Parser bol skúšaný na jednoriadkovú premennú, na viacriadkovom súbore nebude fungovať, nakoľko je nastavený fixný riadok prijatej response na parsovanie.

S premennou je možné následne pracovať ako s textom, dá sa jednoducho porovnávať cez operátor == s jednoduchým if/else statementom pre vykonanie akcie.
Kód: [Vybrat]
if(readString=="VYP"){
  Serial.println("Vypnutie spotrebica");
digitalWrite(6, LOW);
  }else if(readString=="ZAP"){
  Serial.println("Zapnutie spotrebica");
digitalWrite(6, HIGH);
  }
Využitie napríklad pre ovládanie výstupov z internetu, toto riešenie je Webclient mód.

Sketch môže a nemusí fungovať pri všetkých správne. Je to z dôvodu nastavenia počtu riadkov prijatej response na konkrétne číslo. Response sa môže líšiť v závislosti od hostingu a od webservera, ktorý môže vracať rôzny počet riadkov HTTP hlavičky, ktorá môže byť "obohatená" o doplnkové hlavičky, hlavičky sa líšia aj v závislosti od enginu stránky, napríklad nginx, Apache atď. Testovaná hlavička bola na serveri php5.sk.
Nezabúdajte, že toto funguje iba na HTTP stránkach. S Ethernet shieldom W5100 sa na HTTPS stránku nepripojíte.
Kód: [Vybrat]
#include <SPI.h>
#include <Ethernet.h>
int led = 6;
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //fyzicka adresa MAC
char serverName[] = "www.arduino.php5.sk"; // webserver
IPAddress ip(192, 168, 2, 40);
EthernetClient client;
String readString;
int x=0; //pocitadlo riadkov
char lf=10; //line feed character
void setup(){
pinMode(led, OUTPUT);
if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    Ethernet.begin(mac, ip);
  }
  Serial.begin(9600);
}

void loop(){
if (client.connect(serverName, 80)) {  //starts client connection, checks for connection
    Serial.println("connected");
    client.println("GET /PHP_sk/preklady.txt HTTP/1.1"); //download text
    client.println("Host: www.arduino.php5.sk");
    client.println("Connection: close");  //close 1.1 persistent connection 
    client.println(); //end of get request
  }
  else {
    Serial.println("Pripojenie neuspesne"); //chyba ak nie som pripojeny
    Serial.println();
  }

  while(client.connected() && !client.available()) delay(1); //cakaj na data
  while (client.connected() || client.available()) { //pramenna
    char c = client.read(); //dostan bity z buffera
    Serial.print(c); //cela http hlavicka
    if (c==lf) x=(x+1); //pocitaj
    else if (x==12) readString += c; //nasa premenna

   }
if(readString=="Zapni"){
  digitalWrite(led, HIGH);
  }else if(readString=="Vypni"){
  digitalWrite(led, LOW); 
    }
    else{
Serial.println("Nepodporovana premenna.");
}
 
  readString = ("");
  x=0;
  client.stop(); //ukonc spojenie
  delay(5000); //pockaj 5s a vykonaj novu slucku loop
}
Vzorový sketch funguje, je univerzálny pre tento demo kód. Upravte si ho podľa potreby pre váš projekt.
Zmeniť výstup servera do súboru môžete hlasom/textom na: https://arduino.php5.sk/PHP_sk/ - používajte Google Chrome pre zadávanie hlasom.

Podporované príkazy:
Zapni všechno/Zapni/Zapni vše/Zapnout/Zapnout vše/Zapnout všechno
Vypni všechno/Vypni/Vypni vše/Vypnout/Vypnout vše/Vypnout všechno

Podpora/kontakt: Projekty, ktoré som realizoval a podporiť ma môžete prostredníctvom PayPalu na mojej stránke: https://arduino.php5.sk
7
Projekty / Inteligentné vykurovanie
« Poslední příspěvek od martinius96 kdy Leden 06, 2018, 01:26:14 dopoledne »
Ahoj, rád by som vám predstavil posledný projekt, ktorý som realizoval.

Projekt inteligentného vykurovania rieši:
Ovládanie kúrenia v dome na základe dát z internetu, kde sa realizuje logika, výpočty
Ovládanie 2 výstupov (termostat pece a vodné čerpadlo)
Príjem dát od teplomerov po One-Wire zbernici

Hardvér využitý pre projekt:
NodeMCU
6x DS18B20
2-kanálové relé

Technológie pre projekt:
AJAX - realtime dáta
PHP - výpočty a zápis do súboru
AJAX - realtime dáta
HTML, Bootstrap - vzhľad stránky (responzitivta)

Čo projekt ponúka?
Vzdialenú správu kúrenia v domácnosti
Možnosť prezerať real-time dáta
Možnosť prezerať a mazať log neúspešných prihlásení
Vzdialený reset dosky NodeMCU
Meniť názvy miestností, v ktorých sú umiestnené čidlá DS18B20
Nastavovať teplotu kúrenia s hysterézou 1°C
Login systém
Automatický alebo manuálny režim kúrenia
Indikátor spojenia s NodeMCU

Automatický režim
Režim rieši autonómne vykurovanie. Podľa referenčnej teploty sa spína termostat pri hysterzére 1°C
Príklad: Nastavená teplota: 20°C Pri 18,99°C sa zopne, kúri do 21.01°C.
Čerpadlo vody sa spína na základe vonkajšej teploty, ak je nižšia ako -10°C, zapne sa
Celá logika sa vykonáva na webserveri, NodeMCU si stiahne už iba ZAP/VYP pre daný spotrebič podľa nastavenej logiky

Manuálny režim
Klasický ZAP/VYP systém pre termostat aj čerpadlo vody
Oba výstupy môžu fungovať nezávislé na sebe (môžu byť v rôznych režimoch)

Screenshoty





Github
Projekt je dostupný na Githube: https://github.com/martinius96/inteligentne-vykurovanie
Používateľské meno: admin heslo: admin (možnosť meniť v root priečinku v index.php)
Záver
Projekt je veľmi ľahké prerobiť i pre Ethernet shield/upraviť pre svoje potreby

Podporiť ma môžete aj cez PayPal na mojej stránke, kde nájdete aj prehľad mnou realizovaných projektov: https://arduino.php5.sk
8
Vědátorna / Re:problém s nahrání programu do Attiny85
« Poslední příspěvek od astromik kdy Prosinec 29, 2017, 23:14:57 odpoledne »
Už si přesně nepamatuju, jak jsem to nakonec dokázal, ale myslím, že jsem nejdřív nějak spustil ručně ten soubor "post_install.bat" (s oprávněním jako správce).
A pak jsem ještě musel ručně ve Správci zařízení přidat nové zařízení "libusb-win32 devices" a k němu jsem pak vybral nějaký ten soubor "Digispark bootloader.inf".

Ale fakt už nevím jak přesně jsem to dělal.
9
Vědátorna / Re:problém s nahrání programu do Attiny85
« Poslední příspěvek od geshc kdy Prosinec 29, 2017, 22:02:46 odpoledne »
dík za radu ale já mám problém s tím ovladačem usb  jinak všechno mám připravené ale ten ovladač mě nepustí dál ... mám win10
10
Vědátorna / Re:problém s nahrání programu do Attiny85
« Poslední příspěvek od astromik kdy Prosinec 29, 2017, 20:19:34 odpoledne »
Já mám podobnou destičku s ATtiny85 (liší se jen tím, že se zasouvá přímo do USB díry v počítači).
https://www.ebay.com/itm/221889695650

Program je možné tam nahrát přímo přes to USB.

Do PC se ale musí nainstalovat ovladač.
Popis je tady:
  https://github.com/digistump/DigistumpArduino
 
Na Windows8.1 jsem měl nějaké problémy s omezenými přístupovými právy, tak jsem musel ten ovladač nainstalovat ručně.

  Obrázek:
    http://www.astromik.org/forum/digispark-drv.jpg

Když je všechno nainstalované v pořádku, stačí ve vývojovém prostředí kliknout na ikonu "Nahrát".
Pak je nutné zasunout (nebo vysunout a zasunout) tu destičku s ATtiny do USB a program se do do ní nasype.

  Obrázek:
    http://www.astromik.org/forum/digispark-ide.jpg

Stran: [1] 2 3 ... 10