将脚本复制到树莓派 (可选)
现在,我们需要在树莓派上安装某种软件,以便读取来自 (可选) 传感器或树莓派本身的数据,并将这些数据发送回 ThingWorx。如果您愿意,可将以下各项下载到计算机上:
• HC-SR04 距离传感器 - range_sensor.py
• DHT11 温度/湿度传感器 - thingxpi_DHT11.py
• 与 ThingWorx 的连接 - thingxpi.py
这些脚本旨在帮助您入门,只是方式稍有不同。例如,thingxpi_DHT11.py 脚本可提供硬编码 URL、应用程序密钥,以及更新特定设置时所需的事物名称信息。而 range_sensor.py 脚本可将 HC-SR04 的信息发送回 thingxpi.py 脚本。然后,thingxpi.py 脚本会收集树莓派的某些特定信息 (CPU 温度、内存使用率等),并使用命令行参数将这些信息打包发送回 ThingWorx 以表示特定事物、URL 和应用程序密钥。您可对每个脚本进行修改 (或从头编写) 以便检索所需信息。
如何将这些脚本加载到树莓派上则完全由用户自行决定。例如,您可以将脚本先加载到 U 盘上,再使用 CLI 将其挂载到树莓派上,然后再复制这些脚本。或者,也可以使用 apt-get 来安装 FTP 服务器,用于传输这些脚本。运行上述脚本需要安装 Python 程序。要确认 Python 程序是否已正确安装在树莓派上,请使用以下命令:
python --version
|
Python 程序版本不得低于 2.7.3。否则,将 Python 升级到新版本。
|
无论如何,将脚本加载到树莓派之后,您必须在各脚本自己的 SSH 窗口中分别执行。如果使用的是 HC-SR04 和 DHT11 传感器,则每个 SSH 窗口中的命令将如下所示:
• sudo python ./range_sensor.py
• sudo python ./thingxpi_DHT11.py
• sudo python ./thingxpi.py RasperryPiThing <ThingWorx instance URL><App key>
其中,<ThingWorx instance URL> 是 ThingWorx 实例的 URL,<App key> 是之前在本教程中创建的应用程序密钥。例如,该命令应类似于:
sudo python ./thingxpi.py RaspberryPiThing https://thingx-jdoe.abc1.thingworx.io/Thingworx d89bgc23-f3ce-42b5-b8d0-61gcd42489f8
|
请记住,在运行 thingxpi_DHT11.py 脚本之前,还必须对其进行修改,以包含正确的 URL、事物名称和应用程序密钥。如果事物名称、URL 或应用程序密钥不正确,则 Python 脚本将无法更新相关事物的属性。
|
另请注意,导入 Python 脚本时可能需要安装其他依赖程序。例如,thingxpi.py 文件中会同时使用 Setuptools 和 Requests 模块。在尝试运行每个脚本之前,您需要手动安装缺失的模块。若要安装 Python Setuptools 和 Requests 模块,请完成以下步骤:
1. 安装 Setuptools 模块。
b. 全选并复制所有内容 (Ctrl+A/Ctrl+C)。
c. 在树莓派上,使用 sudo touch ez_setup.py 命令以创建文件。
d. 使用树莓派上的文本编辑器 (如 nano) 将 ez_setup.py 的完整内容粘贴到文件中。保存并退出 ez_setup.py 文件。
e. 运行以下命令:sudo python ez_setup.py
2. 安装 Requests 模块。
a. 运行以下命令:
▪ sudo git clone git://github.com/kennethreitz/requests.git
▪ cd requests (例如,将目录更改为 GIT 刚添加的文件夹)
▪ sudo python setup.py install
执行后,每个脚本都会继续运行,打印出收集的信息并将这些信息发送给 ThingWorx (正是因为如此,此方法才需要三个单独 SSH 窗口)。保持所有脚本在树莓派上运行,ThingWorx 会定期更新这些信息。然后,您就可以在自己的 AR 体验中使用这些存储的信息。
验证树莓派和 ThingWorx 之间的连接
1. 打开 ThingWorx。
2. 单击“建模”下面的“事物”。搜索 RaspberryPiThing 并将其选中。
3. 单击“实体信息”下面的“属性”。
4. 单击“值”列顶部的“刷新属性”图标。
5. 确认每次按下“刷新属性”图标时,某些值会发生变化。