Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Android app-gebaseerd domoticasysteem met IOT

Componenten en benodigdheden

Arduino Yun
× 1
Arduino Mega 2560
× 1
Arduino UNO
× 1
servomotor
× 1
Adafruit Standaard LCD - 16x2 Wit op Blauw
× 2
numeriek toetsenblok
× 1
Zoemer
× 1
DHT11 temperatuur- en vochtigheidssensor (4 pinnen)
× 1
LED (generiek)
× 5
ventilatormodule
× 1
SparkFun Drukknopschakelaar 12 mm
× 1
vlamsensor
× 1
logitech c270 hd-webcam
× 1
Relais (algemeen)
× 1
lamp
× 1
Broodplank (algemeen)
× 1
Jumperdraden (algemeen)
× 1
SD-KAART
× 1
HC-05 Bluetooth-module
× 1
RFID-lezer (algemeen)
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Apps en online services

Blynk
Temboo
Arduino IDE
plamuur
arduino meet robot-applicatie

Over dit project

Video

Voordat ik verder ga, zou ik mijn kijkers willen vragen om de video van het project te bekijken, zodat ze te weten komen hoe de dingen gebeuren en wat de leuke dingen in dit project zijn.

Hier is de video voor het project:

Samenvatting

In de afgelopen jaren zijn slimme huizen een zeer levendig en populair woord geworden. Veel mensen probeerden hun eigen versie van smart home-architectuur voor te stellen, maar de meeste van hen missen de integratie van smart home-apparaten. Ook veiligheid is een belangrijk punt van zorg in de smart home-architectuur. Een deel van de communicatietechnologie die door deze smart home-architecturen wordt gebruikt, omvat bluetooth, GSM, Zigbee enz. Al deze architecturen hebben hun eigen voor- en nadelen. In mijn laatste jaar van mijn engineering heb ik geprobeerd een geïntegreerde smart home-architectuur te implementeren die kan worden gecontroleerd en bestuurd door een eenvoudige gebruiksvriendelijke mobiele applicatie. Ook worden alle systemen met elkaar verbonden en worden spraakopdrachten toegevoegd om de apparaten binnen een bepaald bereik te bedienen. Dus hier zijn de stille kenmerken van mijn domotica-architectuur:

  • Beveiligingssysteem op twee niveaus met numeriek toetsenblok en RFID voorkomt de toegang tot het huis voor indringers.
  • Uploaden van foto online in geval van inbraak, videobewaking op afstand waarbij video wordt geüpload naar de lokale server die door de gebruiker kan worden bekeken met behulp van elke webbrowser.
  • Bewaking van de thuisomgeving met behulp van de metingen van verschillende sensoren zoals DHT11, vlamsensor, MQ3- en MQ135-sensoren via Android-applicatie.
  • Apparaten zoals led, servomotoren enz. bedienen via Android-applicatie.
  • Automatische planning van apparaten op basis van de voorkeuren die door de gebruiker zijn ingesteld via de Android-applicatie.
  • Thuis bereidt de apparaten (geysar, koffiezetapparaat) voor op basis van de voorkeuren die door de gebruiker zijn ingesteld wanneer de gebruiker het huis nadert.
  • De apparaten bedienen met menselijke stem.

Vereisten

  • U moet bekend zijn met C-programmering
  • U moet bekend zijn met het gebruik van Arduino IDE en het implementeren van code op het Arduino-bord

Instructies - Volg deze stappen

Voordat je verder gaat, bekijk eerst mijn video voor dit project, zodat je een idee krijgt van hoe dingen werken en hoe verbindingen tot stand worden gebracht.

Stap 1- Sluit het hele systeem aan

