当前位置: 代码网 > it编程>游戏开发>ar > 【物联网】华为云物联网平台SDK移植到ARM平台详解

【物联网】华为云物联网平台SDK移植到ARM平台详解

2024年08月06日 ar 我要评论
华为云物联网平台(IoT 设备接入云服务)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助您快速构筑物联网解决方案。使用物联网平台构建一个完整的物联网解决方案主要包括3部分:物联网平台、业务应用和设备。物联网平台作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入;同时提供强大的开放能力,支撑行业用户构建各种物联网解决方案。

00. 目录

01. 华为云物联网平台概述

华为云物联网平台(iot 设备接入云服务)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助您快速构筑物联网解决方案。

使用物联网平台构建一个完整的物联网解决方案主要包括3部分:物联网平台、业务应用和设备。

  • 物联网平台作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入;同时提供强大的开放能力,支撑行业用户构建各种物联网解决方案。
  • 设备可以通过固网、2g/3g/4g/5g、nb-iot、wifi等多种网络接入物联网平台,并使用lwm2m/coap、mqtt、https协议将业务数据上报到平台,平台也可以将控制命令下发给设备。
  • 业务应用通过调用物联网平台提供的api,实现设备数据采集、命令下发、设备管理等业务场景。

在这里插入图片描述

02. openssl移植到arm平台

2.1 openssl移植到arm平台

参考:【物联网】arm平台移植openssl-1.1.1详解

2.2 拷贝库文件到sdk的中lib目录下

deng@local:~/openssl/lib$ cp libcrypto.so.1.1  libcrypto.so libssl.so.1.1 
libssl.so /home/deng/iot/arm/lib/
deng@local:~/openssl/lib$ 

在配置的openssl安装目录下home/deng/openssl找到lib目录,有生成的库文件:“libcrypto.so.1.1”“libssl.so.1.1”和软链接“libcrypto.so”“libssl.so”,请将这些文件拷贝到demo的lib文件夹下。

2.3 拷贝头文件到sdk指定的include目录下

deng@local:~/openssl/include/openssl$ pwd
/home/deng/openssl/include/openssl
deng@local:~/openssl/include/openssl$ cp * /home/deng/iot/arm/include/openssl/
deng@local:~/openssl/include/openssl$ 

将/home/deng/openssl/include/openssl里的内容拷贝到demo的include/openssl下。

温馨提示:

03. paho移植到arm平台

3.1 paho移植到arm平台

参考:【物联网】paho移植到arm平台详解

3.2 拷贝库文件

deng@local:~/iot/paho.mqtt.c-master/build/output$ cp libpaho-mqtt3as.so 
libpaho-mqtt3as.so.1 /home/deng/iot/arm/lib/
deng@local:~/iot/paho.mqtt.c-master/build/output$ 

当前sdk仅用到了libpaho-mqtt3as,请将**“libpaho-mqtt3as.so”“libpaho-mqtt3as.so.1”**文件拷贝到demo的lib文件夹下。

3.3 拷贝头文件

deng@local:~/iot/paho.mqtt.c-master/src$ cp mqttasync.h mqttclient.h  
mqttclientpersistence.h mqttproperties.h mqttreasoncodes.h  
mqttsubscribeopts.h mqttexportdeclarations.h /home/deng/iot/arm/include/base/
deng@local:~/iot/paho.mqtt.c-master/src$ 

同时回到paho源代码路径,进入src目录,将mqttasync.h、mqttclient.h、mqttclientpersistence.h、mqttproperties.h、mqttreasoncodes.h、mqttsubscribeopts.h拷贝到demo的include/base文件夹下)。

有的paho版本会有 mqttexportdeclarations.h 头文件,建议可以将mqtt相关的头文件都添加进去。

04. 编译工程代码

4.1 执行make clean命令

deng@local:~/iot/arm$ make clean 
rm -f string_util.o mqtt_c_demo.o mqtt *.d
deng@local:~/iot/arm$ 

4.2 修改makefile文件

deng@local:~/iot/arm$ vim makefile  

4.3 将cc改成交叉编译器

cc = arm-linux-gcc

4.4 删除所有-m64选项

4.5 编译

deng@local:~/iot/arm$ make 

4.6 编写shell脚本

start.sh脚本内容如下

export ld_library_path=./lib/

./mqtt



4.7 在arm平台执行脚本

[root@qfedu arm]#./start.sh 

mqtt_connect() mqttclientcreateflag = 1.
begin to connect the server.
connect success. 
mqtt_publish(), the payload is {"services": [{"service_id": "smarthome","properties": {"temperature": 17,"lightstatus": "off","alarmstatus": "off","humidity": 70},"event_time": ""}]}, the topic is $oc/devices/647b17f7b5afea0c91b9f66f_smarthometest/sys/properties/report 
publish success, the messageid is 1 
mqtt_publish(), the payload is {"services": [{"service_id": "smarthome","properties": {"temperature": 17,"lightstatus": "off","alarmstatus": "off","humidity": 70},"event_time": ""}]}, the topic is $oc/devices/647b17f7b5afea0c91b9f66f_smarthometest/sys/properties/report 
publish success, the messageid is 2 

如果能够收到华为云的数据,表示链接ok。

05. 附录

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com