{"id":5195,"date":"2026-05-10T03:33:01","date_gmt":"2026-05-10T03:33:01","guid":{"rendered":"https:\/\/glover.gen.nz\/wordpress\/?p=5195"},"modified":"2026-05-10T10:00:55","modified_gmt":"2026-05-10T10:00:55","slug":"garage-automation-project-revisited","status":"publish","type":"post","link":"https:\/\/glover.gen.nz\/wordpress\/garage-automation-project-revisited\/","title":{"rendered":"Garage Automation Project &#8211; revisited"},"content":{"rendered":"<p>It&#8217;s been a while since I revisited the GAP, I have tried a couple of things since the last post, but none of them were successful.<\/p>\n<p>However, since I bought my 3D printer 18 months ago, I have been trying to get a web cam working inside the case, and add the feed from it into the GAP. The 3D printer is in the garage, so it fits quite well. I tried a couple of Raspberry Pis, set up in the same way as the Driveway and Garage cams, but the only spare Pis I had were a bit slow or clunky, or I didn&#8217;t have an adapter to plug USB A into a Pi Nano.<br \/>\nEventually it dawned on me that the printer was plugged into the computer, so the web cam could be plugged in there too, but I didn&#8217;t fancy settting up a web server and web cam software like on the Pis.<\/p>\n<p>I looked on the web and found YAWCAM, a free webcam manager that works on windows. It has its own web server and camera management stuff, and looked good for what I wanted.<\/p>\n<p>It downloaded and installed easily (https:\/\/www.yawcam.com\/download.php) and set up went fairly well. My ancient Logitech webcam was recogised as a &#8220;USB Video Device&#8221;, and I could see a preview bright and clear, after a bit of thought about quality, resolution and frames per second.<\/p>\n<p>The software\u00a0 provided a URL along the lines of &#8220;http:\/\/192.168.1.103:8081&#8221; to see a web page with the web cam image on it. That is great but I wanted to add a button in my GAP web page, and embed the stream into the web page. A bit like this:-<\/p>\n<figure id=\"attachment_5196\" aria-describedby=\"caption-attachment-5196\" style=\"width: 170px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-5196\" src=\"https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450-170x300.png\" alt=\"\" width=\"170\" height=\"300\" srcset=\"https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450-170x300.png 170w, https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450-85x150.png 85w, https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450-100x176.png 100w, https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450-150x264.png 150w, https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450-200x352.png 200w, https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450-300x528.png 300w, https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450-450x792.png 450w, https:\/\/glover.gen.nz\/wordpress\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-10-151852-e1778406836450.png 456w\" sizes=\"auto, (max-width: 170px) 100vw, 170px\" \/><\/a><figcaption id=\"caption-attachment-5196\" class=\"wp-caption-text\">GAP with 3dprinter cam<\/figcaption><\/figure>\n<p>I eventually found that to do this, the URL was\u00a0 &#8220;http:\/\/192.168.1.103:8081\/video.mjpg&#8221;, but this gave a video in about 80 pixel resolution, very few frames per second and generally pretty rubbish quality. I played around for a while, and eventually looked at the image provided in the full webpage, and found it was using a url like this &#8220;http:\/\/192.168.1.103:8081\/video.mjpg?q=30&amp;fps=33&amp;id=0.3178144270778933&amp;r=1778383514197&#8221; i.e. with the query string attached. The &#8220;id&#8221; and the &#8220;r&#8221; field (a random number) are not required, but the ?q=30&amp;fps=33 gets the mjpg image with specific quality and fps parameters.<\/p>\n<p>So I added quality (q) and frames per second (fps) figures that suited my requirements, and the result can be seen above. The camera needed focusing, but the result is adequate for my needs.<\/p>\n<p>An excellent result, and a bullet proof solution, which will show the view inside the cabinet for as long at the computer is on driving the printer!<\/p>\n<p>YAWCAM is a great effort by the author who provides excellent support to users, and other users seem to have had this problem, but I could not find a solution or description of this anywhere on the site. Here it is for those who need it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s been a while since I revisited the GAP, I have tried a couple of things since the last post, but none of them were successful. However, since I bought my 3D printer 18 months ago, I have been trying &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/glover.gen.nz\/wordpress\/garage-automation-project-revisited\/\"> <span class=\"screen-reader-text\">Garage Automation Project &#8211; revisited<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,4,27,9,12],"tags":[],"class_list":["post-5195","post","type-post","status-publish","format-standard","hentry","category-3d-printing","category-technical","category-garage-automation-project-gap","category-programming","category-windows-10-11"],"_links":{"self":[{"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/posts\/5195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/comments?post=5195"}],"version-history":[{"count":7,"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/posts\/5195\/revisions"}],"predecessor-version":[{"id":5206,"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/posts\/5195\/revisions\/5206"}],"wp:attachment":[{"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/media?parent=5195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/categories?post=5195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/glover.gen.nz\/wordpress\/wp-json\/wp\/v2\/tags?post=5195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}