前面的方法可以参照(一)来配置GPIO口。

下面是代码。。。仅供参考,转载请注明出处。

1.  先输入以下指令,再复制代码,Ctrl+X  输入Y  回车  保存。

sudo nano start.c
#include "car.h"
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#define IN1 0 // wiringPi GPIO0(pin11) car.GPIO
#define IN2 1
#define IN3 2
#define IN4 3
#define IN5 4 //Ultrasound module.GPIO send
#define IN6 5 // accept
/* Write By ITJoker
Time:2.18.2.4
Version:1.0
*/
int up()
{
wiringPiSetup() ;
pinMode (IN1, OUTPUT) ;
pinMode (IN2, OUTPUT) ;
pinMode (IN3, OUTPUT) ;
pinMode (IN4, OUTPUT) ;
digitalWrite(IN1, HIGH) ; delay () ;
digitalWrite(IN2, LOW) ; delay () ;
digitalWrite(IN3, HIGH) ; delay () ;
digitalWrite(IN4, LOW) ; delay () ;
}
int down()
{
wiringPiSetup() ;
pinMode (IN1, OUTPUT) ;
pinMode (IN2, OUTPUT) ;
pinMode (IN3, OUTPUT) ;
pinMode (IN4, OUTPUT) ;
digitalWrite(IN1, LOW) ; delay () ;
digitalWrite(IN2, HIGH) ; delay () ;
digitalWrite(IN3, LOW) ; delay () ;
digitalWrite(IN4, HIGH) ; delay () ;
}
int right()
{
wiringPiSetup() ;
pinMode (IN1, OUTPUT) ;
pinMode (IN2, OUTPUT) ;
pinMode (IN3, OUTPUT) ;
pinMode (IN4, OUTPUT) ;
digitalWrite(IN1, LOW) ; delay () ;
digitalWrite(IN2, HIGH) ; delay () ;
digitalWrite(IN3, HIGH) ; delay () ;
digitalWrite(IN4, LOW) ; delay () ;
}
int left()
{
wiringPiSetup() ;
pinMode (IN1, OUTPUT) ;
pinMode (IN2, OUTPUT) ;
pinMode (IN3, OUTPUT) ;
pinMode (IN4, OUTPUT) ;
digitalWrite(IN1, HIGH) ; delay () ;
digitalWrite(IN2, LOW) ; delay () ;
digitalWrite(IN3, LOW) ; delay () ;
digitalWrite(IN4, HIGH) ; delay () ;
}
int stop()
{
wiringPiSetup() ;
pinMode (IN1, OUTPUT) ;
pinMode (IN2, OUTPUT) ;
pinMode (IN3, OUTPUT) ;
pinMode (IN4, OUTPUT) ;
digitalWrite(IN1, LOW) ; delay () ;
digitalWrite(IN2, LOW) ; delay () ;
digitalWrite(IN3, LOW) ; delay () ;
digitalWrite(IN4, LOW) ; delay () ;
}
int main(int argc, char *argv[])
{
int fd, new_fd, struct_len, numbytes,i;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
char buff[BUFSIZ];
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons();//port 8888
server_addr.sin_addr.s_addr = INADDR_ANY;
bzero(&(server_addr.sin_zero), );
struct_len = sizeof(struct sockaddr_in); fd = socket(AF_INET, SOCK_STREAM, );
while(bind(fd, (struct sockaddr *)&server_addr, struct_len) == -);
printf("Bind Success!\n");
while(listen(fd, ) == -);
printf("Listening....\n");
printf("Ready for Accept,Waitting...\n");
new_fd = accept(fd, (struct sockaddr *)&client_addr, &struct_len);
printf("Get the Client.\n");
// numbytes = send(new_fd,"Welcome to my server\n",21,0);
while((numbytes = recv(new_fd, buff, BUFSIZ, )) > )
{
buff[numbytes] = '\0';
printf("%s\n",buff);
if(send(new_fd,buff,numbytes,)<)
{
perror("write");
return ;
}
//txtz=find(buff,sizeof(buff),'u')
//strcmp(buff,'u')==0
if(buff[]=='u')
up();
else if(buff[]=='d')
down();
else if(buff[]=='r')
right();
else if(buff[]=='l')
left();
else if(buff[]=='s')
stop();
}
close(new_fd);
close(fd);
return ;
}

2.为了编写方便,建立makedile。

sudo nano makefile

编写内容如下:

start:start.o
gcc start.c -o start -lwiringPi
clean:
rm -f start start.o

3.最后  输入指令:

make

  

