安卓下at命令是運行在哪裡
㈠ Android 發送AT指令
1、hardware\ril\reference-ril\Reference-ril.c 中 onRequest() 處理RIL_REQUEST_DIAL 時會 調用requestDial();
2、requestDial()中轉換RIL_REQUEST_DIAL 請求為AT指令;
3、通過at_send_command()下發;
4、經過at_send_command_full,at_send_command_full_nolock ,writeline()寫到設備中。
㈡ Android平台到底能不能通過串口發送AT指令呢,急!!!
AT命令(Attention)在手機中,用於對modem(也就是移動模塊)通過串口命令進行操作,處理與語音電話、簡訊和數據。
關於AT命令:
Android系統與AT命令
對於智能手機,AP和BP分離的情況,在AP上的系統通過串口和BP通信是個不錯方式。在Android的源碼中有一個內部包com.android.internal.telephony中有對AT命令的封裝和解析,但這種internal的包開發者不能調用的SDK部分,可以用來封裝ROM。這說明Android對AT command的方式是支持的。
對於Android如何調用AT command
用root登錄命令行,直接對串口進行操作,如echo -e "AT " > /dev/smd0
具體的串口,不同設備會有不同,甚至不一定會提供。這種方式,開發者是可以調用的,通過Runtime.exec直接執行命令行命令,但要求是root,例如echo -e "ATD123456789; " > /dev/smd0,撥打123456789的號碼。
目前最新的AT命令標准發布與2014.6.27,似乎還活得挺滋潤的。但是給出的keywords是UMTS, GSM, command, terminal, LTE這說明CDMA確實很可能不是採用AT命令的方式。
㈢ AT 命令怎麼用啊
at命令的用法
At
列出在指定的時間和日期在計算機上運行的已計劃命令或計劃命令和程序。必須正在運行「計劃」服務才能使用 at 命令。
at [\\computername] [[id] [/delete] | /delete [/yes]]
at [\\computername] time [/interactive] [/every:date[,...]| /next:date[,...]] command
參數
無
如果在沒有參數的情況下使用,則 at 列出已計劃的命令。
\\computername
指定遠程計算機。如果省略該參數,命令將安排在本地計算機。
id
指定指派給已計劃命令的識別碼。
/delete
取消已計劃的命令。如果省略了 id,計算機中已計劃的命令將被全部取消。
/yes
當刪除已計劃的事件時,對系統的查詢強制進行肯定的回答。
time
指定運行命令的時間。將時間以 24 小時標記(00:00 [午夜] 到 23:59)的方式表示為小時:分鍾。
/interactive
允許作業與在作業運行時登錄用戶的桌面進行交互。
/every:date[,...]
在每個星期或月的指定日期(例如,每個星期四,或每月的第三天)運行命令。將 date 指定為星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的數字)。用逗號分隔多個日期項。如果省略了 date,將假定為該月的當前日期。
/next:date[,...]
在重復出現下一天(例如,下個星期四)時,運行指定命令將 date 指定為星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的數字)。用逗號分隔多個日期項。如果省略了 date,將假定為該月的當前日期。
command
指定要運行的 Windows 2000 命令、程序(.exe 或 .com 文件)或批處理程序(.bat 或 .cmd 文件)。當命令需要路徑作為參數時,請使用絕對路徑,也就是從驅動器號開始的整個路徑。如果命令在遠程計算機上,請指定伺服器和共享名的 UNC 符號,而不是遠程驅動器號。如果命令不是可執行 (.exe) 文件,必須在命令前加上 cmd /c,例如:
cmd /c dir > c:\test.out
㈣ at 命令如何如何使用
at命令使用詳解
AT命令是Windows XP中內置的命令,它也可以媲美Windows中的「計劃任務」,而且在計劃的安排、任務的管理、工作事務的處理方面,AT命令具有更強大更神通的功能。AT命令可在指定時間和日期、在指定計算機上運行命令和程序。
我們可以在「開始→運行」中輸入AT命令,下面就來看看AT命令的一些實例分析。
1、定時關機
命令:at 21:00 ShutDown –S –T30
該命令運行後,到了21:00點,電腦會出現「系統關機」對話框,並默認30秒延時自動關機。
2、定時提醒
命令:at 12:00 Net Send 10.10.36
.122與朋友約會的時間到了,快點准備出發吧!
其中Net Send是Windows內部程序,可以發送消息到網路上的其他用戶、計算機。10.10.36.122是本機電腦的IP地址。這個功能在Windows中也稱作「信使服務」。
3、自動運行批處理文件
如果公司的數據佷重要,要求在指定的日期/時間進行備份,那麼運行:
命令:at 1:00AM /Every:Saturday My_BackUp.bat
這樣,在每個Saturday(周六)的早上1:00點,電腦定時啟動My_BackUp.bat批處理文件。My_BackUp.bat是一個你自行編制的批處理文件,它包含能對系統進行數據完全備份的多條命令。
4、取消已經安排的計劃
命令:at 5 /Delete
有時候,你已經安排好的計劃可能臨時變動,這樣你可以及時地用上述命令刪除該計劃(5為指派給已計劃命令的標識編號),當然,刪除該計劃後,可以重新安排。
AT命令是一個win2000/xp/nt當中的一個命令,然而在我們的入侵當中是一個不可缺少的一項服務,他可以讓程序中有一個程序在一定的時間里自動執行,從而操控計算機,
下面說一下他的用法!
AT 命令安排在特定日期和時間運行命令和程序。
要使用 AT 命令,計劃服務必須已在運行中。
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "command"
\\computername 指定遠程計算機。 如果省略這個參數,
會計劃在本地計算機上運行命令。
id 指定給已計劃命令的識別號。
/delete刪除某個已計劃的命令。如果省略 id,
計算機上所有已計劃的命令都會被刪除。
/yes 不需要進一步確認時,跟刪除所有作業
的命令一起使用。
time 指定運行命令的時間。
/interactive 允許作業在運行時,與當時登錄的用戶
桌面進行交互。
/every:date[,...]每個月或每個星期在指定的日期運行命
令。如果省略日期,則默認為在每月的
本日運行。
/next:date[,...] 指定在下一個指定日期(如,下周四)運
行命令。如果省略日期,則默認為在每
月的本日運行。
"command"准備運行的 Windows NT 命令或批處理
程序。
下面說一下他的幾個用法!!
(Viliosn.exe 是一個程序)
1,如果想讓啟動對方在指定時間里的某個程序,你可在命令行里打入:
At \\127.0.0.123:00 c:\winnt\system32/viliosn.exe
提示:新加了一份作業, 作業id=1
2.讓對方的計算機在每周一和周二的23:00啟動某個程序.那麼你可以打入
At \\127.0.0.1 23:00 /every:一,二 c:\winnt\system32\viliosn.exe
提示:新加了一份作業, 作業id=2
3.刪除對方計算機上作業id為1的任務
At \\127.0.0.1 1 /delete /yes
4.刪除所有的任務
At \\127.0.0.1 /delete
提示:是否要刪除所有的操作?然後我們打 Y
㈤ 詳細介紹下at命令怎麼用
AT命令集的描述
符號 * 表明該命令的設置可用AT&Wn命令存於兩個用戶方案中的一個
A/ 重執行命令
重執行前一AT命令行,主要用於連接時占線,無應答或號碼錯誤。這一命令必須單獨構成一命令行並由"/"字元結束,(<Enter> 不能用於結束命令)。
+++ 退出字元 預設:+
切換數據機從在線狀態到命令狀態,而不會中斷數據連接。可以通過改變S寄存器S2的值來改變這一字元。
AT=x 寫入被選的S寄存器
這一命令將數值x寫入當前被選的S寄存器,一個S寄存器可由ATSn命令選擇,若 x 是一個數字,所有S 寄存器將返回 OK 響應。
AT? 讀被選的S寄存器
這一命令讀並且顯示被選的S寄存器的內容。一個S寄存器可由ATSn命令選擇。
ATA 應答
它必須是命令行中的最後一條指令。數據機在應答方式下繼續執行連接程序。在與遠端數據機交換載波後進入連接狀態,如果在由寄存器S7規定的時間內(預設值=50秒)沒有檢測到載波, 數據機將掛機。在連接過程中,通過DTE輸入的任何一個字母都將中斷這一命令。
ATBn* 選擇ITU-T或Bell模式 預設=0
ATB0 選擇在1200和300bps速率下通訊的ITU-T V.22和V.21協議
ATB1 選擇在1200和300bps速率下通訊的Bell 212A和103協議
ATCn 載波控制預設=1
包含這一命令只是為了保證兼容性,執行號只是返回一結果碼而沒有其它作用。
ATC1 正常傳輸載波切換
ATDn 撥號
它必須是命令行中的最後一條指令, ATD命令使數據機摘機後, 根據輸入的參數撥號,以建立連接。
如果不帶參數,數據機摘機後,不撥號進入發起方式。
使用標點可使命令更易讀懂。圓括弧,連字元和空格符會被忽略。拔號命令行中如果出現了非法字元,則該字元及其後的內容將被忽略。數據機允許的撥號命令長度為36個字元。
參數:0-9 A B C D * # L P T R ! @ W , ; ^ S=n
0-9 DTMF 符號0到9
A-D DTMF 符號A,B,C和D。在一些國家中不使用這些符號
* "星"號(僅用於音頻撥號)
# "#"號(僅用於音頻撥號)
J 為本次呼叫執行在可提供的最高速率下的MNP10鏈路協商(可選)
K 使本次呼叫MNP10鏈路協商期間電源電平可調(可選)
L 重撥上一次撥過的號碼
P 脈沖撥號
T 雙音頻撥號
R 逆叫方式。允許數據機使用應答方式呼叫只能作為發起使用的調制解調 器, 必須作為命令行中的最後一個字元輸入。
! 使數據機按照S29中規定的值掛機一段時間再摘機。
@ 使數據機等待5秒鍾的無聲回答
w 按照寄存器S7中規定的時間,在撥號前等待撥號音。
, 在撥號過程中,按照寄存器S8中規定的時間,暫停
; 撥號後返回命令狀態
^ 打開呼叫音
() 被忽視,用於格式化號碼串
- 被忽視,用於格式化號碼串
<space> 被忽視,用於格式化號碼串
S=n 用AT&Zn 命令存在地址n處的號碼撥號
ATE* 命令回應 預設:1
ATE0 關閉命令回應
ATE1 打開 命令回應
ATHn 摘掛機控制 預設:0
ATH0 使數據機掛機
ATH1 當數據機處於掛機狀態,使數據機摘機,返回響 OK,等待進一步的命令。
ATIn 識別
I0 報告產品代碼
I1 報告ROM中預先計算的校驗和
I2 計算校驗和並與ROM中的校驗和比較,返回"OK"或"ERROR"結果碼
I3 報告固件修正
I4 報告OEM定義的識別串
I5 報告國家代碼參數
I6 報告固件修正
I7 報告數據機數據泵類型
ATLn* 揚聲器音量 預設:2
ATL0 揚聲器低音量
ATL1 揚聲器低音量
ATL2 揚聲器中音量
ATL3 揚聲器高音量
ATMn* 揚聲器控制 預設:1
ATM0 關閉揚聲器
ATM1 揚聲器在呼叫建立握手階段打開至檢測到來自於遠端數據機的載波後關閉
ATM2 揚聲器持續開
ATM3 揚聲器在應答期間打開。當檢測到來自於遠端的數據機的載波和撥號時關閉
ATNn* 調制握手 預設:1
ATN0 要求數據機S37選擇連接速率,若S37=0,則連接速率必須與發出的上一條AT命令的速率相匹配。如果所選擇的速率可用不止一個通訊標准實現(如Bell212A或ITU-T V.22 速率在 1200bps)數據機同時參考ATB 命令選擇。
ATN1 允許時使用雙方數據機都支持的任一速率握手,使能夠自動檢測。在這一方式下,ATB命令被忽視,數據機只用ITU-T方式連接。
ATOn 進入數據在現狀態 預設:0
ATO0 使數據機從命令在現狀態直接返回數據在線狀態,不經過自動均衡。
ATO1 使數據機從命令在現狀態返回數據在狀態,經過自動均衡。
ATP* 設脈沖撥號為預設
ATQn* 結果碼顯示 預設:0
ATQ0 數據機向DTE發送結果碼
ATQ1 禁止數據機向DTE發送結果碼
參閱數據機結果碼一節的詳細說明
ATSn 設S寄存器n為預設寄存器
ATSn? 讀S寄存器
讀S寄存器中的內容,所有的S寄存器都可以讀
ATSn=x 寫入S寄存器
將 x值寫入指定的S寄存器n
ATT* 設音頻拔號為預設
ATVn* 結束碼類型 (消息控制) 預設:1
ATV0 發送短型 (數字型) 結果碼
ATV1 發送長型 (字元型) 結果碼
ATWn* 協商進程報告 預設:0
ATW0 不報告糾錯呼叫進程
ATW1 報告糾錯呼叫進程
ATW2 不報告糾錯呼叫進程,CONNECT xxxx指示DCE速率。
ATXn* 擴展結果碼 預設:4
ATX0 數據機忽視撥號音和忙音。當由盲撥建立連接時,發送CONNECT信息。
ATX1 數據機忽視撥號音和忙音。當由盲撥建立連接時,CONNECT XXXX 反映的是比特速率
ATX2 數據機忽視忙音,但在撥號前等待撥號音,如果5秒鍾內檢測不到撥號音,則發送NO DIAL TONE 信息,連接建立後 發送 CONNECT xxxx反映比特速率。
ATX3 數據機忽視撥號音,若檢測到忙音,發送BUSY信息,當由盲撥建立起連接時, CONNECT XXXX 反映的是比特速率。
ATX4 如果5秒鍾內檢測不到撥號音,發送NO DIAL TONE 訊息,檢測到忙音, 發送BUSY信息。連接建立後發送CONNECT XXXX 反映比特速率。
㈥ Android怎麼直接發AT命令測試
一、准備測試環境及測試文件
1、安裝Java JDk,設置好環境變數
2、安裝Android SDK,設置好環境變數(詳細步驟略)
3、准備被測apk及測試所需的一些工具
二、啟動模擬器,並解鎖
批處理腳本:
emulator -avd Galaxy4.2 ::啟動模擬器
ping -n 90 127.0.0.1>nul ::等待模擬器啟動成功,-n 90 為等待時間,建議設置大一點
adb shell input keyevent 82 ::模擬器打開後都會鎖屏,adb模擬鍵盤輸入,解鎖
ping -n 2 127.0.0.1>nul
三、腳本參數初始化
代碼如下:
set appName=TestAndroid.apk ::被測程序名稱
set pkgName=com.example.testandroid ::被測程序包名
set openName=com.example.testandroid.MainActivity ::被測試程序主activity
set "times=%1" ::測試次數,腳本傳入參數
x blat.exe C:\Windows\System32\ /Y ::將郵件工具復制到系統文件夾下,需關閉360衛士
四、循環執行安裝打開關閉卸載
echo 測試開始>source.txt ::創建一個source文件記錄日誌
for /l %%a in (1,1,%times%) do (
adb install TestAndroid.apk ::安裝apk
adb shell am start -W -n %pkgName%/%openName% ::打開apk
call cmd /c close.bat %pkgName% ::關閉apk
adb uninstall %pkgName% ::卸載apk
adb logcat -d |findstr "^D/k.*}\>" ::過濾logcat,獲取需要的內容
adb logcat -c ::清除logcat日誌
taskkill /f /im adb.exe)>>source.txt ::結束adb進程,防止佔用source文件
::每次操作日誌都記錄在source中
五、處理source.txt提取關鍵信息,並發送郵件
六、設置windows定時任務,參數填寫為測試次數,完成。
㈦ android平台通過串口發送AT命令
要滿足這三個條件:
1,單開線程自動寫at
2,單開線程讀at
3,打開文件讀配置,將讀出來後的配置文件放到log文件里去。
這邊記錄下如何在ui下開一個線程的過程:用一個handler變數調用handler.post函數,然後在runnable裡面重寫run介面就可以,實際上,這樣調用出來的線程跟ui主線程是一個線程,不會創建新的。所以這邊如果要用線程創建的話,必須
wthread = new HandlerThread("thread");
wthread.start();
wHandler = new Handler(wthread.getLooper());
wHandler.post(runnable);
這時重寫runnable的run函數才可以實現重新開啟一個線程。
在這個線程裡面可以讀寫串口,但是界面的刷新不能在這個子線程裡面做。必須主線程在做一個handler,然後子線程調用Message 變數傳進主線程的handler.sendMessage(msg);然後主線程用handlerMessage接收子線程傳過來的消息,在主線程裡面刷新界面。