Inhoudsopgave:

IoT Code Breaker Game-apparaat - Ajarnpa
IoT Code Breaker Game-apparaat - Ajarnpa

Video: IoT Code Breaker Game-apparaat - Ajarnpa

Video: IoT Code Breaker Game-apparaat - Ajarnpa
Video: Wait what 😱 Flipper Zero 🐬 2024, November
Anonim
IoT Code Breaker Game-apparaat
IoT Code Breaker Game-apparaat

IoT, of het internet der dingen, is een groeiend veld in de informatica. Met de volgende instructies kan iemand een apparaatonderdeel van het IoT maken. Het apparaat zelf kan worden gebruikt om een codebrekerspel te spelen. Eén speler kan een code instellen met behulp van een browservenster, de tweede speler aanwijzingen geven en vervolgens de tweede speler laten proberen de code in te voeren met behulp van het hardwareapparaat. Als de tweede speler correct is, gaat er een lampje knipperen. Zo niet, dan kan het spel opnieuw gespeeld worden. Dit eenvoudige apparaat is niet alleen leuk, maar het leert ook basishardware en applicatieontwerp met behulp van een Raspberry Pi- en python-flessoftware.

Stap 1: Verzamel materialen voor hardwareapparaat

Verzamel materialen voor hardwareapparaat
Verzamel materialen voor hardwareapparaat

Eerst moet de bouwer de benodigde materialen voor het hardwaregedeelte van het spel verzamelen. De materialen staan hieronder vermeld.

  • 1 Raspberry Pi
  • SD-kaart voor de Raspberry Pi
  • 1 regenboogdraadlint
  • 1 Raspberry Pi naar breadboard-connector
  • 1 grote broodplank
  • 1 kleine broodplank
  • 1 roterende encoder
  • 1 LED
  • 1 7 Segment LED-scherm
  • 9 330 Ohm Weerstanden
  • Verschillende eenvoudige draden

Stap 2: De roterende encoder installeren

De roterende encoder installeren
De roterende encoder installeren
De roterende encoder installeren
De roterende encoder installeren
De roterende encoder installeren
De roterende encoder installeren

Om te beginnen met het installeren van een Rotary Encoder, beginnen we met de aanschaf van een groot breadboard, een Raspberry Pi, een regenboogdraadconnector, de Pi-connector, de Rotary Encoder en verschillende draden. We hebben hier GEEN weerstand nodig, omdat de Rotary Encoder al een weerstand heeft ingebouwd. We beginnen met het verbinden van het regenbooglint met de Raspberry Pi en met de breadboard-connector. Vervolgens verbinden we de connector met het breadboard. Wees voorzichtig bij het plaatsen en verwijderen van het regenbooglint, omdat hierdoor de pinnen op de Raspberry Pi kunnen buigen.

Nu moeten we de stroom- en aardingslijnen van het breadboard verbinden met de stroom- en aardingspinnen van de connector. Hoe u dit doet, wordt getoond in de tweede foto hierboven.

Plaats de Rotary Encoder op het breadboard. Zorg ervoor dat de pinnen van de Rotary Encoder zich allemaal in verschillende rijen van het bord bevinden. De encoder heeft in totaal vijf pinnen. Sluit eerst de pin met het label GND of aarde aan op de aardingslijn op het breadboard. Dit is de kolom met spaties gemarkeerd met de blauwe lijn. Vervolgens moeten we de encoder op de voeding aansluiten. Sluit de pin met het label + aan op de voeding. De derde pin op de Rotary Encoder is gelabeld met SW. Deze pin leest of de kop van de encoder is ingedrukt. We verbinden deze pin met de pin met het label GPIO16 op de connector. De laatste twee pinnen op het encoderregister lezen waar de knop van de encoder momenteel is ingesteld. Sluit de pin met het label DT aan op het pinlabel GPIO18 op de connector en de pin met het label CLK op GPIO17 op de connector.

Nu is de Rotary Encoder verbonden met de Raspberry Pi.

Stap 3: Het 7-segmentenscherm uitzoeken

Het 7-segmentenscherm uitzoeken
Het 7-segmentenscherm uitzoeken
Het 7-segmentenscherm uitzoeken
Het 7-segmentenscherm uitzoeken
Het 7-segmentenscherm uitzoeken
Het 7-segmentenscherm uitzoeken
Het 7-segmentenscherm uitzoeken
Het 7-segmentenscherm uitzoeken

Zodra de Rotary Encoder is ingesteld, kunnen we werken aan de bedrading van het 7-segment LED-scherm. Eerst moeten we een extra klein breadboard aanschaffen, evenals het 7-segment zelf, acht weerstanden van 330 Ohm en verschillende draden.

