User Tools

Site Tools


project:esp_now

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
project:esp_now [2019/05/30 19:43]
mario [Source Code]
project:esp_now [2019/06/01 22:58] (current)
dp [ToDoo]
Line 1: Line 1:
 ====== ESP-NOW ====== ====== ESP-NOW ======
- je protokol razvijen od Espressif, koji omogućuje višestrukim uređajima međusobno komuniciranje bez korištenja Wi-Fi mreže. Protokol je sličan 2.4GHz bežičnoj povezanosti male snage koja se često koristi u bežičnim tipkovnicama i miševima. Za  +ESP-NOW je protokol razvijen od Espressif, koji omogućuje višestrukim uređajima međusobno komuniciranje bez korištenja Wi-Fi mreže. Protokol je sličan 2.4GHz bežičnoj povezanosti male snage koja se često koristi u bežičnim tipkovnicama i miševima. Za  
- komunikaciju je potrebno uparivanje između uređaja prije njihove komunikacije. Nakon što je uparivanje završeno, veza je sigurna i ravnopravna, bez potrebe za korištenje handshake-a.+ komunikaciju je potrebno uparivanje između uređaja prije njihove komunikacije. Nakon što je uparivanje završeno, veza je sigurna i ravnopravna, bez potrebe za korištenje handshake-a.  
 U ESP-NOW-u protokolu aplikativni podaci se enkapsuliraju u specifičan okvir dobavljača, a zatim se prenose s jednog WiFi uređaja na drugi bez povezivanja. CTR s CBC-MAC protokol (CCMP) se koristi za sigurnosnu zaštitu prenošenih paketa. ESP-NOW se široko koristi za pametna svjetla, daljinsko upravljanje, prijenosu podataka senzora itd. U ESP-NOW-u protokolu aplikativni podaci se enkapsuliraju u specifičan okvir dobavljača, a zatim se prenose s jednog WiFi uređaja na drugi bez povezivanja. CTR s CBC-MAC protokol (CCMP) se koristi za sigurnosnu zaštitu prenošenih paketa. ESP-NOW se široko koristi za pametna svjetla, daljinsko upravljanje, prijenosu podataka senzora itd.
 +
 ===== Reference o protokolu : ===== ===== Reference o protokolu : =====
  [[https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/network/esp_now.html#]]  [[https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/network/esp_now.html#]]
-----+
 ===== Monitoring vrata ===== ===== Monitoring vrata =====
 koristeći dva ESP32 Lolin boarda napravljen je mali monitoring vrata, jedan ESP na pinu 23 monitorira stanje reed relay-a kojeg okida magnet te ga proslijeđuje na slave uređaj. kada magnet nije prisutan (otvoreni kontakti) stanje pina 23 se preslikava na slave uređaju - svijetli crveni LED, te dvaput bipne, ukoliko uređaji nisu povezani ili se vrši ometanje signala slave uređaj daje niski dugi ton te zelena LED za link ne svijetli. Na master uređaju također zelena LED svijetli ukoliko nakon poslanog paketa postoji ACK informacija. koristeći dva ESP32 Lolin boarda napravljen je mali monitoring vrata, jedan ESP na pinu 23 monitorira stanje reed relay-a kojeg okida magnet te ga proslijeđuje na slave uređaj. kada magnet nije prisutan (otvoreni kontakti) stanje pina 23 se preslikava na slave uređaju - svijetli crveni LED, te dvaput bipne, ukoliko uređaji nisu povezani ili se vrši ometanje signala slave uređaj daje niski dugi ton te zelena LED za link ne svijetli. Na master uređaju također zelena LED svijetli ukoliko nakon poslanog paketa postoji ACK informacija.
Line 12: Line 13:
  
 === Door_monitor === === Door_monitor ===
-ESP2_Now_Door_Alarm 
-ESP-Now,  Komunikacijski protokol koji je izradio Espressif. 
-Slično protokolu male snage koji se koristi na bežičnim tipkovnicama/miševima od 2,4 GHz. 
-Potrebno je početno uparivanje. Nakon uparivanja veza je trajna. 
 Master čita pin, i šalje(emitira) pročitanu vrijednost. (u mom slučaju PIN 23) Master čita pin, i šalje(emitira) pročitanu vrijednost. (u mom slučaju PIN 23)
 Slaves mijenja izlaz broadcastanog pina-(ova) kako bi odgovarao vrijednostima dobivenim od Mastera. Slaves mijenja izlaz broadcastanog pina-(ova) kako bi odgovarao vrijednostima dobivenim od Mastera.
Line 21: Line 18:
 što znači da svi u mreži primaju podatke u isto vrijeme. što znači da svi u mreži primaju podatke u isto vrijeme.
 praktički nema Boot-a, jer pri uključivanju i isključivanju ESP-a, operacija se nastavlja odmah. praktički nema Boot-a, jer pri uključivanju i isključivanju ESP-a, operacija se nastavlja odmah.
-  
-{#include <esp_now.h>} 
-{#include <WiFi.h>} 
  
-{//Pinovi koje čitamo i šaljemo vrijednost prema slave-ovima} +<file c Door_monitor.ino> 
-{#define PIN 23}+  
 +#include <esp_now.h> 
 +#include <WiFi.h>
  
 +//Pinovi koje čitamo i šaljemo vrijednost prema slave-ovima
 +#define PIN 23
  
-{//definiraj kanal za koneklciju} +//definiraj kanal za koneklciju 
-{#define CHANNEL 1}+#define CHANNEL 1
  
-{// ako se kompajlira Slave - zakomentirati //#define MASTER} +// ako se kompajlira Slave - zakomentirati liniju "#define MASTER" 
-{// za Master ostaviti odkomentirano} +// za Master ostaviti odkomentirano 
-{//#define MASTER}+#define MASTER
  
 esp_now_peer_info_t peer; //struktura Info o slijedećem peer-u.. esp_now_peer_info_t peer; //struktura Info o slijedećem peer-u..
Line 77: Line 75:
                                                                                 }                                                                                 }
                                                         }                                                         }
-</fc>+</file>
 === Master === === Master ===
 +<file c esp_now_master.ino>
 #define LED 14 #define LED 14
  
Line 110: Line 109:
 } }
 #endif #endif
 +</file>
  
 === Slave === === Slave ===
 +<file c esp_now_slave.ino>
 #include <Tone32.h>  #include <Tone32.h> 
  
Line 165: Line 166:
  
 void Alarm_1() void Alarm_1()
-              {+              {Door_monitor
                 tone(BUZZER_PIN, NOTE_D4, 250, BUZZER_CHANNEL);                 tone(BUZZER_PIN, NOTE_D4, 250, BUZZER_CHANNEL);
                 noTone(BUZZER_PIN, BUZZER_CHANNEL);                 noTone(BUZZER_PIN, BUZZER_CHANNEL);
Line 202: Line 203:
             }             }
 #endif #endif
 +
 +</file>
 +==== ToDo ====
 +u planu: 
 + * u potpunosti aktivirati enkripciju
 + * zamjeniti master-slave pozicije i dodati proceduru registracije i uparivanja slave-ova
 +
 ====== Slike ====== ====== Slike ======
-{{:project:20190528_091944_resized.jpg?400|}}{{:project:20190528_091952_resized.jpg?400|}} +{{:project:20190528_091944_resized.jpg?400|}} Slave u kutiji{{:project:20190528_091952_resized.jpg?400|}} dodana LiPo baterija 
-{{:project:20190528_094124_resized.jpg?400|}}+{{:project:20190528_094124_resized.jpg?400|}} oba složena 
  
  
  
project/esp_now.1559238238.txt.gz · Last modified: 2019/05/30 19:43 by mario