大家好,
这里是一个小而简单的物联网项目,我做了测试ESP8266节点Mcu连接到SAP云平台物联网环境。
对于这个小项目我用了:
对于ESP8266编码,我用的是Arduino IDE。如果没有Arduino IDE,可以从
我在Arduino IDE中设置了ESP8266板,打开它并在:
文件–>首选项–>附加板管理器URL中配置ESP8266。在此字段中,用以下URL填充:\u esp8266com\u index.json。
在开始编码之前,您需要在Arduino IDE的board Manager中指定board Generic ESP8266(菜单:Toos–>board–>Generic ESP8266)。
然后,将ESP8266与3,3的电源连接如果没有这个电压的电源,你可以用电压调节器或用电阻分压。最后一个选项有效,但不建议使用。ESP8266对电压非常敏感,任何电压变化都可能损坏您的电路板。
将脉冲传感器连接到ESP8266中的模拟端口。
最后,您的电路应该显示为:
下一步,您需要在中创建帐户https://account.hanatrial.ondemand.com。
在Hana云驾驶舱,寻找物联网并启用服务。
在物联网服务驾驶舱中,您需要创建设备、消息类型和设备类型。
设备–它将是您的ESP8266板。您将在代码中使用系统生成的设备ID。在设备配置中,您可以生成一个令牌,以使用id在SAP云平台物联网中进行身份验证。
消息类型–它将是您将从连接到ESP8266的传感器收集的数据的消息。在这个项目中,数据将是从脉搏传感器读取的时间戳和心脏频率。系统将生成消息类型id。此信息将用于
设备类型–它是设备id和上面创建的消息类型id之间的链接。
/
…。。Wifi客户端的初始配置(在Arduino IDE示例中查找Wifi连接)
//初始变量和常量:
//SAP云平台特定配置常量字符*主机="IOTMSxxxxxxxxTrial.hanatrial.ondemand命令网站";字符串设备\u;字符串消息\u type \u;String oauth_token="xxxxxxxxxxxxxxxxxxxxxxxx";
//下面,我使用HTTP with Post方法将数据发送到SAP云平台:
//只是一个与其他StartKit示例相对应的示例负载String post\u payload="{\"mode\":\"async\",\"messageType\":\"+message\u type\u id+"\",\"messages\":[{\"timestamp\":1413191650,\"pulse\":"+Signal+",\"value\":\"20\"}]};
const int httpsPort=443;//HTTP portWiFiClientSecure client;
//设置功能:void setup(){
//SAP Cloud Platform|尝试连接SAP Cloud–使用WiFiClientSecure类创建TLS连接
序列号.打印("连接到");序列号.println(主机);如果(!客户端.connect(主持人,淘客模板,httpsPort){序列号.println("连接失败");返回;}
//使用HTTP/1.0强制执行非分块响应
客户端.print(String("POST")+url+"HTTP/1.0\r\n"+"主机:"+主机+"\r\n"+"内容类型:application/json;charset=utf-8\r\n"+"授权:承载"+oauth\u令牌+"\r\n"+"内容长度:"+帖子_有效载荷长度()+"\r\n\r\n"+post_有效负载+"\r\n\r\n");
序列号.println("请求已发送");
序列号.println("回答是:");序列号.println("==========");
当(客户端已连接()) {字符串行=客户端.readStringUntil('\n');序列号.println(线路);}
序列号.println("==========");序列号.println("关闭连接");
}
有一次代码编译加载到ESP8266,板连接到电源,物联网大会,如果把手指放在传感器上,您将看到SAP云平台中加载的数据:
总结:ESP8266模块是连接任何物联网项目到SAP云平台的完美解决方案,但这取决于您想做什么。
如果您只想从遥感器收集数据,它可能是一个更便宜、更好的解决方案。但是,如果你想在同一类型上放置一些逻辑或控制多个传感器,树莓PI可能是一个更好的方法。
ESP8266的一些优点:
物联网的廉价解决方案体积小,云服务器特价,可以创建小型设备,非常有助于可穿戴项目Wifi嵌入式
但也有一些缺点:
不支持电压变化。任何3.3 V的电压差都可能损坏模块根据电路,你正在建设,一些电压调节器可能是必要的,云服务器那个好,带来更复杂的项目和arduino一样,大数据的数据库,ESP8266也是一个微控制器。它不支持多线程。不同于覆盆子皮那是一个微处理器