2019-05-06 08:25 AM
I am trying to implement a working MESH network without the participation of a smartphone. The idea is to send messages from all test nodes to one specific node through the MESH, which has the same hardware structure as the rest. This node should process the incoming message and perform some actions with its peripherals. Is it possible? Please advise how best to implement it.
Which profile is better to choose for the model on-off? Please, advise what I should pay attention to.
2019-05-06 07:04 PM
Hi apronin47,
Yes, it is possible.
Something similar has been implemented in Mesh DK that you may reference:
when the user click (short press) button 1 or 2 (in Appli_Process()),
the firmware will publish a message to other nodes in the mesh network (in Appli_ShortButtonPress() and BluenrgMesh_ModelsCommand()).
For model choices, Generic On-Off is a good one, vendor specific model is also OK.
Best Regards,
Winfred
2019-05-07 04:07 AM
Sir but for publish those messages in the other nodes we have to provision those nodes with app right
2019-05-07 07:52 AM
Hi Winfred,
Thank you for your reply.
Sorry for I am not so friendly with MESH. Please help me with some other issues.
Best Regards,
Andrey
2019-05-07 09:29 PM
Hi Andrey,
The parameter "peer" is to set destination address for BluenrgMesh APIs, such as BluenrgMesh_SetRemoteData(), BluenrgMesh_ReadRemoteData(), etc.
It shall be good to just use publish address, please call BluenrgMesh_GetPublishAddress() to get the publish address of a node.
Yes for USER_Platform_Configuration.h
please refer to the procedures in SDK_EVAL_Config.h:
Please pre-define your own model choice and use corresponding APIs.
Please implement your application in Appli_Process(). For your ease of usage, please leverage the general purpose timer library (gp_timer.c) to calculate the expiration of 20 seconds.
Note that even if the application acts at each 20 seconds, it is necessary for the device to wake during the 20 seconds (when application sleeps), in order to keep BLE stack and Mesh stack working. The processing APIs BluenrgMesh_Process() and BluenrgMesh_ModelsProcess() have to be kept in the main loop.
Best Regards,
Winfred
2019-05-07 09:30 PM
Yes. Those are all based on the assumption that the nodes are provisioned in the mesh network.
2019-05-08 06:09 AM
Hi, Winfred!
Thank you for your explanations.
I shall use "generic on/off" model so I have associated question for this.
I guess "mesh_cfg_usr.h" is the place where I can make model choice for "#define ENABLE_GENERIC_MODEL_SERVER_ONOFF ". And as I think all other models should be commented. Am I right?
Best regards,
Andrey
2019-05-09 01:58 AM
Right !
2019-05-16 08:44 AM
Hi Winfred!
In my project I use the "i2C1" interface. When I compile, I get the following error:
".. \ .. \ .. \ .. \ .. \ .. \ Drivers \ BSP \ SDK_Eval_BlueNRG1 \ src \ SDK_EVAL_I2C.c (575): error: # 20: identifier" SDK_EVAL_I2C_IRQ "is undefined"
How do I need to modify the "USER_Platform_Configuration.h" file to resolve this error?
Best regards,
Andrey
2019-05-16 06:40 PM
Please try to define SDK_EVAL_I2C_IRQ I2C1_IRQn