【问题标题】:Use AWS IoT Device SDK with Espruino and ESP8266将 AWS IoT 设备开发工具包与 Espruino 和 ESP8266 结合使用
【发布时间】:2019-10-31 01:16:04
【问题描述】:

我正在尝试将 NodeMCU 与 Espruino IDE 和 Javascript 一起使用,以将数据发送到 AWS IoT Core。但是,由于 Espruino 没有找到 aws-iot-device-sdk 模块,因此存在问题。我该如何导入它?或者我想做的事情有什么替代方法?

下面是代码:

var wifi = require("Wifi");
var awsIot = require('aws-iot-device-sdk');
var WIFI_SSID = "<Wifi>";
var WIFI_OPTIONS = {
  password : "<Password>"
};

var device = awsIot.device({
   keyPath: 'xxxxxxxxxx-private.pem.key',
  certPath: 'xxxxxxxxxx-certificate.pem.crt',
    caPath: 'rootCA.pem',
  clientId: 'nodejs-thing',
      host: 'xxxxxxxxxxxxxx-ats.iot.us-east-2.amazonaws.com'
});

wifi.stopAP(); // disable Wi-Fi AP

wifi.connect(WIFI_SSID, WIFI_OPTIONS, function(err) {
  if (err) {
    console.log("ERROR: Connection failed, error: " + err);
  } else {
    console.log("INFO: Successfully connected");
    console.log(wifi.getStatus());
    console.log(wifi.getIP());

    // set hostname and make the NodeMCU available
    // through espruino.local (ping or for using the
    // Espruino IDE over Wi-Fi
    wifi.setHostname("espruino");

    // save the Wi-Fi settings and they'll be used
    // automatically at power-up.
    wifi.save();
  }
});

device
  .on('connect', function() {
    console.log('connect');
    //device.subscribe('topic_1');
    device.publish('topic_1', JSON.stringify(
      { 
        user: 'user',
        device_id: '02',
        timestamp: '00:00:00',
        temp: 45
      }));
  });

device
  .on('message', function(topic, payload) {
    console.log('message', topic, payload.toString());
  });

非常感谢您。

【问题讨论】:

    标签: amazon-web-services iot espruino


    【解决方案1】:

    恐怕你不走运(在 ESP8266 上)。由于缺少 RAM,ESP8266 在 Espruino 中不支持 TLS/HTTPS。但是官方的 Espruino WiFi 板,甚至是 Espruino 的 ESP32 端口都支持。

    Espruino 中也没有“aws-iot-device-sdk”,但据我了解,它只是一个 MQTT 连接,因此您可以使用 https://www.espruino.com/Internet#tls 创建一个安全套接字,然后将其传递到 MQTT 库:@987654322 @

    您可以像这样指定证书:https://www.espruino.com/Reference#l_tls_connect

    否则,您可以使用 Raspberry pi 之类的东西来运行连接到 Amazon 服务器的本地未加密 MQTT 服务器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      • 2019-01-02
      • 2022-11-02
      • 2019-12-04
      • 1970-01-01
      • 2012-09-21
      • 2016-12-15
      相关资源
      最近更新 更多