Witam!
Mam pewne miejsce w którym chciałbym kontrolować 3 lub 4 temperatury za pomocą DS18b20.
Czy da się tak zaprogramować ESP01 aby mógł on prowadzić pomiar temperatur
pomiar temeratur ESP-01
-
PLF10T
- Posts: 233
- Joined: Sun May 22, 2016 6:24 pm
Aktualne wersje oprogramowania dla ESP pozwalają na podłączenie jednego czujnika DS. Wg autorów oprogramowania wersja pozwalające na podłączenie większej ilości czujników jest w przygotowaniu, ale terminu nie znamy.
-
Grzegorz K.
- Posts: 24
- Joined: Mon Jan 16, 2017 3:03 pm
Niestety tylko jeden czujnik a poniżej szczegółowa instrukcja.
https://www.youtube.com/watch?v=GToCSU6-CVo
https://www.youtube.com/watch?v=GToCSU6-CVo
-
nonsimo
- Posts: 2
- Joined: Tue Nov 08, 2016 7:51 pm
Na filmie widoczne są aktualne dane do logowania do aplikacji. Proszę je sobie zmienić, bo teraz cały internet może panu włączać i wyłączać ogrzewanie.
-
shimano73
- Posts: 2174
- Joined: Sun Feb 28, 2016 12:27 pm
- Location: Orzesze
- Been thanked: 1 time
Witam
Postanowiłem pobawić się Esp-01 i udało się uruchomić dwa czujniki temperatury . Na razie działa kilka godzin ale jest OK
Posiłkowałem się przykładem SuplaNodeMCU i pomocnymi postami na forum.
Nie widzę problemu aby tych czujników mogło być więcej.
Postanowiłem pobawić się Esp-01 i udało się uruchomić dwa czujniki temperatury . Na razie działa kilka godzin ale jest OK
Posiłkowałem się przykładem SuplaNodeMCU i pomocnymi postami na forum.
Nie widzę problemu aby tych czujników mogło być więcej.
Code: Select all
/**
* Supla.org NodeMCU WiFi minimal example
* Author: Programistyk - Kamil Kaminski <[email protected]>
*
* This example shows how to configure SuplaDevice for building for NodeMCU within Arduino IDE
*/
#include <OneWire.h>
#include <DallasTemperature.h>
#include <srpc.h>
#include <log.h>
#include <eh.h>
#include <proto.h>
#include <IEEE754tools.h>
// We define our own ethernet layer
#define SUPLADEVICE_CPP
#include <SuplaDevice.h>
#include <lck.h>
#include <WiFiClient.h>
#include <ESP8266WiFiType.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiScan.h>
#include <ESP8266WiFiMulti.h>
#include <WiFiServer.h>
#include <ESP8266WiFiGeneric.h>
#include <WiFiClientSecure.h>
#include <ESP8266WiFiAP.h>
#include <ESP8266WiFiSTA.h>
#include <WiFiUdp.h>
OneWire oneWire(2);
DallasTemperature sensors(&oneWire);
WiFiClient client;
// Setup Supla connection
const char* ssid = "ssid";
const char* password = "password";
// DS18B20 Sensor read implementation
double get_temperature(int channelNumber, double last_val) {
double t = -275;
if ( sensors.getDeviceCount() > 0 )
{
sensors.requestTemperatures();
switch(channelNumber)
{
case 0:
t = sensors.getTempCByIndex(0);
break;
case 1:
t = sensors.getTempCByIndex(1);
break;
};
};
return t;
}
void setup() {
Serial.begin(115200);
delay(10);
// Replace the falowing GUID
char GUID[SUPLA_GUID_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
// with GUID that you can retrieve from https://www.supla.org/arduino/get-guid
// Ethernet MAC address
uint8_t mac[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/*
* Having your device already registered at cloud.supla.org,
* you want to change CHANNEL sequence or remove any of them,
* then you must also remove the device itself from cloud.supla.org.
* Otherwise you will get "Channel conflict!" error.
*/
// Init DS18B20 library
sensors.begin();
// CHANNEL 0
SuplaDevice.addDS18B20Thermometer();
// CHANNEL 1
SuplaDevice.addDS18B20Thermometer();
SuplaDevice.begin(GUID, // Global Unique Identifier
mac, // Ethernet MAC address
"svr1.supla.org", // SUPLA server address
0, // Location ID
""); // Location Password
}
void loop() {
SuplaDevice.iterate();
}
// Supla.org ethernet layer
int supla_arduino_tcp_read(void *buf, int count) {
_supla_int_t size = client.available();
if ( size > 0 ) {
if ( size > count ) size = count;
return client.read((uint8_t *)buf, size);
};
return -1;
};
int supla_arduino_tcp_write(void *buf, int count) {
return client.write((const uint8_t *)buf, count);
};
bool supla_arduino_svr_connect(const char *server, int port) {
return client.connect(server, 2015);
}
bool supla_arduino_svr_connected(void) {
return client.connected();
}
void supla_arduino_svr_disconnect(void) {
client.stop();
}
void supla_arduino_eth_setup(uint8_t mac[6], IPAddress *ip) {
// Serial.println("WiFi init");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
// Serial.print(".");
}
Serial.print("\nlocalIP: ");
Serial.println(WiFi.localIP());
Serial.print("subnetMask: ");
Serial.println(WiFi.subnetMask());
Serial.print("gatewayIP: ");
Serial.println(WiFi.gatewayIP());
}
SuplaDeviceCallbacks supla_arduino_get_callbacks(void) {
SuplaDeviceCallbacks cb;
cb.tcp_read = &supla_arduino_tcp_read;
cb.tcp_write = &supla_arduino_tcp_write;
cb.eth_setup = &supla_arduino_eth_setup;
cb.svr_connected = &supla_arduino_svr_connected;
cb.svr_connect = &supla_arduino_svr_connect;
cb.svr_disconnect = &supla_arduino_svr_disconnect;
cb.get_temperature = &get_temperature;
cb.get_temperature_and_humidity = NULL;
cb.get_rgbw_value = NULL;
cb.set_rgbw_value = NULL;
return cb;
}
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Wezmę udział w Supla Offline Party 2024
Wezmę udział w Supla Offline Party 2024
-
wojtas567
- Posts: 2334
- Joined: Sun Apr 03, 2016 7:16 pm
- Location: Olsztyn
Podłączenie to standardowe czujniki równolegle.
Bardziej potrzebny gotowy soft do wgrania bo nie każdy potrafi sobie stworzyć.
Bardziej potrzebny gotowy soft do wgrania bo nie każdy potrafi sobie stworzyć.
Pozdrawiam
Wojtek
Wojtek
-
shimano73
- Posts: 2174
- Joined: Sun Feb 28, 2016 12:27 pm
- Location: Orzesze
- Been thanked: 1 time
Witam, czujniki podłączone są równolegle do GPIO2.
Z gotowym softem jest większy problem. Program w tej wersji nie posiada trybu konfiguracji w którym układ przechodzi w AP gdzie wpisujemy swoje dane zatwierdzając przyciskiem "save" , tutaj wszystko wstawione jest od razu w programie przed kompilacją . Oznacza to że skompilowany plik bin nie nadaje się dla wszystkich , każdy musi sobie sam skompilować. Jeśli ktoś potrafi wgrać soft do esp, to da radę z skompilować również ten, a może spodoba się programowanie pod Arduino.
Z gotowym softem jest większy problem. Program w tej wersji nie posiada trybu konfiguracji w którym układ przechodzi w AP gdzie wpisujemy swoje dane zatwierdzając przyciskiem "save" , tutaj wszystko wstawione jest od razu w programie przed kompilacją . Oznacza to że skompilowany plik bin nie nadaje się dla wszystkich , każdy musi sobie sam skompilować. Jeśli ktoś potrafi wgrać soft do esp, to da radę z skompilować również ten, a może spodoba się programowanie pod Arduino.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Wezmę udział w Supla Offline Party 2024
Wezmę udział w Supla Offline Party 2024
