Eenvoudige Internet Gizmo (10 / 11 stap)

Stap 10: Hoe de software werkt


The Python gizmo programma draait op de PC en lussen wachten op gegevens wordt verzonden door de RFID-kaartlezer via de USB-verbinding.  Wanneer gegevens worden ontvangen, wordt het programma worden de ID van de tag in een tabel te vinden van de bijbehorende website opgezocht.  Als de label-ID in de tabel, het programma gebruikt een Python library "webbrowser" geroepen om een nieuw tabblad openen in de standaardbrowser op de PC en de webpagina laadt.  Als de browser niet loopt, zal "webbrowser" starten.  Als de label-ID is niet in de tabel, de programma's een HTML-bestand gemaakt en wordt een foutbericht weergegeven met de label-ID en toont dat in een nieuw tabblad in de browser.  Een voorbeeld van een foutbericht wordt weergegeven in de laatste afbeelding.  Het programma wordt weergegeven in de eerste vier diagrammen.  Een overzicht van programma volgt:

  • Lijnen 15-17 importeren de bibliotheken voor het maken en het schrijven aan dossiers, communiceren met de RFID reader, parseren van de gegevens verzonden van de RFID-lezer en beheersing van de webbrowser.
  • Lijnen 22-36 zijn de tabel (woordenboek in Python termen) gebruikt om de label-id koppelen aan websites.  Elke regel heeft de tien karakter RFID tag-ID en een HTTP-koppeling naar de website.  Merk op dat de eerste tag "" voor het webadres Quit heeft.  Als deze tag wordt gelezen, vervolgens eindigt het programma.  Nieuwe tags kunnen worden toegevoegd door het dupliceren van de laatste regel en de label-ID te vervangen door de nieuwe tag en zetten in de website die u voor de tag wilt.
  • Lijn 39 definieert welke COM-poort die wordt gebruikt om te communiceren met de RFID reader.  U moet veranderen zodat deze overeenkomen met uw systeem.  De Startersgids voor RFID reader op de site van Sparkfun toont om te bepalen welke COM-poort wordt gebruikt door de RFID-lezer.
  • Lijn 44 is de naam van het bestand dat wordt gemaakt wanneer een onbekende tag is gelezen.  Dit bestand wordt gemaakt in de map waar u Python geïnstalleerd.  In mijn geval was het "c:\Python27".
  • De pySerial bibliotheek lijnen 47-55 gebruiken om te verbinden met de RFID-lezer.  Berichten zullen worden weergegeven in het venster van de Python die aangeeft of de verbinding is gemaakt of niet.
  • Lijn 58 controleert of de verbinding geslaagd is. Als de verbinding tot stand is gebracht, blijft verwerking anders dat het programma zal eindigen.
  • De "pySerial" bibliotheek lijnen 62-63 gebruiken om te lezen van de gegevens van de RFID-lezer.
  • Lijn 66 controleert als data gelezen is.
  • Lijn 68 haalt net de RFID tag-nummer uit de gegevens die werd voorgelezen. De Sparkfun RFID-lezer stuurt een paar bytes van aanvullende gegevens die moeten worden verwijderd.
  • Regel 69 afdrukken het tag-nummer lees net in het opdrachtvenster python.
  • Lijn 72-73 roept een functie om te zoeken op de website op basis van de label-ID. De website in de Python en de label-ID worden weergegeven in het consolevenster van de Python voor foutopsporing.
  • Lijnen 76-77 controleren om te zien als dit is de speciale code die wordt gebruikt om te stoppen met het programma en dus, wordt het programma afgesloten voor de lus en het programma eindigt.
  • Regel 79 gebruikmaakt van de bibliotheek "webbrowser" om te beginnen de browser als niet actief en open vervolgens een nieuw tabblad voor de website.
  • Lijnen 82-95 zijn de functie die wordt gebruikt om te zoeken van de websites die zijn gekoppeld aan de label-ID:
    • Lijn 84 controleert om te zien of de label-ID in het woordenboek
    • Lijn 85 retourneert de website als de label-ID in het woordenboek was.
    • Lijnen 89-91 bouwen de HTML voor het foutbericht voor de onbekende tag.
    • Lijnen 92-94 de mediabibliotheek van de "sys" gebruiken om een HTML-bestand maakt, worden de HTML-code te schrijven naar het bestand en sluit het bestand.  Als het bestand gebeurt reeds bestaan, wordt de HTML-code in het bestand overschreven door de nieuwe HTML-code.
    • Lijn 95 retourneert de naam van het bestand.  Terug in het hoofdprogramma, zal de webbrowser open dit bestand in plaats van een website en het foutbericht weer.
  • Lijnen 98-102 kunnen u dit programma starten vanaf de opdrachtregel en passeren in de naam van de COM-poort als een parameter in plaats van het programma wijzigen.

Ik heb de software met een verscheidenheid van web-browsers getest: de "webbrowser" bibliotheek werkt prima met Firefox, Safari en Internet Explorer.  Het werkt niet goed met Opera.

Gerelateerde Artikelen

De Arduino Internet Gizmo

De Arduino Internet Gizmo

The Arduino Internet Gizmo is een apparaat USB, Arduino en RFID voor surfen op het web.  De gizmo werkt door het plaatsen van een RFID-tag aan de bovenkant van de gizmo.  De gizmo leest de RFID-tag en de tag-nummer via USB stuurt naar een programma d
Christmas Tree Lights gecontroleerd via de telefoon? Een eenvoudige Internet of Things hack.

Christmas Tree Lights gecontroleerd via de telefoon? Een eenvoudige Internet of Things hack.

Mijn zoon wilde zitten kundig voor zet de kerstboom met zijn telefoon in- en uitschakelen. We gegraven rond in het geheim berg laboratorium (AKA de kelder) en kwam met het volgende project, dat een Arduino gebruikt voor het opknappen van een domme in
Geautomatiseerde Instructable Views en favorieten Checker

Geautomatiseerde Instructable Views en favorieten Checker

Als een gebruiker Instructables dacht ergens ik van het hebben van een eenvoudige automatische tool waarmee u de standpunten en favorieten uit mijn Instrucatbles van Instructables.com site kunt controleren zonder dat ik eigenlijk op zoek naar de toep
Halloween robotic claw

Halloween robotic claw

Gaat u dragen sommige sci-fie kostuum dit jaar in de Halloween als een toekomstige robot. Dan zou u een goede prop die overeenkomt met uw kostuum nodig. Een heleboel sci-fie kostuums en rekwisieten zijn beschikbaar in de markt. Als je gaat om te drag
Een modulaire tesla klep uit foam clay - een goede manier om aan te tonen van engineering en fysica van vloeistoffen aan kinderen maken

Een modulaire tesla klep uit foam clay - een goede manier om aan te tonen van engineering en fysica van vloeistoffen aan kinderen maken

VerhaallijnHallo iedereen,Ik zocht rond begrippen met betrekking tot de turbines en rotoren. Ik kwam eerst naar de turbine Tesla bij het bekijken van video van een bekend videoplatform... Wat een kunstwerk! Na de video's voorgesteld het uitkijkplatfo
Oude kaart telefoon staan

Oude kaart telefoon staan

Welkom bij een instructie-handleiding voor het maken van een credit card of cadeau kaart-telefoonhouder. Volg deze eenvoudige stappen en uw ongewenste en verouderd kaarten gezet aan goed gebruik. Deze telefoonhouder is geschikt voor de meeste telefoo
Internet... Hoe maak je eenvoudig Sharing-Server

Internet... Hoe maak je eenvoudig Sharing-Server

Tegenwoordig Internet ziet eruit als een wolk die onze bestand of gegevens kunt opslaan. Maar in feite, internet is een computer die werkt als een server die onze bestand of gegevens redden zal. Nu, zal ik u vertellen hoe maak je een eenvoudige file
Eenvoudige tracker voor programma's met behulp van internet

Eenvoudige tracker voor programma's met behulp van internet

Hallo instructables Gemeenschap, ik heb nog een ander .bat programma te tonen y'all. Dit programma is eigenlijk twee programma's, maar ze zal openen op hetzelfde moment, anyway Dit zal u toelaten om te zien welke processen zijn verbonden met het inte
Eenvoudig, veilig, Internet / uit-schakelaar (110V/240V) met handbediende keuzehefboom

Eenvoudig, veilig, Internet / uit-schakelaar (110V/240V) met handbediende keuzehefboom

IoT Extension kabel Inline Switch, Android gecontroleerd door pfodApp. Optioneel met getimede inschakelen uitschakelen /.Geen Android programmeerkennis vereistDit een eenvoudige, goedkope, aanpasbare Android gecontroleerd schakelaar (110V naar 240V).
De meest eenvoudige en efficiënte ROTOVERTER setup op het internet

De meest eenvoudige en efficiënte ROTOVERTER setup op het internet

Objecten voor het experiment gebruikt:1 elektrische motor (4 kw 3 ph). De rotor moet heel eenvoudig met de hand rev.2 condensatoren (10 uF 400 V elk).Bedradingsschema: de motor moet in Rotoverter modus, dat wil zeggen in ster configuratie (niet DELTA
Raspberry Pi Internet Monitor

Raspberry Pi Internet Monitor

In mijn huis hoor vaak je iemand schreeuwen "Is de Internet neer?" Soms is het maar allermeest naar de tijd wel een "probleem van de gebruiker". Ik besloot te bouwen een gizmo dat het gemakkelijk om te vertellen maken zou of de interne
Een collectie van eenvoudig Office Pranks

Een collectie van eenvoudig Office Pranks

toen ik zag deze wedstrijd, ik wist dat ik moest invoeren!  Maar die prank?  Ik heb over de jaren getuige en deelgenomen en onderzocht duizenden streken, van eenvoudige tot het uiterste.  In mijn bescheiden mening, een goede grap kan worden ingesteld
Een eenvoudig protocol voor het maken van ijzer (II, III) oxide (magnesiet)

Een eenvoudig protocol voor het maken van ijzer (II, III) oxide (magnesiet)

Hallo.In mijn eerste Instructable, 'm I gonna beschrijven de synthese van ijzer (II, III) oxide (magnesiet).Ijzer (II, III) oxide is een verbinding die Ferrimagnetisme vertoont. Het heeft vele toepassingen en veel van hen zijn beschreven op het Inter
Eenvoudig toetsenbord hanger

Eenvoudig toetsenbord hanger

Dit project is een gemakkelijk leukerd die u in een middag uitvoeren kunt. En een groot begin project voor hout branden als je een beginner (zoals ik!)Wat u nodig hebt:Hout branden tool (lokale hardware winkel $25-$35 voor een goedkoop)Houten bord (u