рд╡рд░реНрд╖ рд╣рдо рдИрдПрд╕рдкреА 8266 рдФрд░ рджреЛ рдмреИрдЯрд░реА рдкрд░ рдорд┐рдЯреНрдЯреА рдХреА рдирдореА рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВред рднрд╛рдЧ реи

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рджреЛ рдмреИрдЯрд░реА (рдПрдПрдП) рдкрд░ рджреЛ рд╕рд╛рд▓ рддрдХ рдорд┐рдЯреНрдЯреА рдХреА рдирдореА рдХрд╛ рд╕реЗрдВрд╕рд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕рд╣реА рдХрд░рддрд╛ рд╣реИред рдкрд╣рд▓рд╛ рд▓реЗрдЦ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ (Arduino IDE) рдФрд░ рдмрд┐рд▓рдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ ред


рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрд░ рдУрдХ рдХреА рддрд╕реНрд╡реАрд░

рдорд╛рд▓реА рд╢реМрдХрд┐рдпрд╛


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдереЛрдбрд╝реА рдкрд╣рдЪрд╛рди - рдореИрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рдореИрдВ рдПрдХ рдШрд░реЗрд▓реВ рдорд╛рд▓реА рд╣реВрдВред рджреЛрдиреЛрдВ рдореЗрд░реЗ рд╢реМрдХ рд╣реИрдВред рдореЗрд░реА рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдкрд░ рдЕрд▓рдорд╛рд░рд┐рдпрд╛рдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдиреАрд▓реЗ-рд▓рд╛рд▓ рдПрд▓рдИрдбреА рдмреИрдХрд▓рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдкреМрдзреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рдЙрддреНрд╕рд╛рд╣ рдХреЗ рд╕рд╛рде рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рдХрд╛рд╢ рд╕рдВрд╢реНрд▓реЗрд╖рдг рдФрд░ рдЕрдиреНрдп рд╡рдирд╕реНрдкрддрд┐ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрд▓рдИрдбреА рдмреИрдХрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдиреЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХреА, рдЬрд┐рд╕рд╕реЗ рд╣рд▓ рд╣реБрдЖ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЬрд┐рд╕ рдЙрдкрдХрд░рдг рдХреЛ рд╕рдорд░реНрдкрд┐рдд рд╣реИ рд╡рд╣ рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ред

рд╕реНрдкреЙрдЗрд▓рд░
рдПрд▓ рдИ рдбреА рдЧрд░реНрдо рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рдкреГрдереНрд╡реА рд╕реВрдЦ рд░рд╣реА рд╣реИ, рдореБрдЭреЗ рдХрд┐рд╕реА рддрд░рд╣ рдкрд╛рдиреАред

рдПрд▓рдИрдбреА рд▓рд╛рдЗрдиреЗрдВ (рд▓рдЧрднрдЧ 6 рд╡рд╛рдЯ рдХреА рд╢рдХреНрддрд┐), рд╡реЗ рдЦреБрдж рдХреЛ рдХрд╛рдлреА рджреГрдврд╝рддрд╛ рд╕реЗ рдЧрд░рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ рд▓рдЧреЗ рдкреМрдзреЗ рдХреЗ рд╕рд╛рде рд╢реЗрд▓реНрдл рдФрд░ рдкреЙрдЯ рдХреЛ рдЧрд░реНрдо рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрдпрдВрддреНрд░ рд╣реА, рдЧрд░реНрдо рдорд┐рдЯреНрдЯреА рдХреЛрдИ рдЕрд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд▓рд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдорд┐рдЯреНрдЯреА рдХреЗ рдЬрд▓реНрджреА рд╕реВрдЦрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдмрд░реНрддрди рдореЗрдВ рдкреГрдереНрд╡реА рдЬреЛ рдмрд╕ рдЦрд┐рдбрд╝рдХреА рдкрд░ рдЦрдбрд╝реА рд╣реЛрддреА рд╣реИ, рдзреАрд░реЗ-рдзреАрд░реЗ рд╕реВрдЦ рдЬрд╛рддреА рд╣реИред рдФрд░ рдКрдкрд░реА рдЕрд▓рдорд╛рд░рд┐рдпреЛрдВ рдкрд░, рдЬрд╣рд╛рдВ рд╕рд┐рдВрдЪрд╛рдИ рдХреЗ рджреМрд░рд╛рди рдорд┐рдЯреНрдЯреА рдХреА рд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреА рд╣реИ, рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдУрд╡рд░рдлреНрд▓реЛ рдпрд╛ рд╕реВрдЦрд╛ рд╣реЛрддрд╛ рд╣реИред

