At commands android app

Send AT Commands to BLE 4.0 Module From Android Phone

Introduction: Send AT Commands to BLE 4.0 Module From Android Phone

Today, I am going to show you how to send AT commands to Bluetooth Low Energy as called BLE 4.0 (There are BLE v4.1 and BLE v4.2) module by using your Android device which supports On-The-Go as called OTG option for example to detect a usb mouse indicator on your mobile phone by otg usb cable. This is the first time usage of Bluetooth Low Energy (BLE) module. This instructable is different because I am not using Arduino or Raspberry Pi board to send AT commands to BLE device, I am using my Android mobile phone to show you how powerful our Android devices are 🙂 (For HC05-HC07, read this)

NOTE: Charge your phone’s battery as %100 then begin!

The need list:

1. Android device with version bigger than v4.3with OTG support (Check your phone supports OTG or not)

2. OTG cable (Micro male usb pin input to usb type A female usb pin out)

3. Mini usb cable (Mini male usb pin input to usb type A male usb pin out)

4. FTDI FT232RL USB to TTL converter with conductive jumper plastic included

5. BLE 4.0 module (My module = SSID is BT05, LEVEL:3.3V, Power: 3.6V-6V, ZS-040, details are in next step)

Step 1: Make a Connection

Follow the diagram and make the connections between each part.

NOTE: When you run BLE module from your phone, your phone’s battery is going to go down a little bit more quick that’s because of external BLE module and FTDI module you attach and want to run both. So, charge up your phone before do this instructable.

NOTE: Your FTDI TTL converter should use 5V jumper. Check your converter’s logic converter level. It may 3.3V or 5V and there has to be GND between. Use 5V and GND to make short-circuit by a cable or jumper. Our bluetooth module supports 5V so we use 5V and GND pins together in same.

NOTE: If you are near with your computer you can use Tera Term program to send AT commands via usb cable to your bluetooth module over the cable. Your computer will recognize and opens a COM port and on Tera Term program, select serial port and write related COM port name and connect. (Check the picture about that)

NOTE: Baud rate is 9600

Step 2: Download the App

The app name is: Free USB Serial Term

Details: Click on the link above, sign in with your account, ass your mobile device to Google Play your account, download this application to your mobile phone. For more details, check the app page and learn what it supports as a hardware.

File is: 406 kilobytes

Step 3: While App Is Running

While app is running on your mobile phone:

1. Click on CR and LF things on the down-right side to enable both.

2. Click on right-top side’s wrench icon to go settings >> select 9600 as baud rate >> save and return to main page

3. Type AT command to BLE module then select OK after that. It should be response as OK.

On this step, let’s learn our module’s firmware version:

My firmware version is:

+VERSION=Firmware V3.0.6,Bluetooth V4.0 LE

Step 4: All Other AT Commands for Us

Now, test the AT commands as you like one-by-one:

AT+VERSION = +VERSION=Firmware V3.0.6,Bluetooth V4.0 LE

AT+ADDR = +ADDR=00:15:83:00:85:A9 (This is my device’s mac address)

AT+NAME = +NAME=BT05 (To change device name input AT+NAMEali, now the name is set as ali, then AT+RESET to enable new name, you can leave blank and use 13 character)

AT+ROLE = +ROLE=0 (Slave is 0 changes blink frequency rarely, Master is 1 changes blink frequency speedy, Slave-loop is 2 which loops from master to master)

AT+BAUD = +BAUD=4 (To change Baud Rate use AT+BAUDn n=1 for 1200, n=2 for 2400, n=3 for 4800, n=4 for 9600 (default), n=5 for 19200, n=6 for 38400, n=7 for 57600, n=8 for 115200, to enable, reset the module with AT+RESET)

AT+PIN = +PIN=000000 (To change pin AT+PIN123456 to enable AT+RESET)

AT+ORGL = Roll back to original settings

AT+RMAAD = If paired, release..

AT+PAIR=(12:34:56:78:90:10),60 = Try to pair this address (12:34:56:78:90:10) for 60 as a time unit.

NOTE: Other models of Bluetooth modules and other AT command details are here

Step 5: BONUS: Reading This Instructable

NOTE: This instructable’s step is aimed for visually impaired people to hear the sentences to learn what’s going on here. Watch the video, it explains all steps.

Читайте также:  Как перепрошить андроид приставку от ростелекома

Be the First to Share

Did you make this project? Share it with us!

Источник

At commands android app

