1. 在windows server 2012上安装服务端emqx
emqx-5.0.12-windows-amd64, 需要安装对应的erlang(otp_win64_25.2)。
powershell进入emqx目录,启动/停止emqx服务器。
后台启动 bin/emqx start
交互启动 bin/emqx console
退出命令 bin/emqx stop
如果是云服务器,需要开启1833TCP端口,才能远程访问该Mqtt Broker。
2.在bb black(rev.C)上安装paho.mqtt.client
在wsl上安装测试
=================
复制目录 paho.mqtt.c
安装openssl apt-get install openssl
安装openssl 开发版,包括头文件和库文件 apt-get install libssl-dev
编译库make
安装库make install
* 注意*
在bb black上编译,需要修改Makefile, 增加rt库,解决clock_gettime()函数未定义问题161~169行,修改如下
CCFLAGS_SO = -g -fPIC $(CFLAGS) -D_GNU_SOURCE -Os -Wall -fvisibility=hidden -I$(blddir_work) -DPAHO_MQTT_EXPORTS=1
FLAGS_EXE = $(LDFLAGS) -I ${srcdir} ${START_GROUP} -pthread ${GAI_LIB} -lrt ${END_GROUP} -L ${blddir}
FLAGS_EXES = $(LDFLAGS) -I ${srcdir} ${START_GROUP} -pthread ${GAI_LIB} -lrt -lssl -lcrypto ${END_GROUP} -L ${blddir}
LDCONFIG ?= /sbin/ldconfig
LDFLAGS_C = $(LDFLAGS) -shared -Wl,-init,$(MQTTCLIENT_INIT) $(START_GROUP) -pthread $(GAI_LIB) $(EXTRA_LIB) -lrt $(END_GROUP)
LDFLAGS_CS = $(LDFLAGS) -shared $(START_GROUP) -pthread $(GAI_LIB) $(EXTRA_LIB) -lrt -lssl -lcrypto $(END_GROUP) -Wl,-init,$(MQTTCLIENT_INIT)
LDFLAGS_A = $(LDFLAGS) -shared -Wl,-init,$(MQTTASYNC_INIT) $(START_GROUP) -pthread $(GAI_LIB) $(EXTRA_LIB) -lrt $(END_GROUP)
LDFLAGS_AS = $(LDFLAGS) -shared $(START_GROUP) -pthread $(GAI_LIB) $(EXTRA_LIB) -lrt -lssl -lcrypto $(END_GROUP) -Wl,-init,$(MQTTASYNC_INIT)