Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Knihovny:
- #include <Adafruit_BMP085.h>
- #include <Adafruit_Sensor.h>
- #include <DHT.h>
- #include <DHT_U.h>
- #include <BH1750.h>
- #include <ESP8266WiFi.h>
- #include <PubSubClient.h>
- #include <Wire.h>
- //Inicializace Wi-Fi pripojeni:
- #define WIFI_NAZEV "XXXXX"
- #define WIFI_KLIC "XXXXX"
- WiFiClient WiFiklient;
- PubSubClient klient(WiFiklient);
- int status = WL_IDLE_STATUS;
- unsigned long lastSend;
- //Inicializace pripojeni k ThingsBoard:
- #define TOKEN "XXXXX"
- char ThingsBoardServer [] = "demo.thingsboard.io";
- //Inicializace senzoru:
- #define DHTTYPE DHT22
- #define DHTPIN 3
- DHT teplomer(DHTPIN, DHTTYPE);
- Adafruit_BMP085 tlakomer;
- BH1750 luxmetr;
- void setup(){
- Serial.begin(115200);
- teplomer.begin();
- tlakomer.begin();
- luxmetr.begin();
- delay(10);
- Serial.println("Pripojovani...");
- WiFi.begin(WIFI_NAZEV, WIFI_KLIC);
- while(WiFi.status() != WL_CONNECTED){
- delay(500);
- Serial.println(".");
- }
- Serial.print("Pripojeno k: ");
- Serial.println(WIFI_NAZEV);
- Serial.print("IP adresa: ");
- Serial.println(WiFi.localIP());
- Serial.println("MAC adresa: ");
- klient.setServer(ThingsBoardServer, 1883);
- lastSend = 0;
- }
- void loop(){
- if(!klient.connected()){
- while(!klient.connected()){
- status = WiFi.status();
- if(status != WL_CONNECTED){
- WiFi.begin(WIFI_NAZEV, WIFI_KLIC);
- while(WiFi.status() != WL_CONNECTED){
- delay(500);
- Serial.print(".");
- }
- Serial.println("Pripojeno");
- }
- Serial.print("Pripojovani k ThingsBoardu...");
- if(klient.connect("MOPSIKOSTANICE #1", TOKEN, NULL)){
- Serial.println("Pripojeno");
- }else{
- Serial.print("Chyba: ");
- Serial.print(klient.state());
- Serial.println("Opakuji za 5 sekund...");
- delay(5000);
- }
- }
- }
- if(millis() - lastSend > 1000){
- float teplota = teplomer.readTemperature();
- float vlhkost = teplomer.readHumidity();
- float tlak = tlakomer.readPressure();
- float tlak_hpa;
- uint16_t svetlo = luxmetr.readLightLevel();
- Serial.println("Teplota vzduchu: "+String(teplota)+" st. C");
- Serial.println("Relativni vlhkost vzduchu: "+String(vlhkost)+" %");
- tlak_hpa = tlak/100;
- Serial.println("Atmosfericky tlak: "+String(tlak_hpa)+" hPa");
- Serial.println("Intenzita svetla: "+String(svetlo)+" lx");
- String Teplota = String(teplota);
- String Vlhkost = String(vlhkost);
- String Tlak = String(tlak_hpa);
- String Svetlo = String(svetlo);
- String payload = "{";
- payload += "\"Teplota\":"; payload += Teplota; payload += ",";
- payload += "\"Vlhkost\":"; payload += Vlhkost; payload += ",";
- payload += "\"Tlak\":"; payload += Tlak; payload += ",";
- payload += "\"Svetlo\":"; payload += Svetlo;
- payload += "}";
- char attributes[100];
- payload.toCharArray(attributes, 100);
- klient.publish("vl/devices/me/telemetry", attributes);
- Serial.println(attributes);
- lastSend = millis();
- }
- klient.loop();
- }
Advertisement
Add Comment
Please, Sign In to add comment