Добрый день уважаемые форумчане и разработчики!
Мучаясь над решением одной задачи, общение с 3g модемом Android планшета с помощью АТ команд, решился к Вам обратиться за помощью.
Надеюсь выйдет интересная тема и кто-то из разработчиков возьмется за создания приложения, которое, я уверен на 100 %, можно будет коммерциализировать на Плей Маркете ). Планшеты с 3G модемами очень популярны и спрос растет непомерными шагами. Модемы производители устанавливают урезанными в функционале для экономии затрат.

Имея 3g планшет (с отключенной возможностью звонков, смс, проверки остатка на счету и пр. излишек полноценного радио) я с помощью терминала в режиме SU и АТ команд пытался в чем-то успешно, в чем то безуспешно:
1. Подключиться к диагностическому порту 3g модема (/dev/ttyUSB2) и послать стартовую команду АТ — успешно
2. Отслеживать лог радиомодуля logcat — b radio — успешно
3. Получить информацию о модеме ati0 — успешно
4. Отправлять USSD команды проверки баланса AT+CUSD=1,*111#,15 — безуспешно

Поэтому хочу начать дискуссию о возможности ат команд на Android что-бы:

1. Отправлять USSD запросы (команда CUSD) — и обработка их ответов (в т.ч. стандартные заготовки — счет, перевод, пополнение ваучером, и пр. реализовать шаблонами)
2. Отправки СМС (команда CMGS) — с возмоностью хранения отправленных
3. Получение (формально чтение с якейки сим карты) СМС (команда CMGL) — с памяти сим карты, и после прочтения чтобы удалялись с катры и сохранялись локально
4. Перевод модема в режим толко 2g\ только 3g\предпочтительно 2g\ предпочтительно 3g
5. Подключаться к интернету , в т.ч. через ручные APN точки
прочее по мере дальнейшего пользование что-то еще захочеться

Я на нетбуке имею 3ж модем и к нему вотчер, даю скриншот может поможет к.л.

Сообщение отредактировал B_B — 24.12.12, 22:58

Источник

At commands android app

This is a tool to collect results of executing available AT-commands on rooted android device.

The purpose of creating this application is providing tool which can automatically collect information about communication processor on android device.

Your device must be rooted before running this application. Check also that SELinux status is ‘Permissive’ (Settings > About phone > SELinux status). This is required to open /dev/smd11 device. SELinux status may be changed to permissime by running «su setenforce 0» (see this question on stackoverfow) and restarting device.

Currently tool provides two modes — automatic scan and console mode:

  1. Automatic scan — runs AT+CLAC and AT$QCCLAC commands to collect available AT commands on device and then runs collected commands one by one, saving results. Report is saved in HTML format and can be pulled from device ( adb pull sdcard/androidatcommands.html ). Report provides results of processed commands and also commands description with references to resources where description has been taken from. All commands are executed in safe way (read only).
  2. Console mode — allows to run commands manually by typing them into ‘Emission’ field and pressing Enter.

Description isn’t provided for all commands, because I have to search for it all over the Internet. Sometimes all I can find is chinese manuals or nothing at all. In such cases I left TODO as description, hoping that community will help me to complete this.

Your contribution in this project will make me (and android developers community) happy 🙂

Thanks to developers of android-serialport-api project.

Источник

Консольный Android: 50 команд ADB, о которых должен знать каждый

Содержание статьи

Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) — стандартном инструменте для отладки и работы с консолью Android с компа.

Основы работы с ADB

Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).

Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.

Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:

Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.

Добавление adb в переменную Path

Xakep #208. Атака на сигналку

Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):

С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:

Далее работа с ADB ничем не отличается.

Установка программ

ADB можно использовать для установки приложений без необходимости копировать их на смартфон. Достаточно выполнить такую команду:

Читайте также:  Ошибка формата файла не удается открыть файл андроид что делать

В команду также можно добавить дополнительные ключи. Полезными будут — переустановить приложение с сохранением данных и -d — установить версию меньше текущей.

Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:

Бэкап приложений

В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:

  • -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
  • -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
  • -obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);
  • -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
  • -all указывает на необходимость бэкапа всех установленных приложений;
  • -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);

— перечень пакетов для бэкапа.

Если мы хотим создать бэкап всех несистемных прог, включая сами .apk, в определенное место, то команда будет выглядеть так:

После ввода необходимо подтвердить начало выполнения бэкапа на самом устройстве. Для восстановления полученного бэкапа нужно выполнить соответствующую команду:

