Mám 5senzorů.Vyčrtl jsme si jejich adresy. chci podle adres vyčíst teploty a ty pak odeslat na thinkspeak.
Když sestavuju string do THS (thuinkspeak) zavolám si vypsání teploty dle adresy a pokračuju na další snímač. Ovšem při kompilaci mě to vypíše chybu viz dole. Bude to chyba o pointrech atd. ale jsem v tom holt blbej
Jedu na Wemosu D1mini. V kodu je ještě pozustatek předchozího projektu (včelařské váhy) proto uspávání wifiny, a ESpčka.. to je ale bez vlivu na tuhle blbou chybu.
Snad z popisu a z kodu to bude trochu patrné.
Děkuju všem za cokoliv co mě pomůže, případně dovysvětlím co je potřeba.
Díky moc.
Kód: Vybrat vše
/*Kotelna*/
//new chanell : Channel ID: 412xxx
//API KEY: read : xxxx35ETOOT4RNNC
//API KEy write : xxxxxOY6SRATRK841
#include <OneWire.h>
#include <Wire.h>
#include <DallasTemperature.h>
#include <ESP8266WiFi.h>
#define ONE_WIRE_BUS D7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
WiFiClient client;
ADC_MODE(ADC_VCC);
extern "C" {
#include "user_interface.h"
}
const char* ssid = "G2_8805";
const char* password = "830xxxxx9";
const char* server = "api.thingspeak.com";
const char* api_key = "xxxxVF35ETOOT4RNNC";
DeviceAddress Probe01 = { 0x28, 0x8A, 0xB1, 0x40, 0x04, 0x00, 0x00, 0xC7 }; //Kotelzpatecka
DeviceAddress Probe02 = { 0x28, 0xCC, 0x92, 0x40, 0x04, 0x00, 0x00, 0xB6 }; //Kotelvystup
DeviceAddress Probe03 = { 0x28, 0x4D, 0x8D, 0x40, 0x04, 0x00, 0x00, 0x78 }; //Stoupacka
DeviceAddress Probe04 = { 0x28, 0x9A, 0x80, 0x40, 0x04, 0x00, 0x00, 0xD5 }; //Zpatecka
DeviceAddress Probe05 = { 0x28, 0xE1, 0xC7, 0x40, 0x04, 0x00, 0x00, 0x0D }; //3CVvstup
void setup() {
Serial.begin(115200);
delay(10);
WiFi.begin(ssid, password);
sensors.begin();
sensors.setResolution(Probe01, 10);
sensors.setResolution(Probe02, 10);
sensors.setResolution(Probe03, 10);
sensors.setResolution(Probe04, 10);
sensors.setResolution(Probe05, 10);
}
void loop() {
WiFi.forceSleepWake();
delay( 10 );
WiFi.mode( WIFI_STA );
WiFi.begin(ssid, password);
delay(300);
float vdd = (ESP.getVcc() / 1024.00f)*1.22f;
sensors.requestTemperatures();
Serial.print("Probe 01 temperature is: ");
printTemperature(Probe01);
Serial.println();
Serial.print("Probe 02 temperature is: ");
printTemperature(Probe02);
Serial.println();
Serial.print("Probe 03 temperature is: ");
printTemperature(Probe03);
Serial.println();
Serial.print("Probe 04 temperature is: ");
printTemperature(Probe04);
Serial.println();
Serial.print("Probe 05 temperature is: ");
printTemperature(Probe05);
Serial.println();
Serial.print(vdd);
Serial.println();
if (client.connect(server,80)) {
Serial.println("Connect to ThingSpeak - OK");
sensors.requestTemperatures();
String dataToThingSpeak = "";
dataToThingSpeak+="GET /update?api_key=";
dataToThingSpeak+=api_key;
dataToThingSpeak+="&field1=";
dataToThingSpeak+=String(printTemperature(Probe01));
dataToThingSpeak+="&field2=";
dataToThingSpeak+=String(printTemperature(Probe02));
dataToThingSpeak+="&field3=";
dataToThingSpeak+=String(printTemperature(Probe03));
dataToThingSpeak+="&field4=";
dataToThingSpeak+=String(printTemperature(Probe04));
dataToThingSpeak+="&field5=";
dataToThingSpeak+=String(printTemperature(Probe05));
dataToThingSpeak+=" HTTP/1.1\r\nHost: a.c.d\r\nConnection: close\r\n\r\n";
dataToThingSpeak+="";
client.print(dataToThingSpeak);
Serial.println(dataToThingSpeak);
}
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
}
Serial.println(".....");
WiFi.disconnect();
delay(2);
Serial.println("Wifi disconnect");
WiFi.mode(WIFI_OFF);
delay(2);
Serial.println("Wifi OFF");
WiFi.forceSleepBegin();
Serial.println("Force sleep begin");
delay(2);
Serial.println("Spanek 5sec");
delay(10000*10); // 10 sec
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
}
C:\Users\Nehet\Desktop\Kotelna\Kotelna.ino: In function 'void loop()':
Kotelna:94: error: invalid use of void expression
dataToThingSpeak+=String(printTemperature(Probe01));
^
Kotelna:96: error: invalid use of void expression
dataToThingSpeak+=String(printTemperature(Probe02));
^
Kotelna:98: error: invalid use of void expression
dataToThingSpeak+=String(printTemperature(Probe03));
^
Kotelna error: invalid use of void expression
dataToThingSpeak+=String(printTemperature(Probe04));
^
Kotelna:102: error: invalid use of void expression
dataToThingSpeak+=String(printTemperature(Probe05));
^
exit status 1
invalid use of void expression