質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%

Q&A

1回答

1262閲覧

ESP32-CAMのHTTPD関数のどこを修正すればブラウザの表示が変わりますか?

HiroPokeHero

総合スコア45

0グッド

0クリップ

投稿2020/05/03 08:41

編集2020/05/04 03:49

DSP32-CAMは購入後ArduinoIDEの設定をするだけですぐに使える非常に便利な商品です。
ただ、その反面ブラックボックスな部分が多くなってしまい、
カスタマイズが難しい。
「動作させる」⇒「カスタマイズする」というステップUpに対して
技術的に求められるレベルが急に上がると申しましょうか、
ちょっとしたことも難しく感じます。

ESP32-CAMのHTTPD関数のどこを修正すればブラウザの表示が変わりますか?

やりたいことを具体的に言うと添付図の
ストリーミングボタンを一番上に配置させたいです。

該当箇所と推測した箇所を抜粋しました。

static esp_err_t cmd_handler(httpd_req_t *req){ char* buf; size_t buf_len; char variable[32] = {0,}; char value[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, "var", variable, sizeof(variable)) == ESP_OK && httpd_query_key_value(buf, "val", value, sizeof(value)) == 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 val = atoi(value); sensor_t * s = esp_camera_sensor_get(); int res = 0; if(!strcmp(variable, "framesize")) { if(s->pixformat == PIXFORMAT_JPEG) res = s->set_framesize(s, (framesize_t)val); } else if(!strcmp(variable, "quality")) res = s->set_quality(s, val); else if(!strcmp(variable, "contrast")) res = s->set_contrast(s, val); else if(!strcmp(variable, "brightness")) res = s->set_brightness(s, val); else if(!strcmp(variable, "saturation")) res = s->set_saturation(s, val); else if(!strcmp(variable, "gainceiling")) res = s->set_gainceiling(s, (gainceiling_t)val); else if(!strcmp(variable, "colorbar")) res = s->set_colorbar(s, val); else if(!strcmp(variable, "awb")) res = s->set_whitebal(s, val); else if(!strcmp(variable, "agc")) res = s->set_gain_ctrl(s, val); else if(!strcmp(variable, "aec")) res = s->set_exposure_ctrl(s, val); else if(!strcmp(variable, "hmirror")) res = s->set_hmirror(s, val); else if(!strcmp(variable, "vflip")) res = s->set_vflip(s, val); else if(!strcmp(variable, "awb_gain")) res = s->set_awb_gain(s, val); else if(!strcmp(variable, "agc_gain")) res = s->set_agc_gain(s, val); else if(!strcmp(variable, "aec_value")) res = s->set_aec_value(s, val); else if(!strcmp(variable, "aec2")) res = s->set_aec2(s, val); else if(!strcmp(variable, "dcw")) res = s->set_dcw(s, val); else if(!strcmp(variable, "bpc")) res = s->set_bpc(s, val); else if(!strcmp(variable, "wpc")) res = s->set_wpc(s, val); else if(!strcmp(variable, "raw_gma")) res = s->set_raw_gma(s, val); else if(!strcmp(variable, "lenc")) res = s->set_lenc(s, val); else if(!strcmp(variable, "special_effect")) res = s->set_special_effect(s, val); else if(!strcmp(variable, "wb_mode")) res = s->set_wb_mode(s, val); else if(!strcmp(variable, "ae_level")) res = s->set_ae_level(s, val); else if(!strcmp(variable, "face_detect")) { detection_enabled = val; if(!detection_enabled) { recognition_enabled = 0; } } else if(!strcmp(variable, "face_enroll")) is_enrolling = val; else if(!strcmp(variable, "face_recognize")) { recognition_enabled = val; if(recognition_enabled){ detection_enabled = val; } } else { res = -1; } if(res){ return httpd_resp_send_500(req); } httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*"); return httpd_resp_send(req, NULL, 0); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/05/03 09:02

> ESP32-CAMのHTTPD関数のどこを修正すればブラウザの表示が変わりますか? HTTPD関数(どれ?)のソースを見ていませんが、その状況ですとご自分で対応するのは難しいのでは、と思うのが正直なところです。1行や2行修正して終わりではないはずです。ご質問としては丸投げに近い印象を受けます。C言語必須ですが、該当のコードを挙げ、もう少し詳細に質問を述べると回答をいただけるかもしれません。
HiroPokeHero

2020/05/03 13:59

文字数制限を考えて投稿しました。 おそらくapp_httpd.cppのどこかを編集すればいいような気がしますが、 どこをどう変えればいいかまではわかりませんでした。
thkana

2020/05/04 01:39 編集

ちょっと勘違いがあったので全面改稿。 どこかで公開されているソースならそれを示して下さい。あなたの知っていることは回答者も当然に知っている...わけではないです。
HiroPokeHero

2020/05/04 02:16

thkanaさん> 何かいい方法ありますでしょうか?
thkana

2020/05/05 00:42

もし、Arduino IDE用ESP32ライブラリのExampleの一部ということなら、掲載するにあたっては https://github.com/espressif/arduino-esp32/blob/master/LICENSE.md が適用されると思います。適宜よろしく。 (最低でも、他人が作ったプログラム(片)を引用するのに出典を示さない、というのはないと思います)
guest

回答1

0

この辺がそれっぽい...気がする。

投稿2020/05/04 13:33

thkana

総合スコア7703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問