嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

Siemens IOT2020 - 安装和测试 Node-Red、MQTT 和 SQLITE3

现在是安装一些软件让我们可以构建一个真正的开源工业网关的时间

对我而言,这意味着需要通过图表来设计并管理用于控制流的 
Node-Red
MQTT 用于向上游系统发布命令和数据,还用于往返于 Edge 节点控制继电器和电源设备的订阅和发布,以及读取温度、湿度、压力... 等等。

SQLITE3 允许历史数量得以存储并检索,供趋势判断和分析之用

现在,在我们安装任何软件之前,您必须按照前几个视频操作

HYPERLINK "https://www.youtube.com/watch?v=QLZ7fdTBYeQ&index=3&list=PL_atu5RtEPi72ubTe0c7rr1xJWhBSXted" 创建 SD 卡

HYPERLINK "https://www.youtube.com/watch?v=QLZ7fdTBYeQ&index=3&list=PL_atu5RtEPi72ubTe0c7rr1xJWhBSXted" 扩展文件系统以便充分利用 SD 卡

 健康警告。这是一篇技术含量较高的帖子,并且需要一些时间来完成此过程(需要一小时或更久,在我工作时制作视频意味着需要更多时间)。我已经尝试正确记录所有信息,但可能还会有一些错误。如果需要修改或更正,请与我联系。

现在是时候配置数据源、构架,然后以 Mosquitto 和 SQLITE3 的形式安装数据库功能的 Node-Red、MQTT 了
接着,我们将添加许多允许 Node-Red 使用的 Node-Red 模块。我们还将添加用于 Modbus、GPIO、Serial 及其他功能的节点。

  1.  配置存储库源和构架参数
    通过添加以下行至 /etc/opkg/arch.conf 来更新构架,并在下方添加粗体线

arch all 1

arch any 6

arch noarch 11

arch i586 12

arch quark 13

arch x86 14

arch i586-nlp-32 16

arch i586-nlp-32-intel-common 21

arch iot2000 26

  1. 添加名称为 /etc/opkg/iotdk.conf 的文件

    在文件中插入以下内容

src iotdk-all http://iotdk.intel.com/repos/2.0/iotdk/all
src iotdk-i586 
HYPERLINK "http://iotdk.intel.com/repos/2.0/iotdk/all" http://iotdk.intel.com/repos/2.0/iotdk/i586
src iotdk-quark 
HYPERLINK "http://iotdk.intel.com/repos/2.0/iotdk/all" http://iotdk.intel.com/repos/2.0/iotdk/quark
src iotdk-x86 
HYPERLINK "http://iotdk.intel.com/repos/2.0/iotdk/all" http://iotdk.intel.com/repos/2.0/iotdk/x86

  1. 运行以下内容,为 MRAA 添加 一个存储库
    echo "src mraa-upm http://iotdk.intel.com/repos/3.5/intelgalactic/opkg/i586" > /etc/opkg/mraa-upm.conf

  2. 运行 opkg update 以更新存储库的本地列表
  3. 现在安装 nodejs、sqlite3 和一个用于 sshd 的错误修正。(安装 nodejs 时断裂??),执行以下命令。

opkg install nodejs

opkg install sqlite3

opkg install sshd

  1. 现在,安装 node-red 和节点模块,执行以下命令(您可一口气将所有这些复制并粘贴至命令指示符,它将自动运行它们)

npm install -g --unsafe-perm node-red

CD

mkdir .node-red

cd .node-red

npm install node-red-dashboard

npm install node-red-contrib-modbus

npm install mraa

npm install galileo-io

npm install node-red-contrib-modbus

npm install node-red-contrib-modbus

npm install node-red-contrib-modbus

npm install moment

npm install node-red-dashboard

npm install node-red-contrib-modbus

npm install node-red-contrib-modbus

npm install node-red-node-sqlite

npm install node-red-contrib-modbus

npm install node-red-node-openweathermap

现在,如果您不想要所有模块,则只需删该行。这可能需要一段时间(可能超过半小时),但这可以完成,并且您可能还会看到警告。这会出现在当前版本的 OS 和这些模块中。但他们可以正常工作。

  1. (DeviceID) 
    );
    CREATE TABLE IF NOT EXISTS \`Data\` ( 
    SequenceID INTEGER PRIMARY KEY,
    \`DeviceID\` INTEGER NOT NULL,
    \`DataID\` INTEGER NOT NULL,
    \`DataValue\` NUMERIC NOT NULL, 
    \`epoch\` NUMERIC NOT NULL, 
    \`timestamp\` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP , FOREIGN KEY(DataID, DeviceID ) REFERENCES DeviceData(DAtaID, DeviceID ) 
    );
    .exit
    EOF

    cd
    chmod 777 ~/dbs
    chmod 666 ~/dbs/iot.db
    cd

    现在,我们配置 node-red 以进行一些测试。

MQTT 配置如下,您的 IP 地址当然可能会不同,请使用 linux ssh 命令提示符中的 ifconfig 查找 IP 地址。

现在是 ModBus 节点,如果您没有 TCP modbus 设备,则无法测试这一项,这也取决于设备。我已经请求了 FLIR AX8 工业热成像照相机的数据。

 

sqlite3 在 node red 中选择状态所用的命令为"select * from pins;"(从引脚;选择 *”,数据库路径为 "/home/root/dbs/iot.db"

单击按钮时您应该能看到如图所示的调试输出

只要输入 Dashboard 元素,然后使用“完成”按钮退出即可设置默认值。这会让它们显示在网络浏览器上。后面将提供一个视频进行更详细地介绍。

浏览您现在使用的相同地址,并在末尾添加 /ui,使其看起来与此类似 http://192.168.1.178:1880/ui/#/0 ,但要使用您的 IP 地址。

您应该能使用任意智能设备、手机和台式机上的浏览器。我喜欢使用 Chrome,但我尝试的所有浏览器都可正常工作。

最后是 MQTT 测试,如图所示配置 MQTT Lense(Chrome Addon),调整您的 IP 地址。

我知道这很长,但却很有必要。我希望 Siemens 将在基本代码中添加几个这样的应用程序以简化操作,但目前还没有这些,并且需要采取一些步骤才能完成。

如果您尝试时遇到困难,请发布命令,我将试着给予帮助。

 

With a background in Industrial Electronics, Solutions Architecture and programming, I now spend my time working on my YouTube channel ( https://www.youtube.com/thebreadboardca ) where I create educational videos showing how to use various devices including Test and measurement, Home and industrial Automation, Components and other fun things I am sent to review or include in projects. I will also create many projects to showcase the use of these items