Smart hem övervakning med Edison (2 / 2 steg)
Steg 2: Ansluta till molnet
Du kan använda Openshift för molnbaserade program. Jag gjorde en Python ansökan baserad på kolven.
och för databaslösning jag använde Firebase
Jag använde MFRC522 för RFID-tagg för för edison
#include
#include
#define SS_PIN 10 #define RST_PIN 9 MFRC522 rfid (SS_PIN, RST_PIN); Förekomst av klassen
MFRC522::MIFARE_Key nyckel;
Init array som lagrar nya NUID byte nuidPICC [3]. SoftwareSerial portOne (10, 11);
void setup() {Serial.begin(9600); tag (! Följetong) {; / / wait för seriell port att ansluta. Behövs för native USB-port bara}
Starta varje programvara seriell port portOne.begin(9600); SPI.begin(); Init SPI buss rfid. PCD_Init(); Init MFRC522
för (byte jag = 0; jag < 6; i ++) {key.keyByte[i] = 0xFF;}
Serial.println F ("denna kod scan MIFARE Classsic NUID."). Serial.Print (F ("använda följande nyckel:")); printHex (key.keyByte, MFRC522::MF_KEY_SIZE); } void loop() {
Leta efter nya kort om (! rfid. PICC_IsNewCardPresent()) avkastning.
Kontrollera om NUID har readed om (! rfid. PICC_ReadCardSerial()) avkastning.
Serial.Print (F ("PICC typ:")); MFRC522::PICC_Type piccType = rfid. PICC_GetType(RFID.UID.sak); Serial.println (rfid. PICC_GetTypeName(piccType));
Kontrollen är PICC av klassiska MIFARE typ om (piccType! = MFRC522::PICC_TYPE_MIFARE_MINI & & piccType! = MFRC522::PICC_TYPE_MIFARE_1K & & piccType! = MFRC522::PICC_TYPE_MIFARE_4K) {//Serial.println (F ("din tagg inte är av typen MIFARE Classic.")); återvänder;}
om (rfid.uid.uidByte[0]! = nuidPICC [0] || rfid.uid.uidByte[1]! = nuidPICC [1] || rfid.uid.uidByte[2]! = nuidPICC [2] || rfid.uid.uidByte[3]! = nuidPICC [3]) {//Serial.println F ("ett nytt kort har upptäckts.").
Lagra NUID till nuidPICC array för (byte jag = 0; jag < 4; i ++) {nuidPICC [i] = rfid.uid.uidByte[i];} Serial.println (F ("The NUID tag är:")); Serial.Print (F ("i hex:")); printHex (rfid.uid.uidByte, rfid.uid.size); } annat Serial.println F ("kort läsa tidigare.").
Stoppa PICC rfid. PICC_HaltA();
Stoppa kryptering på PCD rfid. PCD_StopCrypto1(); }
void printHex (byte * buffert, byte bufferSize) {för (byte jag = 0; jag < bufferSize; i ++) {Serial.print (buffert [i] < 0x10? " 0" : " "); Serial.Print (buffert [i], HEX); portOne.write(2); Serial.write (buffert [i] < 0x10? " 0" : " "); Serial.write (buffert [i], HEX); } }