v1
Dependencies: MQTTSN mbed-http
Diff: registration.h
- Revision:
- 15:557d0008dd2d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/registration.h Mon Mar 11 07:51:06 2019 +0000
@@ -0,0 +1,70 @@
+
+void Registration(MQTTSN::Client<MQTTSNUDP, Countdown> *client, MQTTSNUDP* ipstack)
+{
+ //Create AE
+ //Mendatory resources: Operation, To, From, Request Identifier ,Resource Type, Content
+ //Resource Specific Attributes [M]: App-ID, requestReachability, supportedReleaseVersions
+ // [0]: PointofAccess, ResourceName
+
+ AE_ID = "S"; //Initial registration
+ //struct Mendatory m1;
+ m1.To = CSE_ID;
+ m1.From = AE_ID;
+ m1.Request_Identifier = "createAE1";
+ m1.Resource_Type = 3;
+ m1.Operation = 1;
+
+ //struct CreateAE CAE;
+ CAE.resourceName = MQTT_CLIENT_ID;
+ CAE.requestReachability = true;
+ CAE.App_ID = "A01.com.sensor01";
+ buffer = Create_AE();
+
+ strncpy(buf, buffer, strlen(buffer));
+
+ delete buffer;
+
+ //////////////////////////////////MQTT Subscribe//////////////////////////////////////////
+
+ //Set Topic to /oneM2M/reg_resp/Sensor01/CSE_01
+ char tpc_ty[] = "reg_resp";
+ char orignator[] = MQTT_CLIENT_ID;
+ char receiver[] = "CSE_01";
+ //create_Topic();
+
+ sprintf(MQTT_TOPIC,"/oneM2M/%s/%s/%s",tpc_ty,orignator,receiver);
+ printf("Topic is %s", MQTT_TOPIC);
+
+ MQTTSN_topicid topicid;
+ if ((rc = subscribe(client, ipstack, topicid)) != 0)
+ printf("rc from MQTT subscribe is %d\n", rc);
+ else
+ printf("Subscribed to Topic %s\n", MQTT_TOPIC);
+
+ //Set Topic to /oneM2M/reg_req/Sensor01/CSE_01
+ strcpy(tpc_ty, "reg_req");
+ //create_Topic();
+
+ sprintf(MQTT_TOPIC,"/oneM2M/%s/%s/%s",tpc_ty,orignator,receiver);
+ printf("Topic is %s", MQTT_TOPIC);
+ //PUBLISH
+ MQTTSN_topicid topicid2;
+ if ((rc = publish(client, ipstack, topicid2)) != 0)
+ {
+ printf("rc from MQTT Publish is %d\n", rc);
+ if ((rc = client->unsubscribe(topicid2)) != 0)
+ printf("rc from unsubscribe was %d\n", rc);
+ else{
+ printf("Unsubscribed from Topic %s\n", MQTT_TOPIC);
+ PUB_REG = false;
+ }
+ }
+ else
+ printf("Published Buffer: %s to Topic %s\n",buf, MQTT_TOPIC);
+
+ while(reg_resp == false)
+ {
+ client->yield(4000);
+ }
+ //wait for response
+}
\ No newline at end of file