Automatisk dörröppnare kontrolleras genom SLACK (4 / 9 steg)
Steg 4: Slack
Nu är det dags att åberopa vår openDoor funktion från Slack.
funktion openDoor() {
Console.log ("öppna kallas");
gpio.write (pin, 0, function() {});
setTimeout(function() {
gpio.write (pin, 1, function() {});
}, (1 * 1000));
}
Ansluta vår enhet till Slack är mycket bra, eftersom det är en chat ansökan och har användaren status. Med hjälp av detta kommer vi att kunna spåra våra Enhetsstatus - oavsett om det fungerar eller om den har misslyckats på grund av vissa problem. Hjärtslag är riktigt bra alternativ för Sakernas Internet enheter.
Låt oss skapa ett program som ansluter till Slack. Först måste du skapa en bot för din dörröppnare. Sedan installera nödvändiga paket.
NPM installera slack-client
Skapa en js-fil och lägga den följande koden inuti den. Glöm inte att ändra den token som du samlat in från din bot. Då kör "nod app.js" - du borde se "Välkommen till Slack" meddelande, och du bör också se din bot på Slack.
var slappa = require('slack-client');
var token = "SLACK_TOKEN", / / Lägg till en bot på https://my.slack.com/services/new/bot och kopiera token här.
autoReconnect = sant
automarken = sant;
var slappa = nya Slack (token, autoReconnect, automarken);
slack.on ("öppna", function() {
var unreads = slack.getUnreadCount();
Console.log ("Välkommen till Slack. Du är för %s', slack.self.name, slack.team.name);
});
slack.on ('fel', function(error) {
Console.error ("fel: %s', fel);
});
slack.Login();
Nu när öppnar meddelandet anländer, call openDoor funktion.
slack.on ('meddelande', function(message) {
var typ = message.type,
kanal = slack.getChannelGroupOrDMByID(message.channel),
användare = slack.getUserByID(message.user),
tid = message.ts,
text = message.text,
svar = '';
om (användaren === odefinierad) {
/ * hoppa över kanal meddelanden (hoppa över de meddelanden som inte skickas till sesam direkt) * /
return true;
}
Console.log ("Received: %s %s %s" %s "", typ, (channel.is_channel? '#': '') + channel.name, user.name, tid, text);
om (typ === 'meddelande') {
om (text === "öppna") {
openDoor(doorTimeout);
svar = 'ok';
Channel.send(Response);
Console.log ("svarade med" %s "", slack.self.name, svar);
}
}
});