This commit is contained in:
anlicheng 2025-04-21 17:13:24 +08:00
parent c3132fb478
commit 329cb90241
3 changed files with 36 additions and 4 deletions

View File

@ -23,7 +23,8 @@
-record(state, {
host :: string(),
port :: integer(),
socket :: undefined | ssl:sslsocket()
socket :: undefined | ssl:sslsocket(),
packet_id = 1
}).
%%%===================================================================
@ -82,10 +83,13 @@ handle_cast(_Request, State = #state{}) ->
{noreply, NewState :: #state{}} |
{noreply, NewState :: #state{}, timeout() | hibernate} |
{stop, Reason :: term(), NewState :: #state{}}).
handle_info({timeout, _, create_connection}, State = #state{host = Host, port = Port}) ->
handle_info({timeout, _, create_connection}, State = #state{host = Host, port = Port, packet_id = PacketId}) ->
case connect(Host, Port) of
{ok, Socket} ->
ok = ssl:send(Socket, <<"hello world">>),
AuthRequest = efka_codec:auth_request(PacketId),
ok = ssl:send(Socket, AuthRequest),
lager:debug("[efka_agent] connected success"),
{noreply, State#state{socket = Socket}};
{error, Reason} ->

View File

@ -17,6 +17,31 @@
-define(PACKET_PUBLISH, 16#03).
-define(PACKET_PUBLISH_RESPONSE, 16#04).
%%
%% websocket的register关系
-define(METHOD_AUTH, 16#00).
-define(METHOD_CREATE_SESSION, 16#01).
-define(METHOD_DATA, 16#02).
-define(METHOD_PING, 16#03).
-define(METHOD_INFORM, 16#04).
-define(METHOD_FEEDBACK_STEP, 16#05).
-define(METHOD_FEEDBACK_RESULT, 16#06).
-define(METHOD_EVENT, 16#07).
%% ai识别的事件上报
-define(METHOD_AI_EVENT, 16#08).
%%
-define(EVENT_DEVICE, 16#01).
%%
-define(EVENT_HOST, 16#02).
%% ai相关的事件
-define(EVENT_AI, 16#03).
%%
-define(DIRECTIVE_ZD_CTRL, 16#01).
%% API
-export([auth_request/1]).
@ -38,4 +63,4 @@ auth_request(PacketId) when is_integer(PacketId), PacketId > 0 ->
timestamp = efka_util:timestamp()
}),
<<?PACKET_REQUEST, PacketId:32, RequestBin/binary>>.
<<?PACKET_REQUEST, PacketId:32, ?METHOD_AUTH, RequestBin/binary>>.

View File

@ -10,5 +10,8 @@ sed -i '' 's/include(\"gpb.hrl\")/include_lib(\"gpb\/include\/gpb.hrl\")/g' mess
#sed -i '' 's/sdlv_4_info/sdl_v4_info/g' sdlan_pb.erl
#sed -i '' 's/sdlv_6_info/sdl_v6_info/g' sdlan_pb.erl
cp message_pb.hrl /usr/local/code/cloudkit/iot/apps/iot/include/
cp message_pb.erl /usr/local/code/cloudkit/iot/apps/iot/src/proto/
mv message_pb.hrl ./apps/efka/include/
mv message_pb.erl ./apps/efka/src/proto/