Драйверы, написанные для доступа в Интернет через устройства на базе AT-команд

Драйверы, написанные для доступа в Интернет через устройства на базе AT-команд

USB-донглы, GSM IC используют команды "AT" для настройки, а также для управления своей работой. Такие команды могут управлять питанием, а также отправлять SMS, подключаться к интернету через LTE, GPRS или 3G и даже сбрасывать устройства и принимать звонки. Я также должен упомянуть, что единственный способ управлять такими устройствами - это использовать команды "AT".

Стандарт команд "AT" имеет около 10 - 15 универсальных команд, а некоторые устройства имеют дополнительный набор команд, позволяющий подключаться к Интернету. Ниже приведены некоторые из таких возможных действий,

  1. Установление соединения с SSL-серверами или серверами без SSL-защиты.
  2. Отправка данных на порт сервера после активации соединения.
  3. закрытие соединений.

Я считаю (поправьте меня, если я ошибаюсь), что одна AT-команда соответствует одной из вышеперечисленных задач.

Я заинтересован в написании драйвера на C для системы GNU/linux, который может интерпретировать и обслуживать потребности ПК в Интернете с помощью команд AT. Это программное обеспечение должно позволить ПК «видеть» себя как «выход», возможно, как соединение Ethernet. Это то, что делает большинство программных обеспечений для ключей. Обычно они имеют два COM-порта, работающих на высокой скорости. Один COM-порт управляется программным обеспечением USB-ключей по умолчанию, а другой используется для отправки/получения данных.

Я был бы признателен, если бы кто-нибудь объяснил мне, как я могу разработать "поддельное" соединение Ethernet или заставить ПК "увидеть" выход, используя этот драйвер. Драйверу необходимо будет "управлять" GSM IC или USB-ключом для отправки/получения данных. Этот проект для образовательных целей, поэтому я не заинтересован в установке бинарного ПО и запуске моего ключа.

Я был бы очень признателен, если бы кто-нибудь мог рассказать о похожем проекте с открытым исходным кодом.

решение1

аппаратная сторона: взаимодействие с оборудованием GSM

Кажется, несколько человек используют "модуль SIM900 GPRS" для подключения к веб-серверам с помощью AT-команд. Это достаточно близко к тому, что вы ищете?

РЕДАКТИРОВАТЬ:

сторона приложения: взаимодействие с обычными, немодифицированными приложениями Linux

Похоже, вы хотите, чтобы программное обеспечение вроде Firefox на вашем компьютере с Linux работало нормально, без каких-либо изменений в самом приложении Firefox, «как будто» ПК подключен к Интернету через стандартный кабель Ethernet.

Поэтому ваше программное обеспечение должно представлять собой драйвер устройства, который «выглядит» как другие драйверы устройств Ethernet или WiFi на стороне приложения, но на стороне оборудования направляет данные через USB или другой последовательный порт на оборудование GSM/GPRS.

Не могли бы вы создать форк какого-нибудь стандартного драйвера устройства Ethernet или драйвера устройства Wi-Fi, а затем заменить раздел, который взаимодействует с его конкретным оборудованием карты Ethernet, на раздел, который взаимодействует с вашим конкретным оборудованием GSM/GPRS?

Целые книги можно было бы написать и уже написали о написании драйверов устройств Linux; и многие драйверы устройств Linux являются программным обеспечением с открытым исходным кодом:

Для вашего конкретного приложения вам может быть проще написать обычную программу пользовательского пространства и настроить ееТУН/ТАПвиртуальные сетевые устройства ядра для доставки пакетов из Firefox и других приложений в вашу программу пользовательского пространства.

По вопросам написания таких драйверов устройств, поскольку эти драйверы устройств работают одинаково для всех систем Linux (не только Ubuntu), вы можете получить более точный ответ на более релевантных сайтах, таких какhttps://unix.stackexchange.com/,https://serverfault.com/,https://softwareengineering.stackexchange.com/,https://networkengineering.stackexchange.com/, и т. д.

Связанный контент