Inhoudsopgave:

Slim wasbeheer: 7 stappen
Slim wasbeheer: 7 stappen

Video: Slim wasbeheer: 7 stappen

Video: Slim wasbeheer: 7 stappen
Video: 🦠 2 ТОЧКИ ПРОТИВ ВИРУСОВ 2024, Juli-
Anonim
Slim wasbeheer
Slim wasbeheer
Slim wasbeheer
Slim wasbeheer
Slim wasbeheer
Slim wasbeheer

Dandywash is een slim wasbeheersysteem, gericht op mensen die weinig tijd hebben om te besteden aan banale huishoudelijke taken zoals de was doen. We zijn er allemaal geweest, gewoon onze vuile kleren in de mand gooiend, in de hoop motivatie te vinden om de rotzooi later op te ruimen. Niemand vindt het echter ooit. Tot we echt een kledingstuk nodig hebben en het nergens kunnen vinden. Dat is nog maar het begin. Daarna komt het sorteren, vullen en volgen. Het uitvoeren van deze eenvoudige en repetitieve taak kost veel te veel aandacht en focus. Dat is precies waarom ik dit project ben begonnen. Dandywash elimineert al deze vermoeiende activiteiten. U hoeft geen seconde meer te besteden aan het sorteren, volgen of meten van uw ladingen. Met behoud van volledige controle. Lees dit artikel voor meer informatie en hoe u hetzelfde productieve resultaat kunt bereiken.

Benodigdheden

Ik heb een gedetailleerde stuklijst gemaakt in Excel, die u hier kunt bekijken.

Dit bevat alle essentiële stukjes en beetjes die je nodig hebt, en waar je ze kunt krijgen.

Daarnaast wil ik nog enkele extra items opsommen die erg handig zijn bij het zelf maken van dit project, maar niet verplicht zijn.

  • Aangezien je wat lange doorverbindingsdraden nodig hebt en dat is niet echt iets, raad ik je aan om zowel vrouwelijke - vrouwelijke kabels als mannelijke - mannelijke kabels te kopen. Ik heb ook vrouwelijk - mannelijk gekocht, maar dat is niet echt nodig. Zo creëer je langere kabels door ze aan elkaar te koppelen. Dit elimineert tijdrovend soldeerwerk.
  • Ik heb ook veel veiligheidsweerstanden in het circuit toegevoegd. Voel je vrij om die eruit te halen als je je extra zelfverzekerd voelt. Als je bijna geen weerstanden meer hebt, raad ik je aan deze kit op te halen, het is erg handig om altijd de weerstanden die je nodig hebt, duidelijk gelabeld te hebben.

Stap 1: Voorlopig

Voorbarig
Voorbarig
Voorbarig
Voorbarig

De Raspberry Pi opstarten

Om een hele IOT-keten vanaf de Raspberry Pi te laten draaien, moeten we het apparaat initialiseren. Dit kan worden gedaan door de meegeleverde afbeelding te downloaden en deze op een micro SD-kaart (16 GB) te branden. Dit kan gedaan worden met Win32DiskImager of andere software. Zorg ervoor dat uw SD-kaart volledig leeg en geformatteerd is voordat u de afbeelding brandt. In deze video wordt het hele proces stap voor stap uitgelegd. Merk op dat u niet de raspbian-afbeelding hoeft te gebruiken, maar de meegeleverde afbeelding.

Wanneer u klaar bent met het schrijven van de SD-kaart, kunt u deze verwijderen en in de Pi plaatsen. Zorg ervoor dat de Pi nog niet is aangesloten op de stroom!

Wanneer de SD-kaart is geplaatst, sluit u de Pi met een ethernetkabel aan op uw laptop. Pas dan, als je het al in de hand hebt, geef je het kracht. De Pi zal binnen een paar seconden opstarten.

U kunt dit controleren door in de opdrachtprompt te gaan en te typen

ping 169.254.10.1 -t

Wanneer je een antwoord krijgt in plaats van een 'Host Unreachable', is je Pi succesvol opgestart. Dit betekent dat we ermee kunnen communiceren. Verlaat de oneindige lus van pingen door op Ctrl+C te drukken. Nu kun je de Pi invoeren door te typen

ssh [email protected]

dit zal u om het wachtwoord vragen, wat de standaard Raspberry is.

Wanneer u voor de eerste keer opstart, is het over het algemeen een goede gewoonte om beide uit te voeren

$ sudo apt-get update

$ sudo apt-get upgrade

Dit zorgt ervoor dat alle pakketten worden bijgewerkt en over de nieuwste versie beschikken.

MariaDB en Apache2 zijn al geïnstalleerd. Daar hoeven we ons dus geen zorgen over te maken. Wel moeten we nog het een en ander regelen om alles te laten functioneren zoals we willen.

