WiFi Control Your Micropython Project Using a Web Interface
Вставка
- Опубліковано 16 лип 2024
- Microcontrollers such as the ESP32 and Raspberry Pi Pico W have an inbuilt WiFi interface. This brings a very powerful communications system to your projects. Your code now has access to the full Internet and other devices can now interact with your project over the wireless signal.
In this tutorial I'll show you how to connect to WiFi using Micropython on a Raspberry Pi Pico. We'll pull data from a web based API and then build a web page interface to allow use to control our microcontroller project and pull data from it.
Make sure you check out the main project page on my website
bytesnbits.co.uk/simple-micro...
GitHub repository
github.com/getis/pi-pico-w-si...
Shorter Version
• Wi-Fi on the Raspberry...
0:00 Introduction
4:00 Connect to a Wi-Fi network
10:50 Get data from a web API
23:00 Creating a web server on the Pi Pico
32:00 Creating API end points - urls the Pico will serve
33:50 Building the web page for project control
39:00 Decoding the request data
44:00 Creating your own Wi-Fi network - Access point mode
Hands down, THE best tutorial I have ever come across.
Thanks. Glad you found it useful.
Thanks for making this video and the ENTIRE series.
Your work is greatly appreciated. 😊
Patrick from Bethesda, Maryland, USA
Glad you enjoy it!
Bob, Thanks for this fantastic series of tutorials on webserver for Pico.
Thank you very much. I hope you've found them useful.
This is excellent! Thank you for your teaching and explanations, this is just what I needed to help learn the Pi Pico W and Micropython!
Glad it was helpful!
I’m glad I found this video and your channel. Your explanation really helped me.
I’m looking forward to the follow up with REST! Also, looking to learn a simple way to pass variables via get or post that can then be used elsewhere in the code.
Hi. Glad you found it useful. The REST API video should be out this weekend. It will cover data passing in both directions.
Bro!! A full video and posting a summary is such a great idea!! This is so awesome. Liked & Subscribed!!
Thanks for the sub!
@@BytesNBits no problem, well deserved!
This was a perfect beginner video ! You were very clear - Thank you !
Glad it was helpful!
Thank you, I wish more you tubers can adopt your way of explaining. Well done to you sir!
Happy to help
Very good explanation of each part of the program . Thank you !!
Thanks. I hope you found it useful.
Fantastic work, you sir are a Grade 1 communicator.
Thanks. Glad it helped.
Loved your structured explanation!
Glad you liked it!!
I liked the drawing animation in the beginning, very cool indeed.
Thank you! Cheers!
Thank you for developing such a great video. I managed to connect my pico to router and as a AP with first try. Excellent support. Thanks.
Glad it helped
Thank you!
This excellent! I've studied micropython for a long time, and this the best tutorial that I have ever seen. Thank you very much sir for sharing this.
Glad it was helpful!
I have an idea for a project for you on your channel. It would be for a timelock device (like for a bank, but for personal use). It would comprise a scheduler, a calender, a schedule, perhaps an mqtt interface, and an a hardware interlock for actuating door lock relays. If you consult, and are interested, please quote me. I've looked at iec61131 and openplc to do this, but it has to be designed properly, and tested. Having an open source program would create a community, and I think that such a project would be very popular. I have a garden that I must tend, haven't coded for years, and also have other building construction that I is higher priority.
Awesome. 19:50: You can get the correct time every night or so (and at startup) - maybe from a button. I like clocks.
Yes. Having the Internet opens up a lot of useful opportunities.
By far the coolest nerd on UA-cam. Bro looks like a Chad and explains things like a Chad too 🫡
Thanks... I think.
Very well explained, thanks !
Glad it was helpful!
I watched this whole series today and learned a lot. Thank you for the videos! May i ask what editor you are using for the python code?
Thanks for our comments. I use PyCharm for coding in Python. The community edition is free. I did make a setup video a while back as an intro to micropython.
one of the best!
thanks!
Thanks!
No problem! And thank you!
Thank You
You're welcome
Thanks for this excellent video. I will expand this to a mobile robot control. Currently controlling using RC PWM via Pico and I though I could expand to DIY telemetry if the processing power and signal is solid.
Sounds great! Let me know how you get on.
Thank you ... I am an absolute beginner when it comes to MicroPython ... your video is excellent.
Instead of the Raspberry Pi Pico I am using an ESP8266 Node MCU and the Mu editor.
The only change that I found necessary to adapt your code to my ESP8266 was to change the 3 to a 5 when reporting a successful connection ... for some reason wlan.status() returns a different set of numbers when using an ESP8266.
I look forward to your future videos
Glad it helped!
dig the channel name!
Thanks. I like it too!
Excellent tutorial, thanks ! I have one query. How do you actually load the simpleled.html file to PicoPi from PyCharm ?
If you right click on a file you'll get the option to Run 'Flash..... This will upload it to the Pi Pico.
Excellent video! I have an sensor and i want to display new values every 2 seconds. Could this be done without refresh the page? Something like ajax method. Pico return the date to javascript, and javascript change data via ellement id
Yes. Create a read data API endpoint and use it to read the data every 2 seconds.
A very nice video, can I use ESP32 and Thonny to follow along with this tutorial?
This video should work fine on the ESP32. Some of the later videos in the series will need adjusting as the ESP32 handles multiple cores and async processing differently to the Pi Pico.
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...
Sounds like an interesting project.
In ap mode, did you need to turn off the sim on the phone?
The sim shouldn't get in the way. You should see it as just another wifi network to connect to.
Stupid question: is there a way to program the pi pico w over wifi?
Not such a stupid question. Not directly. You'd need some sort of base image running in the Pico that allows the files to be uploaded. I'm not sure if that exists yet for the Pico but it's not unfeasible. Have a search on Google.
@@BytesNBits Thanks for not calling it stupid 😀, I indeed did some google foo and found something called "OTA" (Over the air) update like JFrog, it seems is used for large companies when they need to updates hundreds of IoT devices (pi Pico w). Perhaps a future video about it?
Can it be controlled by any place in the world
You'd need to expose your Pico through your router. By default your home router won't let external traffic onto your network - at least it shouldn't!!! You need to set up port forwarding to allow connections through your router to the Pico port 80 (HTTP port). Once you do that you can access the Pico on your home IP address (you'll find this in your router settings but note it can change over time unless you've got a static IP address).
@@BytesNBits thank you
That piece of code at 24:00 is not in your github.
Hi. It's the simpleled.py file. The one on the GitHub repo is the final version. At 24 minutes we're just building up the code. Just comment out some of the url decoding bits. I hope this helps.
@@BytesNBits - OK, got it!
Very well explained tutorial. Looking forward to more on the Pico. You took a several month break, hope that isn't the case after this one.
@@jimcraig5727 Hi. Work got in the way as usual. Back on the electronics again. These projects take a bit more time to create.
@@BytesNBits I'm hoping you may expand this Pico WiFi tutorial to include a wifi manager. I'd like to be able to use my robot car projects on other networks without recoding each time. Your detailed, clear method of instruction would be beneficial.
please mention that pico w only supports 2.4 ghz speed or else you will destroy the brain of pico w users with only 5g wifi available LOL
Thanks for the tip. I forget there are routers without 2.4GHz.