Introduction: Nespresso Raspberry Pi

De Vitalonga 1.0 web app. is de oplossing om vanuit je luie zetel een overheerlijke Nespresso koffie te zetten.

Er al ooit aan gedacht hoe cool het zou zijn om je nespresso apperaat te bedienen vanaf je woonkamer of slaapkamer of waar dan ook in huis? Maak kennis met Vitalonga, de automatische koffiemachine die je vanaf je smartphone, tablet of computer kan bedienen. In deze instructable leg ik stap voor stap uit hoe je tot dit eindresultaat komt.

  • Vitalonga is een Internet of things (IoT) powered.
  • Het brein achter de koffiemachine is een raspberry pi

De web app zal in de toekomst nog verschillende updates krijgen.

  • Je zal een wekker kunnen zetten voor wanneer jouw koffie gezet mag wordt.
  • Een functie waarmee je de machine kan ontkalken.
  • Je zal het koffie kop volume kunnen aanpassen.
  • ...

Heb je vragen of een leuk voorstel, dan kan je mij altijd contacteren.

De machine zal geregeld nog een update krijgen, zowel de hardware als de software ervan.

Step 1: Onderdelen

In de pdf staan alles onderdelen die je moet gebruiken om het project te kunnen maken.

Step 2: Elektrisch Ontwerp

Elektriciteit

De servomotors en steppermotor koppelen we aan de 5V bron van de raspberry pi en de HALL sensor aan de 3V bron ervan. De 2 grote DC motors met reductiekastje van 12V koppelen we aan de motorHAT van Adafruit die we dan verbinden met de power jack aan de 12V adapter.

Poorten

Voor elk component maken we gebruik van de pwm poorten van de raspberry pi, behalve voor de DC motors. Deze werken met een i2c bus. het adres ervan is 0x60 en voor dit voorbeeld gebruiken we poort 3.

Step 3: De Bouw Van De Kast

Voor de opbouw van de kast zorg je ervoor dat de machine erin pas, je kan dit in allerlei vormen doen, maar een kast rond de machine is nodig, dit omdat de dispenser op de machine moet gemonteerd worden anders kunnen de capsules nooit in de machine vallen.

Step 4: Dispenser Maken

Ijzer zaag

Voor de dispenser zullen we een ijzerzaag nodig hebben, we gaan hierbij de bovenkant en de onderkant er volledig afzagen zodat we enkel nog ijzeren stangen overhouden. Waarom doen we dit, we hebben toch al een dispenser? Ja maar hier kunnen we nog geen motor aan bevestigen en de koffie capsule moet er zowieso door kunnen vallen, en dit gaat niet als we de onderkant en bovenkant er niet afhalen.

Laser cutten

Ik heb hieronder 2 files bijgevoegd deze hebben de perfecte afmetingen voor de nieuwe bovenkant en onderkant voor de dispenser te maken.

2 componenten lijm

De sterkste lijm die we nu kunnen gebruiken is 2 componenten lijm want deze zal niet door water terug loskomen. Dit komt door de chemische connectie tussen de 2 substanties. Gebruik hiervoor de plastic lijm ervoor deze is hiervoor bestemd. Lijm elk ijzer uiteinde in de gaatjes die de laser cutter heeft gemaakt. Let wel op dat je de ijzeren stangen tijdens het drogen van de lijm stil houd, anders zal de dispenser niet de juiste vorm krijgen.

Step 5: Elektrische Componenten in De Machine Plaatsen

De Steppermotor

De steppermotor monteren we aan de bovenkant van de machine net voor het gat waar de capsule kan door vallen, hierop lijmen zetten we de dispenser, de lasercutter heeft hiervoor een passend gaatje uitgesneden. Lijm deze ook nog eens vast om te zorgen dat er zeker geen speling zit op de motor en de dispenser. Het control board van deze steppermotor monteren we aan de binnenzijde van de machine.

De Servomotors

Kleef de eerste 2 motors zoals afgebeeld op de foto's, dit zodat ze de machine kunnen aan en uit zetten, maar ook zodat we de keuze hebben tussen een normale koffie of een espresso. Voor de andere 2 motors maken we 2 passende houten blokjes zodat de de motortjes boven elkaar staan. Kleef dit aan de blokjes en zet op de machine zoals afgebeeld.

DC motors

we boren een groter gaatje in de as waar de machine open en dicht gaat en we lijmen deze motors in het gaatje met de metaal lijm, deze is extreem sterk en komt onmogelijk terug los, zorg er dus voor dat je de motors recht plaatst op de as en laat rusten op opeen gestapelde boeken. Als de lijm gedroogd is maak je 2 houten blokjes vast aan de casing van de machine en de motor maken we aan de houten blokjes vast met metaal lijm.