U moet echter eerst opnieuw opstarten om er zeker van te zijn dat alles klaar is voor de volgende stap.

$ sudo opnieuw opstarten

Stap 2: De database instellen

De database instellen
De database instellen
De database instellen
De database instellen

We zullen de database opzetten met uw laptop / desktop, niet met de Pi. Open MySQL Workbench (downloadgids) en voeg een nieuwe verbinding toe.

Daarna krijgt u een configuratievenster te zien. De mijne is gevuld zoals de jouwe zou moeten zijn. Let goed op de gemarkeerde velden. De pijlen wijzen naar de wachtwoorden die u in de kluis moet bewaren. Dit zijn slechts standaardinstellingen en kunnen naar wens worden gewijzigd.

Wanneer alle informatie is ingevoerd, klikt u op Verbinding testen, negeert u de waarschuwing en ziet u hopelijk het succesvenster. Als u dat niet doet, zijn sommige veld(en) fout. U kunt verder gaan door op Ok te klikken in het venster met alle invoervelden.

De verbinding zou nu zichtbaar moeten zijn in het startvenster. Klik erop om te proberen verbinding te maken. Het wachtwoord moet automatisch worden ingevoerd omdat we het in de kluis hebben opgeslagen.

De laatste stap is het importeren van de database. U kunt de dump hier downloaden. In deze video wordt uitgelegd hoe u een.sql-bestand opent en uitvoert. Zorg ervoor dat je verbonden bent met de Raspberry Pi, en niet met de lokale instantie op je laptop!

Stap 3: De Git-repository instellen

De Git-opslagplaats instellen
De Git-opslagplaats instellen
De Git-opslagplaats instellen
De Git-opslagplaats instellen
De Git-opslagplaats instellen
De Git-opslagplaats instellen
De Git-opslagplaats instellen
De Git-opslagplaats instellen

Werken met een git repo is hier vrijwel noodzakelijk. Zeker als je makkelijk wilt switchen tussen je pc en raspi. Git zou al op het apparaat moeten zijn geïnstalleerd, dus je kunt gewoon elke gewenste repo git klonen naar elke gewenste map. Omdat we echter apache gebruiken, moeten we onze Frontend-code (html, css, javascript) in de map /var/www/html plaatsen. Ik wil niet de hele repo hier plaatsen, en ik wil absoluut geen aparte repo.

Dit kan worden opgelost door een symbiotische link te maken, die in wezen hetzelfde is als een snelkoppeling in vensters. Het kan eenvoudig worden ingesteld door het volgende commando in de raspi-terminal te typen (na het klonen van de repo!)

$ git-kloon

Het maken van een symbiotische link heeft de volgende structuur:

$ ln -s /pad/naar/dir /pad/naar/symlink

Toegepast op deze use case, zou de opdracht er ongeveer zo uit moeten zien:

$ ln -s ~/home/pi/project1/git-repo/ /var/www/html

Nu, als alles goed is gegaan, kun je bladeren naar https://169.254.10.1/Frontend zou de index.html uit de git repo moeten zien.

In deze map vind je de volledige responsive frontend code. Inclusief HTML5, CSS en JavaScript.

Stap 4: Backend

Backend
Backend
Backend
Backend

Voor dit project zullen we Flask gebruiken in combinatie met Socketio. Hierdoor kunnen wij een flexibele webserver opzetten met routing en websockets. Deze Flask-app zal ook communiceren met de database om CRUD-acties uit te voeren. Het beste van deze hele stapel is dat het heel weinig tijd en moeite kost om op te zetten. Zorg er eerst voor dat de volgende Python-pakketten van derden zijn geïnstalleerd. Deze zouden in de afbeelding moeten worden opgenomen, maar door de volgende opdrachten uit te voeren, kunt u ervoor zorgen / bijwerken naar nieuwere versies.

$ pip3 installeer mysql-connector-python

$ pip3 install flask-socketio $ pip3 install flask-cors $ pip3 install gevent $ pip3 install gevent-websocket

U zou nu het app.py-script zonder problemen moeten kunnen uitvoeren. Het kan zijn dat u een attributeError krijgt die zegt dat type object 'Database' geen kenmerk 'cursor' heeft. Dit wordt veroorzaakt door een fout in het bestand config.py. Zorg ervoor dat de gebruikersnaam, het wachtwoord en de naam van de database correct zijn en toegang hebben tot de database die we zojuist hebben geïmporteerd. Dit is vooral opmerkelijk als u de standaard gebruikersnaam en het standaardwachtwoord in MySQL hebt gewijzigd.

Stap 5: Circuit

