赞
踩
华为云物联网平台(IoT 设备接入云服务)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助您快速构筑物联网解决方案。
使用物联网平台构建一个完整的物联网解决方案主要包括3部分:物联网平台、业务应用和设备。
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下。
温馨提示:
注:有的编译工具是32位的,如果在64位的linux机器上使用,这时只要将Makefile中的-m64都删除,再进行编译即可。
3.1 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相关的头文件都添加进去。
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。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。