Maak de aansluitingen volgens het onderstaande schakelschema. Er moeten veel verbindingen worden gemaakt, dus wees geduldig en doe alle verbindingen zorgvuldig. Ik zal voorstellen om wat huisarchitectuur te maken met karton, zodat je het echte gevoel van huisautomatisering kunt krijgen. Wees voorzichtig met de PIR-bewegingssensor, omdat deze gevoelig is voor gevoelige veranderingen. Maak het stevig vast zodat het geen vals positief geeft, anders gaat je deur onverwacht open.

RFID-verbinding is als volgt:

- MOSI ---> PIN 51

- MISO ---> PIN 50

- SCK ---> PIN 52

- SS/SDA ---> PIN 9

- RST ---> PIN 8

Verbind ook pin 20 van mega met pin 2 van arduino yun en pin 21 van arduino mega met pin 3 van arduino yun voor I2C-communicatie.

Stap 2- Maak een Temboo-account en stel Dropbox API in

De volgende stap in dit project is het aanmaken en instellen van een account op de webservice Temboo, zodat je gebruik kunt maken van het brede scala aan diensten van Temboo. Om dit te doen, is de eerste stap om gewoon naar de Temboo-website te gaan op http://temboo.com/. Voer op de hoofdpagina eenvoudig uw e-mailadres in om u te registreren en klik op Aanmelden. U wordt dan gevraagd om enkele basisgegevens over uw account in te voeren, zoals uw accountnaam. Vervolgens wordt u gevraagd om uw eerste app te maken. Zorg ervoor dat u de details van uw account opslaat, zoals de naam van uw eerste app en de sleutel die u krijgt. Als u deze waarden opnieuw wilt ophalen of een nieuwe toepassing wilt maken, kunt u deze gegevens altijd openen in het gedeelte Mijn account van de Temboo-website door op de knop BEHEREN onder TOEPASSINGEN te klikken.

Nu, aan de softwarekant, heb je iets meer nodig dan alleen de Arduino IDE. We gaan de benodigde software voor de camera rechtstreeks op het Yún-bord installeren als we er via SSH verbinding mee maken, maar je hebt de Temboo Python SDK nodig om foto's naar Dropbox te uploaden. Je kunt de SDK vinden op https://temboo.com/python. Het is tijd om het uit te pakken en ook in de root van de SD-kaart te plaatsen. Zorg ervoor dat het verschijnt met de naam temboo in de hoofdmap van de SD-kaart, zodat het Python-bestand dat we zojuist hebben gemaakt er correct toegang toe heeft. Dan moet je ook een Dropbox-account hebben, zodat je er afbeeldingen op kunt uploaden. U kunt eenvoudig een account maken door naar https://www.dropbox.com/home te gaan. Nadat uw account is gemaakt, moet u een app maken die door uw project wordt gebruikt. Dit betekent in feite dat je het project dat je in dit hoofdstuk gaat bouwen moet autoriseren om automatisch foto's naar je Dropbox-account te sturen zonder dat je elke keer je login en wachtwoord hoeft in te voeren. Je krijgt ook alle benodigde informatie (zoals een API-sleutel) die we later in het Python-script op Yún zullen invoeren.

1. Ga om een ​​app te maken eerst naar https://www.dropbox.com/developers/apps.

2. Klik vervolgens op App maken in de rechterbovenhoek van het venster. U kunt nu het type app kiezen dat u wilt maken. In ons geval willen we de Dropbox API rechtstreeks gebruiken.

3. U wordt vervolgens gevraagd om het soort gegevens te kiezen dat uw app moet opslaan. We willen foto's uploaden, dus kies Bestanden en datastores.

4. Je kunt dan het proces van het maken van je Dropbox-app voltooien.

5. Op de bevestigingspagina die de app beschrijft, moet je de app-sleutel en het app-geheim noteren, die we voor de rest van het project nodig hebben.

6. Zorg er ook voor dat het veld Toestemmingstype is ingesteld op App-map. Dit zorgt ervoor dat de foto's worden geüpload naar de map die aan de app is toegewezen en dat de Yún geen toegang heeft tot de rest van je Dropbox-map.

