Drivers gravados no Access internet através de dispositivos baseados em comandos AT

4

USB dongles, os ICs GSM usam comandos "AT" para configuração, bem como para controlar sua operação. Tais comandos têm a capacidade de controlar a energia, bem como enviar SMS, conectar-se à Internet via LTE, GPRS ou 3G e até mesmo redefinir os dispositivos e receber chamadas. Eu também devo mencionar que a única maneira de controlar esses dispositivos é através dos comandos "AT".

O padrão de comando "AT" tem de 10 a 15 comandos universais e alguns dispositivos possuem um conjunto adicional de comandos para permitir conexões à Internet. Abaixo estão algumas dessas ações possíveis,

  1. Fazendo uma conexão com servidores SSL ou não SSL.
  2. Enviando dados para uma porta no servidor quando a conexão estiver ativa.
  3. fechando conexões.

Eu acredito (corrija-me se estiver errado) que um comando AT corresponde a uma das tarefas acima.

Estou interessado em escrever um driver em C para o sistema GNU / Linux que possa interpretar e atender as necessidades de internet dos PCs via comandos AT. Este software deve deixar o PC "se ver" como uma "saída", talvez como uma conexão ethernet. Isso é o que a maioria dos softwares de dongle faz. Eles normalmente têm duas portas COM em alta velocidade. Uma porta COM é controlada pelo software padrão dos dongles USB e a outra é usada para enviar / receber dados.

Gostaria que alguém me explicasse como posso desenvolver uma conexão ethernet "falsa" ou fazer com que o PC "veja" uma saída usando este software de driver. O software do driver precisará "conduzir" o IC do GSM ou um dongle USB para enviar / receber dados. Este projeto para fins educacionais, portanto, não estou interessado em instalar um software binário e fazer meu dongle funcionar.

Eu também apreciaria muito se alguém pudesse se relacionar com um projeto de código aberto similar a este.

    
por Dina 06.06.2015 / 05:25

1 resposta

2

lado do hardware: conversando com hardware GSM

Parece haver várias pessoas usando um "módulo SIM900 GPRS" para se conectar a servidores da Web usando comandos AT. Isso está perto o suficiente do que você está procurando?

EDITAR:

lado do aplicativo: conversando com aplicativos Linux normais e não modificados

Parece que você quer que um software como o Firefox no seu computador Linux funcione normalmente, sem nenhuma alteração no próprio aplicativo Firefox, "como se" o PC estivesse conectado a um cabo Ethernet padrão à Internet.

Portanto, seu software precisa ser um driver de dispositivo que se parece com outros drivers de dispositivo Ethernet ou WiFi no lado do aplicativo, mas no lado de hardware direciona os dados através de uma porta USB ou outra porta serial para o hardware GSM / GPRS. / p>

Você poderia usar um driver de dispositivo Ethernet padrão ou um driver de dispositivo Wifi e substituir a seção que fala com seu hardware de placa Ethernet específico, com uma seção que fala com seu hardware GSM / GPRS específico?

Livros inteiros podem e foram escritos sobre como escrever drivers de dispositivos Linux; e muitos drivers de dispositivos Linux são softwares de código aberto:

Para sua aplicação específica, pode ser mais fácil escrever um programa normal de espaço do usuário, e configurar TUN / TAP dispositivos de kernel de rede virtual para entregar pacotes do Firefox e outros aplicativos ao seu programa de espaço do usuário .

Para perguntas sobre como escrever esses drivers de dispositivo, já que esses drivers de dispositivo funcionam da mesma forma para todos os sistemas Linux (não apenas o Ubuntu), Você pode obter uma resposta melhor em sites mais relevantes, como o link , link , link , link , etc.

    
por David Cary 06.06.2015 / 06:03