Ich bin auf der Suche nach einem einfachen JavaScript-Beispiel, wie Sie Nachrichten von einem Thema erhalten. Ich versuche, einen Build-Cop mit CodeBuild, Lambda, SNS und schließlich IoT zu erstellen. Ich habe erfolgreich Nachrichten zu dem Thema veröffentlicht, aber ich kann nicht für das Leben von mir herausfinden, was zu tun ist, um die Nachricht zu erhalten.Einfaches Beispiel, wie Sie ein AWS IOT-Thema auf einem Raspberry Pi erhalten
Die Beispiele im SDK sind nicht gut dokumentiert (zumindest für mich) und ich kann nicht herausfinden, welchen Import zu verwenden oder warum und wie man ein einfaches Thema abonnieren kann.
Der Code zu senden die Nachricht an die Sache ist das Folgende. Ich schicke es von einem Lambda. Der Code ist in TypeScript geschrieben, aber ich kopiere und kopiere das transpilierte JavaScript in die Konsole, da TypeScript nativ nicht unterstützt wird.
const params = {
topic: 'topic/buildcop',
payload: color,
qos: 1
};
this.iotdata.publish(params, function(err, data){
if(err){
console.log(`error: ${err}`);
}
else{
console.log("success?");
//context.succeed(event);
}
});
Können Sie Ihre Frage zu dem, was Sie fragen, klären. Sie erwähnen, dass Sie ein Thema abonnieren, eine Nachricht erhalten usw. Fügen Sie den Code hinzu, den Sie geschrieben haben, und welches Problem Sie haben. –
Grundsätzlich konzentriert sich mein aktueller Code darauf, die roten, gelben und grünen Lichter am Pi ein- und auszuschalten. Ich habe noch keinen Code zum Lesen des Themas, weil ich nicht sicher bin, wie es weitergehen soll. Ich habe den Pi als eine Sache in der AWS-Konsole registriert, und mein JavaScript (TypScript-Code, wirklich) im Zusammenhang mit dem Empfangen der Nachrichten kocht jetzt auf eine einzige Anweisung: const awsIot = require ('aws-iot -device-sdk '); Ich habe das Geräte-SDK installiert. Ich konnte mich mit dem IoT "verbinden", indem ich die Beispiele ausführte, aber sie sind so schlecht dokumentiert, ich bin mir nicht sicher warum oder wie. –
Mein Lambda-Code - der Code, der auf die Sache schickt --- ist folgende: 'const params = {' ' Thema: 'Thema/buildcop',' ' Nutzlast: Farbe,' ' qos: 1' } ';' '' '' ' this.iotdata.publish (params, Funktion (err, data) { ' 'if (err) { ' 'console.log ('eRROR:' + err); '' } '' else { '' console.log ("Erfolg?"); '' //context.succeed (event); '' } '' }); ' –