AT 명령 기반 장치를 통해 인터넷에 액세스하도록 작성된 드라이버

AT 명령 기반 장치를 통해 인터넷에 액세스하도록 작성된 드라이버

USB 동글, GSM IC는 구성 및 작동 제어를 위해 "AT" 명령을 사용합니다. 이러한 명령에는 전원 제어는 물론 SMS 전송, LTE, GPRS 또는 3G를 통해 인터넷 연결, 장치 재설정 및 전화 수신 기능도 있습니다. 또한 그러한 장치를 제어하는 ​​유일한 방법은 "AT" 명령을 통해서라는 점을 언급해야 합니다.

"AT" 명령 표준에는 약 10~15개의 범용 명령이 있으며 일부 장치에는 인터넷 연결을 허용하는 추가 명령 세트가 있습니다. 다음은 가능한 작업 중 몇 가지입니다.

  1. SSL 또는 비 SSL 서버에 연결합니다.
  2. 연결이 활성화되면 서버의 포트로 데이터를 보냅니다.
  3. 연결을 닫습니다.

나는 하나의 AT 명령이 위의 작업 중 하나에 해당한다고 믿습니다.

저는 AT 명령을 통해 PC의 인터넷 요구 사항을 해석하고 제공할 수 있는 GNU/Linux 시스템용 드라이버를 C로 작성하는 데 관심이 있습니다. 이 소프트웨어는 PC가 자신을 이더넷 연결과 같은 "출구"로 "인식"할 수 있도록 해야 합니다. 이것이 대부분의 동글 소프트웨어가 수행하는 작업입니다. 일반적으로 고속으로 실행되는 두 개의 COM 포트가 있습니다. 하나의 COM 포트는 USB 동글 기본 소프트웨어에 의해 제어되고 다른 하나는 데이터 전송/수신에 사용됩니다.

"가짜" 이더넷 연결을 개발하는 방법이나 이 드라이버 소프트웨어를 사용하여 PC가 "인식"할 수 있는 방법을 누군가가 설명해 주시면 감사하겠습니다. 드라이버 소프트웨어는 데이터 전송/수신을 위해 GSM IC 또는 USB 동글을 "구동"해야 합니다. 따라서 이 프로젝트는 교육 목적이므로 바이너리 소프트웨어를 설치하고 동글을 작동시키는 데 관심이 없습니다.

누군가가 이와 유사한 오픈 소스 프로젝트에 공감할 수 있다면 정말 감사하겠습니다.

답변1

하드웨어 측면: GSM 하드웨어와 통신

AT 명령어를 사용하여 웹 서버에 연결하기 위해 "SIM900 GPRS 모듈"을 사용하는 사람들이 여러 명 있는 것 같습니다. 이것이 당신이 찾고 있는 것과 충분히 가깝습니까?

편집하다:

애플리케이션 측: 수정되지 않은 일반 Linux 애플리케이션과 대화

Linux 컴퓨터의 Firefox와 같은 소프트웨어가 Firefox 응용 프로그램 자체를 변경하지 않고 "마치" PC가 인터넷의 표준 이더넷 케이블에 연결되어 있는 것처럼 정상적으로 작동하기를 원하는 것처럼 들립니다.

따라서 소프트웨어는 애플리케이션 측에서는 다른 이더넷 또는 WiFi 장치 드라이버와 "유사해 보이지만" 하드웨어 측에서는 USB 또는 기타 직렬 포트를 통해 GSM/GPRS 하드웨어로 데이터를 라우팅하는 장치 드라이버여야 합니다.

일부 표준 이더넷 장치 드라이버 또는 Wi-Fi 장치 드라이버를 분기한 다음 특정 이더넷 카드 하드웨어와 통신하는 섹션을 특정 GSM/GPRS 하드웨어와 통신하는 섹션으로 교체할 수 있습니까?

Linux 장치 드라이버 작성에 관한 책 전체가 작성될 수 있었고 작성되었을 수도 있습니다. 많은 Linux 장치 드라이버는 오픈 소스 소프트웨어입니다.

특정 응용 프로그램의 경우 일반 사용자 공간 프로그램을 작성하고 설정하는 것이 더 쉬울 수 있습니다.턴/탭Firefox 및 기타 응용 프로그램의 패킷을 사용자 공간 프로그램으로 전달하는 가상 네트워크 커널 장치.

이러한 장치 드라이버 작성에 대한 질문의 경우 해당 장치 드라이버는 Ubuntu뿐만 아니라 모든 Linux 시스템에서 동일하게 작동하므로 다음과 같은 관련 사이트에서 더 나은 응답을 얻을 수 있습니다.https://unix.stackexchange.com/,https://serverfault.com/,https://softwareengineering.stackexchange.com/,https://networkengineering.stackexchange.com/, 등.

관련 정보