Khaled, I invite you to join the #cloud channel on the iotivity slack. The folks from Kistler, who are currently working on a golang implementation of the OCF cloud spec, are pretty active on there and I also normally check that channel a few times a week.
@Nathan I’d also love to chat with you on that channel, as L4 load balancing on long lived connections seems to be pretty painful and it’d be great to have someone employed by an OCF diamond member weigh in on the technical bits. https://ocf-iotivity.slack.com From: iotivity-dev@lists.iotivity.org [mailto:iotivity-dev@lists.iotivity.org] On Behalf Of Khaled Elsayed Sent: Thursday, October 18, 2018 11:20 AM To: Heldt-Sheller, Nathan <nathan.heldt-shel...@intel.com> Cc: Scott King <scott.k...@fkabrands.com>; Gregg Reynolds <d...@mobileink.com>; iotivity-dev <iotivity-dev@lists.iotivity.org> Subject: Re: [dev] MQTT G/W Thanks Nathan. Shall join OCF and get that ... Did not know there is free membership option. On Thu, Oct 18, 2018 at 4:16 PM, Heldt-Sheller, Nathan <nathan.heldt-shel...@intel.com<mailto:nathan.heldt-shel...@intel.com>> wrote: Khaled, If you have any questions regarding the OCF onboarding process I can probably answer them. If you would like an overview of the Resources involved in onboarding and access control, please take a look at the OCF Security Primer for Device Vendors<https://workspace.openconnectivity.org/apps/org/workgroup/security_wg/download.php/15855/latest>. Note that you’ll need to join OCF in order to access that link, but basic membership is free so I encourage you to do so if you haven’t already! Thanks, Nathan From: iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org> [mailto:iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org>] On Behalf Of Khaled Elsayed Sent: Thursday, October 18, 2018 1:06 AM To: Scott King <scott.k...@fkabrands.com<mailto:scott.k...@fkabrands.com>> Cc: Gregg Reynolds <d...@mobileink.com<mailto:d...@mobileink.com>>; iotivity-dev <iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org>> Subject: Re: [dev] MQTT G/W Hi Scott, Thanks for the much-needed feedback. You raised a lot of important issues. I am not really expert on the IoTivity cloud side and the on-boarding process. However, I can address some of the issues early next week. I will draft a document to contain the issues instead of using e-mail to facilitate the process. Also, thanks to highlight the aedes broker implementation. I did not know about it. I think it would be easy to port the code to it. Let me check if it is worth replacing mosca. Stay tuned. Khaled On Wed, Oct 17, 2018 at 5:54 PM, Scott King <scott.k...@fkabrands.com<mailto:scott.k...@fkabrands.com>> wrote: Khaled, I’d like to start by saying that this work has the potential to be very valuable to the ecosystem, especially for those that want to use existing MQTT services like AWS IoT, thanks for the contribution! I look forward to discussing what details need to be added to make the MQTT broker totally transparent to the OCF client and ensure compatibility with managed MQTT brokers from the “big 3” western public clouds. • There should probably be more specs for device onboarding and cloud-side handling of messages: o How does the device provisioning process differ from the current cloud spec? • Are we assuming that all local network communication still uses iotivity/coap? o How does the device determine whether it’s being setup with a coap cloud or mqtt cloud? (hopefully that could be determined from the URI) • If there are subtle differences between how to interface with MQTT brokers from different public clouds, how do you communicate that to the device? o How does the MQTT broker know to delete the topic when the user deletes the device? • I guess this is more me ensuring this is planned to be implemented rather than asking how to go about doing it o How did you want to handle bi-directional communication? • The device not only needs to know where to publish, but also where to subscribe and how to interpret the payloads • I’m not 100% clear what work needs to be done to translate MQTT messages for a OCF client o How is the device supposed to publish/expose/advertise its resources/metadata such that the resource directory can correctly respond to discovery/introspection requests? o How are you retaining the POST/GET semantics? o Will there be any modifications to the payload? If so, does this introduce any complications? I forget if iotivity uses CWT/COSE (RFC 8392/8152) • I’m interested to hear your thoughts on MQTT topic/OCF resource syntax o Ex: maybe devices should subscribe to the topics like {userID}/{deviceID}/client/{resourceName} and publish to {userID}/{deviceID}/server/{resourceName} • It seems like breaking up your topics by resource is a best practice https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices • not sure how you store the relevant metadata about the resource though (ex: what resource type is {resourceName}? How am I supposed to know that “bathroomLight” is oic.r.switch.binary instead of oic.r.light.brightness?) PS: have you evaluated aedes? Mainflux uses that as their MQTT broker and it’s my understanding it was built to replace mosca. From: iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org> [mailto:iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org>] On Behalf Of Khaled Elsayed Sent: Wednesday, October 17, 2018 3:54 AM To: Gregg Reynolds <d...@mobileink.com<mailto:d...@mobileink.com>> Cc: iotivity-dev <iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org>> Subject: Re: [dev] MQTT G/W Hi Greg and all, I attach the current design. Would appreciate your review. I have developed a node.js gateway module based on the node.js mosca MQTT broker library and iotivity-node. The flows in the simplest forms are provided in the attached PDF for handling both MQTT publisher publishing a new topic and MQTT subscriber subscribing to a new topic. It is also possible to create an MQTT topic for any OCF resource that an OCF resource owner wishes to expose to prospective MQTT subscribers. I have not done that yet. On Mon, Aug 20, 2018 at 8:45 PM, Gregg Reynolds <d...@mobileink.com<mailto:d...@mobileink.com>> wrote: On Mon, Aug 20, 2018, 1:36 PM Gregg Reynolds <d...@mobileink.com<mailto:d...@mobileink.com>> wrote: On Mon, Aug 20, 2018, 6:28 AM Khaled Elsayed <khaledi...@gmail.com<mailto:khaledi...@gmail.com>> wrote: Hi, Has anyone developed a MQTT gateway that would host a MQTT broker receiving the MQTT publish requests and creates OCF resources corresponding to the MQTT topics and handles the update of the resources data. It should not be that difficult so I am asking it is already there to avoid doing it again. If it does not exist, would it be interesting for the IoTivity community to have OCF/iotivity and MQTT inter-operability? Speaking in my delusional capacity as voice of OCF community: yes. Just one thing: if you're gonna do this please post your design ideas before you start coding in anger. Lots of ways to do it, you'll wanna get feedback as early as possible. G Gregg -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#9956): https://lists.iotivity.org/g/iotivity-dev/message/9956 Mute This Topic: https://lists.iotivity.org/mt/24817907/21656 Group Owner: iotivity-dev+ow...@lists.iotivity.org Unsubscribe: https://lists.iotivity.org/g/iotivity-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-