本文主要是介绍移远EC20 + 阿里mqtt c-sdk,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
c-sdk下载以及相关接口见 :https://helpcdn.aliyun.com/document_detail/96623.html 这里我下载的是c-sdk-v2.3.0的版本。放到ql-ol-sdk 同一级目录下:
1.初始化相关的交叉编译环境:
sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0$ source ../ql-ol-sdk/ql-ol-crosstool/ql-ol-crosstool-env-init
QUECTEL_PROJECT_NAME =EC20CE_FAG
QUECTEL_PROJECT_REV =EC20CEFAGR06A06M4G_OCPU
QUECTEL_FEATURE_OPENLINUX =OL
Relocating ............done
Remove old ql-ol-rootfs
Extracting the rootfs...Done.
sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0$
2.添加编译配置文件 /c-sdk-v2.3.0/src/board/config.linux.ec20 内容如下
CONFIG_ENV_CFLAGS = \-D_PLATFORM_IS_LINUX_ \-Wall \-DNO_EXECUTABLES \-D__UBUNTU_SDK_DEMO__ \CROSS_PREFIX := arm-oe-linux-gnueabi-CONFIG_wrappers :=
3.在/c-sdk-v2.3.0/src/ref-impl/hal/os中新增相关的linux相关文件目录,复制ubuntu文件夹即可
sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0/src/ref-impl/hal/os$ ll
total 24
drwxrwxrwx 6 sz sz 4096 8月 6 10:52 ./
drwxrwxrwx 4 sz sz 4096 7月 7 19:54 ../
drwxrwxrwx 2 sz sz 4096 7月 7 19:54 linux/
drwxrwxrwx 2 sz sz 4096 7月 7 19:54 macos/
drwxrwxrwx 2 sz sz 4096 7月 7 19:54 ubuntu/
drwxrwxrwx 2 sz sz 4096 7月 7 19:54 win7/
sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0/src/ref-impl/hal/os$
4.选择上一步的配置
sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0$ make reconfig
SELECT A CONFIGURATION:1) config.esp8266.aos 4) config.mk3060.aos 7) config.ubuntu.x86
2) config.linux.ec20 5) config.mk3080.aos 8) config.win7.mingw32
3) config.macos.x86 6) config.rhino.make 9) config.xboard.make
#? 2SELECTED CONFIGURATION:VENDOR : linux
MODEL : ec20CONFIGURE .............................. [examples]
CONFIGURE .............................. [src/infra/log]
CONFIGURE .............................. [src/infra/system]
CONFIGURE .............................. [src/infra/utils]
CONFIGURE .............................. [src/protocol/alcs]
CONFIGURE .............................. [src/protocol/coap/cloud]
CONFIGURE .............................. [src/protocol/coap/local]
CONFIGURE .............................. [src/protocol/http]
CONFIGURE .............................. [src/protocol/http2]
CONFIGURE .............................. [src/protocol/mqtt]
CONFIGURE .............................. [src/ref-impl/hal]
CONFIGURE .............................. [src/ref-impl/tls]
CONFIGURE .............................. [src/sdk-impl]
CONFIGURE .............................. [src/services/awss]
CONFIGURE .............................. [src/services/dev_bind]
CONFIGURE .............................. [src/services/http2_stream]
CONFIGURE .............................. [src/services/linkkit/cm]
CONFIGURE .............................. [src/services/linkkit/dev_reset]
CONFIGURE .............................. [src/services/linkkit/dm]
CONFIGURE .............................. [src/services/mdal/mal]
CONFIGURE .............................. [src/services/mdal/sal]
CONFIGURE .............................. [src/services/ota]
CONFIGURE .............................. [src/services/shadow]
CONFIGURE .............................. [src/services/subdev]
CONFIGURE .............................. [src/tools/linkkit_tsl_convert]BUILDING WITH EXISTING CONFIGURATION:VENDOR : linux
MODEL : ec20Components: . examples
. src/infra/system
. src/infra/log
. src/infra/utils
. src/services/awss
. src/services/linkkit/cm
. src/services/linkkit/dm
. src/services/linkkit/dev_reset
. src/services/subdev
. src/services/ota
. src/services/mdal/sal
. src/services/mdal/mal
. src/services/dev_bind
. src/services/http2_stream
. src/services/shadow
. src/ref-impl/tls
. src/ref-impl/hal
. src/sdk-impl
. src/protocol/mqtt
. src/protocol/http
. src/protocol/http2
. src/protocol/alcs
. src/protocol/coap/cloud
. src/protocol/coap/local
. src/tools/linkkit_tsl_convert sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0$
5.生成相应的静态库
sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0$ make
BUILDING WITH EXISTING CONFIGURATION:VENDOR : linux
MODEL : ec20[CC] utils_base64.o <= ...
[CC] utils_hmac.o <= ...
[CC] utils_md5.o <= ...
[CC] utils_sha1.o <= ...
[CC] utils_sha256.o <= ...
[CC] json_parser.o <= ...
[CC] json_token.o <= ...
[CC] lite-cjson.o <= ...
[CC] mem_stats.o <= ...
[CC] string_utils.o <= ...
[CC] utils_epoch_time.o <= ...
[CC] utils_event.o <= ...
[CC] utils_httpc.o <= ...
[CC] utils_net.o <= ...
[CC] utils_timer.o <= ...
[CC] iotx_log.o <= ...
[CC] aos_support.o <= ...
[CC] ca.o <= ...
[CC] device.o <= ...
[CC] event.o <= ...
[CC] guider.o <= ...
[CC] report.o <= ...
[CC] fac_string.o <= ...
[CC] impl_dynreg.o <= ...
[CC] impl_linkkit.o <= ...
[CC] impl_logpost.o <= ...
[CC] sdk-impl.o <= ...
[CC] impl_gateway.o <= ...
[CC] impl_ntp.o <= ...
[CC] impl_solo.o <= ...
[CC] mqtt_client.o <= ...
[CC] MQTTConnectClient.o <= ...
[CC] MQTTDeserializePublish.o <= ...
[CC] MQTTPacket.o <= ...
[CC] MQTTSerializePublish.o <= ...
[CC] MQTTSubscribeClient.o <= ...
[CC] MQTTUnsubscribeClient.o <= ...
[CC] iotx_ota.o <= ...
[CC] ota_fetch.o <= ...
[CC] ota_lib.o <= ...
[CC] iotx_cm.o <= ...
[CC] iotx_cm_coap.o <= ...
[CC] iotx_cm_mqtt.o <= ...
[CC] dm_api.o <= ...
[CC] dm_cota.o <= ...
[CC] dm_fota.o <= ...
[CC] dm_ipc.o <= ...
[CC] dm_manager.o <= ...
[CC] dm_message.o <= ...
[CC] dm_message_cache.o <= ...
[CC] dm_msg_process.o <= ...
[CC] dm_opt.o <= ...
[CC] dm_ota.o <= ...
[CC] dm_shadow.o <= ...
[CC] dm_tsl_alink.o <= ...
[CC] dm_utils.o <= ...
[CC] dm_server_adapter.o <= ...
[CC] dm_server.o <= ...
[CC] dm_client_adapter.o <= ...
[CC] dm_client.o <= ...
[CC] awss_reset.o <= ...
[CC] CoAPDeserialize.o <= ...
[CC] CoAPExport.o <= ...
[CC] CoAPMessage.o <= ...
[CC] CoAPNetwork.o <= ...
[CC] CoAPObserve.o <= ...
[CC] CoAPPlatform.o <= ...
[CC] CoAPResource.o <= ...
[CC] CoAPSerialize.o <= ...
[CC] CoAPServer.o <= ...
[CC] awss_adha.o <= ...
[CC] awss_aha.o <= ...
[CC] awss_aplist.o <= ...
[CC] awss.o <= ...
[CC] awss_crypt.o <= ...
[CC] awss_dev_ap.o <= ...
[CC] awss_enrollee.o <= ...
[CC] awss_ht40.o <= ...
[CC] awss_main.o <= ...
[CC] awss_registrar.o <= ...
[CC] awss_smartconfig.o <= ...
[CC] awss_smartconfig_mcast.o <= ...
[CC] awss_wifimgr.o <= ...
[CC] awss_wps.o <= ...
[CC] connect_ap.o <= ...
[CC] zconfig_ieee80211.o <= ...
[CC] zconfig_protocol.o <= ...
[CC] zconfig_utils.o <= ...
[CC] zconfig_vendor_common.o <= ...
[CC] awss_bind.o <= ...
[CC] awss_cmp_coap.o <= ...
[CC] awss_cmp_mqtt.o <= ...
[CC] awss_event.o <= ...
[CC] awss_notify.o <= ...
[CC] awss_packet.o <= ...
[CC] awss_report.o <= ...
[CC] awss_timer.o <= ...
[CC] passwd.o <= ...
[CC] os_misc.o <= ...
[AR] libiot_sdk.a <= ...
[CC] HAL_AWSS_linux.o <= ...
[CC] HAL_Crypt_Linux.o <= ...
[CC] HAL_FS_Linux.o <= ...
[CC] HAL_KV_linux.o <= ...
[CC] HAL_OS_linux.o <= ...
[CC] HAL_TCP_linux.o <= ...
[CC] HAL_UDP_linux.o <= ...
[CC] dns.o <= ...
[CC] HAL_DTLS_mbedtls.o <= ...
[CC] HAL_TLS_mbedtls.o <= ...
[AR] libiot_hal.a <= ...
[CC] aes.o <= ...
[CC] asn1parse.o <= ...
[CC] base64.o <= ...
[CC] bignum.o <= ...
[CC] cipher.o <= ...
[CC] cipher_wrap.o <= ...
[CC] ctr_drbg.o <= ...
[CC] debug.o <= ...
[CC] entropy.o <= ...
[CC] entropy_poll.o <= ...
[CC] error.o <= ...
[CC] md5.o <= ...
[CC] md.o <= ...
[CC] md_wrap.o <= ...
[CC] net_sockets.o <= ...
[CC] oid.o <= ...
[CC] pem.o <= ...
[CC] pk.o <= ...
[CC] pkparse.o <= ...
[CC] pk_wrap.o <= ...
[CC] platform.o <= ...
[CC] rsa.o <= ...
[CC] sha1.o <= ...
[CC] sha256.o <= ...
[CC] ssl_ciphersuites.o <= ...
[CC] ssl_cli.o <= ...
[CC] ssl_cookie.o <= ...
[CC] ssl_tls.o <= ...
[CC] timing.o <= ...
[CC] x509.o <= ...
[CC] x509_crt.o <= ...
[AR] libiot_tls.a <= ...| RATE | OBJ NAME | BYTES/TOTAL | MODULE NAME ||-------|-------------------------------------|----------------|----------------------------|| 37.7% | guider.o | 4380/11604 | src/infra/system || 30.5% | report.o | 3540/11604 | src/infra/system || 11.1% | ca.o | 1296/11604 | src/infra/system || 8.89% | fac_string.o | 1032/11604 | src/infra/system || 7.16% | event.o | 832/11604 | src/infra/system || 2.58% | device.o | 300/11604 | src/infra/system || 1.93% | aos_support.o | 224/11604 | src/infra/system ||-------|-------------------------------------|----------------|----------------------------|| 100% | iotx_log.o | 1816/1816 | src/infra/log ||-------|-------------------------------------|----------------|----------------------------|| 26.0% | utils_httpc.o | 9028/34676 | src/infra/utils || 20.0% | utils_sha1.o | 6940/34676 | src/infra/utils || 12.6% | utils_md5.o | 4400/34676 | src/infra/utils || 11.0% | lite-cjson.o | 3820/34676 | src/infra/utils || 6.96% | utils_hmac.o | 2416/34676 | src/infra/utils || 5.88% | utils_sha256.o | 2040/34676 | src/infra/utils || 5.43% | json_parser.o | 1884/34676 | src/infra/utils || 3.20% | utils_base64.o | 1112/34676 | src/infra/utils || 2.87% | string_utils.o | 996/34676 | src/infra/utils || 2.76% | utils_net.o | 960/34676 | src/infra/utils || 1.36% | mem_stats.o | 472/34676 | src/infra/utils || 0.88% | json_token.o | 308/34676 | src/infra/utils || 0.68% | utils_timer.o | 236/34676 | src/infra/utils || 0.18% | utils_event.o | 64/34676 | src/infra/utils ||-------|-------------------------------------|----------------|----------------------------|| 18.0% | awss_smartconfig.o | 10756/59480 | src/services/awss || 17.1% | awss_registrar.o | 10196/59480 | src/services/awss || 9.73% | awss_wifimgr.o | 5788/59480 | src/services/awss || 8.55% | zconfig_vendor_common.o | 5088/59480 | src/services/awss || 6.61% | zconfig_ieee80211.o | 3932/59480 | src/services/awss || 6.04% | awss_smartconfig_mcast.o | 3596/59480 | src/services/awss || 5.78% | awss_dev_ap.o | 3440/59480 | src/services/awss || 4.92% | awss_aplist.o | 2932/59480 | src/services/awss || 4.88% | awss_wps.o | 2908/59480 | src/services/awss || 3.67% | awss_enrollee.o | 2188/59480 | src/services/awss || 3.40% | zconfig_protocol.o | 2024/59480 | src/services/awss || 2.15% | awss.o | 1284/59480 | src/services/awss || 1.95% | awss_adha.o | 1164/59480 | src/services/awss || 1.66% | awss_aha.o | 988/59480 | src/services/awss || 1.59% | awss_main.o | 948/59480 | src/services/awss || 1.50% | awss_crypt.o | 896/59480 | src/services/awss || 1.24% | zconfig_utils.o | 740/59480 | src/services/awss || 1.02% | connect_ap.o | 612/59480 | src/services/awss ||-------|-------------------------------------|----------------|----------------------------|| 61.4% | iotx_cm_mqtt.o | 3944/6416 | src/services/linkkit/cm || 38.5% | iotx_cm.o | 2472/6416 | src/services/linkkit/cm ||-------|-------------------------------------|----------------|----------------------------|| 26.7% | dm_message.o | 9384/35120 | src/services/linkkit/dm || 21.2% | dm_manager.o | 7456/35120 | src/services/linkkit/dm || 12.7% | dm_msg_process.o | 4484/35120 | src/services/linkkit/dm || 10.2% | dm_utils.o | 3612/35120 | src/services/linkkit/dm || 8.22% | dm_api.o | 2888/35120 | src/services/linkkit/dm || 5.44% | dm_client.o | 1912/35120 | src/services/linkkit/dm || 4.88% | dm_cota.o | 1716/35120 | src/services/linkkit/dm || 4.60% | dm_fota.o | 1616/35120 | src/services/linkkit/dm || 2.60% | dm_ipc.o | 916/35120 | src/services/linkkit/dm || 2.09% | dm_client_adapter.o | 736/35120 | src/services/linkkit/dm || 0.56% | dm_ota.o | 200/35120 | src/services/linkkit/dm || 0.56% | dm_opt.o | 200/35120 | src/services/linkkit/dm ||-------|-------------------------------------|----------------|----------------------------|| 100% | awss_reset.o | 1740/1740 | src/services/linkkit/dev_reset ||-------|-------------------------------------|----------------|----------------------------|| 78.2% | iotx_ota.o | 12048/15400 | src/services/ota || 18.4% | ota_lib.o | 2836/15400 | src/services/ota || 3.35% | ota_fetch.o | 516/15400 | src/services/ota ||-------|-------------------------------------|----------------|----------------------------|| 33.4% | awss_notify.o | 5056/15100 | src/services/dev_bind || 24.3% | awss_report.o | 3672/15100 | src/services/dev_bind || 13.8% | awss_packet.o | 2088/15100 | src/services/dev_bind || 9.56% | awss_cmp_coap.o | 1444/15100 | src/services/dev_bind || 5.98% | passwd.o | 904/15100 | src/services/dev_bind || 5.19% | os_misc.o | 784/15100 | src/services/dev_bind || 4.84% | awss_cmp_mqtt.o | 732/15100 | src/services/dev_bind || 2.14% | awss_bind.o | 324/15100 | src/services/dev_bind || 0.34% | awss_event.o | 52/15100 | src/services/dev_bind || 0.29% | awss_timer.o | 44/15100 | src/services/dev_bind ||-------|-------------------------------------|----------------|----------------------------|| 21.1% | ssl_tls.o | 32416/153096 | src/ref-impl/tls || 11.2% | bignum.o | 17220/153096 | src/ref-impl/tls || 9.03% | ssl_cli.o | 13828/153096 | src/ref-impl/tls || 8.77% | error.o | 13440/153096 | src/ref-impl/tls || 7.99% | x509_crt.o | 12236/153096 | src/ref-impl/tls || 6.47% | rsa.o | 9916/153096 | src/ref-impl/tls || 4.53% | sha1.o | 6940/153096 | src/ref-impl/tls || 4.00% | aes.o | 6128/153096 | src/ref-impl/tls || 2.92% | oid.o | 4472/153096 | src/ref-impl/tls || 2.80% | md5.o | 4300/153096 | src/ref-impl/tls || 2.55% | sha256.o | 3916/153096 | src/ref-impl/tls || 1.96% | x509.o | 3004/153096 | src/ref-impl/tls || 1.70% | cipher.o | 2616/153096 | src/ref-impl/tls || 1.65% | debug.o | 2532/153096 | src/ref-impl/tls || 1.43% | pkparse.o | 2196/153096 | src/ref-impl/tls || 1.33% | md.o | 2048/153096 | src/ref-impl/tls || 1.32% | net_sockets.o | 2036/153096 | src/ref-impl/tls || 1.24% | ssl_ciphersuites.o | 1900/153096 | src/ref-impl/tls || 1.17% | pem.o | 1800/153096 | src/ref-impl/tls || 1.10% | asn1parse.o | 1688/153096 | src/ref-impl/tls || 1.02% | ctr_drbg.o | 1572/153096 | src/ref-impl/tls || 0.89% | pk.o | 1368/153096 | src/ref-impl/tls || 0.76% | base64.o | 1172/153096 | src/ref-impl/tls || 0.60% | entropy.o | 924/153096 | src/ref-impl/tls || 0.51% | ssl_cookie.o | 788/153096 | src/ref-impl/tls || 0.41% | cipher_wrap.o | 632/153096 | src/ref-impl/tls || 0.38% | pk_wrap.o | 592/153096 | src/ref-impl/tls || 0.36% | md_wrap.o | 560/153096 | src/ref-impl/tls || 0.28% | entropy_poll.o | 432/153096 | src/ref-impl/tls || 0.26% | timing.o | 404/153096 | src/ref-impl/tls || 0.01% | platform.o | 20/153096 | src/ref-impl/tls ||-------|-------------------------------------|----------------|----------------------------|| 22.0% | HAL_TLS_mbedtls.o | 5680/25784 | src/ref-impl/hal || 19.5% | HAL_AWSS_linux.o | 5040/25784 | src/ref-impl/hal || 17.0% | HAL_OS_linux.o | 4396/25784 | src/ref-impl/hal || 11.3% | HAL_KV_linux.o | 2928/25784 | src/ref-impl/hal || 10.7% | HAL_UDP_linux.o | 2784/25784 | src/ref-impl/hal || 9.57% | HAL_TCP_linux.o | 2468/25784 | src/ref-impl/hal || 6.90% | dns.o | 1780/25784 | src/ref-impl/hal || 2.65% | HAL_Crypt_Linux.o | 684/25784 | src/ref-impl/hal || 0.09% | HAL_FS_Linux.o | 24/25784 | src/ref-impl/hal ||-------|-------------------------------------|----------------|----------------------------|| 56.9% | impl_linkkit.o | 9420/16536 | src/sdk-impl || 16.9% | impl_dynreg.o | 2796/16536 | src/sdk-impl || 11.6% | sdk-impl.o | 1920/16536 | src/sdk-impl || 8.10% | impl_ntp.o | 1340/16536 | src/sdk-impl || 6.41% | impl_logpost.o | 1060/16536 | src/sdk-impl ||-------|-------------------------------------|----------------|----------------------------|| 88.1% | mqtt_client.o | 26572/30144 | src/protocol/mqtt || 3.38% | MQTTPacket.o | 1020/30144 | src/protocol/mqtt || 3.10% | MQTTConnectClient.o | 936/30144 | src/protocol/mqtt || 1.65% | MQTTSubscribeClient.o | 500/30144 | src/protocol/mqtt || 1.39% | MQTTSerializePublish.o | 420/30144 | src/protocol/mqtt || 1.19% | MQTTDeserializePublish.o | 360/30144 | src/protocol/mqtt || 1.11% | MQTTUnsubscribeClient.o | 336/30144 | src/protocol/mqtt ||-------|-------------------------------------|----------------|----------------------------|| 38.7% | CoAPMessage.o | 8956/23136 | src/protocol/coap/local || 17.8% | CoAPObserve.o | 4140/23136 | src/protocol/coap/local || 12.4% | CoAPServer.o | 2872/23136 | src/protocol/coap/local || 9.45% | CoAPResource.o | 2188/23136 | src/protocol/coap/local || 8.36% | CoAPExport.o | 1936/23136 | src/protocol/coap/local || 4.85% | CoAPSerialize.o | 1124/23136 | src/protocol/coap/local || 4.58% | CoAPDeserialize.o | 1060/23136 | src/protocol/coap/local || 2.05% | CoAPPlatform.o | 476/23136 | src/protocol/coap/local || 1.65% | CoAPNetwork.o | 384/23136 | src/protocol/coap/local || RATE | MODULE NAME | ROM | RAM | BSS | DATA ||-------|-------------------------------------|-----------|-----------|------------|--------|| 23.7% | src/services/awss | 59593 | 1560 | 1447 | 113 || 13.9% | src/services/linkkit/dm | 35132 | 128 | 116 | 12 || 13.8% | src/infra/utils | 34684 | 272 | 264 | 8 || 12.0% | src/protocol/mqtt | 30152 | 24 | 16 | 8 || 9.21% | src/protocol/coap/local | 23140 | 48 | 44 | 4 || 6.58% | src/sdk-impl | 16536 | 76 | 76 | 0 || 6.13% | src/services/ota | 15400 | 4 | 4 | 0 || 6.01% | src/services/dev_bind | 15101 | 242 | 241 | 1 || 4.74% | src/infra/system | 11924 | 476 | 156 | 320 || 2.55% | src/services/linkkit/cm | 6416 | 24 | 24 | 0 || 0.94% | src/infra/log | 2372 | 556 | 0 | 556 || 0.69% | src/services/linkkit/dev_reset | 1740 | 12 | 12 | 0 ||-------|-------------------------------------|-----------|-----------|------------|--------|| 100% | - IN TOTAL - | 252190 | 3422 | 2400 | 1022 |sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0$
6.生成文件
sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0/output/release$ pwd
/home/sz/Desktop/QuecOpen/c-sdk-v2.3.0/output/release
sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0/output/release$ ll
total 20
drwxrwxr-x 5 sz sz 4096 8月 12 16:56 ./
drwxrwxr-x 3 sz sz 4096 8月 12 16:56 ../
drwxrwxr-x 2 sz sz 4096 8月 12 16:56 bin/
drwxrwxr-x 4 sz sz 4096 8月 12 16:56 include/
drwxrwxr-x 2 sz sz 4096 8月 12 16:56 lib/
sz@sz-virtual-machine:~/Desktop/QuecOpen/c-sdk-v2.3.0/output/release$
7.验证编译
添加编译依赖:
#LIBS
LIB_PATH =./lib/$(PLATFORM)
LIBS =./lib/$(PLATFORM)/libiot_sdk.a ./lib/$(PLATFORM)/libiot_hal.a ./lib/$(PLATFORM)/libiot_tls.a
#CONFIRM LIBS
USR_LIB +=-L$(LIB_PATH) $(LIBS)
LDFLAGS += -liot_sdk -liot_hal -liot_tls -lpthread
指定依赖编译:
$(LINK.cc) $(DIAG_OBJ) -o $@ $(LDFLAGS) $(USR_LIB)
8.编译通过

这篇关于移远EC20 + 阿里mqtt c-sdk的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!