 Terima kasih, James. Terima kasih. Terima kasih. Hai, semua. Apa khabar semua? Ini adalah kali pertama saya berada di Carousel. Saya ada teman-teman di sini, tapi kami tidak ada di sini. Jadi, saya hanya menjelaskan apa yang telah saya lakukan menggunakan ASP32. Siapa di sini sebenarnya menggunakan ASP32? Saya tidak tahu apa yang dia lakukan. Bagaimana dengan tangan? Bukan banyak, jadi saya rasa ini akan berlaku untuk anda. Saya sedikit menggunakan ASP32. Saya berpikir untuk perusahaan telekompetensi. Apa yang saya biasanya melakukan adalah membuat kode. Saya tidak ada banyak perkara lain, tapi hari ini, saya membuat kerja seperti penyelamat semula. Saya juga membuat banyak sistem kelas, tetapi saya sebenarnya membuat kerja saya sangat suka membuat kerja. Kerana membuat kerja memuatkan anda untuk menjelaskan banyak kelas, dan tidak hanya software, tetapi juga mekanik, elektrik. Anda dapat melihat kode dengan jauh dengan jauh. Anda dapat melihat kode dengan jauh dengan jauh. Bagaimana jauh, jauh, motor, dan sebagainya. Dan esoknya, kode itu sangat seperti anda ingin melihat sebuah masalah yang anda melihat dalam hidup. Seperti anda tahu, anda ingin beberapa otomasi, anda dapat menggunakan ASP32, dan membuat sesuatu yang berlaku di dalam hidup anda. Jadi, beberapa projek lain, saya melakukan banyak perkara, terutamanya circuit boards, circuit boards, hardware dan sebagainya. Ketika saya membuat kerja, kadang-kadang, kerana kita membuat kerja untuk menggunakan tangan anda. Jangan menggunakan tangan anda, untuk menggunakan tangan 2D, untuk menggunakan tangan 2D. Dan anda juga mempunyai sesuatu pengalaman audio untuk mempunyai pengalaman elektronik. Sebenarnya, anda mempunyai pengalaman 2 channel. Tetapi, hanya untuk menikmati. Pertama, kenapa anda membuat ini? Anda dapat membeli banyak perkara yang berlaku di sana, tetapi masalahnya, banyak perkara ini lebih berlaku, kerana saya mempunyai 100 dolar USD, bukan USD Singapura. Mereka biasanya untuk pintu, bukan untuk, untuk menggunakan tangan untuk menggunakan tangan, untuk menggunakan tangan, sebagainya. Sebagainya, saya ingin mempunyai banyak di Singapura. Mereka tidak mempunyai kemahiran dan sebagainya. Jadi, saya fikir, saya ingin mempunyai banyak perkara yang berlaku di sana, untuk menggunakan tangan dari USD. Sebagainya, saya tidak dapat mempunyai kemahiran yang berlaku untuk menggunakan tangan. Banyak kemahiran yang berlaku pada pengalaman. Jadi, apa yang berlaku pada pengalaman, saya ingin mempunyai kemahiran yang berlaku. Dan juga, saya tidak mempunyai kemahiran sehingga saya tidak suka. Saya ingin mempunyai kemahiran saya. Saya hanya ingin mempunyai kemahiran dan membuatkan kemahiran. Mereka hanya mempunyai kemahiran sebab, pada masa yang dahulu, saya ingin membuat kemahiran yang berlaku. Saya ingin membuat kemahiran yang berlaku 10-15 tahun lalu. Tapi, lepas kamu membuat kemahiran, lebih banyak masa untuk membunyai kekuali kemahiran. Mereka mungkin menggunakan 10 jam untuk membuat kemahiran. Selepas 10 tahun sekarang, saya akan membuat sekejap sehari. Jadi apabila kita membuat sesuatu seperti, jika kita cuba membangkinkan pintu ini Pertama, ia adalah pengalaman, saya hanya ingin tahu bahawa bagaimana sangat susah untuk membuat sesuatu seperti ini Anda tidak tahu sehingga anda akan mencuba untuk melakukan diri sendiri Dan anda mempunyai semua masalah, anda mempunyai desain reka-referensi Dan kemudian, mari kita berkata, ok, saya ingin memastikan ini banyak Mungkin saya tidak mempunyai pintu, saya ingin mengubah kanan-kanan Saya mengambil desain yang sama, saya mengubah kanan-kanan dan kita mencubanya Dan saya mempunyai sesuatu yang seperti diberikan untuk mengatakun kesilapan saya Jadi ia seperti sederhana, jika anda mempunyai sesuatu yang telah dilakukan sebelumnya, ia mudah untuk berterus mengerima sesuatu yang telah dilakukan sebelumnya Untuk mengatur kelemahkan kesilapan yang sekses Sekejap vanginan ini saya tidak menerima Wabar, anda dapat berkata kepada saya Saya akan menarik itu, saya tidak percayakan seumur hanya membuat senjata Ia hanya sebuah ruang, jadi saya hanya menyebabkan semuanya bersama-sama Tidak ada pelanggan, tidak ada pelanggan yang boleh dikembangkan Ya Jadi, desain goreng-goreng yang telah dibuat Ia dibuat Ia mempunyai key untuk mengembangkannya secara manual Ia mempunyai baterai Ia mempunyai pinpad, AALCD dan menggunakan Wi-Fi Ia tidak mempunyai penggunaan baterai Kerana saya sebenarnya tidak mempunyai penggunaan baterai Saya tidak mempunyai penggunaan baterai Saya tidak mempunyai penggunaan baterai Dengan sebuah cerita yang lalu, saya dapat memberikan satu tahun yang lalu Jadi, sebuah project ini adalah satu tahun yang lalu, saya hanya membuatnya sepanjang hari Sama-sama, sebuah cerita ini Sebelum satu tahun lalu saya mendapatkan sebuah penyelamat Dan saya ingin melakukan perkara ini Dan saya menemui pembunuh dari kejahatan Dan saya menerima ini, saya berkata, Hey, saya perlukan listapang Dan di Singapura, saya perlukan listapangnya yang dapat diperlukan Awak boleh pergi ke depan sama, tapi perlukan perlukan yang ada di sana Jadi saya menghidupkan untuk menghidupkan tempat-tempat ini dan mengambil banyak benda-benda ini Ia adalah dari bahagian yang lebih awal, bahagian bahagian yang lebih awal dan tempat-tempat yang lebih tinggi Jadi saya pergi ke sana, mengambil benda-benda, mengambil semua benda-benda yang seperti Buzzer, LCD, dan sebagainya Dan saya cuba melakukannya bersama Sekarang, semuanya akan berjalan dengan baik Sehingga saya mula mengambil test wi-fi yang berlainan Saya melakukannya, saya melakukannya sebuah API Saya melakukannya sebuah HTTPS yang saya melakukannya Kerana saya ingin lihat bagaimana tidak perlu diimbangkan dengan HP32 Saya ingin melakukannya dengan daripada mod, dan� Dan ia menunjukkan bahawa ia di lapang, ia berlaku Jadi ia adalah sebabnya, sebabnya Saya tak kena perjalanan beberapa tahun sepanjang tahun Jadi ia seperti, ya ia berlaku, ia terus melakukannya Hebat HP32 crash, terasa Dan saya seperti, Oh iya, ia tidak melakukannya selama sebulan Dan sebuah hari saya mendapat bahagian yang lebih baik dan saya akan mempunyai modul ESP32 di Amazon dan berkata, Hey, ini bukan modul saya, modul saya sebenarnya adalah baik. Ini modul muda yang berkali-kali. Jadi, apa yang berlaku? Saya akan cuba semuanya dan mempunyai modul muda di sini. Jadi, saya akan belajar untuk mempunyai modul ESP32. Jika tidak, saya hanya akan mencoba. Pada masa ini, ia mungkin lebih mempunyai modul muda yang anda cuba membuat. Jadi, hanya dua minggu lalu, saya kembali ke sini bersama-sama. Saya sebenarnya pernah melakukannya beberapa masa lalu, tetapi hanya dua minggu lalu, saya cuba mencoba. Saya mencoba untuk membuat kes kecil 3D, kerana tidak ada apa-apa yang berlaku. Bukan sesuatu yang berlaku bersama-sama. Jadi, saya mempunyai modul muda yang berkali-kali. Saya tidak mahu menggunakan modul muda yang berlaku dan memperolehnya membuat desa. Bersama-sama saya membuat kes kecil 3D dan oxidation. Saya menggunakan modul muda yang berlaku bersama-sama. Daun-daun saya merupakan spesialnya. Saya membuat kes kecil, saya berlaku bersama-sama. Saya menambah musuh, saya membuat kes kecil, saya memerlukan harusnya. Saya membuat semua kes jika saya membuat kes kecil 3D. Saya membuat kes kecil 3D. Sama seperti 995 servo. Just google it. You'll find it download, throw in your 3D software. See if it fits. Don't waste time trying to use your burning calipers or whatever taking measurements. Well, someone has done it for you. Yes, upload it. Just use it. Right? Same thing for SQC LCD. Just download. Just use it. Throw in whatever 10 software you have. Just import that. Still found the dimension should be right. You can do some preliminary measurements to see that oh, is the source trustworthy. But if you go to the website, I think this is from a brand 10, brand 10, CAG, not taxi. And you'll actually be able to see that there are some models where many people have downloaded. So just pick the most popular one. It must be right. Ya, and so you throw in your 10 software, you hand it out. And so this is more or less a B2D diagram and just put the source up. And yeah, after I've written it out, I realized there are some problems like, you know, the LCD mount wasn't exactly perfect because I thought the model was wrong. It's probably my inch 2mm conversion screwdriver. I'm not exactly used to inches 9mm. I always use a long map to convert it and put it wrongly. Ya, and on the bottom left side, there's this bolt. The bolt needs to move like that right. So I just put like two pins over there to prevent rotation. And of course the next step I have to go and figure out where to print it. I mean, I have like 2 or 3 dprinters at home. They are not working because 3 dprinters apparently need maintenance and I don't have time to take. So my good friend and cool girl after I've buffed him a bit, he brought me in. So who has this cool thing where there are 3 dprinters you know, are essentially available for public for use, but you need a friend to bring you in. Right. Ya, apart from 3 dprinters which is great. And basically as when there I spent about 1.5 days printing it out over there overnight. Which isn't a good idea which I'll explain why. But it's really nice like if it's a duplicated i3 I think it is easy to use. The settings are all there. I just upload the G-code at follow step by step instructions and it prints well. Right, so there's a good start. And first piece that came now. Ya, it's great. It's just a boat which has a little incline there. Needs a little slope just because when you close the door you want the boat to slide in. Ya, obviously nothing much. I printed out the case. It turned out great except that there were some cracks. This was printed overnight where the temperature fell to I think from like 16 to 5. So I don't think ABS really like that now. Of course, I also got some advice online what to possibly have cost this. Ya, in future I'll take note of the ambient temperature. I printed out the base. Right, which has all those standoffs to store outer case to the circle. Ya, so I was pretty happy that this turned out well because I had worst treatment experience in the past where I ended up with a ball of plastic spaghetti. Ya, and I was quite happy that I could just grab it and say okay, I'll just use to set myself and choose and just have the holes for it and put it together and ya, it was pretty straight forward. One thing that I did not control is that I did not know at that point I didn't know how to attach the circle to the bolt ya, and the key lock was kind of like manually positioned so ya, a bit of like anywhere most of the time. Ya, that spring it was somewhat of a small spring but I didn't want to cut the spring with, it's really hard to cut steel spring you probably damaging it so I just left it as it is and it works. Ya, so I finally example that I put the pin head on the surface the key lock actually works great because the measurements are right. So, once the hardware has been assembled when the next step the next two things left electrical and software for software I was thinking that we want to control it over an online method I love to use firebase I actually use firebase and many other competitions before not competitions hackathons because it's so easy to communicate between facts and other software and ya, essentially this I'm not sure of demo later and I actually created an open source private firebase server clone which I'll talk at a different talk I think it's on the papers of February will not confirm yet ya and this is the so ESP32 ya, there's so many different modules out there I just googled it I think most of them follow this pin out over here so ESP32 the nice thing is that there's like 2 cores there's 2 cores running at 40 MHz it is faster than a 46 maybe ya, maybe you want to try running linux on this thing and there's 2 cores I'll explain why later that's very important right I will run through this very quickly because connecting on electronics is very straight forward for ya, we are going to try to do things like deep sleep you probably need to do some additional wiring so because you have 2 cores right so when I run through Adreno core because it's super boring I use Adreno because it's easy right but by right I will be using something else in future I'll explain why later but synchronisation is important when you have 2 CPUs right typically your API cores are going to be blocking what that means is that when you try to make an API core that CPU is busy doing it you can't do anything else so you have to use both cores if you are going to do API cores with maybe a pulling of hardware scan the keypad or moving the alien LCD by I2C etc right and one of the basic important thing is that when you run the debug code we typically do a print out if you print out from 2 cores at the same time you're going to get a bunch of garbage or mushed up stuff on screen so you have to synchronise it you use a spin bug to synchronise it and because there's 2 cores this is how I unlock it in task one core is purely for doing communications or Wi-Fi the other core will basically be handle the low level stuff like scanning the keypad yeah because you notice that it's actually a real-time operating system who can create more than one task but you have to make sure that you allocate time for the task to be executed if you have a while one loop your CPU is going to be busy doing it and it's not going to switch over to the other task no matter you have to give it time you have to add delays and call a yield command sufficiently frequent or else they will not switch tasks okay so if you want to demo yes I hope nothing is shorter so essentially there is a lock over here yeah yeah so what this lock does is very similar to many other locks there there's a keypad there's a latch over here to the spring loader so let's say if you close the door it's going to just like it's going to spring in at least yeah right as I say if you want to open it just enter a pin code the pin code is actually updated online over firebase yeah so if the bread pin code is open then the lock will be retracted and it will open the door I can try to switch over to firebase over over this task so if there's this firebase console here they speak raw data I basically have my multiple pins enter the first pin the rest of the pins are single use pins where once you use it it will just be removed from the firebase you can see that when the lock moves when someone tries to lock unlock it will be updated on the console over here and if you update the console it will also eventually update the physical lock it's going to my 3G so the reaction is kind of slow okay let's try to run it so I actually have videos here as well in case I ever upload the slides online you guys can watch it so okay so there's some gorgeous that I ran into when using this pin apparently there are some pins on the SB32 that are input owning and when I mean input owning they do not have internal pull ups or downs so yeah I can do something just be changing of pins to scan for the keypad and the one-stop doesn't work on the Arduino IDE because it apparently is kind of like disabled it is or maybe called whenever you run through the loop the loop function so in future if you're going to use this for your projects in sufficiently advanced you probably want to use the use the SB32 IDF library for itself also you know HBTS is not exactly very fast better protocols out there if you need better real-time communications like MQTB raw TCP etc so apabila obviously there are many things that I have not actually put in like there's no way to actually set the SSID for currently it's kind of hard coded but by the way I can use various methods using a microphone or an LTR put it up to a phone the website flashes some signals and recognizes deep sleep yes there's totally no power saving so you try to run this out of batteries it probably wouldn't last a week of course there's no watchdog because as I mentioned it's disabled in adrenal without the watchdog the problem is that if you ever have like a bug in a code or a wifi locks up you need some way to mark the reset here okay thank you and that's all over here later you guys can come over here I can disassemble it if you guys want a closer look my details up there follow my Instagram I typically post fun stuff that I do over there so thank you