Hall sensor

De hal sensor bevestigen we net onder de dispenser en waar de dispenser moet stoppen met draaien om zijn nul punt te bereiken bevestigen we een magneet.

Solderen

soldeer alle wires aan de correcte pin inputs van de motorHAT zoals afgebeeld op het elektronisch schema.

Step 6: Flask Op De Raspberry Pi

Installeer Flask

Installeer eerst pip indien dit nog niet op je raspberry staat.

pi@raspberrypi ~ $ sudo apt-get install python-pip

nadat we pip geïnstalleerd hebben, kunnen we dit gebruiken om flask te installeren.

pi@raspberrypi ~ $ sudo pip install flask

Step 7: Installeer Mysql Op De Raspberry Pi

Mysql installeren

Voor we van start gaan zorgen we er best voor dat alle updates en upgrades geïnstalleerd zijn.

pi@raspberrypi ~ $ sudo apt-get update && sudo apt-get upgrade

We gaan eerst van start om de MySQL server te installeren.

pi@raspberrypi ~ $ sudo apt-get install mysql-server

Om te kunnen connecteren met de database hebben we ook nog een client nodig. Installeer de
mysql-client met de volgende instructie:

pi@raspberrypi ~ $ sudo apt-get install mysql-client

Tijdens de installatie zal er een paswoord gevraagd worden om in te loggen als “root” user. Deze
“root” user zal de volledige controle hebben over de database.

Connecteer met de database via de standaard ‘root’ user.

pi@raspberrypi ~ $ mysql -uroot -p

Via de volgende instructie kan je achteraf je paswoord nog wijzigen.

pi@raspberrypi ~ $ SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

MySQL user toevoegen

We maken 2 superuser accounts aan, één voor de localhost en één voor de remote connections. Het
‘%’ teken is een wildcard.

mysql> CREATE USER 'Vitalonga'@'localhost' IDENTIFIED BY 'some_password'

mysql> GRANT ALL PRIVILEGES ON *.* TO 'Vitalonga'@'localhost' WITH GRANT OPTION;

mysql> CREATE USER 'Vitalonga'@'localhost' IDENTIFIED BY 'some_password'
mysql> GRANT ALL PRIVILEGES ON *.* TO 'Vitalonga'@'%' WITH GRANT OPTION;

Exit MySQL connectie

mysql> quit

MySQL schema toevoegen

type nu om terug in te loggen me jou net aangemaakte user

mysql u[username] -p

Nu zijn we ingelogd type nu het volgende commando, gebruik de juiste naam "vitalongadb"

CREATE SCHEMA vitalongadb

Ga nu naar github met onderstaande link en open vitalongadb.sql. kopieer de tekst in de file en ga terug naar de terminal en plak de tekst en druk op de enter-toets. U heeft nu de database aangemaakt.

project link:

https://github.com/ashleyvanlaer/project_1

Druk op de groene knop "clone or download" kopieer de link en ga terug naar de terminal van de raspberry pi.

Type het volgende in de terminal:

pi@raspberrypi ~ $ git clone https://github.com/ashleyvanlaer/project_1.git

Druk nu op ls en je zul het project zien staan op je raspberry pi.

Ga in de folder en geef de .py files rechten om te starten bij boot van de raspberry pi met het volgende commando.

pi@raspberrypi ~ $ sudo chmod +u VitaLonga.py

doe dit met elke .py file.




Step 8: Zorg Dat De Scripts Opstarten Bij De Bootup Van De Raspberry Pi

Ga terug naar je terminal van jouw raspberry pi en type:

pi@raspberrypi ~ $ sudo nano /etc/init.d/projectNaam

In deze nieuwe file sla je het script op dat op de afbeelding hierboven staat.

Na het opslagen zorg je ervoor dat het script kan runnen bij de bootup door het volgende
te runnen:

pi@raspberrypi ~ $ sudo chmod 755 /etc/init.d/projectNaam

pi@raspberrypi ~ $ sudo update-rc.d projectNaam defaults

start de raspberry pi nu opnieuw op.

Nu dat het script vanzelf opstart kan je in je cmd van je pi het volgende typen om je flask app te herstarten of uit te zetten:

pi@raspberrypi ~ $ sudo /etc/init.d/VitaLonga start

pi@raspberrypi ~ $sudo /etc/init.d/VitaLonga stop