西门子SIMATIC IOT2000系列到Ubidots+Arduino IDE
使用Arduino IDE对SIMATIC 2000系列进行编程,并将数据发送到Ubidots。
硬件
软件
介绍
设置SIMATIC IOT2000系列
I:刻录并安装SD卡
II:首次调试SIMATIC IOT2000
III:Arduino IDE和示例代码
IV:在Ubidots中可视化您的数据
V:在Ubidots中可视化您的数据
结果
完整代码
硬件
软件
介绍
Arduino的简单性与西门子的可靠性和历史性相结合,使SIMATIC IOT2000系列成为工厂和机构中探索连接和改装选项的工业网关的完美选择。 新型传感器位于旧机器上或只是升级当前使用的传感器,SIMATIC IOT2000系列通过MQTT和Modbus等常用协议有效地协调,分析和转发数据。 SIMATIC IOT2000系列基于Yocto Linux,包括与大多数Arduino草图兼容的IoT2020和IoT2040型号,可直接从Arduino IDE上传。 IOT2040是工厂的理想选择,而IOT2020是教育机构中最好的附加外设和通信协议。下面的教程演示了如何使用Arduino IDE设置SIMATIC IOT2000系列和示例代码,以便向Ubidots发送HTTP请求,实现前端翻译。
设置SIMATIC IOT2000系列
首先,您必须注册或访问Siemens支持门户才能下载所有初始配置。 此门户网站还将提供西门子针对任何硬件相关查询的故障排除和支持。 整个IOT2000系列的设置方式相同,请按照本教程了解该系列中的任何设备。
设置:I:刻录并安装SD-Card;II:首次调试SIMATIC IOT2000;III:Arduino IDE和示例代码;IV:在Ubidots中可视化您的数据
I:刻录并安装SD卡
首先使用西门子工业在线支持页面提供的镜像刻录SD卡。请下载并保存
- 将microSD卡插入计算机的SD卡插槽(可能需要适配器)。
- 解压缩下载的镜像并将其刻录到SD卡。 Microsoft用户单击此处或如何将镜像刻录到SD卡。 Linux用户请继续阅读。
使用Linux将映像刻录到SD卡:
打开计算机终端,然后转到zip文件所在的文件夹。使用cd命令下载。 e.i:我将文件下载到“下载”目录中:
cd Downloads |
运行以下命令解压缩下载文件:
sudo unzip 109741799_Example_Image_V2.1.3.zip |
正确解压缩zip文件后,您将看到一个名为example-V2.1.3.wic的文件,如上所示。
注意:如果运行上述命令时出错,请验证下载文件的名称是否相同。
验证SD卡的位置以卸载它并刻录镜像。运行以下命令以验证位置:
df -h |
SD卡应该位于目录/ dev / ...;在我的情况下,SD卡位于以下目录/ dev / mmcblk0中。
运行以下命令卸载的SD卡:
unmount /dev/mmcblk0 |
要刻录镜像,请更换解压缩文件的名称和SD卡的位置;命令的结构如下:
sudo dd bs=1M if={name_of_the_image} of={SD_location} |
一旦参数被正确的参数替换,该命令应类似于以下内容:
sudo dd bs=1M if=example-V2.1.3.wic of=/dev/mmcblk0 |
运行此命令需要几分钟,请耐心等待:)
安装您的SD卡
将SD卡连接到硬件。下面我们将SD卡安装到SIMATIC 2040中。
II:首次调试SIMATIC IOT2000
以下步骤说明如何使用静态IP访问SIMATIC IOT2040以设置网关的网络。如果您希望可以使用分配的IP地址直接访问,此时需要注意的是,SIMATIC IOT 2040默认情况下会在以太网端口 - X2P1中显示DHCP地址。
关闭电源并将以太网电缆的一端连接到计算机,另一端连接到SIMATIC IOT2000设备的以太网端口X1P1。
小心:仅使用DC 9 ... 36V电源!
SIMATIC IOT2000上电后,您将在网关的LED上看到以下行为:
- PWR:常亮,设备开启
- SD:间歇性......然后常闭
- USB:常亮,设备开启
SD LED将是间歇性的,因为调整SD卡的大小,等待SD LED将其状态更改为常闭,就可以访问网关。
SIMATIC IOT2000允许您通过串行,SSH或Telnet访问;本指南使用SSH连接。
SIMATIC IOT2000默认具有静态IP地址 - > 192.168.200.1。要建立SSH连接,您的计算机与SIMATIC IOT2000具有相同的子网。
如果您使用Microsoft,请参阅此入门指南以了解如何访问网关。 Linux用户请继续阅读以下步骤。
在SIMATIC IOT2000的同一子网上组态计算机网络后,使用ping验证其连接:
ping 192.168.200.1 |
期望结果:
PING 192.168.200.1 (192.168.200.1) 56(84) bytes of data. |
如果收到此预期结果,则说明SIMATIC IOT2000设备已正确连接。
运行以下命令访问网关:
ssh root@192.168.200.1 |
首次访问网关时,系统将提示您批准安全消息。发送命令yes并按Enter键批准并继续。正确建立访问后,您将在终端中看到以下根目录:
root@iot2000:~# |
如上所述,SIMATIC IOT2000的静态IP地址设置为192.168.200.1。因此,如果需要另一个静态IP地址或DHCP地址,可以在“/ etc / network”目录的“interfaces”文件中进行设置。
为此,请进入使用以下命令指定的目录:
cd /etc/network/ |
运行以下命令使用nano编辑器打开interfaces文件:
nano interfaces |
默认情况下,interfaces文件的内容与以下内容相同。
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) |
如上所述,如果使用SIMATIC IOT2040,则默认情况下会在第二个端口(X2 P1LAN)上配置DHCP地址。确保以太网电缆已连接到第二个以太网端口并重新启动网关。
如果您正在使用SIMATIC IOT2020并希望设置DHCP地址,则必须修改interfaces文件,如下所示,然后重新启动网关:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) |
配置DHCP地址后,您可以使用网络扫描仪应用程序了解分配给SIMATIC 2000的新IP地址,我们强烈建议您使用易于使用的https://www.fing.io/fing,并且可以在Google的Play商店和Apple的App Store中使用。:)
III:Arduino IDE和示例代码
SIMATIC IOT2000与使用Intel Galileo软件包的Arduino IDE兼容。请按照以下步骤正确设置电路板:
- 打开Arduino IDE
- 从工具 - >板 - >板卡管理器打开板卡管理器并安装galileo包。要找到正确的设备,请在搜索栏中搜索“Intel i5”。下载并安装最新版本。
- 从Tools> Board菜单中选择Intel Galileo gen2。
- 将Micro USB连接到IOT2000,然后选择从工具>端口> Intel Galileo分配的端口com。如果您在Windows 电脑上工作时无法识别您的IOT2000,则必须手动更新驱动程序。
- 现在配置完所有内容后,上传Blink Sketch以验证一切正常。转到文件>示例>基础>Blink并编译代码。
- 如果代码已正确更新,用户 LED将开始闪烁。
IV:在Ubidots中可视化您的数据
一旦您能够将Blink代码编译到SIMATIC IOT2000中,您就可以继续执行以下步骤:
将以下代码复制并粘贴到Arduino IDE中。粘贴代码后,请务必在指定位置分配唯一的Ubidots TOKEN。如果你不知道你的Ubidots TOKEN如何,请参考这篇文章。
代码略
重要部署注意:上面的代码是一个示例代码,演示了如何使用EthernetClient库向Ubidots发送HTTP POST请求。 要实现您自己的代码,请参考Ubidots REST API参考和Siemens支持以获取其他资源。
选中复选标记图标,然后选中复选标记图标旁边的右箭头图标,验证并上传代码。
要可视化服务器的响应及其与设备的连接,请打开Arduino IDE的串行监视器。通过选择Arduino IDE右上角的“放大镜”图标来显示串行监视器。
V:在Ubidots中可视化您的数据
通过转到您的Ubidots帐户确认您的代码,找到名为“simatic-iot2000”的新设备,其中包含一个名为“湿度”的变量,该变量读取SIMATIC IOT2000所包含的Arduino Shield输入的A0。
结果
在短短几分钟内,我们集成了一个工业设备,西门子SIMATIC IOT2000和Ubidots,只需要有关Arduino IDE硬件和功能的基本知识。
现在是时候创建Ubidots仪表板来可视化和解释您的数据以控制流程或减少错误。