40 lines
1.2 KiB
Erlang
40 lines
1.2 KiB
Erlang
%%%-------------------------------------------------------------------
|
|
%%% @author licheng5
|
|
%%% @copyright (C) 2023, <COMPANY>
|
|
%%% @doc
|
|
%%%
|
|
%%% @end
|
|
%%% Created : 17. 4月 2023 16:41
|
|
%%%-------------------------------------------------------------------
|
|
-module(iot_config).
|
|
-author("licheng5").
|
|
|
|
%% API
|
|
-export([emqt_opts/1]).
|
|
|
|
emqt_opts(ClientSuffix) when is_binary(ClientSuffix) ->
|
|
%% 建立到emqx服务器的连接
|
|
{ok, Props} = application:get_env(iot, emqx_server),
|
|
EMQXHost = proplists:get_value(host, Props),
|
|
EMQXPort = proplists:get_value(port, Props, 18080),
|
|
Username = proplists:get_value(username, Props),
|
|
Password = proplists:get_value(password, Props),
|
|
RetryInterval = proplists:get_value(retry_interval, Props, 5),
|
|
Keepalive = proplists:get_value(keepalive, Props, 86400),
|
|
|
|
Node = atom_to_binary(node()),
|
|
ClientId = <<"mqtt-client-", Node/binary, "-", ClientSuffix/binary>>,
|
|
[
|
|
{clientid, ClientId},
|
|
{host, EMQXHost},
|
|
{port, EMQXPort},
|
|
{owner, self()},
|
|
{tcp_opts, []},
|
|
{username, Username},
|
|
{password, Password},
|
|
{keepalive, Keepalive},
|
|
{auto_ack, true},
|
|
{proto_ver, v5},
|
|
{retry_interval, RetryInterval}
|
|
].
|