Inhoudsopgave:

Raspberry Pi koolmonoxidesensor - Ajarnpa
Raspberry Pi koolmonoxidesensor - Ajarnpa

Video: Raspberry Pi koolmonoxidesensor - Ajarnpa

Video: Raspberry Pi koolmonoxidesensor - Ajarnpa
Video: Компиляция и декомпиляция скриптов Python 2024, Juli-
Anonim
Raspberry Pi Koolmonoxide Sensor
Raspberry Pi Koolmonoxide Sensor

Internet of Things zijn die apparaten die zijn verbonden met internet en de kenmerken hebben van zelfaanpasbare, zelfconfigurerende, interoperabele communicatieprotocollen en de unieke fysieke en virtuele entiteiten hebben. Sensoren zijn die apparaten die een aantal fysieke en omgevingskenmerken meten en worden voornamelijk gebruikt om gegevens te verzamelen in de IoT-apparaten. Voor dit project hebben we gekozen voor de Koolmonoxidesensor om het aanwezige koolmonoxidegehalte in de omgeving te meten. Het apparaat dat we hebben gebouwd, kan in auto's worden gebruikt om de aanwezigheid van koolmonoxide in de auto te detecteren; dit is in het echte leven erg belangrijk omdat de aanwezigheid van koolmonoxide in de gesloten omgeving uiterst gevaarlijk is voor de menselijke gezondheid.

Benodigdheden

Raspberry Pi 3

MQ-7 Koolmonoxidesensor

Breadboard

1K Ohm Weerstand

470 Ohm Weerstand

MCP3008 8-kanaals, 10-bit ADC met SPI-interface

Computer

Stap 1: De Pi. instellen

De Pi. instellen
De Pi. instellen

Volg het schema om uw schakeling in te stellen. Ga voor een interactieve versie van de afbeelding naar het diagram van circuito.io

Stap 2: De benodigde pakketten installeren

Omdat je misschien nog niet alle benodigde pakketten hebt geïnstalleerd, moeten we ze installeren met pip:

pip install flask flask_restful flask_wtf requests

Stap 3: Coderen

Je kunt alle broncode voor dit project vinden in onze github-repository. Zorg ervoor dat wanneer je het downloadt naar je lokale computer en dat de bestandsstructuur hetzelfde blijft als je het naar de pi overbrengt.

Open het bestand sensor.py en wijzig de coderegels die localhost bevatten in het ip-adres van uw computer. Hier vindt u instructies om het ip-adres van uw computer te vinden.

We moeten het sensor.py-bestand naar de raspberry pi verplaatsen, dus voer deze opdracht uit vanuit de COSensor-directory

scp sensor.py pi@"voer hier het pi ip-adres in":.

Stap 4: SMS-berichten configureren

Aangezien ons programma ons via sms waarschuwt wanneer de koolmonoxideniveaus te hoog worden, moeten we berichten kunnen verzenden vanaf een centraal nummer. Om dit te doen, gebruiken we een platform genaamd Twilio. Meld u eerst aan voor een gratis proefaccount. Vervolgens moeten we een paar pakketten downloaden. Als je Node.js al hebt geïnstalleerd met versie v8.0.0 of hoger, ga dan naar stap 2. Je kunt je versie controleren met:

knoop -v

Het eerste pakket is Node.js dat hier van hun site kan worden gedownload. Zorg ervoor dat u het installatieprogramma voor uw juiste besturingssysteem gebruikt, open het en volg de gevraagde instructies.

Vervolgens moeten we de Twilio CLI installeren. Dit wordt geïnstalleerd en bijgewerkt met de Node-pakketbeheerder met de volgende opdrachten:

npm installeer twilio-cli -g

npm installeer twilio-cli@latest -g

Op dit punt moeten we de Twilio CLI verbinden met ons account. Hiervoor hebben we twee gegevens nodig: onze account-SID en authenticatietoken van de Twilio-console. Voer vervolgens twilio login uit en voer de gevraagde informatie in.

twilio inloggen

