mnakada / atomcam_tools

Hack tool for atomcam and wyzecam.
Other
194 stars 25 forks source link

ナイトビジョン用赤外線ライトのOn/Off機能の追加 #112

Closed keikouka905 closed 2 months ago

keikouka905 commented 2 months ago

いつもツールを使わせていただいています。 ATOMCAMのアプリケーションにある、ナイトビジョン機能の「ナイトビジョン用赤外線ライト」のOn/Offの機能をWebインターフェース上に機能追加をお願いできませんか。

広範囲に夜空を撮影する場合にナイトモードを使いますが、赤外線ライトが点灯してると、虫が寄ってきて、白く映ってしまうため、Offしたいのですが、アプリで操作が可能なのですが、手軽にOffするのにWeb上だと、便利だと思っています。

ご検討いただけませんか。よろしくお願いします。

Hiii555 commented 2 months ago

トップの右下のボタン以外でってことですか? image

kei-is commented 2 months ago

説明不足ですいません。 おっしゃる通り、Web上でナイトモードへの切り替えはできますが、 ナイトモード時にナイトビジョン用赤外線ライトのみOff/Onの機能追加をお願いできませんかということです。 以下の画像のようにATOMアプリではできます。 ナイト よろしくお願いいたします

mnakada commented 2 months ago

今月忙しいので、余裕が出来たら対応します。

kei-is commented 2 months ago

よろしくお願いします。

mnakada commented 2 months ago

Ver.2.5.8で対応しました。 2ページ目にカメラ設定を追加したので、その中にあります。

kei-is commented 2 months ago

早速、対応、ありがとうっございます。 ほぼ、アプリと同じことがきますね。 ロゴを変更できるのはしゃれてますね。

kei-is commented 2 months ago

関連質問ですが、 Ver2.5.7では、  curl -X POST -H 'Content-Type: application/json' -d '{"exec":"night on"}' --output - 'http://{IPアドレス}/cgi-bin/cmd.cgi?port=socket' で「night on」、「night off」で切り替えられていたのですが、 Ver2.5.8では、  curl -s -X POST -H 'Content-Type: application/json' -d '{"exec": "property nightVision on"}' --output - 'http://{IPアドレス}/cgi-bin/cmd.cgi?port=socket' と、なっていますが、「OK」が帰ってきません。 「IrLED on」「IrLED off」も同じです。 何か、パラメータが変更、追加されましたでしょうか。

ちなみに、Ver2.5.8でも「night on」「night off」コマンドは動作しています。

よろしくお願いします。

mnakada commented 2 months ago

nightコマンドとnightVisionコマンドの違いです。 nightコマンドはIngenicの低レイヤーのAPIを叩いていてすぐに反応するのですが、再起動した時に元に戻ってしまいます。 nightVisionコマンドはATOMのiCamera_appへのmobileアプリからの通信を模擬してコマンドを実行しているので、アプリでの操作と等価の動作になります。 このため、内部処理が長く時間がかかります。 特に起動初回は、初期化の処理等も走るため少し長めに時間がかかります。

curl -X POST -d '{"exec": "property nightVision on"}' --output - 'http://{IPアドレス}/cgi-bin/cmd.cgi?port=socket' を実行すると、初回の場合10秒近くかかることもあるようです。

応答が返ってこない場合、もしかするとどこかの処理系の中でtimeoutしている可能性もあります。

kei-is commented 2 months ago

内部処理が長く時間かかり、応答でタイムアウトになっているかもとのことですが、 atomcam_tools上からも同じように、「property nightVision on」や「IrLED on」を送っているようですが、素早く反応しているので、curlでのリクエストとWebからのリクエストとの違いが判らず悩んでいます。

何をやりたいかと申しますと、Ubuntsuからコマンド(curl)で、色々、操作したいと考えておるしだいです。。

mnakada commented 2 months ago

WebUIからcmd.cgiを呼び出しているのも、PC側のWebBrowser上のJavaScriptからhttp経由でcgiを呼び出しているので、curlでアクセスしているのと同じかと思います。 WebBrowserからアクセスするか、curlからアクセスするかの違いだけで、PC側からLAN経由でcgiを叩いているのは同じ経路になります。 差分はJavaScriptとcurlのアクセス時の処理かと思うので、curl以外で試してはいかがでしょうか?NodeJSやwgetあたりですかね。

kei-is commented 2 months ago

コメント、ありがとうございます。スキルが足らないですね。勉強して、色々、試してみます。

kei-is commented 2 months ago

うまく、curlで動作することができるようになりました。 原因は単純で、不要なスペースが入っているのに気づかなかったためです。 '{"exec": "property nightVision on"}' <= "exec": の後にスペースが入ってます。 対応、ありがとうございました。