DIY Smart Doorbell #2 + ESP32 & ESP8266 Firmware Backup | Home Assistant | Smart Home

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 มิ.ย. 2024
  • TTGo - ESP32 Camera Dev Board. This one has a nice monochrome display, a PIR sensor, two buttons, and an optional Fish-eye lens. I used ESPhome and Home Assistant to turn it into a Smart Video Doorbell.
    Bonus Content - How to use ESPtool.py to backup the stock firmware from any ESP32 or ESP8266 device (including Sonoff, Tuya, etc).
    Banggood Link - $20
    drzzs.com/ttgo_cam
    Amazon Link - $23
    amzn.to/2EcrYmX
    ESPhome Yaml -
    gist.github.com/Snipercaine/d...
    Thingiverse Model -
    www.thingiverse.com/thing:363...
    OnShape Model -
    cad.onshape.com/documents/0a4...
    Home Assistant Automations -
    gist.github.com/Snipercaine/e...
    ESPtool Install Page -
    github.com/espressif/esptool
    Social:
    Discord DrZzs - discord.me/drzzs
    DrZzs Facebook Group: / 1969622823351838
    Discord Home Assistant - / discord
    Twitter: / dr_zzs
    Instagram: / drzzs
  • แนวปฏิบัติและการใช้ชีวิต

