Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01
Inhoudsopgave
1 Overzicht van Smart Secure Home
2 Hardwarevereisten + Setup
3 Softwarevereisten + Setup
4 Registreer raspberrypi als een ding
5 Maak een S3-bucket
6 DynamoDB-instellingen + regels
7 Verwacht resultaat
8 codes (van Pastebin)
9 referenties
Overzicht
Welkom! Dit Raspberry Pi-project is een "smart home"-beheersysteem met bepaalde beveiligingsfuncties. Het project kan verschillende waarden meten, zoals temperatuur en licht. Het beveiligingsgedeelte bestaat uit een zoemer, een kaartscannersysteem (machtigingskaart), een binnen- en buitencamera en een sms-waarschuwingssysteem. De volgende instructies behandelen de opzet van het hele project.
Kortom, we hebben een lichtdiodeweerstand en een DHT11-sensor om zowel de temperatuur als de lichtwaarden te krijgen. De waarden worden vervolgens gepubliceerd naar ‘smartroom/sensors/values’ en er komt een abonnement op het onderwerp om te controleren of de waarden worden gepubliceerd. Zodra waarden zijn gepubliceerd, worden de waarden ook naar onze DynamoDB-tabel verzonden. De waarden die zijn opgeslagen in DynamoDB kunnen worden geëxtraheerd en worden uitgezet in een grafiek die realtime waarden weergeeft in onze webinterface. (Lichtgrafiek) Naast het gebruik van de sensoren voor het verkrijgen van waarden om onze grafiek te plotten voor analysedoeleinden, wordt onze dht11-sensor ook gebruikt als een potentiële "brand" -detector. Wanneer het een bepaalde temperatuur bereikt die een brand zou kunnen zijn, hebben we een script genaamd publishHeat.py dat de temperatuur zal publiceren naar een onderwerp 'smartroom/sensor/fire', het breadboard dat de buitenkant van het appartement symboliseert, zal zich daarop abonneren onderwerp en laat een LED branden om aan te geven dat er mogelijk brand is. Het alarm gaat ook af, evenals een sms om de huiseigenaar te waarschuwen wanneer er mogelijk brand is.
Om de woning/kamer binnen te gaan, moet de gebruiker met zijn kaart op de RFID-scanner tikken. Als de getikte kaart onjuist is, gaat het alarm af totdat er op een kaart met de juiste inloggegevens wordt getikt. Als er op een onjuiste kaart wordt getikt, maakt de bewakingscamera buiten een foto van de gebruiker die op de kaart heeft getikt en uploadt de foto naar de S3-bucket. De huiseigenaar ontvangt ook een sms waarin staat dat iemand heeft geprobeerd zijn huis binnen te komen. De kamer heeft ook een LED-indicator buiten om aan te geven of de deur ontgrendeld/vergrendeld is. Als de deur vergrendeld is, brandt de gele LED. Wanneer ontgrendeld, zal de groene LED branden. Wanneer er op een geautoriseerde kaart wordt getikt, wordt de deur gedurende 15 seconden ontgrendeld en met de groene LED verlicht, wordt de deur vervolgens weer ontgrendeld terwijl de gele LED brandt.
Gebruikers kunnen de verzamelde gegevens bekijken via een Dashboard in Node-Red dat naast een grafische weergave van een meter en een historische grafiek de huidige meetwaarden toont. Het Dashboard bevat ook extra functies zoals een klok die de huidige gegevens en tijd weergeeft en schakelt om verschillende elektrische apparaten op afstand te bedienen, die worden weergegeven als LED's en een zoemer.
Ten slotte hebben we ook een telegrambot-functie. De telegrambot kan op afstand foto's maken van wat er in de kamer gebeurt en dit in de S3-emmer opslaan. Deze foto's worden gelabeld met in een map met de naam Homed/User. De telegrambot kan ook op afstand het LED-licht in de kamer bedienen.
Stap 1: Hardwarevereisten + Setup
Verbind de volgende componenten met je 2 frambozenpi's zoals weergegeven in de fritzing-diagrammen hierboven.
2 x Raspberry Pi
3 x Breadboard
1 x MCP3008 ADC
1 x DhT 11-sensor
1 x LDR
1 x RFID/NFC MFRC522 kaartlezer
4 x LED
1 x LCD-scherm
3 x 10k Weerstand
4 x 220/330 Weerstand
1 x knop
1 x zoemer
34 x mannelijke naar mannelijke kabels
11 x mannelijke naar vrouwelijke kabels
Stap 2: Softwarevereisten + Setup
Typ de volgende opdrachten in uw Raspberry Pi-terminal om ervoor te zorgen dat ze zijn geïnstalleerd.
Als een van de volgende software al naar uw pi is gedownload, zal sudo pip install (Softwarenaam) --upgrade de truc doen om deze bij te werken.
- sudo pip install gevent
- sudo pip install flask
- sudo pip install nexmo
- sudo pip install --upgrade --force-reinstall pip==9.0.3
- sudo pip install AWSIoTPythonSDK --upgrade --disable-pip-version-check
- sudo pip install --upgrade pip
- sudo apt-get install python-dev
- sudo pip installeer boto3
- sudo pip installeer botocore
- sudo pip install numpy
- cd ~
git kloon
cd ~/SPI-Py
sudo python setup.py installeren"
- cd ~
git clone
cd ~/MFRC522-python
sudo python setup.py installeren"
- sudo nano /boot/config.txt, controleer of regels device_tree_param=spi=on
dtoverlay=spi-bcm2835 zijn binnen, anders toevoegen.
Stap 3: Een ding registreren
a) Navigeer eerst naar IoT Core binnen de AWS-website door op services te klikken en vervolgens op IoT Core.
b) Selecteer in de navigatiebalk onder beheren dingen en kies iets registreren.
c) Kies Maak een enkel ding.
d) Voer een naam in voor uw ding, bijvoorbeeld MyRaspberryPi2. Laat de rest van de velden op hun standaardwaarden staan. Klik op volgende onderaan de pagina.
e) Klik op certificaat maken. Download alle vier de bestanden. Download voor het root-CA-bestand de Amazon Root CA 1 en sla het op in een notitieblok.
f) Als je klaar bent, verplaats je de vier bestanden naar een map in raspberry pi.
g) Klik op activeren.
h) Nadat u op beleid bijvoegen hebt geklikt, wordt u naar de volgende pagina gebracht. Klik op registreren, het beleid wordt later gemaakt.
i) Navigeer op het iot-dashboard naar het beleid onder het beveiligde gedeelte. Klik op een beleid maken.
j) Voer een naam in voor uw beleid, voor dit voorbeeld is dit MyRaspberryPiSecurityPolicy en toets het volgende in onder Verklaringen toevoegen. Klik vervolgens op Aanmaken.
k) Navigeer op het iot-dashboard naar certificaten onder het beveiligde gedeelte. Selecteer het certificaat dat u eerder hebt gemaakt en klik op Beleid bijvoegen in de vervolgkeuzelijst met acties. Voeg het beleid toe dat u eerder hebt gemaakt.
l) Selecteer het certificaat dat u eerder hebt gemaakt opnieuw en klik op iets toevoegen. Voeg het beleid toe dat u eerder hebt gemaakt. Bevestig het ding dat u eerder hebt gemaakt.
Stap 4: Een S3-bucket maken
a) We beginnen met het gebruik van de zoekfunctie in de AWS-beheerconsole en zoeken naar "s3".
b) Klik op emmer maken.
c) Typ een naam voor de bucket. Voor dit voorbeeld gebruiken we de naam "sp-p1703263". We zullen de regio "US EAST(N. VIRGINIA)" kiezen, dat is us-east-1. Klik daarna op Maken.
d) De nieuw gemaakte bucket verschijnt in het dashboard.
Stap 5: DynamoDB-tabel maken en regels instellen
a) Navigeer eerst naar de AWS-services door te klikken op
services en vervolgens DynamoDB. Klik op tabel maken.
b) Voer de tabelnaam "iotdata" en de primaire sleutel "deviceid" in met een sorteersleutel "datetimeid", en klik vervolgens op maken onderaan de pagina.
c) Navigeer daarna terug naar de IoT Core-pagina. Klik op Act en klik vervolgens op een nieuwe regel maken.
d) Maak een regel met de naam “MyDynamoDBRule”. Voer onder het onderwerp regelquery-instructie "sensoren/licht" in.
e) Klik in het gedeelte Een of meer acties instellen op actie toevoegen, klik op "bericht opsplitsen in meerdere kolommen van een databasetabel". Klik op actie configureren. Kies onder tabelnaam de iotdata. Selecteer onder IAM-rolnaam de rol die u eerder hebt gemaakt, namelijk "dynamodb_role". Klik op actie toevoegen en vervolgens op regel maken.
f) Klik op regel aanmaken.
Stap 6: Verwacht resultaat
Buitenshuis
voor de pi die de buitenkant van de kamer voorstelt, worden de scripts heatdetector.py en AccessDoor.py uitgevoerd. Als een verkeerde kaart op de RFID-scanner tikt, gaat het alarm af en blijft het gele LED-lampje branden. Er wordt een sms naar de telefoon van de huiseigenaar gestuurd om een mogelijke inbraak te melden. Alarm zal ook klinken. Er wordt ook een foto gemaakt en direct geüpload naar S3 Bucket. Als de afgetapte kaart geautoriseerd is, gaat de groene LED branden en kan de gebruiker naar binnen. De deur wordt na 15 seconden weer vergrendeld (groene led gaat uit en gele led gaat weer branden). Als de temperatuur in de kamer/het huis te hoog wordt (tot een temperatuur die wij beschouwen als huis/kamer die mogelijk in brand staat), sturen we een sms-waarschuwing naar de huiseigenaar. Het alarm zal ook afgaan terwijl de rode LED buiten brandt.
Binnen
voor de pi die de binnenkant van de kamer vertegenwoordigt, worden de scripts publishHeat.py, server.py, pubsub.py, telegrambot.py uitgevoerd. Pubsub.py slaat de real-time waarden op in DynamoDB. wanneer server.py wordt uitgevoerd, typt u het ip-adres van de rpi: 5000 in de browser, u wordt doorgestuurd naar onze webinterface. We hebben een grafiek die realtime lichtwaarden weergeeft die zijn verkregen van onze sensoren in pubsub.py in DynamoDB. Daarnaast worden ook historische lichtwaarden weergegeven in onze webinterface. publishHeat.py publiceert temperatuurwaarden naar het outdoor breadboard voor brandsensordoeleinden. telegrambot.py stelt de gebruiker in staat om op afstand het aan/uit van het LED-licht in de kamer/huis te bedienen en een foto te maken van wat er binnen gebeurt en de foto te uploaden naar de S3-emmer.
Voor een betere visualisatie van hoe het verwachte resultaat eruit zou moeten zien:
Stap 7: Broncodes (Pastebin)
Klik op de link. Bestaat uit alle benodigde broncodes:
Stap 8: Referenties
Iotguider. (2019). Verstuur sms vanaf Raspberry Pi met Python. [online] Beschikbaar op: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Toegankelijk op 21 aug. 2019].
Aanbevolen:
IoT CA2: 3 stappen
IoT CA2: Projectbeschrijving: een onderzoeksfaciliteit die biologisch gevaarlijk materiaal verwerkt. Elke Pi vertegenwoordigt een onderzoeks- en ontwikkelingsruimte die is uitgerust met een temperatuursensor, RFID-scanner, LCD-scherm, zoemer en een LED. De temperatuursensor wordt gebruikt voor bewa
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: 4 stappen (met afbeeldingen)
Tutorial Do Projeto Final Do Curso IoT Aplicada a Smart Home Inatel / Novembro 2017: Geen desenvolvimento desse projeto foi utilizada uma plataforma hibrida, sem a necessidade de acessar os recursos de plataformas nativas do Android of IOS. Gebruik de computer om een notebook te gebruiken voor windows 10. Essa plataforma chama-se Ionic, q
IoT Smart Home-systeem: 8 stappen
IoT Smart Home-systeem: dit is het Keefe en Jons Smart Home-systeem op iot
NodeMCU Smart Room - ESP8266 - Arduino: 6 stappen
NodeMCU Smart Room | ESP8266 | Arduino: ik heb een YouTube-serie gemaakt van "Hoe automatiseer ik je kamer met arduino?" en als onderdeel van deze productie breng ik u een van mijn nieuwste upgrades. Ik heb besloten om de ESP8266 nodemcu WiFi-module te gebruiken omdat deze kan worden geprogrammeerd als
IOT CA2 - Slimme deur: 3 stappen
IOT CA2 - Smart Door: Beschrijving: Het is een deurvergrendelingssysteem voor een kamer. Geregistreerde gebruikers kunnen een RFID-kaart gebruiken om binnen te komen en de lichten voor de kamer gaan aan. Wordt er op een verkeerde RFID-kaart getikt, dan maakt de camera een foto, gevolgd door een rood led-lampje