INHOUDSOPGAWE:
- Voorrade
- Stap 1: Stel Rasbian op
- Stap 2: Gryp die kode en stel dit op
- Stap 3: Arduino -kommunikasie
- Stap 4: skakel die skakelaar aan
- Stap 5: Gebruik die kode
- Stap 6: (OPSIONEEL) die behuising
Video: Switch-it, outomatiese uitlaat met intydse stroommeting: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Ek hou baie van outomatisering, die vermoë om te beheer wanneer iets moet gebeur. Dit is wat my laat dink het aan hierdie idee: 'n selfgemaakte outomatiese uitlaat. Dit kan gebruik word om te beplan wanneer ligte aangeskakel moet word, wanneer telefone opgelaai moet word of wanneer 'n skerm aangeskakel moet word. Benewens dit alles, het u die vermoë om te sien hoeveel stroom deur die uitlaat vloei.
Die komponente wat benodig word vir hierdie projek is:
Voorrade
Voordat ons begin, is dit die dinge wat u beslis nodig het om 'n Switch-IT-boks soos myne te bou. Hierdie voorrade kos ongeveer 50 tot 100 euro, afhangende van u streek en huidige pryse.
Hardeware
Elektronika
- Framboos pi 4
- 16 GB (of meer) Micro SD-kaart
- Arduino Uno
- 5V-3.3V Vlakverskakelaar
- 5V aflosmodule
- ACS712 20A - huidige module
- 1838 IR-ontvanger 37,9 kHz module
- IR -afstandsbediening (ek gebruik 'n Elegoo -een)
- algemene katode RGB
- 3 * 330Ω weerstande
- druk knoppie
- RFID-RC522
- LCD 1602A-1
- Niko muurprop
- 10K Ω potmeter
- 230 tot 5V - 7A kragtoevoer
Kabels
- USB-B na USB-A kabel
- USB-C kragkabel
- Ethernet -kabel
Verskeie
- Man-vroulike jumperwires
- Man-man-jumperwires
- Soldeer blik
- Krimpende buis
Kassiespesifieke onderdele (OPSIONEEL)
- 50 * neute en vetdruk
- metaalkas 40x40x5 cm met deksel
- dubbelzijdige band
- 6 * 1 cm hoë afstandhouers
- geleide houer
- Klittenband
- kabelgidse
Sagteware
- balenaEtcher:
- PuTTy
- rasbies
- Visual Studio -kode
- Arduino IDE
Stap 1: Stel Rasbian op
In die eerste plek flits ons Rasbian op die SD-kaart. Ons sal dit doen met behulp van balenaEtcher.
- Maak balenaEtcher oop
- Kies die Rasbian -prent
- Kies u SD-kaart
- Druk Flash en wag 'n paar minute totdat dit flikker
Voeg APIPA by in opstartgids: Ons sal 'n APIPA -adres gebruik om instellings op die RPI te programmeer en op te stel. Om dit te doen:
- Toegang tot die opstartgids op die SD-kaart
- Maak "cmdline.txt" oop
- Voeg "169.254.10.1" aan die einde van die dokument by en stoor dit
- Voeg 'n lêer met die naam "ssh" by die opstartgids (MOENIE HIERDIE LêER 'N UITBREIDING GEE NIE)
- Nadat u dit gedoen het, kan u die SD -kaart van u rekenaar verwyder.
Toegang tot die RPI met behulp van PuTTy
Nou kan ons die SD -kaart in ons RPI aansluit, die RPI aan u rekenaar koppel met 'n ethernetkabel.
Om met die RPI te skakel, gebruik ons PuTTy met ons APIPA-adres.
- Maak PuTTy oop
- Vul ons APIPA-adres in as gasheernaam (169.254.10.1)
- Maak seker dat die poort 22 is en SSH gekies is
- Nou kan u die verbinding oopmaak
- Die standaard gebruikersnaam is: pi
- Met standaard wagwoord: framboos
raspi-config-instellings
Maak raspi-config oop met:
sudo raspi-config
- Verander die gebruikerswagwoord
- Kies u tydsone in lokaliseringsopsies
- Stel WiFi op met behulp van netwerkopsies, dan Wi-Fi-opsie waar u u SSID en wagwoord moet invul.
Installeer Python 3
In hierdie projek gebruik ons Python, daarom stel ons die standaard op Python3 insteat van Python2, met behulp van die volgende opdragte
update-alternatiewe-installeer/usr/bin/python python /usr/bin/python2.7 1
update-alternatiewe-installeer/usr/bin/python python/usr/bin/python3 2
Python pakkette
Ons benodig 'n paar pakkette om alles reg te laat werk, veral die fles -pakkette en een om verbinding te maak met ons databasis. Ons kan die pakkette installeer deur die volgende opdragte te gebruik:
pip installeer Flask
pip installeer Flask_cors pip installeer Flask_socketio pip installeer Python-mysql-connecton
Databasis
Vervolgens gaan ons ons databasisbestuurstelsel (MariaDB) installeer, en ons doen dit met behulp van:
sudo apt installeer mariadb-bediener
Tik "Y" en Enter om voort te gaan. Na 'n paar sekondes is die installasieproses voltooi en MariaDB is amper gereed om te gebruik.
Gebruik die opdrag om die databasis 'n wagwoord te gee:
sudo mysql_secure_installation
Druk dan op Enter, aangesien die huidige wagwoord leeg is. Druk dan op "Y" om 'n wagwoord in te stel; nou kan u die wagwoord invul wat u wil; onthou dit, want ons benodig dit om 'n korrekte verbinding tussen die agterkant en die voorkant te maak.
Druk nou 3 keer op "Y" om: anonieme gebruikers te verwyder, wortel -aanmelding op afstand toe te laat en die toetsdatabasis te verwyder. Druk laastens weer op "Y" om die voorregte te herlaai.
Nou is MariaDB en al die nodige pakkette suksesvol geïnstalleer.
Stap 2: Gryp die kode en stel dit op
Noudat ons al die pakkette geïnstalleer het, kan ons die kode gryp.
Die kode is beskikbaar op Github, sodat u dit kan kloon met:
git-kloon
Dit is die voorkant
git-kloon
Dit is die agterkant
Die installering van die databasis self
Om die databasis te installeer, navigeer u na die.sql -lêer wat in die backend -lêergids is met behulp van die volgende opdragte (maak seker dat u dit op u eie pad stel.
mysql
skep databasis switchit verlaat mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql
Installeer Apache
Noudat ons al die kode en die databasis opstel het, kan ons Apache installeer en ons backend daarop uitvoer. Ons sal dit doen met:
apt -get installeer apache2 -y
Vervang dan die lêers in/var/ww/html met die in die gids van die voorkantmap.
As alles goed verloop, moet u via die APIPA -adres: 169.254.10.1 in u blaaier met u webwerf kan skakel.
Stap 3: Arduino -kommunikasie
Om ons huidige sensor en ons RFID -sensor te lees, gebruik ons 'n arduino. Gebruik die arduino -kode hieronder. Laai dit op met 'n USB-A na USB-B-kabel en die arduino IDE-sagteware. As dit opgelaai word, is die arduino -deel klaar.
Nou moet ons die naam van die reeksapparaat op die PI vind. Om dit te doen, maak seker dat in /boot/config.txt "enable_uart = 1" reg is. Maak ook seker dat "console = serial0, 115200" uit cmdline.txt verwyder word.
Kontroleer dan die poorte met
ls -l /dev
Dan moet een van die reeksname die Arduino wees. Vul hierdie naam in by die arduinocom -funksie in app.py
ser = serial. Serial ('/dev/ttyS0', 9600)
Doen dit slegs as die reekskommunikasie nie werk nie.
Stap 4: skakel die skakelaar aan
Alles is redelik eenvoudig, maar u moet die volgende in gedagte hou:
- Wees versigtig met die stopcontact, 230 volt kan dodelik wees.
- Maak seker dat u 'n vlakomskakelaar gebruik vir kommunikasie tussen die RPI en Arduino.
- Maak seker dat u die rooi en groen pen gebruik voordat u die RGB soldeer. Toets dit vooraf!
- Toets of niks kortsluit Voordat u die stroombaan aansit nie.
Stap 5: Gebruik die kode
As alles nou korrek verbind is, kan ons ons program uitvoer.
Om 'n lêer outomaties te laat loop tydens die aanvang, skep 'n lêer met:
sudo nano myscript.service
Plak dan (maak seker dat u u eie app.py -gids gebruik:
[Eenheid] Beskrywing = Switchit After = netwerk.target [Diens] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // verander na app.py gids // StandardOutput = erwe StandardError = erwe Herstart = altyd Gebruiker = pi [Installeer] WantedBy = multi-user.target
Druk dan op "ctrl + X" en kopieer dit na/etc/systemd/system.
Dan volg die volgende opdrag om dit outomaties te laat loop:
sudo systemctl aktiveer myscript.service
U kan meer inligting hieroor vind op die RaspBerry Pi -webwerf.
Herlaai en klaar
Herlaai u PI nou met:
sudo herlaai -h nou
Dit is hoe jy Switch-it maak!
Dankie dat u saamgevat het, hoop dit was nuttig. As u wenke of terugvoer het, moet asseblief nie 'n opmerking lewer nie.
Stap 6: (OPSIONEEL) die behuising
U kan die behuising heeltemal volgens u eie smaak bou. Ek gebruik 'n metaalkas met 'n deksel van 40x40x5 cm. Aangesien ek 'n metaal een gebruik het, moes ek gate boor en afstandhouers gebruik om alles van die grondplaat af te kry. Ek het gekies om 'n sentrale punt te gebruik waar die 5V, 3.3V en gnd beskikbaar is. Elke elektriese verbinding word gesoldeer met 'n stuk krimpbuis daarop. Vir die kabelbestuur het ek pads met draerbande gebruik.
Aanbeveel:
N Intydse watervlakmeter: 6 stappe (met foto's)
N Waterwatermeter in reële tyd: hierdie instruksies beskryf hoe u 'n goedkoop watertemperatuurmeter in real-time kan bou vir gebruik in gegrawe putte. Die watervlakmeter is ontwerp om in 'n gegrawe put te hang, een keer per dag die watervlak te meet en die data via WiFi of mobiele verbinding te stuur
N Intydse watertemperatuur, geleidings- en watervlakmeter: 6 stappe (met foto's)
N Real-time putwatertemperatuur, geleidings- en watervlakmeter: Hierdie instruksies beskryf hoe u 'n goedkoop watermeter in real-time kan bou vir die monitering van temperatuur, elektriese geleidingsvermoë (EC) en watervlakke in gegrawe putte. Die meter is ontwerp om in 'n gegrawe put te hang, die watertemperatuur te meet, EC en
SCARA -robot: leer oor Foward en omgekeerde kinematika !!! (Plot Twist Leer hoe om 'n intydse koppelvlak in ARDUINO te maak met behulp van verwerking !!!!): 5 stappe (met foto's)
SCARA -robot: leer oor Foward en omgekeerde kinematika !!! (Plot Twist Leer hoe om 'n intydse koppelvlak in ARDUINO te maak met behulp van verwerking !!!!): 'n SCARA -robot is 'n baie gewilde masjien in die nywerheidswêreld. Die naam staan vir beide Selective Compliant Assembly Robot Arm of Selective Compliant Articulated Robot Arm. Dit is basies 'n robot van drie grade, wat die eerste twee
Maak 'n horlosie met M5stick C Met Arduino IDE - RTC-intydse klok met M5stack M5stick-C: 4 stappe
Maak 'n horlosie met M5stick C Met Arduino IDE | RTC Real Time Clock Met M5stack M5stick-C: Hallo ouens in hierdie instruksies, ons sal leer hoe om 'n horlosie te maak met 'n m5stick-C ontwikkelbord van m5stack met behulp van Arduino IDE. So m5stick sal datum, tyd en amp vertoon; week van die maand op die skerm
Hoe om 'n intydse klok te maak met Arduino en TFT -skerm - Arduino Mega RTC met 3,5 duim TFT -skerm: 4 stappe
Hoe om 'n intydse horlosie te maak met behulp van Arduino en TFT-skerm | Arduino Mega RTC met 3,5 duim TFT-skerm: Besoek my Youtube-kanaal 2560 en DS3231 RTC-module … .Voordat u begin … kyk na die video van my YouTube-kanaal..Let op:- As u Arduin gebruik