树莓派小车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

时间: 2024-11-13 09:50:24

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

【Python之旅】第五篇(一):Python Socket通信原理

只要和网络服务涉及的,就离不开Socket以及Socket编程,下面就说说Python Socket通信的基本原理. 1.Socket socket也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求.可以列举中国移动或者是中国电信等的电话客服,当然,也可以看下面的图片来作形象的说明. socket起源于Unix,而Unix/Linux基本哲学之一就是:一切皆文件,即都可以用"打开open-

python - socket通信笔记

参考: 通过编写聊天程序来熟悉python中多线程和socket的用法:https://www.cnblogs.com/mingjiatang/p/4905395.html python socket通信:https://yq.aliyun.com/articles/40745?spm=5176.100239.blogcont40768.17.FIFTZv 1.socket使用方法 a.在python中使用socket时要iamport socket b.在使用socket中又服务器端和客户端之

程序媛计划——python socket通信

定义 socket 是进程间的一种通信方式,可以实现不同主机间的数据传输 #写服务期端程序server.py #实现服务器向客户端连接 1 #!/usr/bin/env python 2 #coding:utf-8 3 import socket 4 s= socket.socket() 5 #127.0.0.1是本地主机,1234是随意设置到一个端口号 6 s.bind(('127.0.0.1',1234)) #绑定端口号为1234 7 8 #等待客户端连接 9 s.listen(5) 10

Python socket通信~简单实例

socket编程步骤 服务端创建一个socket,绑定地址和端口,然后监听端口上传入的连接,一旦有连接进来,就通过accept函数接收传入的连接. 客户端也是创建一个socket.绑定远程地址和端口,然后建立连接,发送数据. family 地址簇,用与socket()函数的第一个参数.主要有以下几个 socket.AF_UNIX 用与单一机器下的进程通信 socket.AF_INET 用与服务器之间相互通信,通常都用这个. socket.AF_INET6 支持IPv6 sockettype so

python socket通信

python- socket通信 以16进制的数据进行传递与解析 https://blog.csdn.net/runner668/article/details/80708008 原文地址:https://www.cnblogs.com/jhz1024/p/10026325.html

python,socket通信编程,文件上传例子

写一个file_receive.py和一个file_send.py程序,由file_send.py上传一个文件,file_receive.py接收上传的文件,写到指定的包内 #file_receive.pyimport socket,subprocess,os BASE_DIR = os.path.dirname(os.path.abspath(__file__)) sk = socket.socket() address = ('127.0.0.1',8001) sk.bind(address

Python Socket 编程——聊天室演示样例程序

上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket 编程的理解. 聊天室程序需求 我们要实现的是简单的聊天室的样例,就是同意多个人同一时候一起聊天.每一个人发送的消息全部人都能接收到,类似于 QQ 群的功能,而不是点对点的 QQ 好友之间的聊天.例如以下图: 图来自:http://www.ibm.com/developerworks/linux/tu

Python Socket,How to Create Socket Server? - 网络编程实例

文章出自:Python socket – network programming tutorial by Silver Moon 原创译文,如有版权问题请联系删除. Network programing in Python: Part2: Programing sockets servers. 在所有的通信实例中,都分为Client 和Server. 其中:Client是请求的发起点,Server是使用Socket接收传入的值并且提供返回数据. Server的职能如下: 1>.创建/打开一个so

python socket和HTTP入门

python迭代器: iterator=iter(obj) iterator.next() python函数: def function(*args): 传元组列表参数. def function(**args): 传字典列表参数. Django时区设置:setting.py里面的time_zone=Asian/Shanghai PostgreSQL时区设置:postgres.conf配置文件修改time_zone=Asian/Shanghai python socket模块: 服务器端: im