SecureCRT運行Python腳本測試IoT-WiFi模塊-實戰1

文末有本期的相關軟件、資料等免費獲取福利哦!

  1. 前言:

對於一些WiFi模塊,如ESP8266等,通常都是支持一些 AT 命令的。在一些測試過程中,每次都是要在串口工具中輸入對應的 AT 指令才能完成。

如下圖,爲樂鑫 WiFi模塊的 AT 指令。本文將對SecureCRT 串口工具中運行 Python腳本來對AT指令的模塊進行相關操作測試。

 

  1.  

    目標: 需要測量 WiFi 的接收信號強度。

    分析:輸入一次 AT 指令來測試並不能反映真實的數據值。因此需要連續測試,而且連續測試過程中不可能一直輸入命令。因此用軟件代碼來實現是最好的了。

 

代碼如下:

# $language = "python"
# $interface = "1.0"
'''半自動化測試代碼說明:
     python  for SecureCRT,send the AT Command to the tools
    該代碼適用於特定的WiFi模塊,通過串口連接到SecureCRT串口工具後,運行該程序。
    可連續進行wifi信號強度測試,並且計算RSSI均值。
'''
import time
import sys
RSSI = "ATWR"
rssiList=[]
def main():   
    for i in range(1,11):
        #向 SecureCRT 工具發送查詢 RSSI 指令
        crt.Screen.Send(RSSI + "\r")
        #print("第 %s 次測試RSSI" %(s,i) )
        #在5秒內等待屏幕出現password:或者yes/no文字進行下方操作,超過2秒錶示超時
        result = crt.Screen.WaitForString('[MEM]',2)
        #當屏幕出現 wifi_get_rssi: rssi 字符
        if result == 1:
            # CurrentRow返回當前光標的行座標。
            curRow = crt.Screen.CurrentRow
            rssiRow = curRow - 3
            rssiRow1 = rssiRow + 1
            #out = crt.Screen.Get(rssiRow, 1, rssiRow1, 26)
            #crt.Dialog.MessageBox(out)
            # rssi 值在第 24,25列
            rssi = crt.Screen.Get(rssiRow, 23, rssiRow1, 26)
            rssiList.append(int(rssi))
            #crt.Dialog.MessageBox(str(rssiList))            
        time.sleep(3)
    sum = 0
    for x in rssiList:
        sum = sum+x
    avr_rssi = sum/(len(rssiList))
    strshow = "本次一共進行"+ str(len(rssiList)) + "次RSSI測試,平均 RSSI="+str(avr_rssi)
    crt.Dialog.MessageBox(strshow,"平均RSSI值")
main()

 

代碼截圖:

  1. 運行代碼:

保存代碼,在CRT 中添加按鈕,具體基礎的使用見上一篇教程。

運行之後,每隔3秒發送一次指令,一共測試10次,自動計算均值。

當然,還可以根據需要自己進行修改代碼。

  1. 總結:

         實戰1介紹到這裏,下一篇繼續深入講如何打造自己的圖形化測試工具。

 

文末福利:

1. 掃碼關注公衆號或查看個人博客

2. 在微信後臺發送“SecureCRT”,即可免費獲得軟件和相關電子書籍。僅供學習之用。

 

3. 也可以在個人博客獲取相關軟件和資料的鏈接。

 

4. 掃碼關注後,查看往期內容,會有更多學習資料驚喜等着你來拿哦

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章