WiFi無線模組公司基于安卓的物聯異步串行通信系統  
    
     發布日期:2021-12-06 
     瀏覽次數:2763
    
    
     WiFi無線模組公司基于安卓的物聯異步串行通信系統,由于計算機和因特網技術的普及,網絡成了人際交流的工具,以網絡為對象進行交流。人與物交流的工具使一切事物連結起來,由此產生了物聯網技術。當前,物聯網技術正在走向多功能、多方向、實用型和全感知、可靠傳輸、智能處理、結構兼容方向發展。在集成電路上,異步串行通信方式是一種應用在芯片上的通信方式,所發送的字符以數據幀的形式異步傳輸,通信雙方都有各自的時鐘源來控制信息的發送與接收。本論文是物聯網技術和單片機控制在“串行通信數據流”實驗教學中的應用。經過試驗,學生可以開發出Android系統的串行通信控制接口和JAVA網絡程序,掌握TCPSocket通訊數據流,并能在MCU和WiFiCV5200和PC機之間進行異步串行通信的數據流。采用51單片機設計物聯型異步串行通訊系統,WiFi無線模組公司WiFi無線模組實現了基于Android的串口通信控制APP,運行于Android手機,APP中選擇不同的按鈕發送數據,通過TCPSocket數據流,WiFi無線模組公司WiFiCV5200使用異步串行通信向MCU發送數據,MCU是通過MAX232電平轉換電路向PC機發送異步串行通信,PC機通過串口調試輔助接收手機端發送的數據信息;完成IOT全異步串行通信的數據傳輸輸。
由Android手機前端控制接口和底層單片機控制電路組成。Android手機開發客戶端APP,利用手機端的控制界面,發送數據通過TCPSocket與WiFi無線模組公司WiFi模塊CV5200數據進行通信。下層MCU控制電路中的WiFi模塊通過異步通信把數據信息發送給單片機,MCU通過RXD引腳接收WiFi模塊發送的數據,并通過TXD管腳將數據發送到PC機終端顯示。PC機和單片機由于電平標準的不同,用MAX232電平轉換電路實現數據通訊,完成IOTUART系統的數據傳輸。
MCU底層硬件電路由51單片機小系統。電源電路.
WiFi模塊CV5200.電平轉換MAX232電路組成。本機小系統包括晶振電路和復位電路,晶振選取值為11.0592MHz,穩壓電源輸出5V電壓,與電平轉換模塊MAX232供電,3.3V電壓為WiFi模塊CV5200供電。單片微處理器通過WiFi無線模組公司WiFi模塊CV5200構建底層MCU電路和安卓手機局域網,WiFi模塊通過UTXD管腳將上位機接收的數據送至單片機。MCU通過RXD管腳接收數據,并通過TXD引腳將數據發送到PC機,以實現上位機和底層終端設備間的數據傳輸。
APP軟件開發包括用戶界面UI設計和TCPSocket數據流動信箱,UI布局使用XML設計控件,TCP數據流處理使用JavaSocket網絡編程實現TCP/IP數據傳輸功能。
Android用戶控制界面使用XML設計UI,在資源文件夾res中res上的布局文件layout.activity_main.xml,使用線性布局LinearLayout,將界面分為兩部分,一部分設置android:orientation="vertical",豎向布局,設計一個TextView的文本信息“物聯異步串行通訊系統”,用兩個EditText來設置手機連接WiFi的IP地址和端口號的輸入區域,Button觸發按鈕btn_Lj是在垂直方向布局中用來建立手機連接WiFi服務器Socket的網絡通信。第2部分布局設置android:orientation="horizontal",水平方向布局設計Button按鈕btn_Q和按鈕btn_Z通過在res資源文件中的values.strings.xml設置stringname,為“Q字符”“Z字符”顯示按鈕之后,按鈕中發送了數據信息。
TCP數據流使用JAVA編程,通過MainActivity.java來設計src資源文件中的數據傳輸流量。activity_main.xml通過setContentView方法裝載到當前的MainActivity,使用findViewById方法在MainActivity中引用兩個EditText和三個Button,使用View.onClikListener接口覆蓋按鈕事件監聽機制的方法onClik()。在MCU控制電路中,開發的APP與WiFi模塊通過創建Socket類對象,利用Socket數據流(輸入和輸出流)來實現TCP網絡通信。btn_Lj按鈕觸發用來建立手機與WiFi服務器的通訊連接,開發APP以Client.WiFiCV5200模塊作為服務器(Server)端,這個線程是通過繼承Thread類方法來建立的,它使用onClik()方法監聽按鈕觸發動作來啟動這個線程。使用WiFi無線模組公司WiFi服務器(192.168.4.1)和端口號(8080)的IP地址建立的TCP網絡通信線程,建立Socket對象Socketsocket=newSocket(IP地址,端口號)向WiFi服務器請求一個通信連接。按鍵btn_Q和按鈕btn_Z分別通過觸發一個Button動作發送相應的字符“Q”和字符“Z”(字符“Q”和“Z”裝入String變量str)。成功連接到WiFi網絡之后,通過獲得Socket對象的輸出流OutputStreamoutputStream=socket.getOutputStream()用getBytes()方法將str轉換為字節型數組data,通過調用outputStream對象的write()方法,將data數據寫入輸出的數據流,以傳輸outputStream.write(data,Length),利用成功建立的TCPSocket通訊鏈路提供單片機控制電路中的WiFi模塊CV5200來接收和讀取手機端發送的數據信息。在數據傳送完成之后,調用close()方法關閉輸入流InputStream.close().關閉輸出流outputStream.close().關閉Socket連接Socket.close()。
單片微機需要完成串口通訊的初始化工作,通過設置寄存器TMOD加載定時初始值來設計串行通信波特率,設定串行中斷控制寄存器SCON配置串口通訊的工作方式,開啟串行通訊中斷,串行通訊接收標志位RI=1進入串行通訊中斷服務子程式。下層MCU控制電路中的WiFi無線模組公司WiFi模塊CV5200接收由電話端發送的數據字符“Q”或“Z”,單片機連續檢測串口通訊接收信號是否RI為1,若RI=1,WiFi模塊通過異步串行通信,向MCP3.0引腳RXD接收主機的數據,字符“Q”或“Z”,再次由P3.1引腳TXD發送到PC機,PC機通過串口接收并顯示字符“Q”或“Z”,實現手機.MCU與PC機間UART傳輸。