Internet inschakelen een Alarm HKC Home (4 / 5 stap)

Stap 4: Arduino Code


De code is complex - het was een grote inspanning, en verscheidene trucs nodig om te worden ingezet om het knijpen van alle deze code (toetsenbord emulator, de webserver HTML, HTML-pagina's, e-mailcliënt, Websocket Webserver en DES-codering en Base64 bibliotheken) allemaal in de kleine Arduino UNO 32K flash en ram ruimte.

Alle code wordt gehost hier:

https://github.com/OzmoOzmo/CastleHKCArduinoRKP

Ik zal het bijwerken van de project code van elke tijdje - dus zorg ervoor dat het project vork zodat je meldingen krijgt wanneer er een update.

Gewoon downloaden van alle bestanden (belangrijk: gebruik de download zip knop in plaats van één bestand tegelijk).

Om te compileren:

Plaats ze in dezelfde map - en open het Ino bestand in de Arduino IDE.

Er is een configuratiebestand in de project-config.h - dit is waar u uw IP-adres, uw e-mailadres en andere opties instellen. Het is goed gereageerd met alle opties om uit te kiezen.

Compileren en uploaden naar aan Arduino. U zal moeten verbreken de Arduino volledig het Alarm paneel om hem te programmeren-alsof iets aangesloten op de Arduino RX en TX (pin 0 & 1) het kan interfereren met de programmering vooruitgang.
Ook zijn best niet om de 5V voeding die is aangesloten op de Arduino en de USB kabel is aangesloten op een PC op hetzelfde moment.

Ontwikkelaars - aanpassen van de software

Er is een software seriële uit voor foutopsporing - kunt u dit via een TTL naar USB van de arduino logboeken weergeven. De vlag om de debug-modus is uitgeschakeld in de code die door standaard. Ik vond de visuele Micro te zijn een veel betere ontwikkelomgeving dan de Arduino IDE.
Een oscilloscoop & digitaal signaal analyser waren van vitaal belang om te decoderen van de protocollen die worden gebruikt.

Voor de nieuwsgierig - engineered hoe reverse het protocol

-Ik aangesloten twee klavieren

-Ik heb gemeten de baud-rate met behulp van een oscilloscoop. Het was een verrassende 9 bits en ongewone baud-rate die uitdagend om te werken op de Arduino was (zoals de Arduino Libraries niet alleen 8 bits ondersteunen), kon ik zien. De extra bit was gebruikt om het signaal van het begin van een nieuw bericht.

- en met behulp van geschikte spanning herverdeling weerstanden had een Arduino luisteren op het verkeer op de databus één draad en verzenden van de pc.

-Elk toetsenbord plaatste ik een verschillende weerstand op de data lijn, zodat ik kan bepalen wanneer het alarm, keypad1 of keypad2 was met behulp van de lijn door de monitoring van het spanningsniveau als het bericht lezen.

-Bij de exploitatie van elke functie, kon ik zien dat de relevante berichtpakketten de toetsenborden en alarm verzonden; Ik kon zien een byte van de opdracht voor de verschillende functies; tekst weergeven, licht geleid,, sound zoemer etc. en de weergavetekst verzonden als onbewerkte tekst, elk met een controlesom-byte.

- en ik gedupliceerd deze functionaliteit in de code.

De code voor het registreren van een nieuwe toetsenbord was het moeilijkste.

Gerelateerde Artikelen

Een Wireless Smart Home (was: At Home simulator en alarm met Arduino of Atmega328 (bijgewerkt mei 2016))

Een Wireless Smart Home (was: At Home simulator en alarm met Arduino of Atmega328 (bijgewerkt mei 2016))

Opmerking: is er nu een android bluetooth control app ibble voor dit projectOpmerking: Hoewel dit begon als een project simuleren van mijn aanwezigheid thuis, het is uitgegroeid tot een slim huis, dus als ik dit InstructableWanneer mensen op vakantie
Hoe maak je een alarm plaat

Hoe maak je een alarm plaat

een fundamentele plaat of switch waardoor ruis wanneer gedruktStap 1: Een alarm-plaat is een eenvoudige schakelaar die wordt geactiveerd wanneer gedrukt. Hieronder staan de materialen die je nodig hebt.1. stukjes plastic of hout ik gebruikte houtbewe
Maak een Print-at-Home-patroon PDF

Maak een Print-at-Home-patroon PDF

Deze How To heeft instructies over hoe te een zelf-gemaakte patroon tegel en uploaden naar een PDF-bestand dat kan worden gedownload door anderen.Techniek materialenAdobe Photoshop, Adobe Acrobat Professional, een Scanner, liniaal, Tape, Pen • We heb
Een Alarm In Batch maakt

Een Alarm In Batch maakt

oke... In dit instructable ik zal u tonen hoe het maken van een alarm in een batch-bestand. Wanneer geactiveerd, komt een Toon van de interne luidspreker van de computer, over en over. Als u lui bent, kunt je gewoon downloaden het in de laatste stap!
Jarvis: Een Arduino gebaseerde Home automatiseringssysteem

Jarvis: Een Arduino gebaseerde Home automatiseringssysteem

Ik werd geïnspireerd door Jarvis van de Iron Man en sterk wilde een domoticasysteem. De bestaande systemen waren niet goedkoop, dus heb ik besloten om mijn eigen domotica-systeem met behulp van een Arduino bouwen. Op dit moment zijn functionaliteit i
Toegang tot sociale Media en het Internet tijdens een ramp

Toegang tot sociale Media en het Internet tijdens een ramp

informatie is machtDe orkaan Sandy die ons net voorbij heeft laten zien de kracht van de natuur in het gezicht van technologie.  Zodra de macht gaat uit en is uit voor een paar dagen onze afhankelijkheid op wordt technologie een in het oog springende
Internet Controlled huis en Robot (Home Automation)

Internet Controlled huis en Robot (Home Automation)

In dit instructable ik zal u vertellen hoe uw hele huis (alle elektrische apparaten) verbinden met internet, zodat u kunt het controleren van uw elke apparatuur overal in de wereldIk heb dit project 3 maanden terug en het draait continu sinds dan zon
Opzetten van een Basic Cisco Home Lab

Opzetten van een Basic Cisco Home Lab

De fundamentele lab is voor iedereen die is geïnteresseerd in netwerken en zou graag willen beginnen studeren voor de CCNA ICND1 100-101, ICND2 200-101 examens. Het lab kan ook GNS3 software voor hands-on ervaring met zowel de fysieke als de logische
Hoe maak je een Alarm systeem met behulp van een PicoBoard

Hoe maak je een Alarm systeem met behulp van een PicoBoard

dit Instructable is voor het maken van een alarmsysteem met behulp van kras, en een PicoBoard.De link naar het kras-programma dat gebruikt zal worden is https://scratch.mit.edu/projects/97054537/De link naar de video van het werken is https://m.youtu
Lasersnijden voor Absolute Beginners: aangepaste Laser-gesneden hanger met behulp van de magie van het INTERNET (of: een zeer elementaire inleiding tot Adobe Illustrator)

Lasersnijden voor Absolute Beginners: aangepaste Laser-gesneden hanger met behulp van de magie van het INTERNET (of: een zeer elementaire inleiding tot Adobe Illustrator)

heb je ooit wilde een van deze fancy laser gesneden uit kettingen, maar u niet de eigenaar van een laser cutter of weten hoe ontwerpsoftware gebruiken?  Dit is uw gelukkige dag, mijn vriend.  Ik ga je leren alles wat die u moet weten om dit gebeuren,
Maak een super aanpasbare home theater en film/videogame ruimte

Maak een super aanpasbare home theater en film/videogame ruimte

hoe setup en plan een goedkope, goedkoop, eenvoudig-te-setup home cinema-systeem.Stap 1: Zoek een goede locatie In mijn kelder, is er een redelijk open ruimte met een plat TV, banken en een bureau. Ik moest opnieuw regelen alles in de kamer het om co
Tijd-of-gebruik Air Conditioning met een Vera Smart Home Controller

Tijd-of-gebruik Air Conditioning met een Vera Smart Home Controller

Dit Instructable zal tonen hoe te lopen uw huis die HVAC minder vaak tijdens "Time-of-Use" piek uren en potentieel macht rekeningen in halve op extreme dagen snijden. Ik dit met behulp van een smart home controller VeraLite geïmplementeerd en ge
Hoe te doen een grote at Home-Pedicure

Hoe te doen een grote at Home-Pedicure

http://www.styleunited.com/TipsAndTrends/article/How-to-Do-a-Great-At-Home-Pedicure soms heb je niet de tijd of geld voor een volwaardige spa-pedicure. Hier is hoe te doen een snelle pedicure thuis op te schonen uw voeten net na uw douche of bad.Stap
Hoe: je Arduino verbinding met het Internet als een Web-Server

Hoe: je Arduino verbinding met het Internet als een Web-Server

The INTERNET OF THINGS... < wachtrij bliksem en donder >Het is wat al de coole kids deze dagen aan het doen zijn. Waarom moeten ze al het plezier hebben? Laten we een Arduino instellen als een webserver waarop iedereen, overal kan bekijken. Waarom z