1

Compare commits

...

3 Commits

Author SHA1 Message Date
Ventilaar
d0f54a73d2 carousel werkt in app html 2021-01-19 14:21:42 +01:00
Ventilaar
c60f2a3927 mediaan van prijzen genereren 2021-01-19 13:35:32 +01:00
Ventilaar
1e6f63cfbe readme aangepast 2021-01-18 21:02:15 +01:00
5 changed files with 46 additions and 9 deletions

View File

@@ -33,6 +33,13 @@ Om de dependencies te installeren voer het onderste commando uit.
pip install flask requests apa102-pi
Als je op een RaspberryPI draait en de hardware wil aansturen moet je in run.py aangeven dat de software draait op een
RaspberryPI, en in hardware.py kan je de default pinnen aanpassen.
In run.py kan je aangeven dat je op een RaspberryPI draait zodat de hardware
pagina werkt. Default werkt de hardware **niet** omdat de software libraries oproept die alleen op een RaspberryPI
werken.
De applicatie is simpel uit te voeren door de python script uit te voeren. En via de browser naar de gegeven
url te gaan.
@@ -100,6 +107,24 @@ Geeft de gemiddelde van een lijst terug in een float
Deze functie vraagt de gegeven appid op via de http steam api en retourneert het als json. Een voorbeeld van de json is
te vinden in steam_api.py
### hardware.py
#### ```set_strip(value)```
Deze functie stuurt de ledstrip met 8 APA102 led's aan zodat de hele strip in 1 kleur oplicht. Value moet in HEX RGB
gegeven worden. Bijvoorbeeld set_strip('FFAABB')
#### ```set_register(value)```
Deze functie accepteerd waardes in machten van 2 tot 128. Waarde 1 zet de eerste pinout van het register op ON. Waarde 2
zet de 2e pinout op ON en de rest op OFF. Waarde 4 zet de 3e pin op ON enz... Tot waarde 128(pin 8). Accepteerd ook
waarde 0 dat alles op OFF zet.
#### ```poll_sensor()```
Een simpele functie die de afstandsensor aanstuurt. Wanneer de functie wordt aangeroepen retourneert het een tuple met
als eerste waarde de afstand gemeten in cm van de sensor tot object. En waarde 2 weergeeft de afstand in tijd.
#### ```set_servo(degree)```
Deze functie accepteert waardes van 0 tot en met 180. Deze waardes corresponderen met de gradens vanaf het meest linkse
positie van de servo([voorbeeld](https://files.ventilaar.net/files/2021-01/servo.jpg)).
#### ````poll_button()````
Dit is de meest simpele functie geschreven in dit programme. Wanneer de knop is ingedrukt returnt de functie True,
anders False
### graphs.py
De functie van dit bestand is om grafieken te maken van lijsten met waardes, deze grafieken worden als svg terug gegeven
om door flask geserveerd te worden.

5
run.py
View File

@@ -55,11 +55,14 @@ def root():
genre = stats.popgenre(data_tpl)
prijsmed = stats.median_prijs(data_tpl)
# limiteer tabel tot en met 15 entries
for x in range(0, 15):
entries.append(data_lst[x])
return render_template('index.html', first_entry=data_tpl[0], sizedb=len(data_tpl), entries=entries, genre=genre)
return render_template('index.html', first_entry=data_tpl[0], sizedb=len(data_tpl), entries=entries, genre=genre,
prijsmed=prijsmed)
@app.route('/fulltable')

View File

@@ -85,3 +85,12 @@ def popgenre(data_tpl):
return modes(genres)[0] # eerst populairste genre terug geven op basis van gegevens van modes(), wat is de kans
# dat er meerdere genres tegelijk populair zijn, toch?
def median_prijs(data_tpl):
prijzen = []
for x in data_tpl:
prijzen.append(x[17])
return float(median(prijzen))

View File

@@ -9,25 +9,22 @@
<div class="row">
<div class="col-md-12">
<h1>{{ data['data']['name'] }}</h1>
<p>fffff</p>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div id="carousel" class="carousel slide" data-ride="carousel">
<div id="pictures" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
{% set firstpic = True %}
{% for x in data['data']['screenshots'] %}
<div class="carousel-item {% if firstpic == True %}active{% endif %}">
<img class="d-block w-100" src="{{ x['path_full'] }}">
<div class="carousel-item{% if x['id'] == 0 %} active{% endif %}">
<img class="d-block w-100" src="{{ x['path_full'] }}" />
</div>
{% set firstpic = False %}
{% endfor %}
</div>
<a class="carousel-control-prev" href="#carousel" role="button" data-slide="prev">
<a class="carousel-control-prev" href="#pictures" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
</a>
<a class="carousel-control-next" href="#carousel" role="button" data-slide="next">
<a class="carousel-control-next" href="#pictures" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
</a>
</div>
@@ -77,6 +74,8 @@
</div>
</div>
</div>
<script src="{{ url_for('static', filename='js/jquery.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/bootstrap.bundle.min.js') }}"></script>
</body>
</html>

View File

@@ -12,6 +12,7 @@
<p>Eerste game in memory is <b>{{ first_entry[1] }}</b> met de game id <b>{{ first_entry[0] }}</b></p>
<p>Totaal aantal games in memory is <b>{{ sizedb }}</b></p>
<p>Meest populaire genre is <b>{{ genre }}</b></p>
<p>Het mediaan van alle geindexeerde prijsen is <b>{{ prijsmed }}</b>,-</p>
</div>
<div class="col mt-3">
<!--