duinozone.cz - Arduino a Raspberry fórum

Poslední příspěvky

Stran: [1] 2 3 ... 10
1
Bastlírna / Re:Arduino Pro Mini spojenie s PC
« Poslední příspěvek od astromik kdy Listopad 13, 2017, 16:03:00 odpoledne »
... a nebude problém v tom, že v tom Arduinu Mini není bootloader?
2
Bastlírna / Re:Arduino Pro Mini spojenie s PC
« Poslední příspěvek od K.K kdy Listopad 13, 2017, 11:54:11 dopoledne »
Predajca pisal
To jsi kupoval u Vás?
Za 2 eura to asi nebude orginal?
Takže jsi to koupíl u překupníka.
Máš na zadní straně alespoň označené že je to na 5V?
3
Bastlírna / Re:Arduino Pro Mini spojenie s PC
« Poslední příspěvek od josa kdy Listopad 13, 2017, 11:21:23 dopoledne »
Dakujem. Predajca pisal, ze to je na 5v, kazdopadne sa mi do toho nepodarilo nic nahrat ani ood tym win xp, takze som sa na ro vykaslal, nestoja mi tie nervy za 2 eura
4
Bastlírna / Re:Arduino Pro Mini spojenie s PC
« Poslední příspěvek od K.K kdy Listopad 13, 2017, 11:12:11 dopoledne »
novější verze bývají na 3,3V jestli se nepletu.
Toto jsem trochu nepochopil?

Arduino mini jsou 2 verze 3,3, a 5V.
Když to kupují z činy tak radějí  připojit mezi GND a Vin cca 7-8V a změřit kolik je na Vcc.
A hned víš co Tí poslali  :)
5
Bastlírna / Re:Arduino Pro Mini spojenie s PC
« Poslední příspěvek od dreamer kdy Listopad 13, 2017, 10:58:35 dopoledne »
novější verze bývají na 3,3V jestli se nepletu. Zkusil bych tedy propojit s 3,3V na převodníku a případně bez DTR. DTR slouží jen k resetu Arduina, to lze nahradit alespoň pokusně stisknutím reset při programování. Ale je možné že napětí 5V Arduino nepřežilo.
6
Projekty / Inteligentný dom - NodeMCU
« Poslední příspěvek od martinius96 kdy Listopad 10, 2017, 23:07:09 odpoledne »
Dobrý večer všetkým, rád by som sa s vami podelil o projekt, ktorý som realizoval. Oslovil ma pán, ktorý chcel vyhotoviť projekt inteligentnej domácnosti na platforme NodeMCU so správou cez web. Tomu som samozrejme nemohol odolať a do projektu som sa pustil. Nakoľko sa jedná o projekt v platenej šablóne, zdrojové kódy web časti v tejto téme nebudú umiestnené.
Projekt riešil implementáciu týchto prvkov:
    Termostat s automatickým/manuálnym ovládaním z internetu
    Systém závlahy s automatickým/manuálnym ovládaním z internetu
    Ovládanie svetla cez internet + manuálne z domu vypínačom
    Ovládanie garážovej brány cez internet + manuálne z garáže tlačidlom
    Stav, či je auto v garáži
    Alarm domácnosti zapínaný z internetu
Použité moduly:
    DS18B20, teplota [/list]
      DHT12, vlhkosť[/list]
        HC-SR-04, ultrazvukový snímač prekážky[/list]
          HC-SR-501, Pir senzor pohybu[/list]
            8-kanálové relé, svetlo, brána, termostat, závlaha[/list]
            Web časť:
            Projekt web časti bolo zoznámenie sa s novou technológiou - Angular. Celá webstránka funguje na jednej PHP stránke, ktorá obsahuje množstvo javascriptu, ktorý dokáže generovať podstránky dynamicky, teda používateľ sa dynamicky premiestní na inú stránku, bez requestu na stránke, niečo v štýle Ajaxu. Tento systém spôsoboval problémy pri vykreslovaní dát AJAX-om na stránku, ktorá bola dynamický zmenená bez requestu. Na stránku som implementoval vykresľovanie real-time dát technológiou AJAX. Stránka ponúka dashboard, kde je tabuľka, kde je možné prehliadať v reálnom čase údaje o teplote, vlhkosti, stave brány, svetla, stave auta, alarmu. V prípade, že je alarm aktívny a zaznamená pohyb, na webstránke sa spustí hudobná slučka s alarm tónom. Okrem toho je možné do kódu doplniť aj odoslanie e-mailu na vybranú e-mailovú adresu, čo sa môže hodiť v prípade, že používateľ nemá práve stránku otvorenú a nachádza sa na smartfóne kdekoľvek na svete. Časť dashboardu ponúka aj výpis referenčných hodnôt, na ktoré sa systém v automatickom režime viaže. V prípade, že má používateľ nastavenú referenčnú teplotu na 21°C a má aktivovaný automatický režim, tak relé zopne termostat pri teplota 19°C a menej a kúri do dosiahnutia 22°C. Systém je modulárny a je jednoduché doprogramovať funkcionalitu iných senzorov a rozšíriť systém. V projekte som využil 2 dosky NodeMCU, nakoľko som o nich zistil nepríjemnú vec. Piny D8, D9, D10, SD3, SD2 nie je možné využiť. Hľadal som problém v napájaní, skúšal iné zdroje ale problém bol v pinoch.

            V prípade, že do dosky nahráte program, ten sa spustí a pripojíte senzory, všetko beží, ale akonáhle dosku reštartujete, tak nenabootuje. Pre systém, ktorý má byť schopný fungovať nepretržite a po výpadku elektrickej energie následne bežať sú tieto piny nepoužiteľné. Pin D4 je taktiež problémový, nakoľko je napojený na integrovanú diódu na doske. V prípade nahrávania programu tento pin ide striedavo do hodnôt LOW, HIGH... V prípade, že tam máte pripojený modul ako input, je možné, že ho to odpáli, alebo trvalo poškodí. Dosky NodeMCU vykonávajú requesty na stránku nezávislé od seba. Requesty sa vykonávajú na PHP súbory, )ktoré som umiestnil do samostatného priečinka, kde pristupujú iba NodeMCU dosky) realizujú pri zápise dát a pri update stavu, napríklad v prípade automatického režimu s kontrolou teplôt, vlhkosti real-time. Do requestu sa vloží aj nameraná hodnota a vkladá sa cez GET metódu do príslušného súboru. NodeMCU s knižnicou vie aj parsovať obsah txt súborov a vložiť ich do premennej, ktorú vieme následne porovnať. V prípade, že sa v súbore nachádza ZAP, zapne sa výstup. Hodnota v súbore sa zmení vždy pred prečítaním tohto súboru, keď NodeMCU updatuje stav, ktorý sa má nastaviť. NodeMCU doskáva odpoveď ZAP/VYP na základe porovnania hodnoty s referenčnom v Automatickom režime a v manuálnom na základe nastaveného stavu ZAP/VYP manuálne z webu.

            Mal som obavy, či to bude doska NodeMCU zvládať, skompilovaný kód zaberal cca 30% pamäte a takt procesora bol 80Mhz. Za dva týždne skúšobnej prevádzky som nezaznamenal žiaden výpadok, doska "nevytuhla". Skúšal som napájať prostredníctvom USB, kedy je možné na 5V napájanie modulov použiť priamo 5V z USB napájania, aj napájanie adaptérom, kde je možné zvoliť napätie 6-24V, napájal som na 9V a na napájanie po 5V bolo nutné využiť Vin pin, všetko fungovalo v poriadku. Jedna NodeMCU doska spravuje teplotu, termostat, vlhkosť, závlahu pir senzor. Druhá NodeMCU doska sa stará o stav auta v garáži, garážovú bránu, svetlo. Svetlo funguje na princípe schodiskového vypínača, preto je nutné použiť prerušenie na základe CHANGE na pine, na ktorom meriame, či je na žiarovke napätie. Funkciu schodiskového vypínača na strane NodeMCU robí rozpínacie relé na 8-channel relé module.

            Krízové situácie:
            V prípade, že realizujete takýto projekt je nutné premýšľať o tom, aké situácie môžu nastať. Výpadok internetu môže spôsobiť, že systém nebude vykonávať to, čo mu bolo nastavené, prakticky zotrváva v stave, v akom bol naposledy. V prípade, že internet nabehne, NodeMCU v nekonečnej slučke loop obsahuje while, ktorý pripojenie do internetu zabezpečí (získa IP adresu) inak sa kód nevykonáva ďalej.

            V prípade, že vypadne elektrina a následne sa späť nahodí, systém sa vždy najprv synchronizuje podľa internetu, vďaka čomu je možné zaručiť, že ak je nastavené uzavretie brány a je náhodou otvorená, tak sa okamžite uzavrie.

            Štandardný dopyt NodeMCU na PHP stránku GET metódou - funkcia odoslania teploty s výpisom aj na UART.
            Kód: [Vybrat]
            void send_teplota() {
              sensors.requestTemperatures();
              WiFiClientSecure client;
              if (!client.connect(host, httpsPort)) {
                return;
              }
              if (client.verify(fingerprint, host)) {
              }
              else {
              }
              String teplota = String (sensors.getTempCByIndex(0));
              String url = "/system/nodemcu/zapisteplotu.php?teplota=" + teplota;
              client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "User-Agent: NodeMCU\r\n" + "Connection: close\r\n\r\n");
              Serial.println("Odoslane: Teplota");
              Serial.println(url);
            }

            Štandardný dopyt NodeMCU na TXT  súbor, ktorý parsuje - porovnanie s podmienkami (rozpínacie relé, stav LOW ho aktivuje)
            Kód: [Vybrat]
            void get_termostat() {
              WiFiClientSecure client;
              if (!client.connect(host, httpsPort)) {
                return;
              }
              if (client.verify(fingerprint, host)) {
              }
              else {
              }
              String url = "/mojsystem/termostat.txt";
              client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "User-Agent: NodeMCU\r\n" + "Connection: close\r\n\r\n");

              while (client.connected()) {
                String line = client.readStringUntil('\n');
                if (line == "\r") {
                  break;
                }
              }
              String line = client.readStringUntil('\n');
              if (line == "ZAP") {
                Serial.println("Zapni termostat");
                digitalWrite(termostat, LOW);
              } else if (line == "VYP") {
                Serial.println("Vypni termostat");
                digitalWrite(termostat, HIGH);
              }
            }
            Tieto časti kódu sú základom systému, ktorý vie odosielať dáta a následne čítať textové súbory, v ktorých môže byť umiestnený text, hodnota, čísla.
            Príklad PHP súboru pre zápis teploty s ošetrením chybovej teploty spôsobenej zlým zapojením, problémovým čidlom:
            Kód: [Vybrat]
            <?php
             $teplota 
            $_GET["teplota"];
                 if(
            $teplota==|| $teplota==-127 || $teplota==85){
              echo'Neplatný údaj!';

             }else{
             
            file_put_contents('teplota.txt'$teplota);}
             
            ?>

            Vizualizácia web časti:



            Tipy: Webstránku je dobré zabezpečiť menom a heslom, v mojom prípade som využil statické zadanie mena a hesla, či viacerých priamo do PHP kódu, čo eliminuje napríklad SQL Injection útok.
            Možnosť rozšírenia do budúcnosti: Modulárny systém umožňuje pripojiť mnoho NodeMCU dosiek z celého sveta so správou cez centrálnu webstránku. Pridanie možnosti ovládania hlasom, iná šablóna v štýle Metro, mobilná aplikácia.
            V prípade, že chcete vytvoriť vlastný projekt a chcete použiť totožnú šablónu, nájdete ju na internete pod názvom ControlR. Kódy, ktoré sú tu publikované vykonávajú requesty na HTTPS stránky, takže je nutné použiť knižnicu WiFiClientSecure, kde je možné umiestniť aj fingerprint certifikátu do kódu, ktorý sa používa na stránke (SHA1, nie MD5). POZOR! Po uplynutí fingerprintu a vystavení nového certifikátu s iným fingerprintom nebude prenos na stránku úspešný. Následne je nutné zmenu fingerprintu pozmeniť aj v kóde.
            Vzorový kód s WifiSecure knižnicou a fingerprintom na Githube: https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/HTTPSRequest/HTTPSRequest.ino
            Podporiť ma, nájsť zaujímavé projekty môžete aj na mojej webstránke: https://arduino.php5.sk
            Článok o inteligentnej domácnosti na mojej stránke: https://arduino.php5.sk/inteligentna-domacnost.php
            7
            Vědátorna / Re:Programovanie 8 relátka pomocou arduino mega 2650 s bluetooth modulom
            « Poslední příspěvek od dodo15 kdy Listopad 10, 2017, 20:43:21 odpoledne »
            áno v mobile mám 4.1 . Čítal som: Príklad modulu HC-05 (06), ktorý sa pripája cez HardwareSerial pomocou kolíkov 0 (RX) a 1 (TX) na obrázku. Vezmite prosím na vedomie, že ku kolíčke RX modulu musíte pripojiť kolíky kĺbov, pin 0 (RX) Arduino na TX modulu HC-05 (06) a pin 1 (TX). Čo to môže znamenať ?
            9
            Vědátorna / Re:Programovanie 8 relátka pomocou arduino mega 2650 s bluetooth modulom
            « Poslední příspěvek od dodo15 kdy Listopad 10, 2017, 20:01:52 odpoledne »
            Bluetooh modul mám HC-06
            10
            Vědátorna / Re:Programovanie 8 relátka pomocou arduino mega 2650 s bluetooth modulom
            « Poslední příspěvek od dodo15 kdy Listopad 10, 2017, 20:00:05 odpoledne »
            Nechce ma pripojiť cez mobil . Bluetooth mám napojený podľa tej schémy.  .
            Stran: [1] 2 3 ... 10