anroid wifi 智能小车

现在智能手机很流行,所以就想到用手机来控制小车,现在实现的功能有:可以获取视频,按钮控制、重力感应;就说下简单的设计思路:

1.小车和手机建立通信:

通过手机上的无线功能来连接单片机上的wifi模块,具体操作是通过socket编程,wifi模板相当于服务器,手机类似于客户端,wifi模板上有固定的地址和端口,具体代码

Socket mSocketClient = null;
public static String CtrlIp=“192.168.1.1”;
public static String CtrlPort=“2001”;
mSocketClient  = new Socket(CtrlIp,CtrlPort);

2.控制小车行动:

手机和小车连接成功后,就可以发送指令,这些指令都是之前已经烧写在单片机中,所以只要有输出流写就可以了,

static byte []FORWORD={(byte)-1,(byte)0,(byte)1,(byte)0,(byte)-1};
    static byte []BACK={(byte)-1,(byte)0,(byte)2,(byte)0,(byte)-1};
    static byte []LEFT={(byte)-1,(byte)0,(byte)3,(byte)0,(byte)-1};
    static byte []RIGHT={(byte)-1,(byte)0,(byte)4,(byte)0,(byte)-1};
    static byte []STOP={(byte)-1,(byte)0,(byte)0,(byte)0,(byte)-1};
//取得输入、输出流
					mSocketClient.getOutputStream().write(meg);
					mSocketClient.close();

其中meg参数就是对应的动作指令

3.获取视频

视频地址也是通过WiFi模块来进行访问:http://192.168.1.1:8080/?action=stream

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.view.SurfaceHolder.Callback;
import android.content.Context;   
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;   
import android.graphics.Color;
import android.graphics.Paint;   
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class MySurfaceView extends SurfaceView implements Callback
{
    private SurfaceHolder sfh;    
    private Canvas canvas;    
    URL videoUrl;
    private String urlstr;
    HttpURLConnection conn;
    Bitmap bmp;
    private Paint p;      
    InputStream inputstream=null;
    private Bitmap mBitmap;    
    private static int mScreenWidth; 
    private static int mScreenHeight;
    public boolean Is_Scale = false;
    
    public MySurfaceView(
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值