树莓派小车By 树莓派爱好者ITJoker(通过C socket通信实现树莓派视频小车)(二)的更多相关文章

  1. 树莓派小车By 树莓派爱好者ITJoker(通过python socket通信实现树莓派视频小车)(一)

    本文由树莓派爱好者ITJoker 编辑,转载请注明出处.本人也有新浪博客同样是树莓派爱好者ITJoker 所需材料:树莓派2B或者2B以上,L2985n驱动板,若干排线,电池及电池盒,usb无线网卡( ...

  2. StarRTC , AndroidThings , 树莓派小车,公网环境,视频遥控(二)小车端

    原文地址:http://blog.starrtc.com/?p=94 1 创建工程IDE:Android Studio 3.1:File>New>New Project>输入项目名& ...

  3. GL-inet路由器当主控制作WIFI视频小车

    以前也用单片机做过WIFI小车,但是单片机没有自带WIFI,仍然需要用到小路由器作为图传和控制信号传输.既然肯定要用到路由器,那何不直接用路由器作为主控呢,这样就省掉了单片机.这次作为主控的GL-in ...

  4. 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (二) 发送自定义数据

    在我的项目里,树莓派主要作为中心节点,用于接收数据,Arduino作为子节点,用于发送数据,考虑到以后会有很多子节点,但又不至于使得代码过于繁琐,因此所有的传输数据添加一个头部编号用于区分不同节点. ...

  5. 树莓派个人实测 Q&A(最新修改使用Manjaro连接远程桌面) (二)

    以下内容使用和http://www.eeboard.com/bbs/thread-5191-1-1.html所在的帖子一样的风格,不过原作者是window下的操作,本人的都是在manjaro linu ...

  6. 树莓派和荔枝派,局域网socket 通信

    在虚拟机上面实现了socket 之间的通信之后,突发奇想,想要实现树莓派和 荔枝派zero之间的通信. 1.直接将虚拟机下面的程序复制过来,重新编译并且运行.发现是没有办法进行通信的.客户端一直报错: ...

  7. stm32 视频小车

    1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 ...

  8. StarRTC , AndroidThings , 树莓派小车,公网环境,视频遥控(三)手机端

    原文地址:http://blog.starrtc.com/?p=111 这篇来介绍一下整个项目的手机端部分.在上一篇里我们已经将sdk导入到项目中了,下边直接用即可. 1 登录StarRTC的服务跟小 ...

  9. StarRTC , AndroidThings , 树莓派小车,公网环境,视频遥控(一)准备工作

    原文地址:http://blog.starrtc.com/?p=48 啥也不说,先来个视频看看效果 视频播放器     00:00   00:54     概述为了体现StarRTC的实时音视频传输能 ...

随机推荐

  1. Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals)爆零记

    昨晚一个瓜皮说今晚有cf,听说是晚间场,我瞅了一眼,娃,VK Cup,上分的好机会,看着比赛时间就有点心酸了,0:35,当时一直在纠结要不要打的问题,当时想着应该不难吧,要不打一下吧,要不还是看看题先 ...

  2. float浮动属性的基本常识

    CSS 浮动 请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘: 再请看下图,当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边 ...

  3. CSS鼠标样式 cursor 属性

    值 描述 url 需使用的自定义光标的 URL. 注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标. default 默认光标(通常是一个箭头) auto 默认.浏览器 ...

  4. 记录idea maven项目打包部署web项目mapper扫描失败

    最开始以为这里出了问题,后来加上以后还是不能把mapper.xml打包进去 这是报的异常信息 Mybatis启动老是报绑定错误(找不到Mapper对应的 SQL配置),经过一番Google未能解决问题 ...

  5. thinkPHP内置字符串截取msubstr函数用法详解

    作者:陈达辉 字体:[增加 减小] 类型:转载 时间:2016-11-15 我要评论 这篇文章主要介绍了thinkPHP内置字符串截取函数用法,结合实例形式分析了thinkPHP内置的字符串截取函数功 ...

  6. gettype

    取得变量的类型. 语法: string gettype(mixed var); 返回值: 字符串 函数种类: PHP 系统功能 内容说明 本函数用来取得变量的类型.返回的类型字符串可能为下列字符串其中 ...

  7. 虚拟主机,VPS,云主机之间的区别?

    虚拟主机即共享主机,是利用虚拟技术把一台完整的服务器分成若干个主机,拥有多个网站,共享这台服务器的硬件和带宽的资源.可以托管简单的静态和动态的网站,满足客户最基本的网络托管需求. VPS是将一台物理服 ...

  8. 织梦首页、列表页调用文章body内容的两种方法

    http://blog.csdn.net/langyu1021/article/details/52261411 关于首页.列表页调用文章body内容的两种方法,具体方法如下: 第一种方法: {ded ...

  9. C语言第二次实验报告

    1.实验题目 题1:11-7 找鞍点(20 分) 一个矩阵元素的"鞍点"是指该位置上的元素值在该行上最大.在该列上最小. 本题要求编写程序,求一个给定的n阶方阵的鞍点    题2: ...

  10. TP5 中实现支付宝支付 利用model层调用支付宝类库

    <?php /** * Created by PhpStorm. * User: admin * Date: 2017/8/16 * Time: 09:16 */ namespace app\a ...