рдмреЗрд╢рдХ, рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдИрдмреЗ рдкрд░ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдорд┐рдЯреНрдЯреА рдХреА рдирдореА рдореАрдЯрд░ рдХреА рдПрдХ рдЧрд╛рдбрд╝реА рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмреАрдкрд░ рдХреЗ рд╕рд╛рде рдирдореА рдореАрдЯрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЦрд░реАрджрд╛ рдЧрдпрд╛ рдерд╛ (рдХреАрдордд рд▓рдЧрднрдЧ 300 рд░реВрдмрд▓ рд╣реИ)ред


рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рд╣реИрдВ рд▓реЗрдХрд┐рди:

  1. рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмреАрдкрд░ рдХрд┐рд╕ рдЖрд░реНрджреНрд░рддрд╛ рд╕реНрддрд░ рдкрд░ рд╕реЗрдЯ рд╣реИред
  2. рдпрджрд┐ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдХрд░рдг рд╣реЛрдВрдЧреЗ, рддреЛ рдЖрдкрдХреЛ рдЪрд▓рдирд╛ рдФрд░ рд╕реБрдирдирд╛ рд╣реЛрдЧрд╛ред
  3. рдореИрдВ рд╡рд╣ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдФрд░ рдлрд┐рд░ рдУрд╕реНрдЯреИрдк рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрднрд╡ ( рдПрдХ рдФрд░ рджреЛ ) рд╣реИред рддреЛ рдПрдХ рдЙрдкрдХрд░рдг рдХрд╛ рдЬрдиреНрдо рдорд┐рдЯреНрдЯреА рдХреА рдирдореА, рдкреНрд░рдХрд╛рд╢, рддрд╛рдкрдорд╛рди рдФрд░ рд╣рд╡рд╛ рдХреА рдирдореА рдХреЛ рдорд╛рдкрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдорд╛рдк рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдФрд░ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдмреИрдЯрд░реА рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ред рд▓реЛрд╣реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдБ ред рдФрд░ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг


рдбреЗрдЯрд╛рд╢реАрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, ESP8266 рд╡рд╛рдИрдлрд╛рдИ рдореЛрдб рдореЗрдВ 170 рдПрдордП, рдореЙрдбреЗрдо рдСрдл (рдореЙрдбреЗрдо рд╕реНрд▓реАрдк) рдХреЗ рд╕рд╛рде 15 рдПрдордП рдФрд░ рдбреАрдк рд╕реНрд▓реАрдк рдореЛрдб рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ - рд▓рдЧрднрдЧ 10 ╬╝A рдХреА рдЦрдкрдд рдХрд░рддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдЙрдкрднреЛрдХреНрддрд╛ рд╕реЗ, рд╣рдо рдПрдХ рд╕реАрдкреАрд╕реА рдЗрдирдкреБрдЯ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рдИрдлрд╛рдИ рдореЙрдбреЗрдо, рдПрдХ AM2302 рд╕реЗрдВрд╕рд░ (рдЬреЛ TPS60240DGKR рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 3.3 V) рдФрд░ рдПрдХ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд░ (CD74HC4051M96) рдЦрд┐рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд╛рдИрдлрд╛рдИ рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдИрдПрд╕рдкреА 8266 рдХреЛ рд░реЗрдбрд┐рдпреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИред рдореЛрдбреЗрдо рд╕реНрд▓реАрдк рдореЛрдб рдореЗрдВ рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕рднреА рдорд╛рдк рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдореЙрдбреЗрдо рдХреЛ рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ Blynk рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (MQTT рдиреЗ рдЗрд╕реЗ рдЕрдм рдЙрдкрднреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ), рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдЕрдЧрд▓реА рдмрд╛рд░ рддрдХ рд╕реЛ рдЬрд╛рдПрдЧрд╛ред

рдЧрд╣рд░реА рдиреАрдВрдж рдореЗрдВ


