前提・実現したいこと
Visual Stdio上のC++コードにUbuntuのコマンドを記述し、WSL自動起動及び** コードに書いたUbuntuコマンドの自動実行**を実現したいです。
発生している問題・エラーメッセージ
WSLを開くことには成功しましたが、それ以降のコマンドは実行してくれなくて(入力待ちの状態に遷移)、参っています。
エラーは出力されていません。ただWSL上で自動でコマンドを実行させたいのです。
↑ここに、コード上で書いたコマンドを自動で入力させたいです。でもWSLの起動のみでそれ以上の操作はやってくれません。
該当のソースコード
c++
1#include <stdio.h> 2#include <windows.h> 3#include "wiilib.h" 4 5#ifdef _DEBUG 6#pragma comment(lib,"libWiid.lib") 7#else 8#pragma comment(lib,"libWii.lib") 9#endif 10 11 12 13int main(int argc, char* argv[]) 14{ 15 WiiLib wii; 16 double x, y, z; 17 int flag1=0, flag2=0; 18 19 20 if (!wii.initWii()) {//Wiiリモコンを認識&初期化 21 return 0; 22 } 23 while (1) { 24 Sleep(500); 25 x = wii.getWiiAngle(Wii_X_AXIS); //加速度センサX軸の情報を取得 26 y = wii.getWiiAngle(Wii_Y_AXIS); //加速度センサY軸の情報を取得 27 z = wii.getWiiAngle(Wii_Z_AXIS); //加速度センサZ軸の情報を取得 28 printf("x:%lf y:%lf z:%lf\n", x, y, z); 29 if (y >= 0.7 && flag1==0) { 30 printf("tv-power-on\n"); 31 printf("x:%lf y:%lf z:%lf\n", x, y, z); 32 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -X POST \"https://api.nature.global/1/appliances/8916a417-cb09-4e6c-a3e1-318e3e297bac/tv\" -H \"accept: application/json\" -H \"Content-Type: application/x-www-form-urlencoded\" -d \"button=power\""); 33→WSL起動 system("ubuntu"); //WSL(ubuntu)を開く! 34→ここから無理system("curl -X PUT \"http://192.168.1.47/api/mCLlxuX4Y6e3pAJXFU61FRA0SDCDIp235WwzNvgP/lights/2/state\" -d '{\"on\":true}'");//この行含め実行できない…ライトをつける、 35 flag1 = 1; 36 Sleep(3000); 37 }else if(y >= 0.7 && flag1 == 1) { 38 printf("tv-power-off\n"); 39 printf("x:%lf y:%lf z:%lf\n", x, y, z); 40 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -X POST \"https://api.nature.global/1/appliances/8916a417-cb09-4e6c-a3e1-318e3e297bac/tv\" -H \"accept: application/json\" -H \"Content-Type: application/x-www-form-urlencoded\" -d \"button=power\""); 41 flag1 = 0; 42 Sleep(3000); 43 } 44 45 if (wii.getWiiState(Wii_BUTTON_B) && flag1 == 1 && x >= 1) { 46 printf("vol-up\n"); 47 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -X POST \"https://api.nature.global/1/appliances/8916a417-cb09-4e6c-a3e1-318e3e297bac/tv\" -H \"accept: application/json\" -H \"Content-Type: application/x-www-form-urlencoded\" -d \"button=vol-up\""); 48 Sleep(1000); 49 } 50 51 if (wii.getWiiState(Wii_BUTTON_B) && flag1 == 1 && x <= -1) { 52 printf("vol-down\n"); 53 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -X POST \"https://api.nature.global/1/appliances/8916a417-cb09-4e6c-a3e1-318e3e297bac/tv\" -H \"accept: application/json\" -H \"Content-Type: application/x-www-form-urlencoded\" -d \"button=vol-down\""); 54 Sleep(1000); 55 } 56 57 if (wii.getWiiState(Wii_BUTTON_B) && flag1 == 1 && x < 0.1 && x >= -0.2 && y < 0.7 && y >= -0.4 && z <= -1.5) { 58 printf("mute\n"); 59 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -X POST \"https://api.nature.global/1/appliances/8916a417-cb09-4e6c-a3e1-318e3e297bac/tv\" -H \"accept: application/json\" -H \"Content-Type: application/x-www-form-urlencoded\" -d \"button=mute\""); 60 Sleep(3); 61 } 62 63 if (y <= -1 && flag2 == 0) { 64 printf("fan-power-on\n"); 65 printf("x:%lf y:%lf z:%lf\n", x, y, z); 66 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -H \"accept: application/json\" -X POST \"https://api.nature.global/1/signals/{1dd66ccc-0405-404e-aa64-a42c1fcb8070}/send\" -H \"accept: application/json\" -H \"Content-Type:application/x-www-form-urlencoded\""); 67 flag2 = 1; 68 Sleep(3000); 69 }else if (y <= -1.4 && flag2 == 1) { 70 printf("fan-power-off\n"); 71 printf("x:%lf y:%lf z:%lf\n", x, y, z); 72 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -H \"accept: application/json\" -X POST \"https://api.nature.global/1/signals/{1dd66ccc-0405-404e-aa64-a42c1fcb8070}/send\" -H \"accept: application/json\" -H \"Content-Type:application/x-www-form-urlencoded\""); 73 flag2 = 0; 74 Sleep(3000); 75 } 76 77 if (wii.getWiiState(Wii_BUTTON_A) && flag2 == 1 && x >= 1) { 78 printf("power-up\n"); 79 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -H \"accept: application/json\" -X POST \"https://api.nature.global/1/signals/{011198f1-5bd5-4a6b-837e-2d9ae7377dd9}/send\" -H \"accept: application/json\" -H \"Content-Type:application/x-www-form-urlencoded\""); 80 81 } 82 83 if (wii.getWiiState(Wii_BUTTON_A) && flag2 == 1 && x <= -1) { 84 printf("power-down\n"); 85 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -H \"accept: application/json\" -X POST \"https://api.nature.global/1/signals/{53f4a211-8fa1-431c-9b80-bcd4ec6b3635}/send\" -H \"accept: application/json\" -H \"Content-Type:application/x-www-form-urlencoded\""); 86 87 } 88 89 if (wii.getWiiState(Wii_BUTTON_A) && flag2 == 1 && x < 0.1 && x >= -0.2 && y < 0.7 && y >= -0.4 && z <= -1.5) { 90 printf("mute\n"); 91 system("curl -H \"Authorization: Bearer HaAUxrm2EQBcSIKQwwqMnMc8Fz3WKF9zYw6vtNrhGsI.ylLDDl2Z2ZF-iA6xkVrDnxY63me098zIYF1JFF70IAQ\" -H \"accept: application/json\" -X POST \"https://api.nature.global/1/signals/{bef7c6e0-6287-407b-b86f-dd56a160d8f0}/send\" -H \"accept: application/json\" -H \"Content-Type:application/x-www-form-urlencoded\""); 92 Sleep(3); 93 } 94 95 } 96 return 0; 97} 98
試したこと
Systemコマンドの引数の一番後ろに[\n]をつけたりしました。
改行を用いることでコマンドが動くのでは?と思いましたが、良い結果は得られませんでした。
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/31 03:34
2019/10/31 03:38
2019/10/31 03:44
2019/10/31 03:44
2019/10/31 03:51
2019/11/01 04:32
2019/11/01 05:21
2019/11/01 05:44
2019/11/01 05:51
2019/11/01 05:53
2019/11/01 06:00
2019/11/01 06:05
2019/11/01 06:18
2019/11/01 06:23
2019/11/01 06:54
2019/11/01 07:16
2019/11/01 07:18
2019/11/01 07:19
2019/11/01 07:37
2019/11/01 07:38
2019/11/01 07:42
2019/11/01 07:53
2019/11/01 08:11