Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2015:esp8266-ds18b20

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2015:esp8266-ds18b20 [2016/01/16 17:10]
Václav Pálka pokračování
2015:esp8266-ds18b20 [2016/01/17 00:25] (aktuální)
Václav Pálka pokračování3
Řádek 4: Řádek 4:
 ===== Zadání ===== ===== Zadání =====
  
-Seznamte se s WiFi čipem ESP8266 a jeho vývojovým prostředím. Vytvořte aplikaci ​WiFi teploměru s čidlem DS18B20, která bude v definovaném intervalu pomocí GET požadavku odesílat aktuální teplotu na server ThingSpeak nebo do vlastního PHP skriptu s vizualizací.+Seznamte se s Wi-Fi čipem ESP8266 a jeho vývojovým prostředím. Vytvořte aplikaci ​Wi-Fi teploměru s čidlem DS18B20, která bude v definovaném intervalu pomocí GET požadavku odesílat aktuální teplotu na server ThingSpeak nebo do vlastního PHP skriptu s vizualizací.
  
 ===== Úvod ===== ===== Úvod =====
 ==== ESP8266 ==== ==== ESP8266 ====
  
-ESP8266 je ultra low coast čínský modu pro převod sériové linky na Wi-fi. Tento modul s cenou do 3$ disponuje mimo jiné 32 bitovým procesorem s několika GPIO piny a podporuje módy v b/g/n, zabezpečení ​ WPA/WPA2 a umí pracovat jako Station nebo AP. Jednou z nesporných výhod jsou i rozměry, které jsou pro verzi ESP8266 ESP-01 ​+ESP8266 je ultra low coast čínský modu pro převod sériové linky na Wi-Fi. Tento modul s cenou do 3$ disponuje mimo jiné 32 bitovým procesorem s několika GPIO piny a podporuje módy v b/g/n, zabezpečení ​ WPA/WPA2 a umí pracovat jako Station nebo AP. Jednou z nesporných výhod jsou i rozměry, které jsou pro verzi ESP8266 ESP-01 ​
 25 x 14 mm. 25 x 14 mm.
  
Řádek 30: Řádek 30:
 V případě že chceme modul přeprogramovat je nutné, pro povolení programovaní,​ připojit pin GPIO0 na zem. Toto musí být provedeno ještě před připojením napájení, jinak nemusí k naprogramování dojít. V případě že chceme modul přeprogramovat je nutné, pro povolení programovaní,​ připojit pin GPIO0 na zem. Toto musí být provedeno ještě před připojením napájení, jinak nemusí k naprogramování dojít.
  
 +
 +{{ :​2015:​esp8266-ds18b20:​20160117_001637.jpg?​nolink&​600 | Náhled na zapojení protipu}}
  
  
Řádek 41: Řádek 43:
  
 Inicializace použitých knihoven pro obsluhu ESP88226 a DS18B20 komunikující po 1-wire sběrnici. Inicializace použitých knihoven pro obsluhu ESP88226 a DS18B20 komunikující po 1-wire sběrnici.
 +<code c>
   #include <​ESP8266WiFi.h>​   #include <​ESP8266WiFi.h>​
   #include <​OneWire.h>​   #include <​OneWire.h>​
   #include <​DallasTemperature.h>​   #include <​DallasTemperature.h>​
 +</​code>​
 === Informace o připojení === === Informace o připojení ===
  
 Nastavení informací o Teplotním čidle, SSID a heslu sítě, na které bude zařízení připojeno a informace a přístupový API klíč pro ThingSpeak.com. Nastavení informací o Teplotním čidle, SSID a heslu sítě, na které bude zařízení připojeno a informace a přístupový API klíč pro ThingSpeak.com.
-  ​ +<code c> 
-  #define ONE_WIRE_BUS 2                         // Inicializace DS18B20 na pinu GPIO2 +  #define ONE_WIRE_BUS 2         
-  OneWire oneWire(ONE_WIRE_BUS);​+  OneWire oneWire(ONE_WIRE_BUS); ​                // Inicializace DS18B20 na pinu GPIO2
   DallasTemperature DS18B20(&​oneWire);​   DallasTemperature DS18B20(&​oneWire);​
   ​   ​
Řádek 60: Řádek 62:
   const char* APIkey ​  = "​CM4O1WWET8RHAT99";​   const char* APIkey ​  = "​CM4O1WWET8RHAT99";​
        
-  float oldTemp; 
   bool scnd = false; ​   bool scnd = false; ​
 +</​code>​
 === Připojení k síti === === Připojení k síti ===
  
 Inicializace sériové komunikace a připojení k sítí. Inicializace sériové komunikace a připojení k sítí.
 +<code c>
   void setup() {   void setup() {
   ​   ​
Řádek 88: Řádek 90:
     Serial.println();​     Serial.println();​
   }   }
 +</​code>​
 ==== Hlavní smyčka ==== ==== Hlavní smyčka ====
  
 V této smyčce se provádí změření a odeslání teploty na server ThingSpeak.com V této smyčce se provádí změření a odeslání teploty na server ThingSpeak.com
-  ​+<code c>  ​
   void loop() {   void loop() {
     delay(30000); ​                               // Měření a odesílání teploty probíhá v intervalu cca 30s     delay(30000); ​                               // Měření a odesílání teploty probíhá v intervalu cca 30s
Řádek 154: Řádek 156:
    ​} ​                                                ​} ​                                            
   }      }   
 +</​code>​
 ===== Funkce ===== ===== Funkce =====
-===== Závěr ===== 
  
 +Princip funkce zařízení funguje na jednoduchém principu, kdy se zařízení připojí k lokální Wi-Fi síti, jejíž údaje má uložené v programové syntaxi a následně s intervalem 30 sekund opakuje cyklus změření teploty, vytvoření URL pro odeslání informace na server ThingSpeak.com,​ odeslání informace a přijetí odpovědi ze serveru.
 +Na následujícím obrázku je možné vidět výpis ze sériové komunikace modulu s počítačem.
 +
 +{{ :​2015:​esp8266-ds18b20:​odpoved.png?​nolink |Záznam sériové kominikace}}
 +
 +Dále zde uvádím 24 hodinový záznam měření teploty v grafu ze serveru ThingSpeak.com.
 +
 +{{ :​2015:​esp8266-ds18b20:​teplota.png?​nolink |Záznam teploty 24hodin}}
 +
 +Vzhledem k dlouhé době opakovaní měření teploty a odezvy serveru na novou hodnotu na místo video záznamu o funkci přikládám odkaz na záznam posledních 24 hodin měření teploty, kdy je čidlo umístěno na stole v mém pokoji v místě mého trvalého bydliště.
 +
 +[[https://​thingspeak.com/​channels/​78922|Aktuální záznam teploty na ThingSpeak.com]]
 +
 +Záznam bude aktuální po dobu, kdy zvládnou baterie dodávat dostatek proudu pro modul ESP8266.
 +
 +===== Závěr =====
 +Modul ESP8266 byl sám o sobě pro mne rozuzlením podstaty Internetu věcí (IoT - Internet of Things), až v momentě, kdy jsem do ruky dostal desku o rozměru něco přes 2x1 cm jsem si uvědomil jak snadné je dnes připojit k procesoru Wi-Fi modul, ba co k samotnému modulu připojit zařízení,​ které tento modul napájený například z malé baterie, může obsluhovat. ​
  
  
  
2015/esp8266-ds18b20.1452960650.txt.gz · Poslední úprava: 2016/01/16 17:10 autor: Václav Pálka