рдмрд╢рд░реНрддреЗ рдХрд┐ рд╕рднреА рдкреИрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрдВ (RST рдкрд┐рди GPIO16 рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ), рдЖрдк ESP рдХреЛ рдбреАрдк рд╕реНрд▓реАрдк рдореЛрдб рдореЗрдВ рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

ESP.deepSleep(sleep_time, WAKE_RF_DISABLED);

sleep_time тАУ , , , ( blynk) тАУ 5-10 . , .

WAKE_RF_DISABLED тАФ , WiFi .

WiFi


Captive . , , WiFiManager, . . UART тАФ :

  1. ( ).
  2. ( ).
  3. WiFiManager.

Captive , WiFi Blynk token.
, WiFi ESP.

// 
WiFi.forceSleepWake(); 
//  
WiFi.mode(WIFI_STA); 
//  
delay(100);
//,       begin
if (WiFi.SSID()) WiFi.begin(); 

ESP8266 WiFi.disconnect(); WiFi . , SSID() , .

AM2302


\ DHT Sensor Library Adafruit. , , , GPIO. , , ( 99%) 5 . ┬л┬╗ , AM2302 , .. \ .


: , . тАФ ().

ESP8266 10-, 0..1 . , 1 . тАФ . , .


4 . .

, , . , 3.3 2.5 ( ) .


\

\ :

q_w = (adcbattery * 4) / 15; //
q_l = (adcbattery * 25) / 101; //

( ) . , ( ) .

float adcRead[3];
void quickSort(float *s_arr, int first, int last){
  if (first < last){
      int left = first, right = last, middle = s_arr[(left + right) / 2];
      do{
        while (s_arr[left] < middle) left++;
        while (s_arr[right] > middle) right--;
        if (left <= right){
          int tmp = s_arr[left];
          s_arr[left] = s_arr[right];
          s_arr[right] = tmp;
          left++;
          right--;
        }
      } 
      while (left <= right);
      quickSort(s_arr, first, right);
      quickSort(s_arr, left, last);
  }
}

void analogReadMedian(){
  adcRead[0] = analogRead(ADCPin);
  delay(10);
  adcRead[1] = analogRead(ADCPin);
  delay(10);
  adcRead[2] = analogRead(ADCPin);
}

void readADC_median(int input){
  switch(input){
    case 1 :
      digitalWrite(BPin, HIGH);
      digitalWrite(C_DHTPin, LOW);
      delay(50);
      analogReadMedian();
      quickSort(adcRead, 0, 2);
      adcbattery = adcRead[1] * 4;
      q_w = (adcbattery * 4) / 15;
      q_l = (adcbattery * 25) / 101; 
      digitalWrite(BPin, LOW);
      break;
    case 2 :
      digitalWrite(BPin, LOW);
      digitalWrite(C_DHTPin, LOW);
      analogWrite(PWMPin, 412);
      delay(50);
      analogReadMedian();
      quickSort(adcRead, 0, 2);
      adcwater = 5*(100 - 100*(adcRead[1] / q_w));
      if (adcwater > 100) adcwater = 100;
      if (adcwater < 0) adcwater = 0;
      analogWrite(PWMPin, 0);
      break;      
    case 3 :
      digitalWrite(BPin, LOW);
      digitalWrite(C_DHTPin, HIGH);
      delay(50);
      analogReadMedian();
      quickSort(adcRead, 0, 2);
      adclight = 100*(adcRead[1] / q_l);
      if (adclight > 100) adclight = 100;
      if (adclight < 0) adclight = 0;
      break;
    default :
      delay(1);
   }
}


, , , ┬л┬╗ . , ┬л┬╗ тАФ , - 100 . , 100 50% .

, ESP8266 78 , 75 .

:

// GPIO  
pinMode(PWMPin, OUTPUT); 
//    
analogWriteFreq(75000); 
// ,  512   50%
analogWrite(PWMPin, 512);
// 
// 
analogWrite(PWMPin, 0);


, 1 , (2 ) 4 5760 . 12 ( ), (480 ).

, WiFi ┬л┬╗, . , . , .. Deep sleep . EEPROM, ESP ( ).

, 512 RTC , , Deep sleep. .

ESP.rtcUserMemoryWrite(offset, &data, sizeof(data))
ESP.rtcUserMemoryRead(offset, &data, sizeof(data))

, () () . . , , , .


.

.


.

PS. .

Source: https://habr.com/ru/post/In130421/


All Articles