小编给大家分享一下如何通过python socket通信+mjpg实现树莓派视频小车,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
清水网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
所需材料:树莓派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 (即可运行!)
附下小车服务端控制代码:
########################################### #Writer: Joker # #Time: 2017.6.25 # ########################################### # -*- coding: utf-8 -*- import RPi.GPIO as GPIO from socket import * import time def t_init(): GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) GPIO.setup(11,GPIO.OUT) GPIO.setup(12,GPIO.OUT) GPIO.setup(13,GPIO.OUT) GPIO.setup(15,GPIO.OUT) def t_stop(): GPIO.output(11, False) GPIO.output(12, False) GPIO.output(13, False) GPIO.output(13, False) GPIO.output(15, False) time.sleep(1) GPIO.cleanup() def t_up(): t_init() GPIO.output(11, True) GPIO.output(12, False) GPIO.output(13, True) GPIO.output(15, False) time.sleep(1) GPIO.cleanup() def t_down(): t_init() GPIO.output(11, False) GPIO.output(12, True) GPIO.output(13, False) GPIO.output(15, True) time.sleep(1) GPIO.cleanup() def t_right(): t_init() GPIO.output(11, False) GPIO.output(12, True) GPIO.output(13, True) GPIO.output(15, False) time.sleep(1) GPIO.cleanup() def t_left(): t_init() GPIO.output(11, True) GPIO.output(12, False) GPIO.output(13, False) GPIO.output(15, True) time.sleep(1) GPIO.cleanup() def commands (cmd): if cmd == 'd': t_down() elif cmd == 's': t_stop() elif cmd == 'u': t_up() elif cmd == 'l': t_left() elif cmd == 'r': t_right() while 1: conn, addr = s.accept() print ('Connected by:', addr) while 1: command= conn.recv(20).replace('\n','') if command == 'g': conn.close break elif not command:break print a commands(a) conn.close() conn.close() ############################################################################
以上是“如何通过python socket通信+mjpg实现树莓派视频小车”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
分享题目:如何通过pythonsocket通信+mjpg实现树莓派视频小车
分享路径:http://lswzjz.com/article/ghejgs.html