Het is erg belangrijk dat het 7-segment correct is aangesloten, omdat er GEEN weerstanden in zijn ingebouwd zoals de roterende encoder. Het zeven segment heeft in totaal twaalf pinnen. Pinnen één tot en met zes bevinden zich op de bovenste rij van het 7-segment dat van links naar rechts loopt. Pinnen zeven tot en met twaalf bevinden zich op de onderste rij en lopen van rechts naar links. De onderste rij is de zijde van het 7-segment gemarkeerd met een kleine stip achter elk van de cijfers op het 7-segment.

We plaatsen het 7-segment op het kleine breadboard en bedraden elk van de pinnen zoals weergegeven in de bovenstaande tabel. Als een weerstand nodig is, plaatst u de weerstand tussen de 7-segmentpen en de connectorpen. Zorg er bovendien voor dat geen van de weerstanden elkaar raakt tijdens het gebruik van het apparaat. Dit kan de stroom van elektriciteit verstoren.

Stap 4: Bedrading van een LED

Bedrading van een LED
Bedrading van een LED

Aangezien we de rest van de hardware nu hebben ingesteld, kunnen we eindigen met het installeren van de LED. Deze LED laat ons weten wanneer de code die we hebben ingevoerd correct is. Om dit te doen, hebben we een LED, een weerstand van 330 Ohm en verschillende draden nodig.

Aan de LED zijn twee pinnen bevestigd. De ene kant is iets langer dan de andere. Eerst moeten we de langste van de twee kanten op de stroom aansluiten. Om dit te doen, verbinden we de lange zijde via een draad met pin GPIO26 op de connector. Zo kunnen we later de LED aan- en uitzetten. Dan kunnen we de kortste van de twee zijden met aarde verbinden. We moeten dit echter via een weerstand doen, zodat we de LED niet doorbranden.

Als we dit eenmaal hebben gedaan, zijn we klaar met de LED en de hardware in het algemeen.

Stap 5: Tijd voor de aanvraag

Om de applicatie voor dit apparaat te maken, heeft men toegang nodig tot Python Flask. Flask is een gebruiksvriendelijke webontwikkelingssoftware die kan worden gebruikt om eenvoudige browsergebaseerde applicaties te maken.

Om in eerste instantie te downloaden en meer te weten te komen over Flask, volg de verstrekte link: FLASK INFORMATIE

Om de applicatie specifiek voor dit apparaat te maken. Begin met het maken van een map op je Raspberry Pi. Deze map zou "iotapp" moeten heten. Download en sleep het bestand "iotapp.py" naar deze map. Maak bovendien in deze map een tweede map met de naam "appFolder". Download in "appFolder" de meegeleverde bestanden "_init_.py", "forms.py", "RE.py" en "routes.py". Maak vervolgens een andere map met de naam "templates". Deze nieuwe map zou zich ook in "appFolder" moeten bevinden.

Stap 6: HTML-bestanden

HTML-bestanden
HTML-bestanden
HTML-bestanden
HTML-bestanden

Nu we de map "sjablonen" hebben gemaakt, kunnen we de HTML-bestanden maken die de pagina's voor onze toepassing zullen opmaken. Maak twee HTML-bestanden: codeentered.html en setcode.html. De code voor deze bestanden wordt getoond in de bovenstaande afbeeldingen.

Stap 7: De toepassing uitvoeren

De toepassing uitvoeren
De toepassing uitvoeren
De toepassing uitvoeren
De toepassing uitvoeren

Om de toepassing uit te voeren, begint u met het openen van het terminalvenster. SSH vervolgens naar je Raspberry Pi. Navigeer naar de map "iotapp" en voer vanaf de opdrachtregel de volgende opdrachten in:

$ export FLASK_APP=iotapp.py

$ python -m kolf run --host 0.0.0.0

Als de toepassing correct werkt, zou de opdrachtregel in de terminal moeten lezen:

* Serving Flask app "iotapp"

* Draait op https://0.0.0.0:5000/ (Druk op CTRL+C om te stoppen)

Om de applicatie te bereiken, moet u de applicatiesite bezoeken door het IP-adres van uw Raspberry Pi in te voeren gevolgd door ":5000/setcode". Bijvoorbeeld:

Nu is het apparaat helemaal up and running. Het codespel kan gespeeld worden.

Om het apparaat te stoppen, drukt u op CTRL+C in het terminalvenster en sluit u de Pi af.

Stap 8: Het spel spelen

Het volgende is een video van het werkende apparaat.

Aanbevolen: