【STM32 .Net MF开发板学习-17】Wifi遥控智能小车

恰好以前购买的一个PDA含Wifi功能,所以与其用PC通过Zigbee控制智能小车,不如用PDA来控制,这样更为方便,不过由于目前.NET MF开发板不直接支持Wifi功能,所以我们也只好间接控制了,也就是PDA控制PC,PC通过Zigbee控制智能小车。

对我们开发者来说,Wifi和普通的网线接口一样,都是Socket编程。我们只需用在PDA上构建一个简单的TCP Client端,在PC构建一个TCP Server端即可,PDA发送相关指令,PC接收后通过Zigbee转发给智能小车。

PDA ===> Wifi(TCP/IP) ===> PC ===> Zigbee(串口232/TTL) ===> 智能小车

PC通过Zigbee控制智能小车,在我的上篇博文《Zigbee遥控智能小车》已有介绍,所以这里就略过不提了。

我们先开发PDA上的程序(操作系统Windows Mobile 5.0),开发语言我们选择C#,相关代码如下:

public frmMain()
    {
        InitializeComponent();
        Connect("192.168.1.2", 7722);
    }
    public void Connect(string server,int port)
    {
        sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        if (ipEndPoint != null) sock.Connect(GetEndPoint(server, port));
    }
    private void btnForward_Click(object sender, EventArgs e)
    {
        if (sock != null) sock.Send(new byte[] {48});
    }
    private void btnLeft_Click(object sender, EventArgs e)
    {
        if (sock != null) sock.Send(new byte[] { 49 });
    }
    private void btnRight_Click(object sender, EventArgs e)
    {
        if (sock != null) sock.Send(new byte[] { 50 });
    }
    private void btnBack_Click(object sender, EventArgs e)
    {
        if (sock != null) sock.Send(new byte[] { 51 });
    }
    private void btnStop_Click(object sender, EventArgs e)
    {
        if (sock != null) sock.Send(new byte[] { 52 });
}

编译运行后的效果图如下:

时间: 2024-08-03 07:05:39

【STM32 .Net MF开发板学习-17】Wifi遥控智能小车的相关文章

【STM32 .Net MF开发板学习-20】蓝牙遥控智能小车(手机模式)

无论是用WIfi还是用GPRS遥控小车,目前都离不了PC这个中转站,并且PC还得借助Zigbee通道和小车通信,这就大大地增加了此遥控平台的构建代价.以前在研究iRobot机器人的时候,用过其配套的蓝牙模块,可以通过PC上的蓝牙连接,远程控制iRobot(相关文章<用MF控制机器人>).目前大部分手机也都支持蓝牙接口,所以基于此,我们借用iRobot的蓝牙模块,就可以用手机直接遥控智能小车了. 不过问题来了,原蓝牙模块是和iRobot配套的,其模块供电.串口连接等问题不用考虑,直接插入25针的

【STM32 .Net MF开发板学习-18】GPRS遥控智能小车

有了Wifi间接控制智能小车的经验,很自然的想到,也可以通过GPRS远程遥控智能小车,因为从通信原理上看,二者其实没有什么本质的不同,都是基于Socket的TCP通信,其控制环节如下: 手机 ===> GPRS(TCP/IP) ===> PC ===> Zigbee(串口232/TTL) ===> 智能小车 与Wifi通信不同,要使手机连接GPRS,还得需要进行一定的编程才能完成,相关内容,我这里也不用介绍了,我以前写的博文<让智能手机和居家电脑互联互通(WM6 GPRS)&

【STM32 .Net MF开发板学习-16】Zigbee遥控智能小车

Zigbee技术目前在物联网领域和RFID一样,受关注度非常高.日前中科院上海微系统与信息技术研究所.无锡物联网产业研究院等传感器网络标准工作组成员单位联合发布了名为VW628.WSNS1_SCBR的两款中国自主知识产权的无线传感网SoC芯片,其中WSNS1_SCBR为中国首款符合IEEE802.15.4g标准的验证型全集成传感网节点SoC芯片. 其实封装好的Zigbee模块,使用起来和操作串口一样,特别是我们把其通信模式设置为透明传输模式,这时候我们已经感觉不到是在用Zigbee模块,而觉得是