Stroomkring
Stroomkring
Stroomkring
Stroomkring
Stroomkring
Stroomkring

Over het circuit kan ik niet veel zeggen. Je hoeft dit alleen maar te bouwen en de testscripts in de git-repo uit te voeren. Ik heb een testscript gemaakt voor elke sensor en actuator in het circuit, zodat je elk onderdeel / component afzonderlijk kunt testen.

Het kan zijn dat u de pincodes in de code moet wijzigen. Ik heb ook veel veiligheidsweerstanden in het circuit toegevoegd. Voel je vrij om die eruit te halen als je je extra zelfverzekerd voelt. Als je bijna geen weerstanden meer hebt, raad ik je aan deze kit op te halen, het is erg handig om altijd de weerstanden die je nodig hebt, duidelijk gelabeld te hebben.

Als het circuit je bang maakt, raak dan niet ontmoedigd. Probeer het op te delen in secties. Bouw eerst de knoppen uit, zorg ervoor dat het werkt en ga dan verder met de volgende sensor. Dit bouw je niet zomaar in 1 keer op, tenzij je verbazingwekkend getalenteerd bent.

Merk ten slotte op dat de Raspberry Pi niet geschikt is voor serieuze software PWM. Linux is geen realtime besturingssysteem. Dit betekent dat u lichte jittering in de servomotoren zult hebben. GPIO pin 18 ondersteunt hardware pwm, maar we hebben meer nodig dan alleen de 1 pin.

Stap 6: zaak

Geval
Geval
Geval
Geval
Geval
Geval

Ik had een heel ontwerp in mijn hoofd uitgestippeld, dat door de huidige pandemie niet kon worden gerealiseerd. Natuurlijk is dit een situatie die van iedereen flexibiliteit vraagt, en dat is precies hoe ik reageerde. Ik heb nog steeds de originele 3D-scène die ik heb gemaakt, en ik zal deze hier ook delen, als je de behuizing op die manier wilt bouwen. Voor de rest van dit artikel zal ik echter bespreken hoe de behuizing als alternatief is gebouwd.

Het grootste ongemak was de abs-plaat die ik ging gebruiken om het bovenste gedeelte op het onderste gedeelte te monteren. Dit was het perfecte materiaal. Esthetisch mooi en zeer praktisch. Dit kon echter niet gerealiseerd worden, dus moest ik op zoek naar een alternatief. Omdat ik geen ander materiaal van dezelfde sterkte kon bedenken dat op dezelfde manier gebogen zou kunnen worden, besloot ik het te vervangen door een houten lookalike. Dit maakte de afgeronde rondingen onmogelijk, maar creëerde in feite een ander plat oppervlak dat kon worden gebruikt om items zoals wasproducten of wasknijpers op te bergen. Uiteindelijk heb ik het gebruikt om een tweede breadboard op te slaan, wat mijn circuitleven een stuk eenvoudiger maakte voor dit prototype.

Let op het rechthoekige gat dat aan de achterkant is geboord. Hierdoor kunnen kabels naar de Raspbarry Pi worden geleid.

Voor de planken ging ik naar mijn plaatselijke bouwmarkt. Ze hebben altijd wel wat sloophout liggen en zijn bereid dit voor een klein prijsje in stukken te zagen. Ik heb in totaal €5 betaald. Enorme shoutout naar Louis van Hubo Wevelgem om dit mogelijk te maken. Daarna was het een kwestie van gaten boren en alles vastschroeven. Een gedetailleerd overzicht van waar te snijden en waar te boren vindt u hier.

Voor de 3D-geprinte bits was ik aangewezen op de mensen om me heen, omdat de school deze service niet meer kon bieden vanwege de pandemie. Via een vriend van een vriend kwam ik in contact met iemand die net begon met het opzetten van zijn 3D Printing bedrijf. Hij was genereus genoeg om mijn belangrijkste stuk af te drukken. De kwaliteit was nogal lomp door een verkeerde configuratie van de printer. Ik kocht een primerspray en gaf deze 3 lagen, waardoor de algehele look werd hersteld.

De afstandssensorhouders zijn gedaan door een andere vriend. Hij printte ook de luiken die aan de servomotoren waren bevestigd. In eerste instantie probeerde ik dit met karton, maar ze zouden niet erg goed blijven plakken. Merk op dat als je deze bits 3D print, je bottom_hatch.stl twee keer nodig hebt, evenals distanceSensorHolder.stl. main_piece.stl en middle_hatch.stl hoeven maar één keer te worden afgedrukt.

Stap 7: Vragen?

Als een onderdeel je nog niet helemaal duidelijk is, aarzel dan niet om contact met me op te nemen en me toe te staan je te helpen.

Neem gerust contact op via e-mail op [email protected]

Aanbevolen: