You probably want to put a series resistor on the MOSFET gate. The pico supplies 15 mA and the gate capacitance draws about 120 mA. Not a biggie in this case where the duty cycle is low, but good practice in general.
Very nice. I did something like this a couple of years ago using an esp32. It also interfaced with Home Assistant using Mqtt. It had the ability to text me that it was opening, I could also check it's current open status. There also was the ability to auto close if left open based on time of day and/or length of time open. I'm going to build another soon also using a Pico W at my son's house.
You could also look at Shelly WIFI switches. Not as flexible, but a complete solution at a similar price point. It's what I'm using, but I find it a little buggy with their own app. Only really likes connecting via 4G & their cloud service - I reckon it goes to sleep & loses the paired IP addresses when I try to use it on just my LAN. I'll have to look at flashing the firmware to run Home Assistant I guess - or repurpose it as a light switch & build a Pico multi function garage doo-dah.
This is exactly one of the projects I had hoped to build using the Pico Ws I just ordered. I hadn't considered hosting the control page right on the Pico, but that's simpler than creating an app for my phone. Thanks so much for posting this!
With this approach you could do both. You can have a page hosted on the pico itself, but making the requests from a mobile app, or even another website would also work just fine.
Only 2 mins in & you've earned a like for your very clear commentary & camerawork. Many garage openers only have 2 connectors for a remote switch and cycle the up, stop, down functions & you're lucky to have a permanent 12v. Good thinking on the external pullups, hadn't thought about what happens to the onboard ones if a Pi is powered down - do they go floating? I suppose if you have a common power supply to the Pi & transistors it's become irrelevant? If you wanted to refine it: An open/shut door indicator on the web page would be handy so you could use it to allow access when you're not present (You could easily lose track of the door status with a single button version). Tying in to that would be a nod at some security, such as password or passkey or limiting access to locally connected devices.
Unless there's a temporary power outage & the pin floats when the power returns. If you have a 2 wire connection, you could also use the pi to run a PIN keypad.
Lovely project that is interesting for a lot of makers (assuming that they have a garage door that needs opening/closing). Just ordered a pico W as well as a relay board for the pico to speed-up the process. Although I use two Networks (internal and guest), as other have mentioned it would be nice to have a pin to add before confirming the opening of the door. I will see if I can modify the code provided to do this, thanks for the inspiration in these projects
I did a similar version of this with a pi 3 and touchscreen using node red. It's mounted on the wall running in kiosk mode so it boots straight into the door operator interface so it functions as the wall button but also allows me to use my phone as you did. My reaction was very similar to yours when it first worked.
A less invasive way to do this (assuming the remote controls use radio frequency to send instructions) would be to capture the radio "chirps" that are transmitted by the remote control with an RF module and send them via the same RF module controlled by the Pico. People have demonstrated you can do this with RF car keys to unlock the car door. You wouldn't have to even touch the door mechanism.
@@Core-Electronics Although it probably uses a rolling code, so a recorded code would only work once. You could probably fit the key into the transmitter circuit somehow (it just requires a button press), so the pico always has the right code to transmit. Perhaps your way is easier after all 🤔
I am planning a similar project. A pico to do the opener, and two sensors to tell if the car door, and side person door is open. My garage door is probably from the 70s or 80s. I was just planning on tapping into the button in the garage it self. ( my garage is detached, and only has 1 button inside the garage itself... hence this project. lol )
You should have a textbox for passwords and put some sort of simple pass code for executing the commands. Your phone will remember it so you do not need to write it every time. but new users will need it to use your web based controller. just in case someone steals your wifi pass or something. i mean guest don't need access to your garage do they?
i think using the get parameter from the url is not good practice. It might get called when your browser on the phone refreshes in the background, which can happen very randomly.
That's a great point! This isn't the first time I've done this project - I have used an esp32-based system for about 18 months with no problems from spontaneous refresh. However, a neat addition would be to return the user to the base URL with a 301 redirect in the header.
Yep, it's considered best practice to not perform any side effects during a GET request, and that's one good reason why. Some browsers will even prefetch URLs found in links on the current page. This should be changed to use a POST request instead
I would like to be able to see the current status of the garage door as an addition to this project. For example, I have a remote in my car but there are times that I wonder if I forgot to close the garage door when I left. If I could check first that would be great. If I could check this status from anywhere that would be the ideal.
Easy! Add a reed switch or other common sensor for door-state detection. Look up port forwarding to bring your server onto the World Wide Web - but beware! You can't rely on your WiFi network for security now - you'll have to manage your own credentials and user verification.
I'm a very poor electrician, but if I understood correctly, your pi pico recieves data sent from your phone and according to the data (up,down,stop) the pico bridges the pins on your garage
Next time, instead of cutting the excess length off from those electronic parts, bend them to help make a path. That'll be nicer than blobbing and bridging. Pretty cool project, and now I'll have to see if my opener has terminals like that.
Would it be possible to make an RF remote that controls the door/can be wall mounted elsewhere to wireless communicate with the Pico as well? Would be cool to have a setup independent from your phone so you don't have to open the app/webpage every time you want to open your garage door.
Hi; When working with the PICO W; Can you explain how to see my Pico W on the network? Is there commands to use? Also, would like to see other projects on with how to connect WIFI.BTW: I do not want to ruin my Garage Door opener at this time . :) It has been working for 20 years. It is great to see your video from UK. Thank you Michael
That was quick, but then companies had the pico w for weeks before the launch, nice article, would not use green, but light blue background for up/open and black background for down/close. also the main background white, i prefer a darker grey/cyan, a bigger font would also be nice (bigger buttons) but those are simple fixes, same with the typos in the code text (excamples, .diable) Used a lot of solder, i prefer the cut offs.
Insider intel - we did this project and write-up on the first weekend the Pico W was available. Being overly excited helped move things along. Great ideas for features and changes!
the biggest issue you have is that anyone who can get on your network can access the webserver. And if you port forward so you can access it from anywhere, then anyone worldwide could control your garage door.
This would go so well with data from OpenWeather.. A sprinkler system that can pull weather forecasts in with a single web request.. If >50mm rain forecast in next X days then do the right thing [skip this cycle]
Excellent work. I'm trying to extend this to make buttons change color and even enable/disable them based on what my Python code does with the last button push. I'm having trouble cracking that nut. Any advice or suggestions?
It sounds like you want to format variables into the HTML string. Head over to the forums if you get stuck - it's much easier to share code there forum.core-electronics.com.au/
I can send a program to the pico but then it says backend error when I try to send another program. I might try programming it with another pi rather than a laptop. Any clues please?
I'm going to build this, and have two questions: First, where can I get one of those Makerverse boards? Second, I may do this with a Pi Zero W that I already have... How hard would it be to add a Pi camera or a USB camera to this and display a current image of the garage on the web page? I'd like to be able to view the page on my cellphone and see if the door is blocked by the kids leaving something like a bicycle in the middle of the car space, or if the door is already open before I get there. Even if the Pi only took a picture once a minute that would be enough.
First question is easy you can find the Makerverse protoboards here: core-electronics.com.au/makerverse/prototyping.html The second question is a little more complicated and might be best to ask over on the Core Electronics forums, we've got some serious smarties over there that can help you out with whatever you're working on. 😊👍 forum.core-electronics.com.au/
It would be nice to wire a door position sensor to the Pi and program the Pi to send a text or notification to your phone after a predetermined period of time. I sometimes forget to close the door and it stays open all night and I kick myself in the morning upon discovery. The same sensor state integrated into the app could show the door position on the phone app screen.
Wouldn't it be nice! Jeff Geerling did exactly that! His project actually inspired us to create this one. Jeff's video: th-cam.com/video/VEWdxvIphnI/w-d-xo.html
@@Core-Electronics Thank you for this. I went and watched the video from your link and it was very interesting. Lots of possibilities indeed. I think I can combine what I learned here with that, should be straight forward enough. I think his choice of door open/closed sensor was unnecessarily huge but the concept is right on. There's certainly nothing incorrect about using a discrete mosfet as a sort of solidstate relay (SSR) to emulate push-button key presses however some might wish to consider using an actual SSR device such as the old TLP222A or newer LAA108. These are opto-activated so the Pi would drive the internal LED via series resistor. The output is true AC/DC up to 60V, 300mA. There are many models of SSR devices in DIP4 and DIP8 and SMT packages as well made by many mfrs with varying specifications for output voltage and current capacity. www.digikey.ca/en/products/detail/ixys-integrated-circuits-division/LAA108/3077633
In terms of content, I am looking for a way to store the access data for the WLAN securely, i.e. not in a separate file as plain text. As the RP2040 does not have a CryptoChip, the integration of an external chip such as the ATECC608A would be a possibility. But to be honest, that's a bit too much for me without help...
Linus over at LTT would be disappointed you made a cheap but awesome door device! On the security side, could you use a handshake or a token on your phone to allow only authorised people to open the door? (Not a coder)
Another idea for shared WiFi - use a guest network for visitors as guest networks (which almost all routers support) are setup in such a way that devices can't connect to each other (no access to your Pico W!). That way you can keep your main WiFi password for home occupants that you would trust with keys to the front door :)
I think you'd be better off using some sort of RF transmitter/receiver. No wifi necessary, no need to get the phone out. Some things are just better with physical buttons.
I have your code running on a pico w, but the server is unreachable every so often and requires a power cycle. The pico is close to the access point, so I don't believe it's a signal issue. Maybe there's a way to incorporate a watch dog timer and detect when the server is not hung ( to reset the timer)?
have a look in the resources for the project - particularly using an asynchronous server. This base code is actually a little naive, and there's a few enhancements one may make. Best of luck!
I want to do something similar , but I want to use a radio transmitter so that I can control all 3 garage doors with one pico w, set it up to send one of three radio transmissions depending on which door you want to open or close! anyone know if this is possible? anyone point me in the right direction?
Michael here! I've been using this device for many months now and find it really has been both :D For my specific use case it's been invaluable: More responsive than a OEM remote, and no less secure than any other physical attack vector on a typical property. 10/10 project (for my needs. Your mileage may vary). Another plus is that my housemates and family may use this instead of a physical key or remote. Nice!
Hi, Yes, I think it is an interesting way to use the Pico. However, if you were to look at speed, the garage door opener I think would always win hands down. With the pico, effectively, as you said, you are exposing your home network. A program called hashcat can, with the assistance of a GPU, brute force your wifi password quite quickly. It may even be possible to reflash the firmware on the pico by a malicious actor. With the garage door opener, this is not an issue. It only takes 1 press to open or close the garage door with the garage door opener. With your mobile phone, you have to unlock your mobile phone, go to a browser, go to the web page, wait for it to load and then press the appropriate button to do the appropriate action. Please keep up the excellent content as it is very informative and interesting. Perhaps you could also do another program to articulate why you chose the particular components as well as the mathematics behind it!
Thanks Robert! I recall reading it would take hashcat 8+ years to crack WPA2 passphrase which is 9 lower-case letters with the hash speed of about 22000 h/s That cracking number gets *really* big the more entropy you throw at your WPA2 passphrase. Short story; follow the usual rules and get on with life :) All the best with your projects
As demonstrated at 9:00, you can create a home screen shortcut to take you directly to the control page (the DNS name is not required, but it needs a static or reserved IP otherwise). With a bit of work it's possible to create a Progressive Web Application which allows the page to be cached so it loads a cached copy of the page from the phone (and only requires network access once the button is pushed).
I had a similar though - I would have though isolation would be useful (though I know very little). I have bought a relay module to connect to rapsberry pi for a similar project...maybe it's overkill?
You're gonna be real sad when you learn about Raspberry Pi's "wheel of fortune" approach to wifi stability. May want to have it reboot itself occasionally.
I expect you're right, but we'll lifetime test the project and add reconnects as necessary (nothing a try-except won't fix 😉). The "Connecting to WiFi " document from Raspberry Pi has some great advice to make a robust webserver. The code here is actually an asynchronous server that can handle multiple simultaneous requests.
@@Core-Electronics It may be easier to deal with on the Pico, just because it's an MCU instead of linux. My Pi3 running Raspbian will lose its connection and then not detect that it's lost the connection, and I haven't been able to find a way to get it to reconnect without rebooting the device. I suspect it may be a heating issue on the chip causing it to lock out or something, but it seems to happen randomly rather than during high traffic. I thought about having a daemon try to ping the router once an hour and reboot if it fails, but then I realized that I wouldn't want it suddenly rebooting if I were working on something, so now I just have it reboot at midnight. I'm going to replace it with a 4 in a few days, so hopefully that works out better.
@@khatharrmalkavian3306 I made a pi3b ntp server, it runs reliably on wifi, I never have a problem with that. I did turn off the wifi power saving perhaps that helps with reliability, I have not had problems with that at all.
Easy one-line fix - See this forum post: forum.core-electronics.com.au/t/project-by-michael-wifi-garage-door-controller-with-raspberry-pi-pico-w/14526/6
The best place for technical help is at the bottom of the project writeup, or on our forums: forum.core-electronics.com.au We're best able to share code-snippets and pictures there.
Or only give people your home WiFi password that you would trust with the keys to your home :) Use a guest WiFi network for all the rest And if you need more, then add to the code - it's a great starting point!
not sure what you consider to be safe but usually it depends how it is used. Is your front door key safe ? Usually not cause there are moments when those are accessible for someone else who can put plasticine around and you are screwed but still feel safe cause you have no clue nor any idea of the moment when the attack might happen. Keys are not safe or at least only as safe as the awareness is there cause in the gym or beach or pool you will not go into the water with them. This one looks pretty safe for a garage door - he simply uses the available pins / connectors and a connection from his phone. Do you consider to call the usual rfid cards to be safe ? You can copy them even faster than the gold ones with plasticine. Awareness is the key to safety. And if you solder all that stuff together on your own you will be for sure aware about the safetyness considering that noone gets the WiFi key of your home except those who do live there permanently while guests will get access to the guests network. Why do you care ? Just a comment line without any explanation - from Fort Knox for sure.
7:59: that moment of exaltation so familiar to those who have spent hours, days or even weeks trying to make a project work. Nice job!
You probably want to put a series resistor on the MOSFET gate. The pico supplies 15 mA and the gate capacitance draws about 120 mA. Not a biggie in this case where the duty cycle is low, but good practice in general.
Totally 🙌 Once of those cases where a BJT might have made more sense - one fewer resistor required for best-practice!
Any great resources I could use to gain the experience you have with electronics?
@@rayr268 just like coding experience helps you learn
Very nice. I did something like this a couple of years ago using an esp32. It also interfaced with Home Assistant using Mqtt. It had the ability to text me that it was opening, I could also check it's current open status. There also was the ability to auto close if left open based on time of day and/or length of time open.
I'm going to build another soon also using a Pico W at my son's house.
You could also look at Shelly WIFI switches. Not as flexible, but a complete solution at a similar price point. It's what I'm using, but I find it a little buggy with their own app. Only really likes connecting via 4G & their cloud service - I reckon it goes to sleep & loses the paired IP addresses when I try to use it on just my LAN.
I'll have to look at flashing the firmware to run Home Assistant I guess - or repurpose it as a light switch & build a Pico multi function garage doo-dah.
Awesome would love to see your build when its done, post it over at our forum for the rest of us to drool over 🤤 forum.core-electronics.com.au
Do you happen to have a git link or something? I'm looking to incorporate this into HA, mqtt would work perfectly for me.
This is exactly one of the projects I had hoped to build using the Pico Ws I just ordered. I hadn't considered hosting the control page right on the Pico, but that's simpler than creating an app for my phone. Thanks so much for posting this!
With this approach you could do both. You can have a page hosted on the pico itself, but making the requests from a mobile app, or even another website would also work just fine.
Only 2 mins in & you've earned a like for your very clear commentary & camerawork.
Many garage openers only have 2 connectors for a remote switch and cycle the up, stop, down functions & you're lucky to have a permanent 12v.
Good thinking on the external pullups, hadn't thought about what happens to the onboard ones if a Pi is powered down - do they go floating?
I suppose if you have a common power supply to the Pi & transistors it's become irrelevant?
If you wanted to refine it:
An open/shut door indicator on the web page would be handy so you could use it to allow access when you're not present (You could easily lose track of the door status with a single button version). Tying in to that would be a nod at some security, such as password or passkey or limiting access to locally connected devices.
Unless there's a temporary power outage & the pin floats when the power returns.
If you have a 2 wire connection, you could also use the pi to run a PIN keypad.
Awesome project ! You could modify this and make all sorts of useful things like watering system etc .
Right! :)
Brilliant!
I could do the software easily enough, but the electronics completely defeats me.
Great video!
Lovely project that is interesting for a lot of makers (assuming that they have a garage door that needs opening/closing). Just ordered a pico W as well as a relay board for the pico to speed-up the process. Although I use two Networks (internal and guest), as other have mentioned it would be nice to have a pin to add before confirming the opening of the door. I will see if I can modify the code provided to do this, thanks for the inspiration in these projects
You're very welcome, we'd love to see how your project turns out on our forums: forum.core-electronics.com.au
cant wait for them to be in stock
I did a similar version of this with a pi 3 and touchscreen using node red. It's mounted on the wall running in kiosk mode so it boots straight into the door operator interface so it functions as the wall button but also allows me to use my phone as you did. My reaction was very similar to yours when it first worked.
you became very excited and happy while the door opens 😃
It worked first go! That literally *never* happens 😀
Thanks, and I like your choice of motorcycles. Now if only I could get that Raspberry Pi Pico w in Japan!
Is that a 9TR ?
@@Peter-jm7zt is a BMW R1200R 😀
@@MichaelRuppe nice
A less invasive way to do this (assuming the remote controls use radio frequency to send instructions) would be to capture the radio "chirps" that are transmitted by the remote control with an RF module and send them via the same RF module controlled by the Pico. People have demonstrated you can do this with RF car keys to unlock the car door. You wouldn't have to even touch the door mechanism.
That's a great idea, thanks for sharing.
@@Core-Electronics Although it probably uses a rolling code, so a recorded code would only work once. You could probably fit the key into the transmitter circuit somehow (it just requires a button press), so the pico always has the right code to transmit.
Perhaps your way is easier after all
🤔
Great tutorial! I’ve been wanting to do this for a long time, but never took the time to get started.
Yo, man, I'm new to embedded and I love these videos
I am planning a similar project. A pico to do the opener, and two sensors to tell if the car door, and side person door is open.
My garage door is probably from the 70s or 80s. I was just planning on tapping into the button in the garage it self. ( my garage is detached, and only has 1 button inside the garage itself... hence this project. lol )
Sooo cool! Excellent videos as always, loved this format😁
Can't wait to see what other projects are made with the Pico W!
Nicely done. One quick pointer however -- flux, flux, flux! A bit of flux will help the solder wet the connections dramatically!
Wow great video. This is the first video where I see proper soldering. Most videos out there use solder as glue. Wonderful video.
Nice video. Great bike in you garage !!
Thanks! 👍
Nice soldering shots!
You should have a textbox for passwords and put some sort of simple pass code for executing the commands. Your phone will remember it so you do not need to write it every time. but new users will need it to use your web based controller. just in case someone steals your wifi pass or something. i mean guest don't need access to your garage do they?
Hi,
The raspberry pi pico is fantastic and very cheap.
Great use of pico. Really enjoyed the video.
Regards
Peter
Thanks Peter
i think using the get parameter from the url is not good practice. It might get called when your browser on the phone refreshes in the background, which can happen very randomly.
That's a great point! This isn't the first time I've done this project - I have used an esp32-based system for about 18 months with no problems from spontaneous refresh. However, a neat addition would be to return the user to the base URL with a 301 redirect in the header.
Yep, it's considered best practice to not perform any side effects during a GET request, and that's one good reason why. Some browsers will even prefetch URLs found in links on the current page.
This should be changed to use a POST request instead
Nicely done! If only I could get a hold of a rpi pico w. Looking forward to more pico w projects.
They are in stock at canakit. I just ordered 4 because I know once I get one going, I'm going to want to do more projects.
Incredible👌👌
Glad you like it!
I would like to be able to see the current status of the garage door as an addition to this project. For example, I have a remote in my car but there are times that I wonder if I forgot to close the garage door when I left. If I could check first that would be great. If I could check this status from anywhere that would be the ideal.
Easy! Add a reed switch or other common sensor for door-state detection. Look up port forwarding to bring your server onto the World Wide Web - but beware! You can't rely on your WiFi network for security now - you'll have to manage your own credentials and user verification.
Shame we have content to tease us, but no way to order a Pico W in Australia for possibly many months.
I'm a very poor electrician, but if I understood correctly, your pi pico recieves data sent from your phone and according to the data (up,down,stop) the pico bridges the pins on your garage
You got it! 👌
@@Core-Electronics love the content man
Next time, instead of cutting the excess length off from those electronic parts, bend them to help make a path. That'll be nicer than blobbing and bridging. Pretty cool project, and now I'll have to see if my opener has terminals like that.
Would it be possible to make an RF remote that controls the door/can be wall mounted elsewhere to wireless communicate with the Pico as well? Would be cool to have a setup independent from your phone so you don't have to open the app/webpage every time you want to open your garage door.
Hi; When working with the PICO W; Can you explain how to see my Pico W on the network? Is there commands to use? Also, would like to see other projects on with how to connect WIFI.BTW: I do not want to ruin my Garage Door opener at this time . :) It has been working for 20 years. It is great to see your video from UK. Thank you Michael
Nice video. Opto isolators could have been used instead of the mosfets.
Great point - for extra safety!
You could also add a reed switch and determine if the garage door is open or closed remotely!
Great idea!
very good video
Hi, nice video.
How did you manage to set up garage.door with pihole?
Good one
Works great; caught the neighbor's dog.
That was quick, but then companies had the pico w for weeks before the launch, nice article,
would not use green, but light blue background for up/open and black background for down/close.
also the main background white, i prefer a darker grey/cyan, a bigger font would also be nice (bigger buttons)
but those are simple fixes, same with the typos in the code text (excamples, .diable)
Used a lot of solder, i prefer the cut offs.
Insider intel - we did this project and write-up on the first weekend the Pico W was available. Being overly excited helped move things along.
Great ideas for features and changes!
the biggest issue you have is that anyone who can get on your network can access the webserver. And if you port forward so you can access it from anywhere, then anyone worldwide could control your garage door.
Now how about a sprinkler control system?
This would go so well with data from OpenWeather.. A sprinkler system that can pull weather forecasts in with a single web request.. If >50mm rain forecast in next X days then do the right thing [skip this cycle]
Excellent work. I'm trying to extend this to make buttons change color and even enable/disable them based on what my Python code does with the last button push. I'm having trouble cracking that nut. Any advice or suggestions?
It sounds like you want to format variables into the HTML string. Head over to the forums if you get stuck - it's much easier to share code there forum.core-electronics.com.au/
Impressive! Are those Makerverse boards available in the UK yet?
Well, we do ship internationally :)
Awesome !!!
You need a close sensor too.
Hi great video, can you send me the link to the pico w web server controlling an led I can’t find it anywhere thank you in advance
I can send a program to the pico but then it says backend error when I try to send another program. I might try programming it with another pi rather than a laptop. Any clues please?
I'm going to build this, and have two questions:
First, where can I get one of those Makerverse boards?
Second, I may do this with a Pi Zero W that I already have... How hard would it be to add a Pi camera or a USB camera to this and display a current image of the garage on the web page?
I'd like to be able to view the page on my cellphone and see if the door is blocked by the kids leaving something like a bicycle in the middle of the car space, or if the door is already open before I get there. Even if the Pi only took a picture once a minute that would be enough.
First question is easy you can find the Makerverse protoboards here: core-electronics.com.au/makerverse/prototyping.html
The second question is a little more complicated and might be best to ask over on the Core Electronics forums, we've got some serious smarties over there that can help you out with whatever you're working on. 😊👍 forum.core-electronics.com.au/
Thanks for sharing 👍
Thanks for watching 😀
It would be nice to wire a door position sensor to the Pi and program the Pi to send a text or notification to your phone after a predetermined period of time. I sometimes forget to close the door and it stays open all night and I kick myself in the morning upon discovery. The same sensor state integrated into the app could show the door position on the phone app screen.
Wouldn't it be nice! Jeff Geerling did exactly that! His project actually inspired us to create this one.
Jeff's video: th-cam.com/video/VEWdxvIphnI/w-d-xo.html
@@Core-Electronics Thank you for this. I went and watched the video from your link and it was very interesting. Lots of possibilities indeed. I think I can combine what I learned here with that, should be straight forward enough. I think his choice of door open/closed sensor was unnecessarily huge but the concept is right on. There's certainly nothing incorrect about using a discrete mosfet as a sort of solidstate relay (SSR) to emulate push-button key presses however some might wish to consider using an actual SSR device such as the old TLP222A or newer LAA108. These are opto-activated so the Pi would drive the internal LED via series resistor. The output is true AC/DC up to 60V, 300mA. There are many models of SSR devices in DIP4 and DIP8 and SMT packages as well made by many mfrs with varying specifications for output voltage and current capacity.
www.digikey.ca/en/products/detail/ixys-integrated-circuits-division/LAA108/3077633
In terms of content, I am looking for a way to store the access data for the WLAN securely, i.e. not in a separate file as plain text. As the RP2040 does not have a CryptoChip, the integration of an external chip such as the ATECC608A would be a possibility. But to be honest, that's a bit too much for me without help...
Save the website to a shortcut that you save as a icon to your Home Screen. Awesome
Glad you like it.
Linus over at LTT would be disappointed you made a cheap but awesome door device! On the security side, could you use a handshake or a token on your phone to allow only authorised people to open the door? (Not a coder)
Another idea for shared WiFi - use a guest network for visitors as guest networks (which almost all routers support) are setup in such a way that devices can't connect to each other (no access to your Pico W!). That way you can keep your main WiFi password for home occupants that you would trust with keys to the front door :)
Or add a pin code entry on the web page that's checked when opening the door (not for stop).
I think you'd be better off using some sort of RF transmitter/receiver. No wifi necessary, no need to get the phone out. Some things are just better with physical buttons.
I have your code running on a pico w, but the server is unreachable every so often and requires a power cycle. The pico is close to the access point, so I don't believe it's a signal issue. Maybe there's a way to incorporate a watch dog timer and detect when the server is not hung ( to reset the timer)?
have a look in the resources for the project - particularly using an asynchronous server. This base code is actually a little naive, and there's a few enhancements one may make. Best of luck!
Nice - what about MQTT Home Assistant?
We'll be working on more Raspberry Pi Pico W education in the coming weeks so keep your eyes peeled. 👀
is the pico W more revolutionary over pico..
How secure is the software?
Is it encrypted/password-protected?
Challenge... how to open the door when away from your local wifi? Considering the network safety as well...
If you have a VPN server running inside your network, you could VPN into it and issue the command as if you were on site
I want to do something similar , but I want to use a radio transmitter so that I can control all 3 garage doors with one pico w, set it up to send one of three radio transmissions depending on which door you want to open or close! anyone know if this is possible? anyone point me in the right direction?
is it safe? or convenient?
Michael here! I've been using this device for many months now and find it really has been both :D For my specific use case it's been invaluable: More responsive than a OEM remote, and no less secure than any other physical attack vector on a typical property. 10/10 project (for my needs. Your mileage may vary).
Another plus is that my housemates and family may use this instead of a physical key or remote. Nice!
Hi,
Yes, I think it is an interesting way to use the Pico. However, if you were to look at speed, the garage door opener I think would always win hands down.
With the pico, effectively, as you said, you are exposing your home network. A program called hashcat can, with the assistance of a GPU, brute force your wifi password quite quickly. It may even be possible to reflash the firmware on the pico by a malicious actor.
With the garage door opener, this is not an issue.
It only takes 1 press to open or close the garage door with the garage door opener.
With your mobile phone, you have to unlock your mobile phone, go to a browser, go to the web page, wait for it to load and then press the appropriate button to do the appropriate action.
Please keep up the excellent content as it is very informative and interesting.
Perhaps you could also do another program to articulate why you chose the particular components as well as the mathematics behind it!
Thanks Robert!
I recall reading it would take hashcat 8+ years to crack WPA2 passphrase which is 9 lower-case letters with the hash speed of about 22000 h/s
That cracking number gets *really* big the more entropy you throw at your WPA2 passphrase. Short story; follow the usual rules and get on with life :)
All the best with your projects
As demonstrated at 9:00, you can create a home screen shortcut to take you directly to the control page (the DNS name is not required, but it needs a static or reserved IP otherwise). With a bit of work it's possible to create a Progressive Web Application which allows the page to be cached so it loads a cached copy of the page from the phone (and only requires network access once the button is pushed).
Why not using solid state relays?
Good question! Because MOSFETs were available, and I wasn't particularly concerned about isolation.
@@Core-Electronics cool thanks!
I had a similar though - I would have though isolation would be useful (though I know very little). I have bought a relay module to connect to rapsberry pi for a similar project...maybe it's overkill?
You're gonna be real sad when you learn about Raspberry Pi's "wheel of fortune" approach to wifi stability. May want to have it reboot itself occasionally.
I expect you're right, but we'll lifetime test the project and add reconnects as necessary (nothing a try-except won't fix 😉). The "Connecting to WiFi " document from Raspberry Pi has some great advice to make a robust webserver. The code here is actually an asynchronous server that can handle multiple simultaneous requests.
@@Core-Electronics It may be easier to deal with on the Pico, just because it's an MCU instead of linux.
My Pi3 running Raspbian will lose its connection and then not detect that it's lost the connection, and I haven't been able to find a way to get it to reconnect without rebooting the device. I suspect it may be a heating issue on the chip causing it to lock out or something, but it seems to happen randomly rather than during high traffic.
I thought about having a daemon try to ping the router once an hour and reboot if it fails, but then I realized that I wouldn't want it suddenly rebooting if I were working on something, so now I just have it reboot at midnight. I'm going to replace it with a 4 in a few days, so hopefully that works out better.
@@khatharrmalkavian3306 I made a pi3b ntp server, it runs reliably on wifi, I never have a problem with that. I did turn off the wifi power saving perhaps that helps with reliability, I have not had problems with that at all.
Hello!
It doesn't work for me either! There are error messages!
I am also getting an error message. Have you found a solution or fix for the error?
Easy one-line fix - See this forum post: forum.core-electronics.com.au/t/project-by-michael-wifi-garage-door-controller-with-raspberry-pi-pico-w/14526/6
@@MichaelRuppe, thank you. The correct statement is: stateis = " "
keep your router password in safe place otherwise some hacker may open your garage door by hacking into your web site..😂
Get this error:
Client connected
Request: b'GET / HTTP/1.1
'
DOOR=UP => -1
DOOR=DOWN => -1
DOOR=STOP => -1
Task exception wasn't retrieved
future: coro=
Traceback (most recent call last):
File "uasyncio/core.py", line 1, in run_until_complete
File "", line 142, in serve_client
NameError: local variable referenced before assignment
The best place for technical help is at the bottom of the project writeup, or on our forums: forum.core-electronics.com.au
We're best able to share code-snippets and pictures there.
I get the same error, did you ever find a fix?
I am also getting an error message. Have you found a fix?
@@matthewamerson1335 see my reply to cantarol
@@thebarneylejeune see my reply to cantarol
Lots of what, not enough why. 🙃
Can you solder a board for me ....Pay you .
Get a wireless remote
😅 Gee why didn't we think of that. Thanks 👍
Rufus!
Hi, I´m a newbie, can you send me the pyton code? thanks.
Check the link in the description for a full code listing and plenty of other resources
You call that a garage?! My bedroom is bigger than that 😂
That is so unsave.
the router can have a mac address white list, only the known devices are allowed on the net !
Or only give people your home WiFi password that you would trust with the keys to your home :) Use a guest WiFi network for all the rest
And if you need more, then add to the code - it's a great starting point!
not sure what you consider to be safe but usually it depends how it is used.
Is your front door key safe ?
Usually not cause there are moments when those are accessible for someone else who can put plasticine around and you are screwed but still feel safe cause you have no clue nor any idea of the moment when the attack might happen.
Keys are not safe or at least only as safe as the awareness is there cause in the gym or beach or pool you will not go into the water with them.
This one looks pretty safe for a garage door - he simply uses the available pins / connectors and a connection from his phone.
Do you consider to call the usual rfid cards to be safe ?
You can copy them even faster than the gold ones with plasticine.
Awareness is the key to safety. And if you solder all that stuff together on your own you will be for sure aware about the safetyness considering that noone gets the WiFi key of your home except those who do live there permanently while guests will get access to the guests network.
Why do you care ?
Just a comment line without any explanation - from Fort Knox for sure.