I may be trying to do too much with my WeMos D1 clone. Previously got it working with Servos via separate thread
Now trying to add a button that sends sends something to a Webhook (INTEGROMAT) which triggers an HTTP call to Blynk cloud to trigger the servos. I’ve now Frankenstein-monstered the code to where it doesn’t compile anymore. Errors below
#include <SPI.h>
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[50] = "XXX";
char ssid[15] = "XXX";
char pass[20] = "XXX";
Servo servoRAIN7;
Servo servoWIND9;
Servo servoSUN8;
// constants won't change. They're used here to set pin numbers:
const int buttonPin = 15; // the number of the pushbutton pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
BLYNK_WRITE(V0)
{
Serial.println("WebHook data:");
Serial.println(param.asStr());
}
BLYNK_WRITE(V7)
{
servoRAIN7.write(param.asInt());
}
BLYNK_WRITE(V9)
{
servoWIND9.write(param.asInt());
}
BLYNK_WRITE(V8)
{
servoSUN8.write(param.asInt());
}
void setup()
// initialize the LED pin as an output:
{ pinMode(V0, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
Blynk.virtualWrite(V0);
servoRAIN7.attach(13);
servoWIND9.attach(14);
servoSUN8.attach(0);
}
void loop()
{
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if (buttonState == HIGH)
{
Blynk.run();
} else {
// turn LED off:
}
}
-----------ERRORS----------->
Arduino: 1.8.7 (Mac OS X), Board: "WeMos D1 R1, 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, All Flash Contents, 921600"
In file included from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkApiArduino.h:14:0,
from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkSimpleEsp8266.h:24,
from /Users/Alex/Documents/Arduino/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON.ino:4:
/Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkApi.h: In instantiation of 'void BlynkApi<Proto>::virtualWrite(int, Args ...) [with Args = {}; Proto = BlynkProtocol<BlynkArduinoClientGen<Client> >]':
/Users/Alex/Documents/Arduino/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON.ino:58:24: required from here
/Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkApi.h:81:9: error: no matching function for call to 'BlynkParam::add_multi()'
cmd.add_multi(values...);
^
/Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkApi.h:81:9: note: candidates are:
In file included from /Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkApi.h:16:0,
from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkApiArduino.h:14,
from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkSimpleEsp8266.h:24,
from /Users/Alex/Documents/Arduino/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON.ino:4:
/Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkParam.h:111:10: note: template<class T, class ... Args> void BlynkParam::add_multi(T)
void add_multi(T last) {
^
/Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkParam.h:111:10: note: template argument deduction/substitution failed:
In file included from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkApiArduino.h:14:0,
from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkSimpleEsp8266.h:24,
from /Users/Alex/Documents/Arduino/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON.ino:4:
/Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkApi.h:81:9: note: candidate expects 1 argument, 0 provided
cmd.add_multi(values...);
^
In file included from /Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkApi.h:16:0,
from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkApiArduino.h:14,
from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkSimpleEsp8266.h:24,
from /Users/Alex/Documents/Arduino/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON.ino:4:
/Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkParam.h:116:10: note: template<class T, class ... Args> void BlynkParam::add_multi(T, Args ...)
void add_multi(T head, Args... tail) {
^
/Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkParam.h:116:10: note: template argument deduction/substitution failed:
In file included from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkApiArduino.h:14:0,
from /Users/Alex/Documents/Arduino/libraries/Blynk/src/BlynkSimpleEsp8266.h:24,
from /Users/Alex/Documents/Arduino/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON/BlynkServoX2_3-8_-_ESPWIFI-_ADDING_BUTTON.ino:4:
/Users/Alex/Documents/Arduino/libraries/Blynk/src/Blynk/BlynkApi.h:81:9: note: candidate expects 2 arguments, 0 provided
cmd.add_multi(values...);
^
Multiple libraries were found for "Servo.h"
Used: /Users/Alex/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/libraries/Servo
Not used: /Applications/Arduino.app/Contents/Java/libraries/Servo
exit status 1
Error compiling for board WeMos D1 R1.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.