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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派小车By 树莓派爱好者ITJoker(通过python socket通信实现树莓派视频小车)相关的知识,希望对你有一定的参考价值。

本文由树莓派爱好者ITJoker 编辑,转载请注明出处。本人也有新浪博客同样是树莓派爱好者ITJoker可能名字少了IT。。。

所需材料:树莓派2B或者2B以上,L2985n驱动板,若干排线,电池及电池盒,usb无线网卡(免驱动),usb摄像头(免驱动)。
所需环境:raspberry-gpio-python,以及安装mjpg-streamer及所需的环境。(这里就不多说了,等日后博主有时间增加这些环境的配置内容)
好了接下来开始我们的行动。
首先,开始我们先用4根母对母杜邦线分别连接L2985n的IN1,IN2,IN3,IN4然后对上树莓派的GPIO接口11,12,13,15。(IN1=12,IN2=11,IN3=13,IN4=15)
IN1,IN2控制的是OUT1,OUT2的马达
IN3,IN4控制的是OUT3,OUT4的马达
(注意,马达接线要左边的与左边的交叉相接,即左前轮和左后轮交叉相接。以此类推右边也是如此。)
树莓派PIN脚图借鉴下树莓派实验室的。(由于博主懒,详细的接线方法没上图。)

 技术分享技术分享

接线完毕后,通过网络上的方法用ssh 进入到树莓派
输入命令:(将服务端代码复制上去)
sudo nano start.py

然后Ctrl+x再输入Y加回车即可。

输入命令:

sudo python start.py

即可运行!

附下小车服务端控制代码:(请勿用于其他用途,使用时请注明转载处及作者:树莓派爱好者ITJoker技术分享
 1 ###########################################
 2 #Writer: Joker                                                                       #
 3 #Time: 2017.6.25                                                                   #
 4 ###########################################
 5 # -*- coding: utf-8 -*-
 6 import RPi.GPIO as GPIO
 7 from socket import *
 8 import time
 9 def t_init():
10         GPIO.setmode(GPIO.BOARD)
11         GPIO.setwarnings(False)
12         GPIO.setup(11,GPIO.OUT)
13         GPIO.setup(12,GPIO.OUT)
14         GPIO.setup(13,GPIO.OUT)
15         GPIO.setup(15,GPIO.OUT)
16 def t_stop():
17         GPIO.output(11, False)
18         GPIO.output(12, False)
19         GPIO.output(13, False)
20         GPIO.output(13, False)
21         GPIO.output(15, False)
22         time.sleep(1)
23         GPIO.cleanup()
24 def t_up():
25         t_init()
26         GPIO.output(11, True)
27         GPIO.output(12, False)
28         GPIO.output(13, True)
29         GPIO.output(15, False)
30         time.sleep(1)
31         GPIO.cleanup()
32  
33 def t_down():
34         t_init()
35         GPIO.output(11, False)
36         GPIO.output(12, True)
37         GPIO.output(13, False)
38         GPIO.output(15, True)
39         time.sleep(1)
40         GPIO.cleanup()
41  
42 def t_right():
43         t_init()
44         GPIO.output(11, False)
45         GPIO.output(12, True)
46         GPIO.output(13, True)
47         GPIO.output(15, False)
48         time.sleep(1)
49         GPIO.cleanup()
50 def t_left():
51         t_init()
52         GPIO.output(11, True)
53         GPIO.output(12, False)
54         GPIO.output(13, False)
55         GPIO.output(15, True)
56         time.sleep(1)
57         GPIO.cleanup()
58 #########################################################
59 #Writer: Joker                                                                       #
60 #Time: 2017.6.25                                                                   #
61 #########################################################
62 def commands (cmd):
63     if cmd == d:
64       t_down()
65     elif cmd == s:
66       t_stop()
67     elif cmd == u:
68       t_up()
69     elif cmd == l:
70       t_left()
71     elif cmd == r:
72       t_right()
73 def execute(command):
74     print command
75     commands(command)
76 HOST =192.168.1.103 #the ip of raspberry pi
77 PORT = 8888           #the port of raspberry pi
78 s= socket(AF_INET, SOCK_STREAM)
79 s.bind((HOST, PORT))
80 s.listen(1000)
81 print (listening on 8888)
82 while 1:
83     conn, addr = s.accept()
84     print (Connected by:, addr)
85     while 1:
86             command= conn.recv(20).replace(\\n,‘‘)
87             if command == g:
88               conn.close
89               break
90             elif not command:break
91             a=bytearray(command)
92             execute(a) #command 
93     conn.close()
94 ############################################################################

 

附上小车电脑控制端链接:链接:http://pan.baidu.com/s/1jHXZvD0 密码:0lbv
好了接下来就可以玩自己制作的视频小车了
需要安卓控制端可以联系QQ:649258008

以上是关于树莓派小车By 树莓派爱好者ITJoker(通过python socket通信实现树莓派视频小车)的主要内容,如果未能解决你的问题,请参考以下文章

树莓派+Arduino+TensorFlow:搭建图像识别小车

求助树莓派避障小车,遇到 python 了

树莓派小车树莓派小车和红外线模块连接(多图)

树莓派小车Python控制小车

树莓派制作遥控小车-新手教程

树莓派视觉小车 -- 人脸追踪(人脸识别PID控制舵机运动)