Dus nu hebben we ons account gekoppeld, maar hebben we nog steeds een telefoonnummer nodig. Je kunt er een kopen via Twilio met het proefgeld dat je hebt gekregen. Nadat je de onderstaande opdracht hebt getypt, verschijnt er een aantal cijfers; kies er een.

twilio telefoonnummers:buy:local --landcode VS --sms-enabled

Om Twilio nu in ons programma te laten werken, moeten we de pakketten installeren. Type

pip installeer twilio

In het bestand keys.py moeten we onze Account SID en Auth Token invoeren voor later gebruik. Er zou al een lege plek moeten zijn om deze waarden te kopiëren en te plakken.

wachtwoorden = {"twilio":{"account_sid": "plak je sid hier", "auth_token": "plak je token hier"}}

Nu dit allemaal is gebeurd, is het nu tijd om e-mailcompatibiliteit met ons programma in te stellen via de Gmail API.

Stap 5: Gmail-API configureren

Om de gmail-API te configureren, moet u eerst naar het Google-dashboard gaan. Hier kunt u het nieuwe project registreren met de optie 'project aanmaken'. Nadat het nieuwe project is gemaakt, verschijnt er een prompt met de tekst "Je hebt nog geen API's die je kunt gebruiken. Ga om te beginnen naar de API-bibliotheek".

Bezoek dan hier. Selecteer daar in het zoekvak de Gmail API. Nadat u op de optie Gmail API hebt geklikt, is er een optie om deze API in te schakelen. Nadat u de Gmail-API hebt ingeschakeld, moet u inloggegevens maken om deze te kunnen gebruiken. Klik daarom op "Create Credentials", dit brengt u naar het venster waarin u wordt gevraagd om de API te selecteren. Selecteer daar de Gmail-API en selecteer vervolgens de juiste optie van waaruit u deze Gmail-API wilt aanroepen. Hierna moet je je rol selecteren: zoiets als product owner. Vervolgens wordt het json-bestand gedownload naar uw computer, wat uw serviceaccount zal zijn, kopieer en plak dit in de cred-map in uw projectmap. Hoera, dan is je API ingeschakeld en is je account geregistreerd om deze Gmail API te gebruiken. Nu komt het leuke gedeelte, stel dat we een e-mail willen sturen met uw account dat is geregistreerd bij de Gmail API. Bezoek deze website voor referentie over code en hoe de code werkt om e-mail te verzenden vanaf het geregistreerde account. Het eerste dat u moet onthouden, is het definiëren van de SCOPE waarmee u e-mail kunt verzenden. Het bereik om e-mail te verzenden ziet er als volgt uit: "https://www.googleapis.com/auth/gmail.send". U kunt de lijst met autorisatiebereiken hier vinden

Alles wat u doet met de Gmail API, zoals toegang krijgen tot de labels van e-mail, of de e-mail verzenden, het nieuwe augurk-token wordt gemaakt, dit gebeurt voor de eerste keer dat u de applicatie uitvoert. Elke keer dat u daarna een nieuwe scope toevoegt, wordt de nieuwe token-pickle gemaakt, die alle functies mogelijk maakt die u kunt uitvoeren met behulp van de gmail-API. Elke keer dat u uw toepassing uitvoert en het bereik wijzigt, wordt het nieuwe augurktoken gemaakt.

Stap 6: De sensor uitvoeren

Nu kunnen we eindelijk ons programma draaien. Open een ssh-sessie naar je raspberry pi en in één keer:

python3 sensor.py

Voer op uw computer uit

python api.py

Nu hebben we toegang tot de gegevens en kunnen we ons abonneren om meldingen van de webpagina te ontvangen. Open een webbrowser en typ https://localhost:5000 om de huidige CO-niveaus te zien. Navigeer naar de abonneerpagina en voer uw gegevens in om meldingen te ontvangen.

Nu alles is ingesteld, zou u meldingen moeten ontvangen als CO wordt gevonden, wat hopelijk niet gebeurt.

Aanbevolen: