또한 Arduino 섹션에 게시했지만이 문제는 아마도 Arduino 문제가 아니라 일반적으로 nanomsg 및 연결에 대한 내 알지 못함으로 인해 더 많이 발생합니다.Nanomsg TCP 핸드 셰이크
Arduino를 사용하는 포트에서 TCP를 통해 통신하기 위해 nanomsg을 사용하는 서버와 통신을 시도하고 있습니다. 다양한 구성을 시도했습니다 (원격으로 arduino에 연결하고 arduino를 서버에 연결하고 다른 nanomsg 도구 사용).
내가 할 수있는 성공적으로 내가 상관없이 모든 구성에서 그러나
sudo cat texttosend > /dev/tcp/192.168.1.50/80
고양이
를 사용하지 않으며, SEND 텍스트를 읽을 서버 모드에서 아두 이노를합니다 (WiFiWebServer 예제의 아주 약간 수정 된 버전을 실행) 수 텍스트 nanomsg를 사용하여 보내려고하고 있는데, 항상 같은 숫자의 문자열을 얻습니다. arduino에서 16 진수로 바이트를 인쇄하면 0 53 50 0 0 51 0 0입니다. Nanocat (nmoms의 간단한 명령 행 도구)는 전송 및 종료 대신 일시 중단됩니다 (연결을 확인하기 위해 끊임없이 연결을 확인하는 것처럼 데이터).클라이언트가 연결하여 해당 바이트를 읽고 종료 한 다음 다시 시작하기 때문에 Arduino가 실패하는 것 같은 종류의 핸드 셰이크라고 가정합니다. 둘 다 (내 로컬 컴퓨터에서 서버로) nanomsg를 사용하면 문제가 없습니다.
내가 얻는이 숫자가 악수 인 경우 어떻게 완성합니까?
아두 이노 코드의 루프 부분의 고기
client = server.available();
if (client) {
Serial.println("new client");
while (client.connected()) {
while (client.available()) {
byte b = client.read();
Serial.print(b,HEX);
Serial.write(b);
}
}
}
되고 연결할 때 달려 nanocat 명령은
nanocat --push --connect tcp://192.168.1.50:80 --data thismesadsfsdfg
명령에'--format ascii'를 추가해 보셨습니까? 아니면''message "와 같이''"'에 데이터를 넣으시겠습니까? – SSC
나는 다양한 메시지 (큰 따옴표, 따옴표, 임의의 문자열 등)를 보내려고했지만 Arduino가받는 것을 변경하지 않았습니다. 형식화 플래그는 데이터를 수신하기위한 것일 뿐이며, nanocat이 데이터를 전송하는 방법을 제어하지 못합니다 (나는 거의 알지 못합니다). –
이것은 나노 미터의 일부분입니다. http://www.freelists.org/post/nanomsg/Status,242 –