Tapo camera

Using Tapo or Other RTSP Cameras as a Klipper Camera to Monitor Your 3D Printer

Here’s what you will need:

  • Some sort of server that you can run Frigate on. I’m using a Beelink EQi12t, but I a Raspberry Pi would likely work as well, if you don’t have a ton of cameras. I’m also a fan of these N100 MiniPC’s. They usually only cost a little bit more than a Pi and are much more powerful.
  • Tapo, or other RTSP cameras. I personally have the C210, which is a pan/tilt camera that costs less than $20 each if you buy a pair of them. There is also the C110, which costs a tiny bit less, without the pan and tilt, and is a good bit smaller.
  • A printer running Klipper firmware.

SETUP TAPO FOR RTSP/ONVIF

Here is a guide from TP-Link/Tapo. Just follow that and note down the username and password you used. Also, go into the camera settings -> Device Info and note down the IP address for that camera. You will need all this later.

INSTALL FRIGATE

The first step is to install Frigate. I’m not going into details on that as their documentation is better than what I can do. One thing you will need to add is - "1984:1984" into the ports section. That is the port that klipper/fluidd/mainsail will use to access the go2rtc/webrtc feed.

CONFIGURE FRIGATE

Go into the web interface of Frigate and click the gear icon at the bottom left -> Configuration Editor. I’m not sure why, but when I first set things up, I had to click on that Configuration Editor a few times for it to load. Remove any go2rtc: or cameras: configuration that is already there, and put in the following. Replace the placeholders for the Tapo camera username, password, IP address, and frigate IP address with the information you got earlier. Then click the save and restart button at the top right.

go2rtc: streams: camera1: - rtsp://<tapoCamUserName>:<tapoCamPassword>@<frigateIPaddress>/stream1 # this is the RTSP camera account set up in the app webrtc: candidates: - <frigateIPaddress>:8555 - stun:8555 cameras: camera1: ffmpeg: inputs: - path: rtsp://127.0.0.1:8554/camera1 # 127.0.0.1 is not a mistake input_args: preset-rtsp-restream-low-latencyonvif: # this is for pan/tilt but it only works inside frigate for now host: <TapoIPaddress> port: 2020 user: <tapoCamUserName> password: <tapoCamPassword> detect: enabled: false Read more...

Using WLED and Home Assistant to Monitor 3D Printers via Moonraker/Klipper

I wanted a way to be able to easily monitor my 6 3D printers. I thought about mounting a monitor, and just displaying a webpage, but I figured this would give me a much cleaner look on my wall. From the animation above, you can see that one printer is completely off(bottom left), one printer just completed a print, and the bed is about 3/4 of the way to fully cooled(top right), one printer is paused, likely due to filament running out(top left), and the other 3 are currently printing.

Create an Android Widget for Moonraker / Klipper to See Your 3D Printer Status on Your Home Screen

It’s been a while since I have posted, but someone on Reddit asked me about my Android widget that shows information from my 3D printers. This will be a quick write up to point you in the right direction, so I won’t have step by step instructions. Keep in mind that this only works when your phone can actually connect to Moonraker. So if you are away from home, it won’t work unless you have a VPN. Read more...

Adding a Pause in Cura to Embed an Object Into a 3D Print

I recently saw this on Amazon and figured I could print that. I’ve also been wondering about embedding an object into the middle of a 3D print, so I figured this would be a good project. So I bought these blades, and measured them, and started working in Fusion 360. In hindsight, I think that some jigsaw blades would have been easier when modeling since there aren’t any weird angles to deal with. Either way, it wasn’t too difficult. Read more...