Close

terje

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 14 příspěvků - 1. až 14. (celkem z 14)
  • Autor
    Příspěvky
  • odpověď na: ESP 8266 #6155
    terje
    Účastník

    Dík za odpověď, ale asi jsem to upravil špatně (zatím v tom tápu). Podívej se na to, prosím Tě, až budeš mít čas.

    /*
    * This sketch sends data via HTTP GET requests to data.sparkfun.com service.
    *
    * You need to get streamId and privateKey at data.sparkfun.com and paste them
    * below. Or just customize this script to talk to other HTTP servers.
    *
    */

    #include <ESP8266WiFi.h>
    #include <OneWire.h>
    #include <DallasTemperature.h>
    #include <stdlib_noniso.h>

    #define ONE_WIRE_BUS 2 // DS18B20 pin
    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature DS18B20(&oneWire);

    const char* ssid = „terje“;
    const char* password = „xxxx“;

    const char* host = „api.thingspeak.com“;
    const char* APIkey = „xxxxxxx“;

    float oldTemp;

    void setup() {
    Serial.begin(115200);
    delay(10);

    // We start by connecting to a WiFi network

    Serial.println();
    Serial.println();
    Serial.print(„Connecting to „);
    Serial.println(ssid);

    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(„.“);
    }

    Serial.println(„“);
    Serial.println(„WiFi connected“);
    Serial.println(„IP address: „);
    Serial.println(WiFi.localIP());
    }

    void loop() {
    delay(30000);

    float temp;

    DS18B20.requestTemperatures();
    temp0 = DS18B20.getTempCByIndex(0); // první čidlo
    temp1 = DS18B20.getTempCByIndex(1); // druhé čidlo
    Serial.print(„Temperature: „);
    Serial.println(temp);
    char buf[24];
    String strTemp0 = dtostrf(temp0, 6, 2, buf);
    String strTemp1 = dtostrf(temp1, 6, 2, buf);

    Serial.print(„connecting to „);
    Serial.println(host);

    // Use WiFiClient class to create TCP connections
    WiFiClient client;
    const int httpPort = 80;
    if (!client.connect(host, httpPort)) {
    Serial.println(„connection failed“);
    return;
    }

    // We now create a URI for the request
    String url = „/update?key=“;
    url += „&field1=“;
    url += strTemp0; //String(temp0);
    url += „&field2=“;
    url += strTemp1; //String(temp1);
    url += charVal;//String(temp);

    Serial.print(„Requesting URL: „);
    Serial.println(url);

    // This will send the request to the server
    client.print(String(„GET „) + url + “ HTTP/1.1\r\n“ +
    „Host: “ + host + „\r\n“ +
    „Connection: close\r\n\r\n“);
    delay(10);

    // Read all the lines of the reply from server and print them to Serial
    while (client.available()) {
    String line = client.readStringUntil(‚\r‘);
    Serial.print(line);
    }

    Serial.println();
    Serial.println(„closing connection“);
    }

    Chybová zpráva:

    Arduino: 1.6.7 (Windows 7), Vývojová deska: „NodeMCU 1.0 (ESP-12E Module), 80 MHz, Serial, 115200, 4M (3M SPIFFS)“

    Volby pro sestavení se změnily; sestavuji vše znovu
    sketch_feb25a:88: error: stray ‚\204‘ in program

    url += „&field1=“;

    ^

    sketch_feb25a:88: error: stray ‚\223‘ in program

    sketch_feb25a:90: error: stray ‚\204‘ in program

    url += „&field2=“;

    ^

    sketch_feb25a:90: error: stray ‚\223‘ in program

    C:\Users\terje\AppData\Local\Temp\arduino_128afa9af2287aba088309aaca1e436f\sketch_feb25a.ino: In function ‚void loop()‘:

    sketch_feb25a:63: error: ‚temp0‘ was not declared in this scope

    temp0 = DS18B20.getTempCByIndex(0); // první čidlo

    ^

    sketch_feb25a:64: error: ‚temp1‘ was not declared in this scope

    temp1 = DS18B20.getTempCByIndex(1); // druhé čidlo

    ^

    sketch_feb25a:88: error: ‚field1‘ was not declared in this scope

    url += „&field1=“;

    ^

    sketch_feb25a:88: error: expected primary-expression before ‚;‘ token

    url += „&field1=“;

    ^

    sketch_feb25a:90: error: ‚field2‘ was not declared in this scope

    url += „&field2=“;

    ^

    sketch_feb25a:90: error: expected primary-expression before ‚;‘ token

    url += „&field2=“;

    ^

    sketch_feb25a:92: error: ‚charVal‘ was not declared in this scope

    url += charVal;//String(temp);

    ^

    exit status 1
    stray ‚\204‘ in program

    Tento výpis by měl více informací s
    „Zobrazit více informací během kompilace“
    povoleno v Soubor > Vlastnosti

    odpověď na: ESP 8266 #6135
    terje
    Účastník

    Jo, ty čidla by byly na jedné sběrnici.

    odpověď na: ESP 8266 #6134
    terje
    Účastník

    Zdravím chlapi, mám prosbu. Zprovoznil jsem ESP8266 s jedním čidlem(ds18b20) na thingspeak. Potřeboval bych k tomu modulu připojit více čidel(např.4).V HW se celkem vyznám, ale SW mi dělá potíže. Dík za radu.
    Tady je kód:

    /*
    * This sketch sends data via HTTP GET requests to data.sparkfun.com service.
    *
    * You need to get streamId and privateKey at data.sparkfun.com and paste them
    * below. Or just customize this script to talk to other HTTP servers.
    *
    */

    #include <ESP8266WiFi.h>
    #include <OneWire.h>
    #include <DallasTemperature.h>
    #include <stdlib_noniso.h>

    #define ONE_WIRE_BUS 2 // DS18B20 pin
    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature DS18B20(&oneWire);

    const char* ssid = „terje“;
    const char* password = „xxxxx“;

    const char* host = „api.thingspeak.com“;
    const char* APIkey = „xxxxxxxxxxxx“;

    float oldTemp;

    void setup() {
    Serial.begin(115200);
    delay(10);

    // We start by connecting to a WiFi network

    Serial.println();
    Serial.println();
    Serial.print(„Connecting to „);
    Serial.println(ssid);

    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(„.“);
    }

    Serial.println(„“);
    Serial.println(„WiFi connected“);
    Serial.println(„IP address: „);
    Serial.println(WiFi.localIP());
    }

    void loop() {
    delay(30000);

    float temp;

    DS18B20.requestTemperatures();
    temp = DS18B20.getTempCByIndex(0);
    Serial.print(„Temperature: „);
    Serial.println(temp);

    char charVal[12];

    dtostrf(temp, 8, 2, charVal);

    Serial.print(„connecting to „);
    Serial.println(host);

    // Use WiFiClient class to create TCP connections
    WiFiClient client;
    const int httpPort = 80;
    if (!client.connect(host, httpPort)) {
    Serial.println(„connection failed“);
    return;
    }

    // We now create a URI for the request
    String url = „/update?key=“;
    url += APIkey;
    url += „&field1=“;
    url += charVal;//String(temp);

    Serial.print(„Requesting URL: „);
    Serial.println(url);

    // This will send the request to the server
    client.print(String(„GET „) + url + “ HTTP/1.1\r\n“ +
    „Host: “ + host + „\r\n“ +
    „Connection: close\r\n\r\n“);
    delay(10);

    // Read all the lines of the reply from server and print them to Serial
    while (client.available()) {
    String line = client.readStringUntil(‚\r‘);
    Serial.print(line);
    }

    Serial.println();
    Serial.println(„closing connection“);
    }

    odpověď na: ESP 8266 #5113
    terje
    Účastník

    K prvnímu dotazu
    Chci napr.nahrát přes převodník usb/uart do esp8266-01 program pro blikání diody na GPI00. Spustím IDE/příklady/esp8266/blink a skončí to hláškou z prvního postu.FW mi jde normálně flešovat. Modul mi přes wifi komunikuje(skenování sítě atd.)Používám Esplorer na AT příkazy.
    Nebo jsem nějak mimo?

    odpověď na: ESP 8266 #5100
    terje
    Účastník

    Jaký tam máš FW.

    terje
    Účastník

    Chlapi díky. Jestli se chcete podívat na můj kanál, tak uživatel „terje_ard“. Zatím jenom ze dvou čidel.

    terje
    Účastník

    Díky,funguje. Ještě dotaz. Dá se na thingspeak získat nějaká historie dat nebo jen to co je tam aktuálně zobrazeno.

    terje
    Účastník

    /*
    | Post temp. values from a DS18B20 to ThingSpeak using the Ethercard interface based on the
    | ENC28J60 chip.
    | Based on the Ethercard example from http://www.jeelabs.org
    | Phil Grant Jan 2014
    */
    #include <EtherCard.h>
    // change these settings to match your own setup
    #define APIKEY „KVWMM6N5UOKA7SR4“ // ThingSpeak Chanel 21973
    #include <Wire.h>
    #include <OneWire.h>
    #include <DallasTemperature.h> //DS18B20 support
    // =========== Setup the Temperature sensor details =================
    #define ONE_WIRE_BUS 7 // DS18B20 Temperature chip i/o on pin D7
    #define TEMPERATURE_PRECISION 9
    // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
    OneWire oneWire(ONE_WIRE_BUS);
    // Pass our oneWire reference to Dallas Temperature.
    DallasTemperature sensors(&oneWire);
    // Insert the ID of your temp sensor here, for the sketch, visit here
    // http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html
    DeviceAddress Thermometer = { 0x28, 0xBC, 0x28, 0xF9, 0x03, 0x00, 0x00, 0xA4 }; // zelena, adresa: 0x28, 0xBC, 0x28, 0xF9, 0x03, 0x00, 0x00, 0xA4

    int sensorPin = A0; // select the input pin for the ldr
    unsigned int sensorValue = 0; // variable to store the value coming from the ldr

    // ethernet interface mac address, must be unique on the LAN
    byte mymac[] = { 0xDE,0xAD,0xBE,0xEF,0xFE,0xED };

    const char website[] PROGMEM = „api.thingspeak.com“;

    byte Ethernet::buffer[700];
    uint32_t timer;
    Stash stash;

    void setup () {
    Serial.begin(57600);
    Serial.println(„\n[webClient]“);

    if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
    Serial.println( „Failed to access Ethernet controller“);
    if (!ether.dhcpSetup())
    Serial.println(„DHCP failed“);

    ether.printIp(„IP: „, ether.myip);
    ether.printIp(„GW: „, ether.gwip);
    ether.printIp(„DNS: „, ether.dnsip);

    if (!ether.dnsLookup(website))
    Serial.println(„DNS failed“);

    ether.printIp(„SRV: „, ether.hisip);
    }

    void loop () {
    ether.packetLoop(ether.packetReceive());

    if (millis() > timer) {
    //timer = millis() + 60000; //Transmit every 60 seconds
    timer = millis() + 30000; //Transmit every 30 seconds
    sensors.requestTemperatures();
    delay(200);
    // read the value from the ldr:
    sensorValue = analogRead(sensorPin);
    // generate two values – by using a separate stash,
    // we can determine the size of the generated message ahead of time
    byte sd = stash.create();
    stash.print(„field1=“);
    stash.println(String(sensors.getTempC(Thermometer),DEC)); // print the temperature as string
    stash.print(„&field2=“);
    stash.print(String(sensorValue, DEC)); // print the value (0 to 1024) as string
    stash.save();
    // For DEBUGGING – Print out our data, uncomment the lines below
    //Serial.print(„field1=“);
    //Serial.println(sensors.getTempC(Thermometer),DEC);
    //Serial.print(„field2=“);
    //Serial.println(sensorValue, DEC); // print the value (0 to 1024)

    // generate the header with payload – note that the stash size is used,
    // and that a „stash descriptor“ is passed in as argument using „$H“
    Stash::prepare(PSTR(„POST /update HTTP/1.1“ „\r\n“
    „Host: $F“ „\r\n“
    „Connection: close“ „\r\n“
    „X-THINGSPEAKAPIKEY: $F“ „\r\n“
    „Content-Type: application/x-www-form-urlencoded“ „\r\n“
    „Content-Length: $D“ „\r\n“
    „\r\n“
    „$H“),
    website, PSTR(APIKEY), stash.size(), sd);

    // send the packet – this also releases all stash buffers once done
    ether.tcpSend();
    }
    }

    terje
    Účastník
    terje
    Účastník

    Skončil jsem na tomhle.

    [url=http://postimg.org/image/yexblf1y3/][img]http://s17.postimg.org/yexblf1y3/Bez_n_zvu.jpg[/img][/url]

    terje
    Účastník

    neumím do příspěvku vložit obrázek. už jsem zkoušel všecho možné

    terje
    Účastník

    Díky, zkouším to. Zastaví se mi to na řádku byte Ethernet::buffer[700];
    Hlásí to expected initializer before buffer

    terje
    Účastník
    terje
    Účastník

    Ahoj ,funguje to perfektně. Díky. Nemohl bys poradit ,jak to rozjet se síťovým modulem (Arduino Mini Ethernet modul – ENC28J60) jsem stáhl, vložil do programu, ale na webu se nezobrazují hodnoty.Hardvéru celkem rozumím, ale programování ne.

Aktuálně je na stránce zobrazeno 14 příspěvků - 1. až 14. (celkem z 14)