0

TCP/IP ソケットを使用して、Arduino Uno R3 と Tinysine GSM Shield (sim 900 モジュール) を NodeJS サーバー ソケットに通信する必要があります。したがって、組み込みシステムは TCP クライアントです。Arduinoがメッセージを送信し、受信したデータを使用して別の色のLEDを点滅させる必要があります。TCPソケットは機能しており、メッセージを送信してサーバーソケットで処理できますが、埋め込みで応答(socket.write)を受信できません(実際には、ファジーと変数の文字をいくつか受け取ります)。

クライアント TCP のような Hercules を使用して、サーバー ソケットは正常に動作し、プロセス全体を完了することができました。

AT Commands to TCP 接続で SIM900 および InetGSM ライブラリを使用しています (システムが変更されるため、最初は AT HTTP 接続を使用したくありません)。

サーバーソケットから判読可能なメッセージを受信するにはどうすればよいですか? ありがとう

4

1 に答える 1

1

解決しました!

AT+CIPSEND コマンドを送信すると、コマンドに対する AT 応答とサーバーから送信されたデータを含む一連の文字が受信されます。

したがって、私がする必要があるのは、それを配列に格納し、この配列内のデータ位置を選択するか、以下の例のように正しい配列位置で答えを選択することです。

例えば:

//Im waiting for char '1'
//After sending message with AT commands ...
char answer;

for(i = 0; i < 15; i++){ //15 is an random limit value that worked for me, I dont know why
    answer = (char)gsm.read();
    if(answer == '1'){
        Serial.println("I find the answer!");
    }
}
于 2015-09-25T00:07:59.710 に答える