David 9 лет назад
Родитель
Сommit
b465159283
5 измененных файлов с 29 добавлено и 15 удалено
  1. 6 8
      camera1/cam.py
  2. 4 2
      camera1/fb-to-udp.sh
  3. 1 2
      camera1/play-cam2.sh
  4. 17 2
      camera1/restart-servo.py
  5. 1 1
      camera1/rotate-servo.py

+ 6 - 8
camera1/cam.py

@@ -8,11 +8,8 @@ import threading
 import os
 import stat
 
-WIDTH = 800
-HEIGHT = 600
-
-WIDTH  = 500
-HEIGHT = 450
+WIDTH  = 1280
+HEIGHT = 720
 
 SCREEN_WIDTH = 800
 SCREEN_HEIGHT = 600
@@ -112,7 +109,7 @@ if __name__ == "__main__":
 	Gst.init(None)
 
 	videocodec = "queue ! video/x-h264, width=%d, height=%d, framerate=25/1, profile=high ! h264parse ! rtph264pay mtu=1360 config-interval=1" % (WIDTH, HEIGHT)
-	p = "rpicamsrc do-timestamp=true name=src ! "+videocodec+" ! multiudpsink name=out"
+	p = "rpicamsrc sensor-mode=4 do-timestamp=true name=src ! "+videocodec+" ! multiudpsink name=out"
 	pipeline = Gst.parse_launch (p)
 	if pipeline == None:
 		print ("Failed to create pipeline")
@@ -123,12 +120,13 @@ if __name__ == "__main__":
 	videosrc.set_property("preview-w", WIDTH)
 	videosrc.set_property("preview-h", HEIGHT)
 	videosrc.set_property("fullscreen", False)
-	videosrc.set_property("bitrate", 900000)
+	videosrc.set_property("bitrate", 16000000)
 	videosrc.set_property("rotation", 180)
 	set_preview(0)
 
 	sink = pipeline.get_by_name ("out")
-	sink.set_property("clients", ",".join(["192.168.2.120:5000", "192.168.2.208:5000", "192.168.2.84:5000"]))
+	# sink.set_property("clients", ",".join(["192.168.2.120:5000", "192.168.2.21:5000", "192.168.2.84:5000"]))
+	sink.set_property("clients", ",".join(["192.168.2.21:5000"]))
 	print(sink.get_property("clients"))
 
 	# run

+ 4 - 2
camera1/fb-to-udp.sh

@@ -1,6 +1,7 @@
 #!/bin/bash
 
 HOST="192.168.2.84"
+HOST="192.168.2.21"
 #5001"
 #HOST="192.168.1.7:5001"
 #HOST="192.168.20.2:5001"
@@ -12,7 +13,8 @@ HOST="192.168.2.84"
 
 #~/code/telepi/telepi - | pv | netcat $HOST 5001
 while [ true ]; do
-	~/code/telepi/telepi - | netcat $HOST 5001
-	sleep 1
+    date
+	~/code/telepi/telepi - 2>/dev/null | netcat $HOST 5001
+	sleep 3
 	echo "the fb grabber died"
 done

+ 1 - 2
camera1/play-cam2.sh

@@ -1,2 +1 @@
-#!/bin/sh
-LD_LIBRARY_PATH=/usr/local/lib gst-launch-1.0 udpsrc port=5000 ! queue ! application/x-rtp, payload=96 ! rtpjitterbuffer latency=510 ! rtph264depay ! decodebin ! glimagesink  
+LD_LIBRARY_PATH=/usr/local/lib  gst-launch-1.0 -ve udpsrc port=5002 do-timestamp=true ! queue ! application/x-rtp, payload=96 ! rtpjitterbuffer latency=20 ! rtph264depay ! h264parse ! omxh264dec! queue ! glimagesink 

+ 17 - 2
camera1/restart-servo.py

@@ -4,7 +4,22 @@ from time import sleep
 from os import path
 
 servoblaster = open("/dev/servoblaster","w")
-print("0=75%" , file=servoblaster)
-print("1=55%" , file=servoblaster)
+min=900
+max=1750
+
+servo = 0
+percentage = 75
+filename = "/tmp/servo_%d" % servo
+print("%d=%d%%" % (servo, percentage) , file=servoblaster)
+print( int((max-min) * (percentage/100)) + min, file=open(filename, "w") )
+
+servoblaster.flush()
+sleep(0.5)
+servo = 1
+percentage = 55
+filename = "/tmp/servo_%d" % servo
+print("%d=%d%%" % (servo, percentage) , file=servoblaster)
+print( int((max-min) * (percentage/100)) + min, file=open(filename, "w") )
+
 servoblaster.flush()
 servoblaster.close()

+ 1 - 1
camera1/rotate-servo.py

@@ -60,4 +60,4 @@ for i in range(0,steps):
 	#print("%d=%sus" % ( servo, delta ))
 	print("%d=%sus" % ( servo, delta ), file=servoblaster)
 	servoblaster.flush()
-	sleep(0.06)
+	sleep(0.12)