https://github.com/espressif/arduino-es ... _httpd.cpp
The code that is called with the URL looks like this:
Code: Select all
static esp_err_t servo_handler(httpd_req_t *req) {
panServo.attach(12); // attaches the servo on pin xx to the servo object
tiltServo.attach(13);
char* buf;
size_t buf_len;
char panDegrees[32] = {0,};
char tiltDegrees[32] = {0,};
buf_len = httpd_req_get_url_query_len(req) + 1;
if (buf_len > 1) {
buf = (char*)malloc(buf_len);
if (!buf) {
httpd_resp_send_500(req);
return ESP_FAIL;
}
if (httpd_req_get_url_query_str(req, buf, buf_len) == ESP_OK) {
if (httpd_query_key_value(buf, "pan", panDegrees, sizeof(panDegrees)) == ESP_OK &&
httpd_query_key_value(buf, "tilt", tiltDegrees, sizeof(tiltDegrees)) == ESP_OK) {
} else {
free(buf);
httpd_resp_send_404(req);
return ESP_FAIL;
}
} else {
free(buf);
httpd_resp_send_404(req);
return ESP_FAIL;
}
free(buf);
} else {
httpd_resp_send_404(req);
return ESP_FAIL;
}
int panValue = atoi(panDegrees);
int tiltValue = atoi(tiltDegrees);
panServo.write(panValue + 90);
tiltServo.write(tiltValue + 90);
Serial.print("Pan: ");
Serial.println(panValue);
Serial.print("Tilt: ");
Serial.println(tiltValue);
return httpd_resp_send(req, NULL, 0);
}
It works when I comment out attach(xx) lines. Is this because I'm using pins that are assigned in the hardware for the SD card reader?
There aren't any pins on the board that aren't assigned to the camera or SD card except the TX and RX pins.