devicehive / IoT-framework

* DEPRECATED * DeviceHive GO Framework for IoT and M2M
http://devicehive.com
MIT License
40 stars 17 forks source link

DeviceHive to Alljoyn dbus bridge #8

Closed demon-xxi closed 9 years ago

demon-xxi commented 9 years ago

Вот и девайс: https://github.com/devicehive/IoT-framework/blob/master/devicehive-alljoyn/alljoyn-device.go

Надо теперь в https://github.com/devicehive/IoT-framework/blob/master/devicehive-alljoyn/alljoyn-bridge.go написать код который регистрирует в alljoyn, обходит то, что вернул introspect и добавляет в thin c lient, потом запускает message pump и перекидывает соотв вызовы в dbus. Пример тут: https://git.allseenalliance.org/cgit/core/ajtcl.git/tree/samples/basic/eventaction_service.c

Thanks, Artyom

▼ Hide quoted text 2015-06-04 19:49 GMT-04:00 Artyom Astafurov artyom.astafurov@dataart.com: Привет!

Давай попробуем aj thin client приспособить к делу. Он прекрасно собирается под линукс и он на чистом C: https://git.allseenalliance.org/cgit/core/ajtcl.git

Я тут написал начало будущего alljoyn bridge: https://github.com/devicehive/IoT-framework/blob/master/devicehive-alljoyn/alljoyn-bridge.go

Идея в том, если ты хочешь сделать нечто, что через наш сервис будет выставлено в alljoyn, то ты пишешь отдельно dbus объект, который поддерживает Introspect и потом вызываешь com.devicehive.alljoyn.RegisterService и передаешь туда название своего dbus сервиса, путь к интсансу и путь/интерфейс в alljoyn под которым его публиковать.

После этого наш alljoyn bridge сервис дергает introspect у тебя же и регистрирует сервис в alljoyn как показано в этом примере: https://git.allseenalliance.org/cgit/core/ajtcl.git/tree/samples/basic/eventaction_service.c

В message pump он просто пробрасывает вызовы обратно на dbus.

Я еще написал пример устройства, который реализует About, но случайно его стер (конец дня, бл) Там просто, попробую сегодня может еще раз написать.

Thanks, Artyom