Maak een brand detector in minuten met Samsung SAMIIO, Arduino UNO en Raspberry Pi (3 / 4 stap)

Stap 3: Instellen van de Raspberry Pi


Sluit uw Raspberry Pi aan een monitor, muis en toetsenbord. Zien erop toe dat een Ethernet of WiFi-verbinding werkt, en zorg ervoor dat de OS up-to-date is:

  1. $ sudo apt-get update
  2. $ sudo apt-get upgrade

Indien nog niet geïnstalleerd, Installeer Node.js voor ARM, dan de pakketten serialport en ws via npm toevoegen:

  1. $ npm installeren serialport
  2. $ npm installeren ws

Nu verbinden met de seriële poort van de Arduino de USB op de Raspberry Pi.

Ten slotte, download de Node.js code (send_data_to_sami.js) naar de Raspberry Pi. Vervang de tijdelijke aanduidingen in de code met de token van de apparaat en apparaat-ID u verzameld uit de User Portal.

Ook is de Node.js code hieronder gegeven. Het stelt een bi-directionele WebSocketconnection tussen de Raspberry Pi en SAMI. Nadat de WebSocket verbinding geopend is, registreert register() methode het apparaat met de WebSocket. Telkens de code één gegevenspunt leest van de seriële poort, en dan loopt het in een bericht en verzendt het bericht naar SAMI via WebSocket.

var webSocketUrl = "wss://api.samsungsami.io/v1.1/websocket?ack=true";
var device_id = ""; var device_token = "";

var isWebSocketReady = false; var ws = null;

var serialport = require("serialport")

var SerialPort = serialport. SerialPort;

var sp = nieuwe SerialPort ("/ dev/ttyACM0", {}

baudrate: 9600,

parser: serialport.parsers.readline("\n")

});

var WebSocket = require('ws');

/**

* Krijgt de huidige tijd in millis

*/

functie getTimeMillis() {}

Return parseInt(Date.now().toString());

}

/**

* /Websocket bi-directionele verbinding maken

*/

functie start() {}

De websocket verbinding maken

isWebSocketReady = false;

WS = nieuwe WebSocket(webSocketUrl);

WS.on ('open', function {}

console.log ("Websocket verbinding is open...");

register();

});

WS.on ('bericht', functie (data, vlaggen) {}

console.log ("ontvangen bericht:" + data + '\n');

});

WS.on ('close', function {}

console.log ("Websocket verbinding is gesloten...");

});

}

/**

* Een signaal register aan de websocket en begint de boodschap flooder

*/

functie register() {}

console.log ("registratie apparaat op de websocket verbinding");

Probeer {}

var registerMessage = ' {"type": "inschrijven", "sdid": "" + device_id +"", "Vergunning": "aan toonder"+ device_token +"", "cid":"'+getTimeMillis() +" "}';

console.log ('Bericht verzenden register' + registerMessage + '\n');

WS.send (registerMessage, {masker: true});

isWebSocketReady = true;

}

vangst (e) {}

console.error ("fout bij het registreren van berichten. Fout bij het registreren van de boodschap: "+ e.toString());

}

}

/**

* Stuur een bericht naar SAMI

*/

functie sendData(onFire) {}

Probeer {}

TS = ', "ts": "+ getTimeMillis();

gegevens van de var = {}

"onFire": onFire

};

var payload = ' {"sdid": "" + device_id +"" '+ ts +', "gegevens": "+ JSON.stringify(data) +", "cid":"'+getTimeMillis() +" "}'; console.log ('Verzenden lading' + lading);

WS.send (nettolading, {masker: true});

} catch (e) {}

console.error ("fout bij het verzenden van een bericht:" + e.toString());

}

}

/**

* Alle start hier

*/

Start(); websocket verbinding maken

SP.on ("open", functie () {}

SP.on ('data', function(data) {}

Als (! isWebSocketReady) {}

console.log ("Websocket is niet klaar. Skip verzenden van gegevens naar SAMI (gegevens: "+ data +") ");

terugkeer;

}

console.log ("seriële poort ontvangen gegevens:" + data);

var flameDigitalValue = parseInt(data);

flameDigitalValue = 1 == > geen vuur wordt gedetecteerd

flameDigitalValue = 0 == > brand wordt gedetecteerd

var onFire = false;

Als (flameDigitalValue == 0) {}

onFire = true;

}

sendData(onFire);

});

});

Gerelateerde Artikelen

Maak een eenvoudige draadloze RF robot met behulp van Arduino!

Maak een eenvoudige draadloze RF robot met behulp van Arduino!

UPDATE: IK HEB JOYSTICK-CONTROLE TOEGEVOEGD AAN DEZE ROBOT. GELIEVE TE VERWIJZEN NAAR DE STAP 7, ALS U WILT BEPALEN UW ROBOT VIA JOYSTICK.HalloDit is mijn eerste instructable en in deze tutorial, I 'm gonna Toon u hoe te bouwen van een eenvoudige dra
Schets naar Atmega328P-PU branden op een Breadboard met behulp van Arduino Uno als programmeur

Schets naar Atmega328P-PU branden op een Breadboard met behulp van Arduino Uno als programmeur

Er zijn al verschillende instructables op hoe te branden van de Arduino schets naar Atmega328P-PU op een breadboard met behulp van verschillende USB - UART modules. Echter, zoals de meeste van deze modules zijn gemaakt in China, ze zijn slecht gedocu
Stuur email met ESP8266 en Arduino UNO

Stuur email met ESP8266 en Arduino UNO

Hoe krijg ik Adafruits "send_email_smtp.ino" te Stuur e-mail met ESP8266 en Arduino UNO.En het opheffen van het probleem met "geen reactie van module" veel hebben.De module werkt op 3,3 v logica volgens de documentatie, maar ik had gee
Maak een elegante en romantische slaapkamer met IKEA!

Maak een elegante en romantische slaapkamer met IKEA!

Dus dit mijn trieste kamertje is. En hier is zijn verhaal:Ik heb altijd gedroomd van het verhuizen naar Los Angeles. Tot slot, dit jaar kon ik de verhuizing te maken. Heb ik niet zelf veel van mijn eigen meubels en was wat weinig ik zelf niet waard d
Beatfly: Maak een verhelderend blimp en controle met uw stem, Keyboard, MIDI-Controller, Garageband bestand, iPhone, Flash, en meer! [Mac OSX]

Beatfly: Maak een verhelderend blimp en controle met uw stem, Keyboard, MIDI-Controller, Garageband bestand, iPhone, Flash, en meer! [Mac OSX]

Ik heb gewerkt op verschillende projecten met behulp van de blimps en ballonnen, en hier wil ik delen een van hen, Beatfly. Dit is een verhelderend blimp gecontroleerd met verschillende interfaces zoals stem, Keyboard, MIDI-Controller, Garageband Mid
Maak een Wi-Fi Controlled Robot met LinkIt ONE

Maak een Wi-Fi Controlled Robot met LinkIt ONE

Hier is een stap voor stap gids die u bouwen van de eerste robot en complexiteit, toevoegen helpen zal als u volgen. Naast het gebouw een fundamentele hindernis vermijden robot met een ultrasone sensor en Sparkfun motor stuurprogramma , zult u ook le
Maak een ThinkPad toetsenbord USB-adapter met Arduino

Maak een ThinkPad toetsenbord USB-adapter met Arduino

Onder de business klasse laptops hebben ThinkPads de beste toetsenborden. Zelfs met de wijziging eiland stijl toetsenborden, zou ik zeggen dat ThinkPad toetsenborden nog verslaan alle haar laptop concurrenten handen naar beneden in de afdeling van he
Branden van de Bootloader op de ATMega328 met behulp van Arduino UNO als ISP

Branden van de Bootloader op de ATMega328 met behulp van Arduino UNO als ISP

UPDATE: deze tutorial zal werken op de Arduino IDE 1.0.1, de recente 1.0.5 brengt enkele wijzigingen op de schets van de ISP, dus ik ben niet zeker of het zal werken (ik kocht 2 ATMega328 en verbrand, zowel op 1.0.1).Gebruik 1.0.1 om eventuele proble
Met behulp van Arduino UNO als hoge resolutie 3-CH DAC's

Met behulp van Arduino UNO als hoge resolutie 3-CH DAC's

In deze toepassing geven we een demo over het bouwen van een hoge precisie-voeding met behulp van de DAC-3000 en een hoge precisie referentiebron REF4096.Step1:List van materiaaleBay winkel adres:BUONO UNO R3REF-4096 + DAC-3000UM-UNO (Unsoldered) of
Hoe te uploaden codes naar Lilypad Arduino zonder FTDI met behulp van Arduino Uno

Hoe te uploaden codes naar Lilypad Arduino zonder FTDI met behulp van Arduino Uno

Vandaag, ga ik te laten zien waarmee ik had een probleem met mijn FTDI module terwijl ik probeer te uploaden - op de Arduino IDE ontworpen - codes van mijn computer aan Lilypad Arduino Atmega328 bestuur.Eigenlijk moet u uw FTDI modules zoals gebruike
Maak een masker van de kostuum met behulp van Pepakura (Bonus: schuim Armor)

Maak een masker van de kostuum met behulp van Pepakura (Bonus: schuim Armor)

Dus, ik heb bekeek dit proces Pepakura genoemd voor vrij een tijdje nu. Het is over het hele internet en instructables al maar als je nieuw bij de term eigenlijk bent het idee werkt als volgt: U maakt een 3D-model, of neem een bestaande één, en "ontv
Maak een tabel van de tuin met Running Water!

Maak een tabel van de tuin met Running Water!

ik wilde een tabel te gebruiken als een schoonmaak station voor mijn concrete projecten, maar dat zou verdubbelen in gebruik voor andere dingen: reinigen van groenten uit de tuin, vullen van watercontainers, Tuingereedschap schoonmaken, planten potgr
HOW TO: Maak een opgerolde kip perceel! (Met behulp van dingen u zou kunnen hebben in uw DORM ROOM!)

HOW TO: Maak een opgerolde kip perceel! (Met behulp van dingen u zou kunnen hebben in uw DORM ROOM!)

Als ik was van plan mijn Valentines maaltijd voor dit jaar, ik iets wilde doen ik maak alot op home--een opgerolde kipfilet gevuld met zongedroogde tomaten, basilicum en fontina.Uit al diegenen, alles wat ik had was de kipfilet.Andere ingrediënten wa
Maak een omelet in 5 minuten!

Maak een omelet in 5 minuten!

Hello! Wilt u genieten van een snel ontbijt? Hier is hoe!Stap 1: De materialen ik bedoel... INGRIDIENTS! OK. Dus hier de materialen zijn:1 ei (u kunt meer, gewoon bijvoorbeeld)Een komSommige cheese(slices)Stap 2: wachten. Kunt u uw handen te wassen.D