Процесс бэкапа

Консоль в консоли

Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой

В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.

В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:

Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.

Вывод свободного пространства на устройстве командой adb shell df
Пример работы команды ls для вывода информации о разделах

Создание скриншота

Выполняется одной строчкой:

После этого картинку нужно выдернуть из устройства командой adb pull:

В recovery скриншот можно сделать следующей командой:

Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:

Запись видео, происходящего на экране устройства

Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).

Управление приложениями

Для управления приложениями используются две команды: pm (package manager) — менеджер пакетов и am (activity manager) — менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков. Остановимся на некоторых.

Для начала получим список установленных на устройстве приложений в виде названий пакетов, которые пригодятся позже:

Добавив в конец -s, ты увидишь только системные приложения, -3 — только сторонние, -f покажет пути установки пакетов, а -d — отключенные приложения. Далее, зная названия пакетов, можно совершать над ними различные насильственные действия :). Например, отключить ненужный календарь:

Ну а совсем удалить можно так:

Для использования activity manager понадобятся более глубокие знания структуры Android и понимание того, что такое Avtivity и Intent. Это позволит тебе запускать различные приложения, например браузер или настройки:

Завершить работу приложения можно противоположной командой:

Ну а убить все запущенные приложения — такой командой:

Тот же activity manager поможет сделать звонок на нужный номер телефона:

А так можно открыть страницу в браузере:

Запуск браузера из консоли

А с помощью вариации предыдущей команды можно отправить СМС:

В данной команде input keyevent эмулирует нажатие кнопок и может использоваться как для хардварных, так и для кнопок внутри приложения. В нашем примере 22 соответствует перевод фокуса вправо (джойстик вправо — dpad right), а 66 — Enter.

С помощью команды input можно, например, разблокировать телефон. Для этого необходимо ввести:

Погасит экран keyevent 26, что соответствует нажатию кнопки Power. Можно также поэкспериментировать с цифрами 3 — Home, 4 — Back, 24 — Volume Up, 25 — Volume Down, 27 — физическая кнопка Camera. Последнюю кнопку можно передать и через широковещательные сообщения (полный список широковещательных сообщений ты найдешь тут):

Другое широковещательное сообщение переведет телефон в режим самолета:

Но данная команда не сработает на последних версиях Android. Для управления питанием и беспроводными коммуникациями там используется утилита svc. Например, включить передачу данных через мобильную сеть или управлять Wi-Fi можно через команды

Также можно заставить смартфон оставаться включенным при подключении к USB-порту/зарядке/Wi-Fi-сети или всегда:

Возвращаясь к команде input, стоит выделить еще одну команду для вставки текста в текущее поле. Кому-то это может показаться более привлекательным способом набора текста с компа, чем нажимать на кнопки небольшой области экрана. Выглядит команда так:

Кроме опции text, у команды input есть и другие. Полная форма команды такова:

В качестве источника можно указывать trackball, joystick, touchnavigation, mouse, keyboard, gamepad, touchpad, dpad, stylus, touchscreen. В качестве команд будут:

  • text (Default: touchscreen) [delay]
  • keyevent [–longpress] … (Default: keyboard)
  • tap (Default: touchscreen)
  • swipe [duration(ms)] (Default: touchscreen)
  • press (Default: trackball)
  • roll (Default: trackball)

Как видно из команд, можно, хотя и с трудом, управлять устройством через команды input touch и input swipe при разбитом экране, если не поддерживается работа мышки через USB-OTG. Например, вытянуть шторку с уведомлениями получится так (отсчет координат идет от левого верхнего угла):

А так можно узнать разрешение экрана:

Для Nexus 5 разрешение выдаст 1080 х 1920. Тогда нажать на кнопку «Меню приложений» стандартного лаунчера от Google, которая находится над кнопкой «Домой», можно так:

Скрипты

Выполнение всех описываемых в статье серий команд можно автоматизировать. Для этого вставляем их в текстовый файл (строки, следующие за adb shell), который имеет в начале строку #!/system/bin/sh, сохраняем с расширением sh и закидываем на устройство. После этого можно запускать скрипт через тот же adb:

Системные утилиты

Кратко остановлюсь на нескольких полезных командах (работоспособность некоторых, однако, может зависеть от версии прошивки и модели телефона).

Изменение DPI. Не требует root и работает на Android 5.0+. Стандартное значение для Nexus 5 — 480. При значении 420 на рабочем столе стокового лаунчера помещается пять иконок в ряд вместо четырех:

Подключение /system в режиме записи. Для части команд, которые меняют системные файлы, необходимо сначала перемонтировать раздел /system на запись. Это необходимо в том числе при удалении системных приложений. Перемонтирование выполняется следующей командой:

Мягкая перезагрузка:

Перевод смартфона в режим энергосбережения Doze (Android M+):

. повторяем действия, пока не увидим idle.

Батарейка в процентах (Android 4.4+):

Снятие логов

Очень часто, когда для решения проблемы пользователь обращается на форум устройства, там его просят скинуть логи работы телефона или приложения. Отвечают за это две утилиты: logcat и dmesg. Первая позволяет увидеть системные сообщения в реальном времени, а вторая постфактум покажет работу ядра, включая сообщения ошибок ввода-вывода, загрузку драйверов, подключение USB-устройств и так далее. Полный лог можно вывести сразу в файл следующей командой:

Все события будут записываться непрерывно по мере работы устройства. Остановить запись можно стандартной комбинацией Ctrl + C. Однако в лог попадает вся информация, что сильно затрудняет поиск нужной. Поэтому для работы обычно используют набор ключей и фильтров, подходящих к конкретной ситуации. Существует семь приоритетов сообщений по мере возрастания: V — Verbose, D — Debug, I — Info, W — Warning, E — Error, F — Fatal, S — Silent. Например, для вывода всех сообщений с приоритетом Е и выше следует ввести:

После этого можно запускать проблемное приложение и смотреть, что именно вызывает ошибку. Также поддерживается вывод информации из альтернативных буферов. Этим способом можно посмотреть, что приложения делают в фоне и, например, какие события происходят после включения экрана:

Вывод команды adb logcat -b events

Продвинутый уровень

В одной из своих статей я показывал, как можно доставать информацию из баз данных различных приложений. Ну а теперь посмотрим, как проделать это прямо из консоли, не качая базы на комп и не устанавливая на устройство просмотрщики баз. Для этого используется команда sqlite3. Выведем на экран историю браузера Chrome:

Чтобы база читалась, необходимо выгрузить браузер из работающих приложений. Прервать выполнение скрипта sqlite можно, нажав Ctrl + Z, а выйти — командой .quit. Если в ответ на команду ты получишь ошибку /system/bin/sh: sqlite3: not found, значит, на смартфоне нет sqlite3 и ее придется скачать, закинуть в /system/bin и дать файлу все права. Я использую sqlite3, который вытащил когда-то из Titanium Backup.

История браузера Chrome

Также с помощью sqlite3 можно выдернуть все контакты с телефона. Для этого в консоли на компе должен использоваться шрифт Lucida Console и перед началом выполнения команд необходимо перевести кодировку на UTF-8. Иначе вместо русских букв будут отображаться непонятные символы. Сами команды выглядят так:

Если все сделано правильно, то в консоли ты увидишь таблицу с порядковым номером записи, номером телефона и контактами, отсортированными по имени. Для контактов с более одного номера будет несколько записей подряд.

Вывод контактов из базы contacts2.db

Можно вывести данные не на экран, а сразу в текстовый файл. Для этого команды нужно изменить:

Альтернативный способ вывода контактов в файл — команда, требующая установленного BusyBox:

Снятие графического ключа, PIN, facelock

Допустим, ты забыл PIN или не совсем трезвым поставил графический ключ, ну или друзья пошутили и поставили распознавание по лицу. Так вот, если устройство по какой-то причине заблокировано, то блокировку можно снять (при условии включенной отладки по USB) через ту же консоль:

Команда удалит все пароли и графические ключи. Сами файлы в зависимости от прошивки и модели устройства могут быть: gesture.key, password.key, cm_gesture.key, personalpattern.key, personalbackuppin.key. Также за блокировку отвечают файлы locksettings.db, locksettings.db-shm, locksettings.db-wal.

После этого достаточно перегрузить устройство и ввести любой ключ, пароль. Если это не помогает, можно попробовать следующее:

Выводы

Как видишь, с помощью ADB можно сделать много интересного. И чем больше пользуешься консолью, тем быстрее можно выполнить некоторые действия без установки дополнительного софта на устройство. Надеюсь, данная статья помогла разобраться с ADB и подтолкнула к чтению документации и поиску новых полезных команд.

Источник

Читайте также:  Android factory reset power volume
Оцените статью