コード例 #1
0
ファイル: linkkit-example.c プロジェクト: wosayttn/aos
int application_start(int argc, char **argv)
{
#ifdef CSP_LINUXHOST
    signal(SIGPIPE, SIG_IGN);
#endif
#if AOS_ATCMD
    at.set_mode(ASYN);
    at.init(AT_RECV_PREFIX, AT_RECV_SUCCESS_POSTFIX,
            AT_RECV_FAIL_POSTFIX, AT_SEND_DELIMITER, 1000);
#endif


#ifdef WITH_SAL
    sal_init();
#endif
    aos_set_log_level(AOS_LL_DEBUG);

    netmgr_init();
    aos_register_event_filter(EV_WIFI, wifi_service_event, NULL);
#ifdef CONFIG_YWSS
    aos_register_event_filter(EV_KEY, linkkit_key_process, NULL);
    aos_register_event_filter(EV_YUNIO, cloud_service_event, NULL);
#endif

#if (defined (CONFIG_AOS_CLI) && defined (CONFIG_YWSS))
    aos_cli_register_command(&resetcmd);
    aos_cli_register_command(&ncmd);
#endif
    aos_task_new("netmgr", start_netmgr, NULL, 4096);

    aos_loop_run();

    return 0;
}
コード例 #2
0
ファイル: mqtt-example.c プロジェクト: wosayttn/aos
int application_start(int argc, char *argv[])
{
#if AOS_ATCMD
    at.set_mode(ASYN);
    at.init(AT_RECV_PREFIX, AT_RECV_SUCCESS_POSTFIX,
            AT_RECV_FAIL_POSTFIX, AT_SEND_DELIMITER, 1000);
#endif


#ifdef WITH_SAL
    sal_init();
#elif defined (CSP_LINUXHOST)
    aos_post_event(EV_WIFI, CODE_WIFI_ON_GOT_IP, 0u);
#endif

    aos_set_log_level(AOS_LL_DEBUG);

    aos_register_event_filter(EV_WIFI, wifi_service_event, NULL);

    netmgr_init();
    netmgr_start(false);

    aos_cli_register_command(&mqttcmd);

    aos_loop_run();
    return 0;
}
コード例 #3
0
ファイル: mqtt-example.c プロジェクト: cyysu/AliOS-Things
int application_start(int argc, char *argv[])
{
#if AOS_ATCMD
    uart_dev_t at_uart;
    at_uart_configure(&at_uart);
    at.init(&at_uart, AT_RECV_DELIMITER, AT_SEND_DELIMITER, 1000);
    at.set_mode(ASYN);
#endif

#ifdef WITH_SAL
    sal_init();
#endif
    aos_set_log_level(AOS_LL_DEBUG);

    aos_register_event_filter(EV_WIFI, wifi_service_event, NULL);

    netmgr_init();
    netmgr_start(false);

    aos_cli_register_command(&mqttcmd);
#ifdef CSP_LINUXHOST
    mqtt_client_example();
#endif
    aos_loop_run();
    return 0;
}
コード例 #4
0
ファイル: mqtt-example.c プロジェクト: wosayttn/aos
int mqtt_client_example(void)
{
    memset(&mqtt, 0, sizeof(MqttContext));

    strncpy(mqtt.productKey,   PRODUCT_KEY,   sizeof(mqtt.productKey)   - 1);
    strncpy(mqtt.deviceName,   DEVICE_NAME,   sizeof(mqtt.deviceName)   - 1);
    strncpy(mqtt.deviceSecret, DEVICE_SECRET, sizeof(mqtt.deviceSecret) - 1);

    mqtt.max_msg_size = MSG_LEN_MAX;
    mqtt.max_msgq_size = 8;

    mqtt.event_handler = smartled_event_handler;
    mqtt.delete_subdev = NULL;
    if (mqtt_init_instance(mqtt.productKey, mqtt.deviceName, mqtt.deviceSecret, mqtt.max_msg_size) < 0) {
        LOG("mqtt_init_instance failed\n");
        return -1;
    }
    aos_register_event_filter(EV_SYS,  mqtt_service_event, NULL);

    return 0;

}
コード例 #5
0
ファイル: alink_sample.c プロジェクト: cyysu/AliOS-Things
int application_start(int argc, char *argv[])
{
#if AOS_ATCMD
    uart_dev_t at_uart;
    at_uart_configure(&at_uart);
    at.init(&at_uart, AT_RECV_DELIMITER, AT_SEND_DELIMITER, 1000);
    at.set_mode(ASYN);
#endif

#ifdef WITH_SAL
    sal_init();
#endif

    parse_opt(argc, argv);

    aos_set_log_level(AOS_LL_DEBUG);

#ifndef AOS_AT_ADAPTER
    if (mesh_mode == MESH_MASTER) {
#ifdef CONFIG_AOS_DDM
        ddm_run(argc, argv);
#endif
        return 0;
    }

#ifdef CONFIG_AOS_DDA
    dda_enable(atoi(mesh_num));
    dda_service_init();
#endif
#endif // #ifndef AOS_AT_ADAPTER

    aos_cli_register_command(&uuidcmd);
    alink_cloud_init();

    if (mesh_mode == MESH_GATEWAY) {
        aos_cli_register_command(&ncmd);
        aos_cli_register_command(&modelcmd);
        aos_cli_register_command(&resetcmd);

        if (env == SANDBOX)
            alink_enable_sandbox_mode();
        else if (env == DAILY)
            alink_enable_daily_mode(NULL, 0);

#ifndef AOS_AT_ADAPTER
        aos_register_event_filter(EV_WIFI, alink_service_event, NULL);
#else
        aos_register_event_filter(EV_AT, alink_service_event, NULL);
#endif
        aos_register_event_filter(EV_SYS, alink_connect_event, NULL);
        aos_register_event_filter(EV_KEY, alink_key_process, NULL);
#ifndef AOS_AT_ADAPTER
        aos_register_event_filter(EV_YUNIO, auto_active_handler, NULL);

        auto_netmgr = get_auto_netmgr_config();
        awss_register_callback(AWSS_HOTSPOT_CONNECTED,
          &awss_hotspot_connected_handler);
        awss_register_callback(AWSS_HOTSPOT_SWITCH_AP_DONE,
          &awss_hotspot_switch_ap_done_handler);
        if (auto_netmgr) start_auto_netmgr_timer();
#else
        auto_netmgr = false;
        at_adapter_init();
#endif

        netmgr_init();
        netmgr_start(auto_netmgr);
    }

#if defined(CONFIG_AOS_DDA) && !defined(AOS_AT_ADAPTER)
    dda_service_start();
#else
    aos_loop_run();
    LOG("alink end.");
    alink_end();
#endif

    return 0;
}
コード例 #6
0
ファイル: mqtt-example.c プロジェクト: cyysu/AliOS-Things
/*
 * initialization parameter: mqtt_params
 */