7. Wat je nu nodig hebt, is de Token-sleutel en het Token-geheim ten opzichte van je Dropbox-app, zodat je ze later in de software van ons project kunt invoeren. Om ze te krijgen, is de eerste stap om naar de InitialiseOAuth Choreo op de Temboo-website te gaan op https://temboo.com/library/Library/Dropbox/OAuth/InitializeOAuth/. Hier moet u de app-sleutel en het app-geheim invoeren. Dit genereert wat extra informatie, zoals een callback-ID en een tijdelijk tokengeheim. Je wordt ook gevraagd om een ​​link naar Dropbox te bezoeken om de authenticatie te bevestigen.

8. Ga ten slotte naar de FinalizeOAuth-pagina om het proces te voltooien. U wordt gevraagd uw app-sleutel, app-geheim, callback-ID en tijdelijk tokengeheim in te voeren op https://temboo.com/library/Library/Dropbox/OAuth/FinalizeOAuth/. Na deze stap krijgt u uw laatste tokensleutel en tokengeheim. Schrijf ze op, want je hebt ze later nodig.

Stap 3:stuurprogramma's installeren in Arduino Yun

Installeer Putty-software en open het. Voer het ip-adres van je arduino yun in en selecteer ssh en klik op openen. Voer root in als uw gebruikersnaam en u wordt vervolgens gevraagd om het wachtwoord in te voeren dat u voor uw Yún hebt gekozen (standaardwachtwoord is arduino). Als het werkt, zou je de volgende schermafbeelding op je terminal moeten zien verschijnen, wat aangeeft dat je nu rechtstreeks op de Yún werkt.

Je hebt toegang tot alle functies vanaf je Yún Linux-machine. We gaan nu de benodigde software voor de camera installeren. Hiervoor moet de Arduino Yún verbonden zijn met internet, zodat hij de vereiste pakketten kan krijgen, zoals beschreven in de volgende stappen:

1. Het proces begint met het updaten van de pakketbeheerder, opkg, als volgt:opkg update

2. Installeer de UVC-stuurprogramma's als volgt:opkg install kmod-video-uvc

3. Installeer het python-openssl-pakket dat we later in het project zullen gebruiken, zoals weergegeven in de volgende opdracht:opkg install python-openssl

4. Ten slotte kunt u de fswebcam-software installeren die we zullen gebruiken om foto's te maken, zoals weergegeven in de volgende opdracht:opkg install fswebcam

Stap 4:Live videobewaking

Om de applicatie te laten werken, moeten we eerst wat extra softwarepakketten op de Yún installeren, zoals weergegeven in de volgende stappen:

1. Maak opnieuw verbinding met de Yún via SSH met uw Arduino Yún-naam en wachtwoord, en typ de volgende opdracht om het juiste pakket voor livestreaming te krijgen:wget http://www.custommobileapps.com.au/downloads/mjpgstreamer.ipk

2. Merk op dat als de link niet meer geldig is en je de bestanden niet kunt vinden, dit pakket ook beschikbaar is in de code van dit hoofdstuk. Je kunt het nu installeren met het volgende commando:opkg install mjpg-streamer.ipk

3. U kunt nu de live streaming-software op uw Arduino Yún starten met het volgende commando:

mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 25" -o "output_http.so -p 8080 -w /www/webcam" &

Hier is de parameter na –h de resolutie en die na –i is de poort waarop de stream beschikbaar zal zijn. We hebben ook het aantal frames per seconde gespecificeerd met behulp van het -I-commando. De andere opties zijn minder belangrijk en u heeft er geen omkijken naar. Je hebt dan toegang tot je stream door in je webbrowser naar het adres van je Arduino Yún te gaan, gevolgd door 8080 om de juiste poort op te geven. De link ziet er bijvoorbeeld zo uit:http://yourarduinoyunipaddress.local:8080/stream.html. Vervang uw arduino-unipaddress in de bovenstaande link door het ip-adres van uw arduino yun.

