第一部分介绍了ESP8266的优点和局限性。我们还准备了HCP IoT服务来接收和存储来自ESP8266的传感器数据。
有两个限制需要解决。
如果您的办公室/公司网络启用了WPA2 Enterprise security,则连接到办公室/公司网络。此设备尚不能连接到此类网络。我找到的最简单的解决方案是使用我的移动网络3G连接并在手机中启用热点。
ESP8266不能使用https,因此它不能自己向Hana云平台物联网服务发布消息。为了克服这个问题,我在Android平板电脑中使用了一个PHP web服务器,并编写了一个小的PHP脚本来接受来自ESP8266的HTTP GET/POST请求,并通过HTTPS将其中继到HCP IoT服务中。
注意:这只是一种方法。您可以采用不同的方法来处理此限制。如果您没有访问Android设备的权限,web云服务器,您仍然可以使用您的计算机来托管phpweb服务器,返现,并遵循下面提到的步骤。或者您可以使用tomcat服务器并编写一个Servlet来完成同样的操作。
步骤:
从googleplay商店下载PHP web服务器。我下载了一个免费的Palapa Web服务器应用程序。
下载证书:我们必须使用PHP脚本中的HCP证书。
转到https://account.hanatrial.ondemand.com/cockpit使用google chrome.
将其作为base64证书下载到您的计算机中。我们将其命名为hana64.cer。
编写一个PHP脚本来接受来自ESP8266的GET/POST请求:
ESP8266将使用以下参数向该PHP脚本发送请求。
device:这是必须向其发送消息的设备id。
message:JSON格式的消息。
token:必须用于向其发送消息的OAuth令牌HCP.
将证书和PHP文件复制到PHP服务器根位置。(注意:请更改URL以指向您的主机)
对于我使用的Palapa Web服务器,根位置是Device/pws/www.
现在您可以调用HCP\u IOT\u HTTPS_继电器.php从ESP8266托管在PHP Web服务器上,设备id为,消息和令牌。
您可以从web服务器管理页面获取服务器的主机和端口
您可以使用chrome app Advanced REST客户端测试我们的HTTPS中继。您的有效负载将类似于
token=4da8eb85cc10bd5499612899b85c4e7c8&device=90c8ca3d-b1a7-4496-889f-f9305b2892e2&message={"mode":"sync","messageType":"1〃,"messages":[{"temperature":34,"湿度":42}]}
现在我们的HTTPS中继准备就绪。
下一步:
我们必须编程ESP8266从传感器读取温度和湿度,并将这些值填入消息json中。为了做到这一点,我们需要Arduino IDE和一些配置,大数据收集,这将在第3部分中完成。
亲爱的Prashantha,服务器云平台,
感谢您的博客。我正在尝试使用Arduino+ESP8266组合调用IoMMS服务,并偶然发现了这个博客。它的信息量非常大,为我节省了很多时间。
我跟随这个博客寻找http->https中继,并按照博客中的描述安装了证书。它不起作用,在出现错误($ch)时,我将错误视为"SSL证书问题:无法获取本地颁发者证书"。
您是否面临此问题?有什么解决办法吗?谢谢。
酷…它解决了,通过设置CURLOPT\u SSL\u VERIFYPEER false。在这里添加它是为了其他关注这个博客的人的利益,以防他们面临同样的问题。
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
嗨Krishnakumar,八斗大数据,
我会再次检查这个,并用更多的信息更新这个博客。
问候,
Prashanth
你的另一个高质量博客Prashantha!
我期待第三部分。
谢谢,继续!!
问候
Basar Ozgur
嗨Basar Ozgur,
我在度假,无法完成本系列博客的第3部分。本周一有空我就写。
问候,
普拉尚特
你好,巴萨尔奥兹格,
我已经发表了这个博客系列的第三部分。请看一看。
问候,
Prashanth
嗨Prashantha,
谢谢你的努力。