hbtmwangjin

写在前面:在上一篇中介绍了通过单片机发送指令控制WIFI模块,本来想写一下时钟、I/O口及串口的初始化函数,但是因为项目年代久远(一年前做的),怕有错误,误导博友,故不给出代码,见谅。本章要介绍Android端通过WIFI与手机建立连接并通信的过程。

我们使用Socket类,即“套接字”进行通信。由于其相关说明对程序开发没有多大帮助,故不再赘述,只需知道使用其进行通讯需要目标的IP地址及端口号即可,直接来看代码:

 

  1. Test_Button.setOnClickListener(new OnClickListener(){  
  2.     @Override  
  3.     public void onClick(View v){  
  4.         //在子进程中完成数据的获取,在主进程中完成UI更新  
  5.         new Thread(new Runnable(){//开启一个线程  
  6.                 @Override  
  7.                 public void run(){  
  8.                     try{  
  9.                         Socket TestSocket = new Socket();//new一个socket  
  10.                         TestSocket.connect(new InetSocketAddress("192.168.4.1", 8080), 8000);//三个参数分别是IP、端口、超时  
  11.                     OutputStream TestOS = TestSocket.getOutputStream();//输出流  
  12.                         InputStream TestIS = TestSocket.getInputStream();//输入流  
  13.                         byte send_buffer[] = {40};//输出字符数组  
  14.                     byte rec_buffer[] = new char[10];//输入字符数组  
  15.                         TestOS.write(buffer);//这样字符就发送了  
  16.                         for(int i = 0; i < 10; i++){  
  17.                             rec_buffer[i] = TestIS.read();//read()方法是一个字符一个字符接收  
  18.                         }  
  19.                         //关闭所有流及socket  
  20.                         TestOS.close();  
  21.                         TestIS.close();  
  22.                         TestSocket.close();  
  23.                     //接下去可对收到的数据进行操作  
  24.                     }  
  25.                     catch(Exception e){  
  26.                         //可以打印错误日志啥的  
  27.                     }  
  28.                 }  
  29.             }).start();  
  30.         }  
  31. });  
Test_Button.setOnClickListener(new OnClickListener(){
	@Override
	public void onClick(View v){
		//在子进程中完成数据的获取,在主进程中完成UI更新
		new Thread(new Runnable(){//开启一个线程
        		@Override
        		public void run(){
        			try{
        				Socket TestSocket = new Socket();//new一个socket
        				TestSocket.connect(new InetSocketAddress("192.168.4.1", 8080), 8000);//三个参数分别是IP、端口、超时
					OutputStream TestOS = TestSocket.getOutputStream();//输出流
        				InputStream TestIS = TestSocket.getInputStream();//输入流
        				byte send_buffer[] = {40};//输出字符数组
					byte rec_buffer[] = new char[10];//输入字符数组
        				TestOS.write(buffer);//这样字符就发送了
        				for(int i = 0; i < 10; i++){
        					rec_buffer[i] = TestIS.read();//read()方法是一个字符一个字符接收
   		         		}
        				//关闭所有流及socket
        				TestOS.close();
        				TestIS.close();
        				TestSocket.close();
					//接下去可对收到的数据进行操作
        			}
        			catch(Exception e){
        				//可以打印错误日志啥的
        			}
        		}
        	}).start();
        }
});

总结一下:通信过程很简单,建立一个Socket,调用connect()方法,通过输入输出流传递数据,最后关闭流和Socket即可。

 

至此,完成了全部关于WIFI模块的使用教程。

下面放上百度盘链接:网络调试助手下载链接:点击打开链接 串口调试助手下载链接:点击打开链接

posted on 2018-03-05 18:20  无网不进  阅读(1001)  评论(0编辑  收藏  举报

分类:

技术点:

相关文章: