如何在React Native App中使用Node.js代码

时间:2018-12-23 20:46:15

标签: node.js azure react-native azure-iot-hub

我有一个Node.js代码,该代码连接到Azure's IoT Hub并将消息发送到中心。这是代码:

'use strict';

var connectionString = 'connectionString';

// Using the Node.js Device SDK for IoT Hub:
//   https://github.com/Azure/azure-iot-sdk-node
// The sample connects to a device-specific MQTT endpoint on your IoT Hub.
var Mqtt = require('azure-iot-device-mqtt').Mqtt;
var DeviceClient = require('azure-iot-device').Client
var Message = require('azure-iot-device').Message;

var client = DeviceClient.fromConnectionString(connectionString, Mqtt);

// Create a message and send it to the IoT hub every second
setInterval(function(){
  // Simulate telemetry.
  var temperature = 20 + (Math.random() * 15);
  var message = new Message(JSON.stringify({
    temperature: temperature,
    humidity: 60 + (Math.random() * 20)
  }));

  // Add a custom application property to the message.
  // An IoT hub can filter on these properties without access to the message body.
  message.properties.add('temperatureAlert', (temperature > 30) ? 'true' : 'false');

  console.log('Sending message: ' + message.getData());

  // Send the message.
  client.sendEvent(message, function (err) {
    if (err) {
      console.error('send error: ' + err.toString());
    } else {
      console.log('message sent');
    }
  });
}, 1000);

我有一个带有按钮的React Native应用程序,我想每次按下按钮时使用Node.js文件将消息发送到IoT中心。如何在React Native文件中包含该文件?请帮忙,谢谢。

2 个答案:

答案 0 :(得分:0)

我建议您看看Azure IoT Starter Kit Companion,它是一个示例 React Native 应用程序,可帮助您将 IoT设备连接到 iOS Android Windows 上的> IoT Hub 。

希望有帮助!

答案 1 :(得分:0)

Azure IoT中心设备SDK需要Node.js运行时,而React Native应用程序中不存在。

React Native有一个名为nodejs-mobile-react-native的插件,可引入Node.js运行时,并使您能够与React Native应用程序一起运行Node.js应用程序。

我为此主题写了detailed blog post,概述了实现该主题所需的步骤。