Welcome back for our talk about Micro Python and embedded programming. We are prepared much for you. Please go to the visitors. There's actually no slides. It will all be live hacking. I'm just giving you some content so you see that something is happening. Okay, people. Are you online? Can you hear me? Oh. Evil Bob sent in TLS support. Perfect. So I have to give him points making this for later. Thank you. Stuff is working out. So today we were in Dresden, capital of Saxony. We looked at all the gold, all the diamonds of the big city, which is about nobility. They are wasting the time of the people who trade and work. That's why we got rid of nobility and killed them. In France, it's called the guillotine thing. So look at the French method. Get rid of your monarchy. It's an easy way to save money. So let's start. As you can see, I am in the SCM directory. I will check out the bitwise.org. We are on 2025 hackathons. See, it's fast. Then we go there. Then we go to seed farming. There you already see. Oh, we have so many nice. Scripts. Let's look at the read me first, as you always should. As you can see. Welcome to the seed farmer. There's already a description how it works. You're sure about many ESP32C3 boards running here in a seed tree. They're connected to USB port. This USB is connected to his laptop. This laptop is doing SSH port filing bitwise. Not bitwise. You have like ports, which will live. Port 70 on this device. So you can easily. This is a gopher cluster. Embedded gopher cluster. So you will see more now. So there's an example like client SSH, but we will do it on our own. So here's even some examples. But we will also go through the Python script. But here you can read everything we did. There's also some links. Like we seed. Studio. Micro Python reference. All the stuff you can do. Let's get on. Let's see ideas. What ideas do we have? Yeah, yeah. There's ideas. Everyone can do. Because we were doing some brainstorming. What's possible on the devices. Like random data. There's a random number generator. There's crypto functions. AVX and so on. Bluetooth is there. You could make a Bluetooth scanner. Then you can, of course, output hardware data. Like CPU frequency. Temperature. RAM. TPO. Pin status. Then there's a camera thing. But it doesn't really work. We tried it. But this is other ESP stuff. Maybe later on. Next year. Then clock service, of course. You have an internal clock. So you can output clock. And that's the end goal. When we have more stuff running. Make a big wall picture of all the output. And then generate something randomly in some art style. We have the GPU power now for that. And then we have a network picture. Next thing. Let's first look at what the client is doing. Okay. Client is pretty simple. Or I do cut. That's easier for display. Just connect that. We will do this now. We will. And see. We bitrise.org. As you can see, it's running. This is our IP. Yeah. Lead is really the IP number of bitrise.org. As you can see, it's a simple to use script. There's already some stuff running. You can connect there. I will show you how. There's auto select. Which is needed for the upload of scripts. You will see how it works. But it's for automation. You just have to script and run it. Of course, you could load it manually. You have micropython. You can reset the board. Which removes it. And of course, view the current script. So we go out. Joshua forgot to implement the quit command. But he will do it now. By me telling him about it. So let's look at how it is implemented. So you have the server. Okay. It's easier like that. So the server script. Which is running, of course, on the laptop of Joshua. He is. Running a TCP server. On port 7000. Which runs session SH. Now let's go look at session.h. So for each session. You have some directory. Where all the scripts are running. Of course, welcome to the seed farm. This will look for TTYACMs. Which are the connected and exposed by the ESPs. This shows you a menu. Then there's a date. And depending on your action. Something is done. Auto selection. You can easily look through it. And read it. Like picocom is used for connecting. Then there's paste. Then resetting. It's pretty simple. Really simple. So we are doing extraction. So Petzo is already talking about TTYs. Big TTYs. Big busty TTYs. Yeah. All this. Terminal. Stuff. Now. Let's see what the Windows shows. Ah. This is already an example. But. I will go through. So this is one of my first implementations. Of Windows is hell. So. I will go through it. Even. Simple. Because there could be people who don't know. What Python is. Let's just close the window. The European flag is a bit loud. There. No. No. Another one. Keep it open. That's not loud. Then. We import network. We import socket. Then we get. The. Network. Module. We open. Wi-Fi. WLAN. Or Wi-Fi LAN. Then we make it active. We scan. We connect. Pretty obvious. It connects to a Wi-Fi. Called ZEDER. With the. ESSA ZEDER. You of course. Have to do that. Because that's the way. How the ESP32. Connects to the Wi-Fi. To be exposed. Then you. Wait for it. To run. Then you have. Output. Of. Connected. Which is. Directly. Print to you. Then you get your address. You print it. Of course. There is something where. Joshua wants to change it. So it outputs. The gopher. URI. For. You to see. Where it runs. On bitrise. Then. There is some definition. Of. Bitrise. In my port. This is needed. For creating the gopher. Menu. Then we open. The socket. For listening. We bind it. To. Our. IP. And our port. Of course. My server. Is different. To my port. Be careful. Of course. Local. Is the port. We bind to. But the server. Is something. That is used. By the client. To connect to. So. The port. In the end. Yeah. We have to fix that. We have to fix it. To be. But. We will fix that. Because the port. Will be in the end. Something random. Joshua. Fixed it. Because this. For generating. Gopher. Menu. Then listen. Nine people. Can connect. Before the. View. Is empty. Let's go first. To the end. So. The end. Serial. You already. Spooled it. You connect. Someone. A client. Is connecting. That is. S. Accept. Then. It will output. Who connected. The IP. And the port. Then you read. The selector. Strip it. And then. You read. This selector. Then you split it up. Because it's. Easy. You could. If I have. A file system. Or. You. Use this. To select. Did he. Already. Input. The right. Serial. Then we create. A serial number. And we check it. If he. Got to the end. And exited. Windows hell. Then we output. With. Go for print. Now we go to. Go for print. Go for print. Is simple. It. Is a. Hellball. Function. You just give it. Long texts. And it will. Split it up. And then it runs. Go for input. Info. Go for info. Is just something. That. You give it. A string. And then it will. Form it. As an. Info. Menu item. To. In the. Menu. In the. In the menu. So you easily. Can output. Long texts. Or ASCII. Or whatever. Because you want to add. Something evil. Bill Gates. If. In the later versions. This is now just. To help you. With the. With the. With the overview. So if the. Back to the. To the. To the bottom. So this also tells you. Oh this guy. Was able to. Finish. Windows hell. But. If. This guy. Didn't finish. Oh. Sorry. It tells you. Welcome to. Windows hell. Try to find a serial number. To exit. One by one. Ha ha ha ha ha. Imagine. Bill Gates. Laughing. And. Then of course. That's a easy thing. That's. Easily. Abstracted. You go. For number. Zero to nine. And then. Output. Go for links. Because it's always. Like that. You always. Go further. Further. Further. The selector. Gets a bit longer. Like. Look at. Go for link. There you have. Like. The selector. Gets longer. Because. The client. Will of course. Send you back. A selector. With always. The next. Step. In going. Further. And. This is how. You can find it. Has of course. No way. Back. Because. If you do not. Finish. On time. This is. The thing. In which. Windows hell. If you. Do not. Exit. On time. You will be. For eternity. In windows hell. There's no. Going back. This. Is the bit. Of. We could. Add it. But. Since. It's about. Microsoft. Sorry. Hopefully. No one. Edits. This. Ha ha ha ha. Okay. And. That's the game. Of course. You can. Easily. Fail it. Yeah. But. That's about. Easy. Interpretation. For example. Today. We were. Thinking. About something. Similar. Like. One game. Is about. Going. With. Deutsche Bahn. It's. Like. A dungeon. You have. A random. List. Of. Train stations. You want. To go. To some. Destination. And. Then. Maybe. You're. Lucky. To go. There. Or. You're. Not. Lucky. So. It could be. That you're. Going. Like. Real. Way. And. There's. Of course. A delay. Sometimes. Added. To the. To the. Output. Sometimes. Not. And. Sometimes. It could be. Canceled. So. You have. To go. Back. Or. Wait. A bit. So. That would be. A nice. Game. Then. We had. Some other. Idea. Today. It was. About. You're. Sure. You should. Note. It down. Ah. No. The tram. Game. That's. What was. Already. Deutsche Bahn. Game. Deutsche Bahn. Game. Then. Ah. The Android. Hell. Game. Of course. That's. You're. Trying. To. Reset. Android. And. Get it. To a good. State. and it will always put you in rescue mode, or sometimes it will put you into recovery mode, and then in normal mode, or randomly. And maybe you will end up in a booted mobile phone. But it's easy to implement. Easy to do. And then we want to make a Trump-Epstein thing, which is recent. So you go around. Of course, you have files on Gopher. And then you try to avoid releasing the Epstein files. So it could be your whole path ends up, oh, only the Epstein files can be released. What a good idea. So let's see this. Let's see. We also have, did you already do forward? No. Forward is for doing what Joshua is doing on his laptop. And as you can see, the number you get on Wi-Fi, the IP, this is how you, of course, can get from the script your number, your port number that you have to expose in the Gopher menu. Joshua, just a note for you. That's how you can parse it to be the number that you have to represent for going further in the script. And that's how it's exposed over Bitrise. It's pretty, pretty, pretty, pretty, pretty, pretty simple. Let's see. Last script is run. On cluster. Let's see how hard it is. Oh, run on cluster. No, it's easy. So there's a usage, of course, to remind you, oh, you forgot to put something. And then this is just using the menu. So you said automatic. Then you load the Python script. Push a Python script. And like add, you push a dot. And then the Python script is loaded. And it keeps connected. And it will give you back results. Pretty simple. So first you made a human readable menu. And now we use a human readable menu via a script. Unix. Unix and networking. You don't need a JSON, XML, RPC abstraction for this to run a separate service. We just use or emulate humans. Not implying that, not internet identity shaming you if you're a dog or something. This could happen nowadays. We have seen apes and LLMs and everything online. Okay. That's it. Let's, our Windows channel is not fixed. But as you can see, there are many options. And that's what our hackathon is about. The embedded stuff. The goal is to show you it's pretty, pretty, pretty, pretty, pretty, pretty simple to run. Of course, if you're going advanced, our brave. Then, of course, you can send Joshua firmware. And push it onto the ASP. Because in the files, I will go there again. To the readme. If you go down, you have like a looks, a wiki seed studio. Here. Then, there you can see it. It's also possible to write C. Everything can be put. But the MicroPython is about fast prototyping. So, Joshua is pointing to an example. And I am, I have compiled Zach here. Let's see. What is this outputting? So, the serial number. Let's see if you find it. Ah, he didn't put the port. But as you see, if you would fix the port, then it would work. So, let's see. This is the easiest. Just make it simple. And it runs on the ASP32. With how many megahertz? 32 megahertz or something. And imagine that. Okay. Any questions, people? Any questions? Are there questions? No, I don't see any questions. Now, let's get ready to hack. So, just preparation. Tomorrow, I hope someone is there. I hope you have a great day. I hope you have a great day. Bye. Bye. Bye. Bye. Bye. you