# **Keyestudio IoT Smart Home Kit for ESP32** ![image1](media/A1.jpeg) # 1. Beschrijving Door de snelle ontwikkeling van het internet worden steeds meer slimme apparaten in ons dagelijks leven geïntegreerd. Zo kunnen we bijvoorbeeld RFID gebruiken om de deur te openen. Daarnaast is de keuken uitgerust met een gasmelder die waarschuwt voor gevaar wanneer gevaarlijke gassen en grote hoeveelheden rook worden gedetecteerd. Bij regenval kan het apparaat automatisch kleding ophalen en ramen sluiten. Allerlei elektrische apparaten kunnen via een mobiele telefoon worden bediend, zoals lampen, ventilatoren, airconditioning, enzovoort. In dit kader willen we dit slimme huisproduct met ESP32-besturing lanceren. Dit apparaat beschikt over een groot aantal sensoren en modules, evenals netwerkfunctionaliteit, waardoor relevante kennis van het internet voor u toegankelijker wordt. # 2. Functies 1. Elegant uiterlijk 2. Een groot aantal sensormodules 3. Bediening via mobiele app 4. Deur met Mors-wachtwoord 5. Automatisch sluiten van ramen 6. RFID-functie 7. Geschreven met C en MicroPython # 3. Paklijst | # | Afbeelding | Naam | hoeveelheid | | --- | --- | --- | --- | | 1 | ![image2](media/Wooden-Board.jpeg) | Houten plank | 1 | | 2 | ![image3](media/Acrylic-Board.jpeg) | Acrylplaat | 1 | | 3 | ![image4](media/ESP32-Board.jpeg) | ESP32 PLUS ontwikkelingsbord | 1 | | 4 | ![image5](media/6812-RGB.png) | 6812 RGB Module | 1 | | 5 | ![image6](media/Gas-Sensor.png) | Analog Gas Sensor | 1 | | 6 | ![image7](media/Button-Module.png) | Knopmodule | 2 | | 7 | ![image8](media/RFID-Module.png) | RFID Module | 1 | | 8 | ![image9](media/Buzzer-Module.png) | Passieve zoemermodule | 1 | | 9 | ![image10](media/Motor.png) | 130 Motor | 1 | | 10 | ![image11](media/Steam-Sensor.png) | Stoomsensor | 1 | | 11 | ![image12](media/XHT11.png) | XHT11 Temperatuur- en vochtigheidssensor | 1 | | 12 | ![image13](media/PIR-Sensor.png) | PIR-bewegingssensor | 1 | | 13 | ![image14](media/LED-Module.png) | Gele LED-module | 1 | | 14 | ![image15](media/Servo.png) | Servo | 2 | | 15 | ![image16](media/I2C1602-LCD.png) | I2C1602 LCD Module | 1 | | 16 | ![image17](media/3P-150-mm-Wire.png) | 3P F-F 150 mm Dupont-draad | 5 | | 17 | ![image18](media/3P-200-mm-Wire.png) | 3P F-F 200 mm Dupont-draad | 4 | | 18 | ![image19](media/F-F-200-mm.png) | F-F 200 mm /40P/2.54 Wires | 0.1 (4 strands) | | 19 | ![image20](media/4P-200-mm-Wire.png) | 4P F-F 200 mm Splicing Dupont-draad | 2 | | 20 | ![image21](media/M1.4-6MM-Screws.png) | M1.4*6MM Schroeven met ronde kop | 4 | | 21 | ![img](media/wps1.jpg) | M1.2*4MM Schroeven met ronde kop | 4 | | 22 | ![image22](media/M3-Nickle-plated.png) | M3 Vernikkelde moer (zelfborgend) | 5 | | 23 | ![image23](media/M4-8MM-Screws.png) | M4*8MM Schroeven met ronde kop | 24 | | 24 | ![image24](media/M3-6MM-Screws.png) | M3*6MM Schroeven met ronde kop | 9 | | 25 | ![image25](media/M3-6MM-Screws.png) | M3*10MM Schroeven met ronde kop | 5 | | 26 | ![image26](media/M3-6MM-Screws.png) | M2*12MM Schroeven met ronde kop | 5 | | 27 | ![image27](media/M4-Nut.png) | M4 Vernikkelde moer | 24 | | 28 | ![image28](media/M4-Nut.png) | M3 Vernikkelde moer | 7 | | 29 | ![image29](media/M4-Nut.png) | M2 Vernikkelde moer | 6 | | 30 | ![image30](media/M3-8MM.png) | M3*8MM Platte kopschroeven | 3 | | 31 | ![image31](media/Cross-Wrench.jpeg) | Kruissleutel | 1 | | 32 | ![image32](media/3.0-40MM-Screwdriver.png) | 3.0*40MM Schroevendraaier | 1 | | 33 | ![image33](media/2.0-40MM-Screwdriver.png) | 2.0*40MM Schroevendraaier | 1 | | 34 | ![image34](media/M3-10MM.png) | M3*10MM Dubbele doorvoer koperen pilaar | 4 | | 35 | ![image35](media/USB-Cable.png) | USB-kabel | 1 | | 36 | ![image36](media/AA-Battery-Holder.png) | Batterijhouder met 6 sleuven voor AA-batterijen | 1 | | 37 | ![image37](media/M3-6MM-Screws.png) | M3*12MM Schroeven met ronde kop | 4 | | 38 | ![image38](media/White-Card.png) | Witte kaart | 1 | | 39 | ![image39](media/ABS-RFID-Key.png) | ABS RFID-sleutel | 1 | # 4. Hoe installeer je een slim huis? **Stap1** Benodigde componenten ![image40](media/A01.png) Installatieschema ![image41](media/A02.png) Prototype ![image42](media/A03.png) **Stap 2** Benodigde componenten ![image43](media/A04.png) Installatieschema ![image44](media/A05.png) Prototype ![image45](media/A06.png) **Stap 3** Benodigde componenten ![image46](media/A07.png) Installation ![image47](media/A08.png) Prototype ![image48](media/A09.png) **Stap 4** Benodigde componenten ![image49](media/A10.png) Installatieschema ![image50](media/A11.png) Prototype ![image51](media/A12.png) **Stap 5** Benodigde componenten ![image52](media/A13.png) Installatieschema ![image53](media/A14.png) Prototype ![image54](media/A15.png) **Stap 6** Benodigde componenten ![image55](media/A16.png) Installation(Don’t tighten the self-locking nuts) ![image56](media/A17.png) Prototype ![image57](media/A18.png) **Stap 7** Benodigde componenten ![image58](media/A19.png) ⚠️ **Speciale opmerking:** Stel de servo van het raam vóór de installatie in op 0 graden | Servo | PCB | | --- | --- | | Bruine draad | G | | Rode draad | 5V | | Oranje draad | GPIO5 | ⚠️ **Belangrijk:** Je kunt vrij kiezen tussen de volgende twee methoden, afhankelijk van je eigen situatie. **Methode 1:Arduino-code** ⚠️ **Speciale opmerking:** Voordat je de code schrijft en uploadt, moet je de Arduino IDE installeren, ga naar de link: `5. Arduino Tutorial `__\ ,en kijk vervolgens naar het gedeelte **5.2 Getting started with Arduino** . Hoe krijg je de code? In de map **..\\Resource compression package\\arduino Code** , open het bestand **Initialization-of-window-servo-angle.ino** , of kopieer en plak de volgende testcode in de Arduino IDE. ![Img](./media/A20.png) ```c #include Servo myservo; #define servoPin 5 void setup() { myservo.attach(servoPin,500,2500); myservo.write(0); delay(300); myservo.write(90); delay(300); myservo.write(0); delay(300); } void loop() { // put your main code here, to run repeatedly: } ``` **Methode 2:MicroPython-code** ⚠️ **Speciale opmerking:** Voordat je de code schrijft en uploadt, moet je de MicroPython IDE installeren, ga naar de link: `6. Python tutorial `__, en kijk vervolgens naar het gedeelte **6.2 get starter with Thonny** . Hoe krijg je de code? In de map **..\\Resource compression package\\MicroPython Code** , open het bestand **Initialization-of-window-servo-angle.py** , of kopieer en plak de volgende testcode in de Thonny IDE. ![image59](./media/A21.png) ```python from machine import Pin, PWM import time pwm = PWM(Pin(5)) pwm.freq(50) ''' The duty cycle corresponding to the angle 0°----2.5%----25 45°----5%----51.2 90°----7.5%----77 135°----10%----102.4 180°----12.5%----128 ''' angle_0 = 25 angle_90 = 77 angle_180 = 128 pwm.duty(angle_0) time.sleep(1) pwm.duty(angle_90) time.sleep(1) pwm.duty(angle_0) time.sleep(1) # while True: ``` Nadat je de hoek van de window servo op 0° hebt ingesteld, ga verder met de installatie zoals in de onderstaande afbeelding weergegeven) ![image60](media/wps1-1.jpg) Installeer M1.4*6MM zelftappende schroeven zoals hieronder weergegeven ![image61](media/wps2.jpg) Prototype ![image62](media/A22.png) **Stap 8** Benodigde componenten ![image63](media/A23.png) Installatieschema ![image64](media/A24.png) Prototype ![image65](media/A25.png) **Stap 9** Benodigde componenten ![image66](media/A26.png) Installatieschema ![image67](media/A27.png) Prototype ![image68](media/A28.png) **Stap 10** Benodigde onderdelen ![image69](media/A29.png) Installatieschema ![image70](media/A30.png) Prototype ![image71](media/A31.png) **Stap 11** Benodigde onderdelen ![image72](media/A32.png) Installatieschema ![image73](media/A33.png) Prototype ![image74](media/A34.png) **Stap 12** Benodigde onderdelen ![image75](media/A35.png) Installatieschema ![image76](media/A36.png) Prototype ![image77](media/A37.png) **Stap 13** Benodigde onderdelen ![image78](media/A38.png) Installatieschema ![image79](media/A39.png) Prototype ![image80](media/A40.png) **Stap 14** Benodigde onderdelen ![image81](media/A41.png) Installatieschema ![image82](media/A43.png) Prototype ![image83](media/A44.png) **Stap 15** Benodigde onderdelen ![image84](media/A45.png) Installatieschema ![image85](media/A46.png) Prototype ![image86](media/A47.png) **Stap 16** Benodigde onderdelen ![image87](media/A48.png) Installatieschema ![image88](media/A49.png) Prototype ![image89](media/A50.png) **Stap 17** Benodigde onderdelen ![image90](media/A51.png) Installatieschema ![image91](media/A52.png) Prototype ![image92](media/A53.png) **Stap 18** Benodigde onderdelen ![image93](media/A54.png) Installatieschema ![image94](media/A55.png) Prototype ![image95](media/A56.png) **Stap 19** Benodigde onderdelen ![image96](media/A57.png) Installatieschema ![image97](media/A58.png) Prototype ![image98](media/A59.png) **Bedradingsgedeelte** temperatuur en vochtigheid naar io17 3P-verbindingskabel kort gebruiken: 15 cm ![image99](./media/A60-1.png) ![image100](media/A60.png) gele led-module naar io12 ![image101](./media/A61-1.png) ![image102](media/A61.png) stoomsensor naar de io34 3P-aansluitdraad kort: 15cm ![image103](./media/A62-1.png) ![image104](media/A62.png) ventilator (IN- naar io18, IN+ naar io19) Gebruikte Dupont-draden: 4 Dupont-draden uitgespreid ![image105](./media/A63-1.png) ![image106](./media/A63.png) PIR-bewegingssensor naar de io14 3P-aansluitdraad kort: 15cm ![image107](./media/A64-1.png) ![image108](media/A64.png) linker knopmodule naar de io16 3P-aansluitdraad lang: 20cm ![image109](./media/A65-1.png) ![image110](./media/A65.png) rechter knopmodule naar de io27 3P-aansluitdraad lang: 20cm ![image111](./media/A66-1.png) ![image112](media/A66.png) RFID-module naar de IIC De 4P gecombineerde lijn ![image113](./media/A67-1.png) ![image114](./media/A67.png) LCD1602-display naar de IIC De 4P gecombineerde lijn ![image115](./media/A68-1.png) ![image116](media/A68.png) 6812RGB-LED naar de io26 3P-aansluitdraad kort: 15cm ![image117](./media/A69-1.png) ![image118](media/A69.png) gassensor naar de io23 3P-aansluitdraad lang: 20cm ![image119](./media/A70-1.png) ![image120](media/A70.png) zoemer (buzzer) naar de io25 3P-aansluitdraad lang: 20cm ![image121](./media/A71-1.png) ![image122](media/A71.png) servo voor het bedienen van ramen naar io5 ![image123](./media/A72-1.png) ![image124](media/A72.png) servo voor het bedienen van deuren naar io13 ![image125](./media/A73-1.png) ![image126](media/A73.png) voedingsbedrading ![image127](media/A74.jpeg) **Stap 20** Benodigde componenten ![image128](media/A75.png) Installatiediagram ![image129](media/A76.png) Prototype ![image130](media/A77.png)