Stap 5:Twilio-account instellen voor sms-berichten

Meld u aan op https://www.twilio.com/ . Noteer de account-sid en auth-token. Koop een gratis nummer op twilio en verifieer ook het nummer naar wie je het sms-bericht gaat sturen in het gedeelte geverifieerde beller-ID's. Zodra uw nummer is geverifieerd, bent u klaar om een ​​bericht naar dat nummer te sturen. Log nu in op temboo.com. Ga naar deze link https://temboo.com/library/Library/Twilio/SMSMessages/SendSMS/ en geef de inloggegevens op die u van twilio hebt gekregen. Noteer de aanvullende informatie voordat u op nu uitvoeren klikt. Klik op nu uitvoeren en geef de vereiste aanvullende informatie op en sla het profiel op met een naam. Deze profielnaam wordt gebruikt in de Arduino yun-code. Ga naar regel 208 in de arduino yun-code en vervang de your_profile_name door je profielnaam. Zorg ervoor dat wanneer u in Temboo op de knop Nu uitvoeren klikt, het daar geen fout zou moeten geven, anders is er iets mis met uw inloggegevens die u zelf moet oplossen.

Stap 6:blynk-account instellen en blynk-app configureren

Download de blynk-app uit de playstore via deze link https://play.google.com/store/apps/details?id=cc.blynk.

Nadat je de Blynk-app hebt gedownload, moet je een nieuw Blynk-account maken. Nadat u succesvol bent ingelogd op uw account, begint u met het maken van een nieuw project. Selecteer het hardwaremodel als Arduino yun. Auth Token is een unieke identificatie die nodig is om uw hardware met uw smartphone te verbinden. Elk nieuw project dat u aanmaakt, heeft zijn eigen authenticatietoken. U krijgt automatisch Auth Token in uw e-mail na het maken van het project. U kunt het ook handmatig kopiëren. Klik op apparaten sectie. Druk nu op de Maak knop. Voeg de widgets toe volgens de volgende instructies:

Maak vier tabbladen als thuis, hvac, monitoring en controle

Thuis

Selecteer onder het tabblad Start vier widgets:LCD, Waardeweergave, Niveau H en melding.

Configureer de ingang van LCD als V1.

Geef de waardeweergave een naam als brandsensor en configureer de ingang van de brandsensor als V11 en wijs deze toe van bereik 0 tot 1023 en stel de leessnelheid in op 1 sec.

Noem het niveau h als brandniveau en configureer de ingang als V12 en wijs deze toe van bereik 0 tot 1023 en maak de leessnelheid als push.

Configureer de melding met prioriteit zoals normaal.

HVAC

Selecteer onder het HVAC-tabblad LCD, schuifregelaar, waardeweergave (2), geschiedenisgrafiek.

Configureer de invoer van lcd als V3.

Hernoem de schuifregelaar als ventilator en configureer de uitvoer als D9 en wijs deze toe van 0 tot 255.

Hernoem de twee waardedisplays met kamer1 temp en kamer2 temp. Configureer een ingang als V2 en een andere ingang als V6 en wijs ze beide toe van 0 tot 50 met een leessnelheid van 1 sec.

Configureer de ingangen van de geschiedenisgrafiek als V9 en V8. Zet de naam kamer1 temp corresponderend met V9 en kamer2 temp corresponderend met V8.

Bewaking

Selecteer onder het tabblad monitoring de gelabelde waarde (2), grafiek (2), geschiedenisgrafiek.

Hernoem de 2 gelabelde waarde-widgets met kamer1 vochtigheid en kamer2 vochtigheid en stel de ingangen in als V5 en V7 en wijs ze toe van 0 tot 100 met een leessnelheid van 1 sec.

Hernoem de 2 grafieken als kamer 1 vochtigheid en kamer 2 vochtigheid met input pinnen als V10 en V9 met bereik 0 tot 100 en leessnelheid als 1 sec.

