专注云计算教学
新手上云第一站

小白学习IOT 第一课 模拟设备RPC上报

— 本帖被 不靠谱贝贝 从 物联网架构交流 移动到本区(2017-06-19) —
上一篇文章,介绍了了如何模拟设备上线,这回我们介绍下如何模拟设备向服务端发送RPC消息。
第一步:
在IOT控制台,点击产品后,点击左边消息通信,选择服务调用(RPC/Rvert-RPC)选项页,然后选择‘[font=&amp]配置云端服务地址’,输入你的服务器的地址和端口以及目录,这里我是用80端口和ALIIOT目录,你可以自己定义自己偏好的端口和目录,界面如下:

第二步:

修改服务器配置,添加RPC对应的解析路径和文件,IOT RPC用的是POST方法上传给服务器的,所以我们也需要服务器用对应的POST方法解析,我这里用的是NGINX服务器和PHP来解析的,所以我的修改如下:
nginx的配置文件路径通常为:/etc/nginx/sites-available/default,在server中添加:
location /aliiot {
#root /usr/share/nginx/html;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
access_log /var/log/nginx/iot.log;

if ($request_method = POST) {
access_log /var/log/nginx/post.log;
proxy_pass $scheme://127.0.0.1/aliiot/aliiot.php;
# break;
}
}
这段配置的意思是,当有IOT 的RPC上报时,NGINX就转发到aliiot/aliiot.php这个文件。
本地修改配置保存后,上传到服务端,然后检查配置和重新加载nginx:
nginx -t
service nginx reload

第三步:

创建服务端接收目录和文件:因为我们已经在网页服务器的配置添加IOT相应的路径,所以要创建这个路径和文件,
我的WEB根目录是/usr/share/nginx/html/,所以我在这个目录下创建一个目录:aliiot,然后在这个目录下创建一个文件:
mkdir aliiot
touch aliiot.php
前面提到,当有设备上报RPC消息时,就会给我们配置的文件发送POST请求,所以我们在PHP文件里把这个请求写到另一个DEMO.php文件,这样在浏览器就可以查看我们上传的消息了。
阿里云IOT测试

小白学习IOT之PRC上报\r\n

‘.$inputv.'”;’.”\r\n?>\r\n

“;
$fp = fopen(“demo.php”, “w”);
fwrite($fp, $phpv);
fclose($fp);
?>
第四步:

修改模拟设备的RPC上报的消息,阿里云IOT的例子是上报HELLO,WORLD消息,我们改一下其他消息试试,在\examples\linux\ccp\demo.c文件main函数:

rpcReq.payload = (unsigned char *) “hello world”;
rpcReq.payloadLen = strlen(“hello world”);
改为:
rpcReq.payload = (unsigned char *) “你好,世界。”;
rpcReq.payloadLen = strlen(rpcReq.payload);
然后编译运行,
make,
./demo
第五步:
使用浏览器运行网址,查看结果:http://<你的URL>/aliiot/demo.php

为了方便大家学习,附件为文中提到NGINX配置文件,设备的DEMO.C文件和服务端的ALIIOT.PHP文件。
RPC上报.rar (5 K) 下载次数:58

看大家都有录视频,因为声音不好听,就录了段TIMELAPSE,怀念一下逝去的童年。视频链接:http://xunyun17.xyz/iottimelapse/lesson1.mp4

因为网站带宽不大,可能会很卡,大家可以下载下来看。

赞(3)
未经允许不得转载:WM云建站 » 小白学习IOT 第一课 模拟设备RPC上报

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址