ความคิดเห็น • 117

  • @racksonable
    @racksonable 9 หลายเดือนก่อน +72

    We ended up exchanging this model for the slimmer version th-cam.com/users/postUgkx0jZ_lGlDVJhDnmagEU8gn47cmfPNlLQU because it was too wide for the only door trim area that made sense to mount it on. However, we should have just noted the dimensions prior to purchasing. Otherwise, we love the doorbell. It works perfectly, and the video is very clear, even at night.

    • @DrZzs
      @DrZzs  9 หลายเดือนก่อน

      Great to hear!

  • @Leonvolt28
    @Leonvolt28 4 ปีที่แล้ว

    Thank you for this video, this made me finally flash my sonoff switches. Getting a backup of the standard firmware was a must for me in case I ever want to go back. I flashed a Sonoff dual with esp home yesterday and flashed two Sonoff touches today.

  • @soundscrispy
    @soundscrispy 4 ปีที่แล้ว

    I bought my first ttgo board shortly after this video was published, and only now just gotten around to rebuilding my Home Assistant server and getting this running :D
    Thanks for your super easy to follow instructions!

    • @DrZzs
      @DrZzs  4 ปีที่แล้ว

      Glad I could help!
      how's it working for you?

  • @nogueirad
    @nogueirad 5 ปีที่แล้ว +3

    Great tip at the soap box! Thank you a lot. I was just looking for something to fit my things, and have not considered this option. I'll look for them.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      I love them! Actually just used my last one on a garage opener. Time to head to Walmart for some more :)

  • @FustErMoose
    @FustErMoose 5 ปีที่แล้ว

    Loving the reviews of these tiny cameras. Going to wait for more before building my own doorbell.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Thanks! Good idea! I'm still learning bits about them. I'm sure there will be some new surprises before I finish the other 3.

  • @SeamusHarper1234
    @SeamusHarper1234 3 ปีที่แล้ว

    I am happy to see you have the same problem with power delivery / proper wiring that I have..... I think powering the device is always the hardest part.

  • @willhutcheon4144
    @willhutcheon4144 5 ปีที่แล้ว +5

    Great video review and bonus backup step-by-step! this was helpful. Ty.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Thanks! Glad I kept them together. Will just have to remember later which video also has the backup steps in it :)

  • @PopularApple
    @PopularApple 5 ปีที่แล้ว +2

    It’s always a pleasure to see the Lich King 👑

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      He's always been my Fav :)

  • @DrexProjects
    @DrexProjects 4 ปีที่แล้ว

    Popped in by mistake. But stayed for the end results. Thanks for the vid dude. Subscribed.

    • @DrZzs
      @DrZzs  4 ปีที่แล้ว

      Good, glad to hear it.
      Thanks!

  • @Fifury161
    @Fifury161 5 ปีที่แล้ว

    The bonus content was very welcome! I've been too lazy to figure it out myself! (Now I have to figure out how to read those .bin files!)

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Great! You'll get it soon :)

    • @Fifury161
      @Fifury161 5 ปีที่แล้ว

      @@DrZzs It looks like it's just raw data - am I correct in thinking there is no way to convert it into something human readable?

  • @webslinger2011
    @webslinger2011 4 ปีที่แล้ว

    Just chanced while watching from another video. Nice to know I can backup firmware. Thanks!

    • @DrZzs
      @DrZzs  4 ปีที่แล้ว

      Great!
      ya, that's a handy thing to know. I should really do it more often.

  • @daveacorn782
    @daveacorn782 4 ปีที่แล้ว

    Great video!!! I would like to use a different button, so I can make it a little easier for people looking to ring the door bell. Then I need it to pass a command to play a chime on my audio matrix so the door bell rings on my speakers. Any tips for adding a different button? Thanks!!

  • @atomicpapa
    @atomicpapa 5 ปีที่แล้ว

    Thanks Doc!! Just ordered one from AliExpress. Should be here by the 12th!

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Excellent! It's a nice little board. My fav so far.

  • @macsecurity2756
    @macsecurity2756 2 ปีที่แล้ว +1

    DrZzs. Great Instructional video man! Hopefully you will be in receipt of this comment but how do you configure the display and camera to turn the picture 180 degrees? Otherwise the board will physically have to be flipped upside down? All is well though:)

  • @kioshiootori9657
    @kioshiootori9657 4 ปีที่แล้ว

    IIRC one of the GPIOs exposed on the I2C header is touch capable(just look for raw)

  • @traviswalters1103
    @traviswalters1103 4 ปีที่แล้ว +1

    Hey Dr.zzs this is a great video. However! Been banging my head against the wall because I cant get the cam to connect to my network because my wifi network isnt broadcasted it restarts the scan and says "no matching network found" over and over. I almost set up a test network that is broadcasted but didn't because I cant use it if its public. Do you have a solution for this? Let me know if your network is broadcasted of if there is something im missing! Thanks so much!

  • @johndavidlister6413
    @johndavidlister6413 5 ปีที่แล้ว +1

    Great video. Working a treat. Only one problem I need to flip the display. Now showing but upside down.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว +1

      yes, there is a way to flip the display. In fact, I probably have the flipped code in mine so you'll just need to take that part out.
      display:
      - platform: ssd1306_i2c
      model: "SSD1306 128x64"
      rotation: 180
      Take out the "rotation: 180", unless it isn't already there... In that case, add it.
      :)

    • @johndavidlister6413
      @johndavidlister6413 5 ปีที่แล้ว

      @@DrZzs Thanks. Now working perfectly.

  • @TheNCGardener
    @TheNCGardener 3 ปีที่แล้ว

    Ok, I finally got it to attempt to read the ttgo board, but the board resets when it tries and then the esptool reports no communication. It did find the correct com port on it's own. I tried holding down the buttons in various combinations to no avail. You also must run CMD as administrator for it to install.

  • @sonny1977
    @sonny1977 5 ปีที่แล้ว

    Very Clever stuff, when i was flashing a couple sonoff's i wish i had this video as a reference to install python on my laptop, it had my head battered, just couldn't do it at all. (friend later installed it for me) so all was well in the end.
    Im nowhere near this neat stage of cameras and doorbells but im waiting on a flash tool to arrive from Ali going to try flashing an ESP01 chip and seeing if i can get one of the little relays to work

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Awesome! I was stumped with python before too. I think I have 3 versions installed in different random places on my pc. Good luck with your ESP01! It's a really fun hobby!

  • @scotthepler5694
    @scotthepler5694 5 ปีที่แล้ว

    Awesome video! Do you know if you can change the clock to 12-hour format with am and pm?

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว +1

      Hmmm. I'd say yes, but I don't know exactly how to do it. Here's a guess. In the last line of the ESPhome yaml change %H to %I, then add %p
      Old -
      it.strftime(64, 64, id(tnr2), TextAlign::BASELINE_CENTER, "%H:%M", id(homeassistant_time).now());
      New -
      it.strftime(64, 64, id(tnr2), TextAlign::BASELINE_CENTER, "%I:%M"%p, id(homeassistant_time).now());
      If that works I will officially proclaim myself HA Wizard First Class ;)

  • @theangelofspace155
    @theangelofspace155 5 ปีที่แล้ว

    Nice. Can you install it in different rooms and use it as a security cam, and also use the motion sensor to turn on/off you lights on those rooms? Also what motion sensor do you use to set present for you rooms? I bet is way cheapest to buy the motion sensor separate than with a camera.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Yep! you can certainly set the motion detector to turn on lights with Home Assistant. These are my fav motion detectors: amzn.to/2EiUJi5
      They're pretty simple to add to anything. I have several connected to light switches. I'm not sure which is really best, these esp32 cameras or just the wyze cameras. amzn.to/2YAPthu
      Depends on your project I guess and which one has the exact features you want.

  • @b4kk4li
    @b4kk4li 3 ปีที่แล้ว

    ive got an external battery connected via the two pin connector on the board. is there a way to monitor the battery status via esphome and editing yaml file for it ?

  • @denisgrabocka1269
    @denisgrabocka1269 5 ปีที่แล้ว

    So how can you change whats displayed on the cam's little display?? Like a welcome message or something when button is pressed or motion is detected....great video

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      I don't know exactly yet. When I do I'll put out something about how it's done.

  • @b4kk4li
    @b4kk4li 3 ปีที่แล้ว

    are you able to make it go in deep sleep mode via esphome yaml config, so it conserved the battery when no motion is detected ?

  • @jba52739088
    @jba52739088 3 ปีที่แล้ว

    hi DrZzs,
    I have a ttgo camrea with mic, would you know how to use mic?

  • @ptmoy1
    @ptmoy1 5 ปีที่แล้ว

    Dr.Zzs, to get the IOS notification to work, do you need to modify the "ios" section in configuration.yaml to add the "camera" category (as shown in your Actionable Notification video)?

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Only if you want the actionable buttons also.

  • @mschaffer2826
    @mschaffer2826 5 ปีที่แล้ว

    Thank you for the great video. Can you find a way to store a recording when the pir detects movement to 15 seconds after? Even better would be to have it start 5 seconds before the motion, not sure if that is possible, maybe make it record and replace a 5 second loop always. It seems difficult, but you seem to have the know how for a solution.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Thanks!
      The key for doing that would be to get the camera feed into some kind of NVR, like MotionEye or BlueIris. The NVR should have options for setting timers and recording after motion. The problem I haven't solved yet with these ESP32 cameras is getting them to stream a video feed that I can get into my NVR. I'm sure it's possible, but I haven't cracked it yet. When I figure it out I'll put out something about how it's done.

    • @mschaffer2826
      @mschaffer2826 5 ปีที่แล้ว

      @@DrZzs Great. That would make these cheap little cameras an amazing value.

    • @MagivaIT
      @MagivaIT 4 ปีที่แล้ว

      cant you use the camera.snapshot or camera.record, activate on motion detect and then you can use that file(s)

  • @funzone35
    @funzone35 3 ปีที่แล้ว

    wich fonts do you install and wich folder it go`s in as i am useing rsp 3 home asst

  • @salim.studio
    @salim.studio 5 ปีที่แล้ว

    Wow man, you are a master of the universe with this, DrZzs pure power.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Hey Bro!

    • @salim.studio
      @salim.studio 5 ปีที่แล้ว

      @@DrZzs Whats up

  • @jamescullins2709
    @jamescullins2709 4 ปีที่แล้ว

    Doesn't tasmatizer have a backup function? Does anyone know if tasmatizer will work the esp32?

  • @jamescullins2709
    @jamescullins2709 4 ปีที่แล้ว

    Where can I get the file you just backedup? I would like to restore mine to factory code. Thanks

  • @jimlundborg
    @jimlundborg 5 ปีที่แล้ว

    Try lowering the resolution really low to enable facial recognition.
    And try the ipaddress:81/stream for the live feed.
    At least these options work on the esp32-camera I have.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      cool. I'll try that on the last one I have with stock firmware. So far, with the stock firmware, I haven't been able to put in my wifi + pw. I must be just missing the menu option. Which camera do you have?

    • @jimlundborg
      @jimlundborg 5 ปีที่แล้ว

      @@DrZzs I have the AI Thinker. I'm pretty new to Home Assistant, only have a few sensors, switches, camera and such. I hadn't ever used ESPHome before watching this video. Thanks so much for what you do!! My AI-Thinker camera in now integrated with ESPHome. Took me a while because I had to figure out how to do the initial flash with an Arduino Nano because I don't have a FTDI tool.

    • @MagivaIT
      @MagivaIT 4 ปีที่แล้ว

      i used dlib for face detection, dead easy to setup
      www.home-assistant.io/components/dlib_face_detect/
      you would need to understand how to get object data from the state, but you could write that to a sensor with an automation for when specific people are seen, otherwise its just a 1 or 0 (with detail in the state object)

  • @ShiftyTipsChannel
    @ShiftyTipsChannel 5 ปีที่แล้ว +1

    👌👌👌

  • @rusabus180
    @rusabus180 ปีที่แล้ว

    hi can i output audio with this so i can speak to whos at the door?

  • @jimb032
    @jimb032 5 ปีที่แล้ว

    Eaptool already comes if you have Arduino installed with eap8266 extensions. And for that you already had to have python also. Most of that is unnecessary...just change into the Arduino directory and use it.
    You also get espota for over the air upload.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Can you read and make a backup copy of the firmware through Arduino IDE? Honestly, many people run into problems with Arduino IDE. Usually due to missing libraries and such. I try not to include the use of it in most cases these days if I can help it.

    • @jimb032
      @jimb032 5 ปีที่แล้ว

      @@DrZzs no, not at all through the Arduino ide. The Arduino IDE just installs all those parts for you with the esp extensions. You still have to type. What I was saying is you already have eaptool and Python if you have Arduino+esp extensions. No need to duplicate that.

  • @CorruptName1
    @CorruptName1 4 ปีที่แล้ว +3

    11:55 "This is a great way to get a virus" LOL

  • @jamescullins2709
    @jamescullins2709 4 ปีที่แล้ว

    Do you have a link for the fonts! sorry I am new to this. Good video

  • @ngreis1979
    @ngreis1979 5 ปีที่แล้ว

    Hi Doc
    Used this video to setup the exact same thing, but i have an issue.
    Every thing works perfect, when i stream to HA, after a while the ESP32 freezes and needs to be rebooted.
    This happens every time i use HA, with ESPHome, the only thing i have observed is the higher the resolution, seems to freeze the board faster, the best o got was, 320x240 almost 5 minutes running, then froze again.
    Any toughts?
    Best regards from Portugal

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      hmmm. What kind of power supply are you using? Try something that's 2 amps or higher.

    • @ngreis1979
      @ngreis1979 5 ปีที่แล้ว

      ​@@DrZzs , for the record, :P since these were just tests i was using a USB3.0 port from my laptop.
      Will try a external PS.
      Did not even remember this since usually all the ESP8266 that i use run fine on the USB port.
      Will test and give feedback

    • @ngreis1979
      @ngreis1979 5 ปีที่แล้ว

      Nope, same result, hangs really fast
      [11:22:25][C][wifi_signal.sensor:009]: Unit of Measurement: 'dB'
      [11:22:25][C][wifi_signal.sensor:009]: Accuracy Decimals: 0
      [11:22:25][C][wifi_signal.sensor:009]: Icon: 'mdi:wifi'
      [11:22:26][D][esp32_camera:157]: Got Image: len=20747
      [11:22:27][D][sensor:092]: 'door bell WiFi Signal': Sending state -61.00000 dB with 0 decimals of accuracy
      WARNING Disconnected from API: Timeout while waiting for message response!
      INFO Connecting to 192.168.0.120:6053 (192.168.0.120)
      INFO Successfully connected to 192.168.0.120
      [11:22:32][D][time:030]: Synchronized time: Sat Jun 8 11:22:32 2019
      [11:22:32][D][binary_sensor:033]: 'door bell PIR': Sending state ON
      [11:22:36][D][esp32_camera:157]: Got Image: len=20587
      WARNING Disconnected from API: Timeout while waiting for message response!
      INFO Connecting to 192.168.0.120:6053 (192.168.0.120)
      WARNING Couldn't connect to API (Error connecting to 192.168.0.120: timed out). Trying to reconnect in 1 seconds
      INFO Connecting to 192.168.0.120:6053 (192.168.0.120)

  • @funzone35
    @funzone35 3 ปีที่แล้ว

    any way to change the text on the lcd

  • @thuyxike
    @thuyxike 4 ปีที่แล้ว

    Great

    • @DrZzs
      @DrZzs  4 ปีที่แล้ว

      Thanks!

  • @psi3000
    @psi3000 3 ปีที่แล้ว

    can anyone help, when trying to flash with ESPhomeflasher i get :"Unexpected error: ESP Chip Auto-Detection failed: Failed to connect to Espressif device: Invalid head of packet (0x1B)" this is his same camera and setup. I tried holding down each button separately and together. Any help would be appreciated.

    • @psi3000
      @psi3000 3 ปีที่แล้ว

      Had to install Windows USB to UART driver to get past this.

  • @welbo9766
    @welbo9766 5 ปีที่แล้ว +1

    Be careful running pip with multiple installations. You never know which install it is pointing to. Best practice is to run ‘python -m pip ...’ from the directory you are working in. Also, try the Win key + X and power shell. It runs a lot like bash in windows (instead of cmd).

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      ooh, good tips. I know almost nothing about python and pip. Thanks!

    • @welbo9766
      @welbo9766 5 ปีที่แล้ว

      @@DrZzs I left out the '-m' on the comment initially. So you are telling python to run the 'module', pip, which ensures the correct pip and python on your system are doing it.

  • @squalazzo
    @squalazzo 5 ปีที่แล้ว +1

    do some lambda to enable that oled only in case of movement, otherwise those fixed pixels will burn in a matter of days, producing ghost images... oleds are not very reliable if always on...

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว +1

      If only someone would send me some example Lambda code for that... ;)

    • @squalazzo
      @squalazzo 5 ปีที่แล้ว

      @@DrZzs let's try on discord 😉

    • @jennygorton3412
      @jennygorton3412 5 ปีที่แล้ว

      @@squalazzo try my updated version: github.com/pinkywafer/ESPHome-TTGO_doorbell but I've had the display showing the time and date constantly for a month with no issues.

    • @radiaddic
      @radiaddic 4 ปีที่แล้ว

      @@DrZzs any updates on having oled just enable in case of movement?

  • @DWTHAN
    @DWTHAN 4 ปีที่แล้ว

    can't flash a sonoff 4ch for the life of me :( Don't think it's going into programming mode even though I'm holding down GPIO0

    • @Leonvolt28
      @Leonvolt28 4 ปีที่แล้ว

      This might help esphome.io/devices/sonoff_4ch.html
      Sometimes the UART bridge cannot supply enough current to the chip to operate, in this case use a 3.3V supply you have lying around. A nice hack is to use the power supply of NodeMCU boards. Simply connect the NodeMCU’s 3.3V to VCC and GND to GND

  • @davidclancy4321
    @davidclancy4321 5 ปีที่แล้ว

    Can anyone tell me were the last part of the ID from in the Auto script (- alias: who is out of bed
    id: howisoutofbed7583475893475897345) is the 7583475893475897345 added by the system? Thanks.

    • @davidclancy4321
      @davidclancy4321 5 ปีที่แล้ว

      Ok so no one wants to help a poor beginner. I will figure it out in the end.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      sorry, it just takes a few days for me to get to all the comments on all the videos. Those numbers are just random things I typed in. You need to put an "id:" to be able to see the automations in the automations editor. If you use the automation editor it will create the id for you. If you make the automation yourself in the automations.yaml you need to add the id yourself.
      Hope that helps.

    • @davidclancy4321
      @davidclancy4321 5 ปีที่แล้ว

      @@DrZzs Ok pal, thanks I figured it out.

  • @carltonwbrooks
    @carltonwbrooks 5 ปีที่แล้ว

    How is it powered. Saw no wires.

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Sorry, maybe I left that part out. It's just a 5v phone charger power supply plugged into the Micro USB connector on the board.

    • @carltonwbrooks
      @carltonwbrooks 5 ปีที่แล้ว

      @@DrZzs Thanks. I may have missed it. Tried it last night with batteries and worked great. Will monitor drain to see if a phone charge is better and can be wired easily to the wall circuit.

  • @caraudebr
    @caraudebr 3 ปีที่แล้ว +1

    Does someone have the original bin file. I forgot to make a backup :(

    • @psi3000
      @psi3000 3 ปีที่แล้ว +1

      i can sent it to you if you need.

    • @caraudebr
      @caraudebr 3 ปีที่แล้ว

      @@psi3000 can you send it to me? sendfirmware@gmail.com
      Thanks.

  • @werdy64
    @werdy64 4 ปีที่แล้ว

    Hi. I'm beginer. Could you share bin file?

    • @DrZzs
      @DrZzs  4 ปีที่แล้ว

      Which bin file? The ESPhome sketch, or the original firmware?

  • @wispervalley
    @wispervalley 4 ปีที่แล้ว +1

    @9:13 why was that so hard.. sometimes it's hard being dumb! Dude Justi, well fucking-said :-D That feeling I've had more often, as the old brain grows older, so that question is ofter posed :-D

  • @paullonsdale2148
    @paullonsdale2148 5 ปีที่แล้ว

    Pop!

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      Bang!

  • @shaunanderson2973
    @shaunanderson2973 5 ปีที่แล้ว +1

    2.2.2.1 isn't RFC1918 space...

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      I don't know about that. 2.2.2.1 is just the ip to show the interface when you're connected to this board's Access Point.

    • @jimb032
      @jimb032 5 ปีที่แล้ว

      @@DrZzs Shaun is absolutely correct. It may be what the firmware is using...but what he is saying is it's not proper to use that. It should only be 10.xxx 172.xxx and 192.xxx. Its RFC standard. Using anything else is just a horrible hack - you don't just "pick a number" - it's not the lottery.

  • @M.4y
    @M.4y 5 ปีที่แล้ว +3

    you do not have to go into the Python path because you linked it

    • @DrZzs
      @DrZzs  5 ปีที่แล้ว

      ok cool. Since I put python in the path we don't need to be in the python folder? thanks!

    • @M.4y
      @M.4y 5 ปีที่แล้ว

      @@DrZzs yes

  • @alexk6745
    @alexk6745 4 ปีที่แล้ว

    minus for stupid joke about sd card which is not clear if it was joke or joke that for $9 we have so many things int that thing

  • @MtnBadger
    @MtnBadger 4 ปีที่แล้ว

    I'm not sure... But I think he's done this before. *wink*
    I know I can do this, with a gun to my head and my snacks held hostage.. Maybe I'm getting lazy in my old age.

  • @Lisas4us
    @Lisas4us 4 ปีที่แล้ว

    you lost me at pip.

  • @TheMrmaster0101
    @TheMrmaster0101 9 หลายเดือนก่อน

    You can create a picture card and put url:81/stream to simply get a video stream