【STM32 .Net MF开发板学习-15】红外遥控智能小车

我前段时间写了<用PWM驱动智能小车>和<红外遥控器编码识别>两篇博文,分别介绍了如何用PWM驱动直流电机及红外遥控器编码识别,这一次我们把二者结合起来,用红外遥控器遥控智能小车. 在<红外遥控器编码识别>中,我们用面包板搭建简单的电路,来验证红外接收信号,但是放在小车上是不行的,相关器件我们需要进行焊接,最终完成图如下. 开发板学习-15]红外遥控智能小车-">我们把智能小车和红外板拼装在一起,最终完成图如下:

【STM32 .Net MF开发板学习-11】步进电机控制(非PWM模式)

选用的步进电机的型号为28BYJ-48(或MP28GA,5V,转速比1/64),驱动电路选用uln2003芯片的驱动板,其控制时序图如下: 开发板学习-11]步进电机控制(非PWM模式)-">四相八拍:A->AB->B ->BC ->C ->CD ->D ->DA 其A.B.C.D指的是uln2003芯片驱动板的1N1.1N2.1N3.1N4,波形在上表示有输入信号,波形在下表示无输入信号. 我们采用红牛开发板进行步进电机控制,为了便于接线,我们需

【STM32 .Net MF开发板学习-05】PC通过Modbus协议远程操控开发板

从2002年就开始接触Modbus协议,以后陆续在PLC.DOS.Windows..Net Micro Framework等系统中使用了该协议,在我以前写的一篇博文中详细记载了这一段经历,有兴趣的朋友可以看一看<我的Modbus Slave/Client开发历程(Rtu/AscII/Tcp)>.该协议公开,精简,并且可靠,目前大部分智能仪表,智能模块和一些PLC都采用了该协议,前一段时间有位网友询问相关Modbus的问题,所以这里就以Modbus的实现来来作为.Net MF开发板的串口示例.

【STM32 .Net MF开发板学习-14】红外遥控器编码识别

一年前我写过一篇博文<自制电脑红外遥控接收器(PC软解码)>,文中介绍借助几个简单的器件通过PC串口,来获取红外遥控器的按键信息.现在我们已经学会了如何用PWM技术驱动智能小车(参见<用PWM驱动智能小车>),正好缺少一个遥控机制,所以本篇文章先介绍一下,.NET Micro Framework开发板如何获取红外遥控信息,下一篇文章将介绍用遥控器驱动智能小车相关实现细节. 这次我们红外接收的硬件电路更为简单,仅需红外接收头.两个电阻,一个电容即可,其原理图如下: 我所选取的具体器件

【STM32 .Net MF开发板学习-01】Hello world

开发前准备: 1.下载并安装VS2008 SP1 .Net Micro Framework支持VS 2008 Express版本,这是一款免费的开发工具,不过我没有使过,有条件的朋友可以优先考虑安装专业版或企业版. VS2008 Express sp1的下载地址如下: http://www.microsoft.com/express/download/ 2.下载.NET Micro Framework 4.0 SDK 要开发应用程序,还必须下载.NET Micro Framework 4.0 S

【STM32 .Net MF开发板学习-08】远程PLC读写控制

在工控项目中,PLC一般必不可少,现场控制一般以它为核心,而PC系统一般只是起到远程监控.图表和数据存储的作用.除了PLC之间,PC和PLC之间通信外,一般一些智能显示模块(如型号各异的触摸屏 HMI系统)也和PLC通信,我们就要把把承载.NET MF的系统打造成一个最简单的HMI系统,远程操控PLC. 一般国外每一个PLC厂家,其通信协议一般都是不同的,如西门子PLC的PPI/MPI.欧姆龙 PLC的HostLink.AB PLC的DF1.施奈德 PLC的Modbus等等,由于Modbus协议