Files
arcs/modules/lschat/samples/session_request/main.c
2026-08-13 16:50:52 +08:00

98 lines
1.8 KiB
C

#define TAG "session_request"
#include "lisa_log.h"
#include "lisa_semaphore.h"
#include "lisa_thread.h"
#include "lsc.h"
#include "lsc_session_request.h"
#include "lsc_errno.h"
#include "lisa_mem.h"
#include <string.h>
#define PRODUCT_ID_STRING "ce1dda98-f2b8-46f9-a7b9-8aee214a459b"
#define SECRET_ID_STRING "c684eb9e-ff8f-4264-ad03-0369b38ab793"
#ifndef DEVICE_ID_STRING
#error "Please define DEVICE_ID_STRING first"
#endif
char request_url[256];
lisa_semaphore_t *sem_connected;
static void lsc_event_cb(lsc_event_e evt, void *data, uint32_t size, void *usr)
{
switch (evt) {
case LSC_CONNECTED:
lisa_semaphore_give(sem_connected);
break;
default:
break;
}
}
__attribute__((weak)) int net_down(void)
{
return 0;
}
__attribute__((weak)) int net_up(void)
{
return 0;
}
__attribute__((weak)) int net_init(void)
{
return 0;
}
int main(void)
{
net_init();
net_up();
int ret;
sem_connected = lisa_semaphore_create(1);
lsc_config_t cfg = {
.device_id = DEVICE_ID_STRING,
.product_id = PRODUCT_ID_STRING,
.secret_id = SECRET_ID_STRING,
};
ret = lsc_init(&cfg);
if (ret) {
LISA_NLOGW("lsc_init faild");
return 0;
}
ret = lsc_add_callback(LSC_CONNECTED | LSC_DISCONNECTED | LSC_CLOUD_AUTH_FAILD | LSC_GOT_TOKEN, lsc_event_cb,
NULL);
if (ret) {
LISA_NLOGW("lsc_add_callback faild");
return 0;
}
ret = lsc_connect();
ret |= lisa_semaphore_take(sem_connected, 1000);
if (ret) {
LISA_NLOGW("lsc_connect faild");
return 0;
}
ret = session_request_init();
if (ret) {
LISA_NLOGW("session_request_init faild");
return 0;
}
char text[] = "深圳天气";
memset((void *)request_url, 0, sizeof(request_url));
ret = session_request_xtts(text, request_url, 30000);
if (ret) {
LISA_NLOGW("session_request_xtts faild");
return 0;
}
LISA_NLOGI("get url:%s", request_url);
return 0;
}