Configureer de ingangen van de geschiedenisgrafiek als V10 en V7. Zet de naam kamer1 vochtig die overeenkomt met V10 en kamer2 vochtig die overeenkomt met V7.

Controle

Selecteer onder het tabblad controle lcd, waardeweergave (2), gelabelde waarde, schuifregelaar, tijdinvoer, GPS-track.

Configureer de invoer van lcd als V4.

Configureer de ingangen van de waardeweergave als V19 en V20 met een bereik van 0 tot 1023 en een leessnelheid van 1 sec.

Configureer de invoer van de gelabelde waarde als V21 en het bereik varieert van 0 tot 1023 met een leessnelheid van 1 sec.

Hernoem de instellingen van de schuifregelaar als Hoofdkamerverlichting en uitvoer van 0 tot 255 met schrijfintervallen van 100 ms.

Configureer de tijdinvoer V31 en configureer de start/stop-invoer toestaan ​​als ja, laat de selectie van de dag van de week toe als ja, laat de tijdzoneselectie toe als ja.

Configureer de gps-trackinvoer als v29 en activeer wanneer als enter. Hierdoor kan het systeem de v29-pin activeren (die bijvoorbeeld verbonden kan zijn met geysar) wanneer de gebruiker op de kaart is aangekomen. U kunt de straal van de kaart naar wens wijzigen.

Klik op de knop Uitvoeren.

Proficiat! Nu kunt u de thuisomgeving bedienen en bewaken vanaf uw Android-smartphone.

Spraakgestuurde bediening van apparaten

Download de AMR_VOICE app via deze link en configureer de bluetooth met HC05. Implementeer de onderstaande code met de naam spraakbesturing voor arduino uno naar arduino uno. Klik op robot verbinden in de app. Zorg ervoor dat je smartphone bluetooth is gekoppeld met hc05. Druk op het spraakpictogram en spreek de tekenreeksen uit die in de code worden genoemd om uw apparaten in of uit te schakelen.

Laat het me weten als je problemen hebt ondervonden tijdens het maken van dit project. Sommige stappen worden niet in detail weergegeven, aangezien gebruikers mogelijk bekend zijn met de basisprincipes van arduino-, c- en basislinux-programmering. Voel je vrij om vragen te stellen in het opmerkingengedeelte als je ergens of in een stap vastloopt.

Opmerking:ik heb alle documenten en code naar mijn openbare git-repository gemigreerd. Ga naar de link https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT om de broncode, het schemabestand en de architectuurreferentie te downloaden. Als je wilt bijdragen aan of nieuwe functies aan dit project wilt toevoegen, maak dan een pull-verzoek aan in mijn github-repository. Als er problemen zijn met de code of de installatieomgeving, meld het probleem dan in de github-repository.

Proost!

Code

Codebase voor dit project
Download de code voor dit project uit mijn git-repository. Als je meer functies aan dit project wilt toevoegen, stuur dan een pull-verzoek in mijn repository.https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT

Schema's

Schema's voor het project
Download de schema's van mijn github-repository. https://github.com/akib-islam/Android-App-Based-Home-Automation-System-Using-IOT

Productieproces

  1. Universele afstandsbediening met Arduino, 1Sheeld en Android
  2. Hartslagmeter met IoT
  3. Ioed gebruiken om een ​​robotarm op afstand te bedienen
  4. Android bestuurd speelgoed met Raspberry Motor Shield
  5. Smart Home Automation en beveiligingssysteem met 1Sheeld
  6. LED-helderheid regelen met Bolt en Arduino
  7. IoT-meter met Arduino, Yaler en IFTTT
  8. Bewateringssysteem voor planten voor thuis
  9. Plantbewakingssysteem met AWS IoT
  10. Arduino Home Controller geactiveerd door Alexa
  11. Arduino-gebaseerd beveiligingssysteem