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

有了Wifi间接控制智能小车的经验,很自然的想到,也可以通过GPRS远程遥控智能小车,因为从通信原理上看,二者其实没有什么本质的不同,都是基于SocketTCP通信,其控制环节如下:

手机 ===> GPRSTCP/IP ===> PC ===> Zigbee(串口232/TTL) ===> 智能小车

Wifi通信不同,要使手机连接GPRS,还得需要进行一定的编程才能完成,相关内容,我这里也不用介绍了,我以前写的博文《让智能手机和居家电脑互联互通(WM6 GPRS》中有详细的说明,网友可以参考一下。

手机的操作系统为Windows Mobile 6.0,其Socket通信控制程序和PDA上的程序大同小异,相关代码如下:

    private void btnTcpConnect_Click(object sender, EventArgs e)

    {

        Cursor.Current = Cursors.WaitCursor;

        if (btnTcpConnect.Text == "连接")

        {

            if (gprs.TcpConnect(txtIP.Text, int.Parse(txtPort.Text)))

            {

                btnTcpConnect.Text = "断开";

                picTCPFlag.BackColor = Color.Green;

            }

        }

        else

        {

            btnTcpConnect.Text = "连接";

            picTCPFlag.BackColor = Color.Red;

            gprs.TcpDisconnect();

        }

        Cursor.Current = Cursors.Default;

    }

    private void btnForward_Click(object sender, EventArgs e)

    {

        gprs.TcpSend("0");

    }

    private void btnLeft_Click(object sender, EventArgs e)

    {

        gprs.TcpSend("1");

    }

    private void btnRight_Click(object sender, EventArgs e)

    {

        gprs.TcpSend("2");

    }

    private void btnBack_Click(object sender, EventArgs e)

    {

        gprs.TcpSend("3");

    }

    private void btnStop_Click(object sender, EventArgs e)

    {

        gprs.TcpSend("4");

}

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

 PC上的程序和开发板上的程序请参考《Zigbee遥控智能小车》和《Wifi遥控智能小车》两篇博文。

运行PC程序,建好Zigbee通道,我们就可以用GPRS来控制智能小车了,不过和Wifi通道相比,GPRS通信要略有延迟。

相关控制视频如下:

http://video.sina.com.cn/v/b/40307740-1804832611.html

1)、小车底盘

 http://item.taobao.com/item.htm?id=7218838776

2)、四路直流电机驱动器

http://item.taobao.com/item.htm?id=7218717808

3)、.NET Micro Framework开发板

 http://item.taobao.com/item.htm?id=7117999726

   注:需要红牛开发板固件在 V1.0.0以上

本文源码:http://www.sky-walker.com.cn/yefan/MFV40/SourceCode/GPRS_Control.rar

MF快速参考: .NET Micro Framework 快速入门

MF中文讨论组:http://space.cnblogs.com/group/MFSoft/

微软官方论坛:MSDN微软中文技术论坛(.NET Micro Framework)

开发板简明手册:http://blog.sina.com.cn/s/blog_6b938f630100kh0k.html

【低价开发板】http://item.taobao.com/item.htm?id=7117999726

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268086.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在RHEL5下实现RAID5磁盘阵列

在Linux系统中做RAID,磁盘阵列的设备可以是一块磁盘中的三个以上的分区,也可以是三块或以上的磁盘。本文主要以几块磁盘为例,来实现在RAID5。实验说明:在VMware中进行,系统中有一块磁盘sda,新添加6块SCSI磁盘,分别为sd…

BeanFactoryPostProcessor实现在所有的BeanDefinition注册完之后帮我们进行扩展(调用)

实现BeanFactoryPostProcessor接口 spring会在所有的BeanDefinition注册完之后帮我们进行扩展(调用) BeanFactory的后置处理器就是BeanFactoryPostProcessor接口,该接口有一个方法postProcessBeanFactory,这个方法会在BeanFactory初始化之后调用&#…

第七周作业

#include<stdio.h> int main(){int i,N;scanf("%d",&N);double s0;int flag-1;for(i1;i<N;i){ flag-flag; ssi*1.0/(2*i-1)*flag; } printf("%0.3f",s); return 0; } 7-3&#xff1a; 设计思路&#xff1a; &#xff08;1&#xff09;定义变量…

使用Exchange 2007的几个注意事项

http://wangchunhai.blog.51cto.com/225186/152384Exchange Server 2007是Microsoft推出的电子邮件服务器软件&#xff0c;该产品与Exchange Server 2003的改进很大&#xff0c;第一次使用该产品的用户&#xff0c;会碰到一些问题。本文将为大家介绍Exchange 2007中“比较困惑”…

exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException

原因&#xff1a; Spring Boot异常org.springframework.beans.factory.NoUniqueBeanDefinitionException&#xff1a;没有可用的合格Bean类型&#xff1a;预期匹配单个Bean&#xff0c;但是匹配到了多个&#xff0c;当该bean被自动装配时与Spring Boot应用程序上下文中的两个或…

大数据平台助力核与辐射安全监管

大数据平台助力核与辐射安全监管 核能开发利用是大国发展的战略必争之地&#xff0c;也是调整能源结构、应对气候变化和建设生态文明&#xff0c;进而确保国家安全的重要手段。虽然我国核与辐射安全监管能力不断提升&#xff0c;但仍面临诸多挑战。 为适应新形势和新要求&#…

SpringBoot启动项目出现Error:(3, 30) java: 程序包com.alibaba.druid.pool 程序包不存在——解决办法

运行程序报错 解决方法&#xff1a; mac电脑 Preference----->Build&#xff0c;Execution&#xff0c;Deployment——>maven—>Runner——>勾选Delegate IDE windows电脑 File—>Settings----->Build&#xff0c;Execution&#xff0c;Deployment——>…

bzoj4566

后缀自动机dp 一个串在另一个串上跑。 先对A建出自动机&#xff0c;然后用B在上面跑&#xff0c;记录当前匹配的最大长度&#xff0c;每次经过一个节点记录经过次数&#xff0c;并加上(len-Max(par))*Right&#xff0c;是这个状态对答案的贡献&#xff0c;然后把每个节点的出现…

WindowsPhone7入手,实在的照片

WindowsPhone7入手&#xff0c;实在的照片 随着Silverlight在WP7上的重要体现增加&#xff0c;开发技术要先行一步&#xff0c;不管怎么样&#xff0c;先开始做这方面的准备&#xff0c;几经周折之后&#xff0c;终于搞来WindowsPhone7一部&#xff0c;手感和体验相当不错&…

JDK动态代理和CGLIB动态代理的区别

JDK动态代理和CGLIB动态代理的区别

杂项

结巴直接分词 python -m jieba -d allTrain.txt > train_contents.txt 使用redis cmd1 &#xff1a;redis-server.exe redis.windows.conf cmd2&#xff1a;redis-cli.exe -h 127.0.0.1 -p 6379 scrapy-redis src- scrapy-redis copy- scrapy project redis keys * 列出 h…

强制使用CGLIB实现动态代理@EnableAspectJAutoProxy(proxyTargetClass = true)

用EnableAspectJAutoProxy(proxyTargetClass true)注解来开启AOP功能&#xff0c;基于CGLIB实现 proxyTargetClass&#xff1a;表示动态代理实现方式&#xff0c;如果值设置true&#xff0c;表示需要代理类都基于CGLIB来实现&#xff1b;默认情况下值是设置成false表示如果原…

抗击海冰 地理信息系统来帮忙

对广大生活在沿海地区的居民来讲&#xff0c;冬天里除了要经受大风和低温的考验外&#xff0c;还多了一项担忧——海冰灾害。什么是海冰&#xff1f;狭义来讲&#xff0c;是指海水结成的冰。但广义地讲&#xff0c;海冰是浮在海上的冰的总称&#xff0c;不仅包括海水冻结的冰&a…

static_cast 和 reinterpret_cast的区别以及dynamic_cast

大多程序员在学C前都学过C&#xff0c;并且习惯于C风格&#xff08;类型&#xff09;转换。当写 C&#xff08;程序&#xff09;时&#xff0c;有时候我们在使用static_cast<>和reinterpret_cast<>时可能会有点模糊。在本 文中&#xff0c;我将说明static_cast<…

@ConditionalOnProperty的作用和用法

在spring boot中有时候需要控制配置类是否生效,可以使用ConditionalOnProperty注解来控制Configuration是否生效 步骤一&#xff1a;配置类代码 Configuration ConditionalOnProperty(prefix "application", value "enable", havingValue "true&qu…