v1
Dependencies: MQTTSN mbed-http
registration.h@15:557d0008dd2d, 2019-03-11 (annotated)
- Committer:
- m_ahsan
- Date:
- Mon Mar 11 07:51:06 2019 +0000
- Revision:
- 15:557d0008dd2d
123
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| m_ahsan | 15:557d0008dd2d | 1 | |
| m_ahsan | 15:557d0008dd2d | 2 | void Registration(MQTTSN::Client<MQTTSNUDP, Countdown> *client, MQTTSNUDP* ipstack) |
| m_ahsan | 15:557d0008dd2d | 3 | { |
| m_ahsan | 15:557d0008dd2d | 4 | //Create AE |
| m_ahsan | 15:557d0008dd2d | 5 | //Mendatory resources: Operation, To, From, Request Identifier ,Resource Type, Content |
| m_ahsan | 15:557d0008dd2d | 6 | //Resource Specific Attributes [M]: App-ID, requestReachability, supportedReleaseVersions |
| m_ahsan | 15:557d0008dd2d | 7 | // [0]: PointofAccess, ResourceName |
| m_ahsan | 15:557d0008dd2d | 8 | |
| m_ahsan | 15:557d0008dd2d | 9 | AE_ID = "S"; //Initial registration |
| m_ahsan | 15:557d0008dd2d | 10 | //struct Mendatory m1; |
| m_ahsan | 15:557d0008dd2d | 11 | m1.To = CSE_ID; |
| m_ahsan | 15:557d0008dd2d | 12 | m1.From = AE_ID; |
| m_ahsan | 15:557d0008dd2d | 13 | m1.Request_Identifier = "createAE1"; |
| m_ahsan | 15:557d0008dd2d | 14 | m1.Resource_Type = 3; |
| m_ahsan | 15:557d0008dd2d | 15 | m1.Operation = 1; |
| m_ahsan | 15:557d0008dd2d | 16 | |
| m_ahsan | 15:557d0008dd2d | 17 | //struct CreateAE CAE; |
| m_ahsan | 15:557d0008dd2d | 18 | CAE.resourceName = MQTT_CLIENT_ID; |
| m_ahsan | 15:557d0008dd2d | 19 | CAE.requestReachability = true; |
| m_ahsan | 15:557d0008dd2d | 20 | CAE.App_ID = "A01.com.sensor01"; |
| m_ahsan | 15:557d0008dd2d | 21 | buffer = Create_AE(); |
| m_ahsan | 15:557d0008dd2d | 22 | |
| m_ahsan | 15:557d0008dd2d | 23 | strncpy(buf, buffer, strlen(buffer)); |
| m_ahsan | 15:557d0008dd2d | 24 | |
| m_ahsan | 15:557d0008dd2d | 25 | delete buffer; |
| m_ahsan | 15:557d0008dd2d | 26 | |
| m_ahsan | 15:557d0008dd2d | 27 | //////////////////////////////////MQTT Subscribe////////////////////////////////////////// |
| m_ahsan | 15:557d0008dd2d | 28 | |
| m_ahsan | 15:557d0008dd2d | 29 | //Set Topic to /oneM2M/reg_resp/Sensor01/CSE_01 |
| m_ahsan | 15:557d0008dd2d | 30 | char tpc_ty[] = "reg_resp"; |
| m_ahsan | 15:557d0008dd2d | 31 | char orignator[] = MQTT_CLIENT_ID; |
| m_ahsan | 15:557d0008dd2d | 32 | char receiver[] = "CSE_01"; |
| m_ahsan | 15:557d0008dd2d | 33 | //create_Topic(); |
| m_ahsan | 15:557d0008dd2d | 34 | |
| m_ahsan | 15:557d0008dd2d | 35 | sprintf(MQTT_TOPIC,"/oneM2M/%s/%s/%s",tpc_ty,orignator,receiver); |
| m_ahsan | 15:557d0008dd2d | 36 | printf("Topic is %s", MQTT_TOPIC); |
| m_ahsan | 15:557d0008dd2d | 37 | |
| m_ahsan | 15:557d0008dd2d | 38 | MQTTSN_topicid topicid; |
| m_ahsan | 15:557d0008dd2d | 39 | if ((rc = subscribe(client, ipstack, topicid)) != 0) |
| m_ahsan | 15:557d0008dd2d | 40 | printf("rc from MQTT subscribe is %d\n", rc); |
| m_ahsan | 15:557d0008dd2d | 41 | else |
| m_ahsan | 15:557d0008dd2d | 42 | printf("Subscribed to Topic %s\n", MQTT_TOPIC); |
| m_ahsan | 15:557d0008dd2d | 43 | |
| m_ahsan | 15:557d0008dd2d | 44 | //Set Topic to /oneM2M/reg_req/Sensor01/CSE_01 |
| m_ahsan | 15:557d0008dd2d | 45 | strcpy(tpc_ty, "reg_req"); |
| m_ahsan | 15:557d0008dd2d | 46 | //create_Topic(); |
| m_ahsan | 15:557d0008dd2d | 47 | |
| m_ahsan | 15:557d0008dd2d | 48 | sprintf(MQTT_TOPIC,"/oneM2M/%s/%s/%s",tpc_ty,orignator,receiver); |
| m_ahsan | 15:557d0008dd2d | 49 | printf("Topic is %s", MQTT_TOPIC); |
| m_ahsan | 15:557d0008dd2d | 50 | //PUBLISH |
| m_ahsan | 15:557d0008dd2d | 51 | MQTTSN_topicid topicid2; |
| m_ahsan | 15:557d0008dd2d | 52 | if ((rc = publish(client, ipstack, topicid2)) != 0) |
| m_ahsan | 15:557d0008dd2d | 53 | { |
| m_ahsan | 15:557d0008dd2d | 54 | printf("rc from MQTT Publish is %d\n", rc); |
| m_ahsan | 15:557d0008dd2d | 55 | if ((rc = client->unsubscribe(topicid2)) != 0) |
| m_ahsan | 15:557d0008dd2d | 56 | printf("rc from unsubscribe was %d\n", rc); |
| m_ahsan | 15:557d0008dd2d | 57 | else{ |
| m_ahsan | 15:557d0008dd2d | 58 | printf("Unsubscribed from Topic %s\n", MQTT_TOPIC); |
| m_ahsan | 15:557d0008dd2d | 59 | PUB_REG = false; |
| m_ahsan | 15:557d0008dd2d | 60 | } |
| m_ahsan | 15:557d0008dd2d | 61 | } |
| m_ahsan | 15:557d0008dd2d | 62 | else |
| m_ahsan | 15:557d0008dd2d | 63 | printf("Published Buffer: %s to Topic %s\n",buf, MQTT_TOPIC); |
| m_ahsan | 15:557d0008dd2d | 64 | |
| m_ahsan | 15:557d0008dd2d | 65 | while(reg_resp == false) |
| m_ahsan | 15:557d0008dd2d | 66 | { |
| m_ahsan | 15:557d0008dd2d | 67 | client->yield(4000); |
| m_ahsan | 15:557d0008dd2d | 68 | } |
| m_ahsan | 15:557d0008dd2d | 69 | //wait for response |
| m_ahsan | 15:557d0008dd2d | 70 | } |