我正在尝试从我的mac向运行在Google VM IoT实例上的谷歌linux网关发送消息。无法让运行在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设置为指向我的项目。
我更新了thermostat.py脚本中的ADDR,使其指向linux实例的地址。但我不太确定该使用哪个地址。在linux实例上运行ifconfig获得的地址在我的mac上是无法linux通的。我使用的是分配给linux实例的静态地址,虽然我可以ping通它,但我没有看到运行在网关上的服务器确认脚本发送的消息。
在linux实例上,我运行网关服务器,如果在同一实例上运行thermostat.py,我会看到网关和谷歌IoT控制台收到的消息。
然而,我在本地机器(mac)上运行thermostat.py时遇到了问题。在我的嵌入式设备上尝试它之前,我想让它工作。我可以看到脚本试图发送消息,但我没有看到服务器上收到任何消息。
我应该使用哪个ip地址与我的linux实例上的网关服务器通信?
除了设置ADDR和GOOGLE_CLOUD_PROJECT之外,我还需要对thermostat.py进行其他更改吗
发布于 2019-06-19 01:28:46
默认情况下,GCE (Google Compute Engine)中的虚拟机有一个锁定的防火墙。您需要为HTTP连接打开端口,以便到网关的流量可以通过。
https://stackoverflow.com/questions/56481757
复制相似问题