如何使用在Google Linux实例上运行的服务器向IoT网关发送消息

时间:2019-06-06 16:35:38

标签: google-cloud-iot

我正在尝试将邮件从Mac发送到在Google VM Linux实例上运行的Google IoT网关。无法在Linux实例中运行网关服务器来确认从Mac上的脚本发送的消息。

设置Google VM Linux实例,并按照以下说明进行操作: https://codelabs.developers.google.com/codelabs/cloud-iot-core-gateways/index.html#0

我确实尝试通读了https://cloud.google.com/community/tutorials/cloud-iot-gateways-rpi。 我设置GOOGLE_CLOUD_PROJECT指向我的项目。

我更新了ADDR脚本中的thermostat.py以指向Linux实例的地址。但是我不确定使用哪个地址。 在Linux实例上运行ifconfig获得的地址无法从我的Mac ping通。我使用了分配给linux实例的静态地址,尽管我可以ping通它,但是我看不到网关上运行的服务器能确认脚本发送的消息。

在linux实例上,我运行网关服务器,如果在同一实例上运行thermostat.py,我会看到网关和Google IoT控制台收到的消息。

但是,我无法从本地计算机(mac)运行thermostat.py。在嵌入式设备上尝试之前,我想使其正常工作。我可以看到脚本尝试发送消息,但是在服务器上没有收到任何消息。

我应该使用哪个IP地址与我的Linux实例上的网关服务器通信?

除了设置ADDRGOOGLE_CLOUD_PROJECT之外,我还需要对thermostat.py进行其他更改吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,GCE(Google Compute Engine)中的VM具有锁定的防火墙。您需要打开用于HTTP连接的端口,以便网关的流量可以通过。