int mqtt_client_example(void)
{
    int rc = 0;
    iotx_conn_info_pt pconn_info;
    iotx_mqtt_param_t mqtt_params;

    if (msg_buf != NULL) {
        return rc;
    }

    if (NULL == (msg_buf = (char *)aos_malloc(MSG_LEN_MAX))) {
        LOG("not enough memory");
        rc = -1;
        release_buff();
        return rc;
    }

    if (NULL == (msg_readbuf = (char *)aos_malloc(MSG_LEN_MAX))) {
        LOG("not enough memory");
        rc = -1;
        release_buff();
        return rc;
    }

    /* Device AUTH */
    if (0 != IOT_SetupConnInfo(PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, (void **)&pconn_info)) {
        LOG("AUTH request failed!");
        rc = -1;
        release_buff();
        return rc;
    }

    /* Initialize MQTT parameter */
    memset(&mqtt_params, 0x0, sizeof(mqtt_params));

    mqtt_params.port = pconn_info->port;
    mqtt_params.host = pconn_info->host_name;
    mqtt_params.client_id = pconn_info->client_id;
    mqtt_params.username = pconn_info->username;
    mqtt_params.password = pconn_info->password;
    mqtt_params.pub_key = pconn_info->pub_key;

    mqtt_params.request_timeout_ms = 2000;
    mqtt_params.clean_session = 0;
    mqtt_params.keepalive_interval_ms = 60000;
    mqtt_params.pread_buf = msg_readbuf;
    mqtt_params.read_buf_size = MSG_LEN_MAX;
    mqtt_params.pwrite_buf = msg_buf;
    mqtt_params.write_buf_size = MSG_LEN_MAX;

    mqtt_params.handle_event.h_fp = event_handle_mqtt;
    mqtt_params.handle_event.pcontext = NULL;


    /* Construct a MQTT client with specify parameter */

    gpclient = IOT_MQTT_Construct(&mqtt_params); 
    if (NULL == gpclient) {
        LOG("MQTT construct failed");
        rc = -1;
        release_buff();
        //aos_unregister_event_filter(EV_SYS,  mqtt_service_event, gpclient);
    } else{
        aos_register_event_filter(EV_SYS,  mqtt_service_event, gpclient);
    }

    return rc;
}