This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE MESH3.0 Merge Cilent and Provisioner Firmware.

Hello ,

Que 1 :I want to Merge Client and Provisioner Firmware is possible..?

Que 2:Multiple provisioner can i define in same moudle.

Que 3:BLE MESH Network ,How many Provisioner work in same network..?

Regard's

Nikunj  

  • Hi,

    You can either add provisioner functionality to client firmware or the other way around. I suggest you have a look at the access_setup() function in the main file.

  • Hello Mttrinh,

    I have add client functionality in  provisioner FW. Device Successfully Configure in Mesh network But when I send Msg to the server function return Error Code 7(NRF_ERROR_INVALID_PARAM )

    I have seen in MESH_SDK_1.1

    if (access_flash_config_load())  //Recover access layer configuration from flash.//All models have to be added before this function is called.  
        {                               
            m_configured_devices = configured_devices_count_get();
            __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "m_configured_devices:%d\n",m_configured_devices);
        }
        else
        {
            /* Bind the keys to the health client. */
            ERROR_CHECK(access_model_application_bind(m_health_client.model_handle, m_appkey_handle));
            ERROR_CHECK(access_model_publish_application_set(m_health_client.model_handle, m_appkey_handle));//health client
            __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "access_model_publish_application_set\n");
    
            /* Bind the keys to the Simple OnOff clients. */
            for (uint32_t i = 0; i < SERVER_COUNT; ++i)
            {
                ERROR_CHECK(access_model_application_bind(m_clients[i].model_handle, m_appkey_handle));//Bind appkey with Model Handle
                ERROR_CHECK(access_model_publish_application_set(m_clients[i].model_handle, m_appkey_handle));//publish Appkey With model
            }
            __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "access_model_publish_application_set All Server\n");
            ERROR_CHECK(access_model_application_bind(m_clients[GROUP_CLIENT_INDEX].model_handle, m_appkey_handle));
            ERROR_CHECK(access_model_publish_application_set(m_clients[GROUP_CLIENT_INDEX].model_handle, m_appkey_handle));//Client Group
    
            ERROR_CHECK(access_model_publish_address_set(m_clients[GROUP_CLIENT_INDEX].model_handle, m_group_handle));
            access_flash_config_store();//Store the current state of access layer - information related to element and model configuration - in non volatile memory. 
             __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "access_flash_config_store current state\n");
        }

    In BLE MESH_3.0

    /* Binds the local models correctly with the desired keys */
    void app_default_models_bind_setup(void)
    {
        /* Bind health client to App key, and configure publication key */
        ERROR_CHECK(access_model_application_bind(m_dev_handles.m_health_client_instance.model_handle, m_dev_handles.m_appkey_handle));
        ERROR_CHECK(access_model_publish_application_set(m_dev_handles.m_health_client_instance.model_handle, m_dev_handles.m_appkey_handle));
    
    
        /* Bind self-config server to the self device key */
        ERROR_CHECK(config_server_bind(m_dev_handles.m_self_devkey_handle));
    }

    Can you help me figure out what i am doing wrong?

    Thanks

    Nikunj

  • m_model_pool[handle].model_info.publish_appkey_handle  = 0xFFFF
    m_model_pool[handle].model_info.publish_address_handle = 0xFFFF so I got an error 7 how to resolve this Error.

    Please reply me ASAP

  • Hi,

    I assume you get this error code from access_model_reliable_publish() function? You will get this error code(NRF_ERROR_INVALID_PARAM) as a return code if your model is not bound to an application key, publish address not set or wrong opcode. Can you check that your parameters are correct?

Related