**************** Report of week4 ********************** This week I reworte the ring iot project to make it independent of ring daemon.
During this time, I get stuck in the compile problem. When I tried to compile my project with the static library libring.a on GNU/Linux, running 'Make' results in lots of undefined reference. Even after I add all the dependencies of ring daemon, it still cannot work. However, I successfully compiled the ring daemon to get dynamic library on OS X 10.11.6. With the dynamic library, I also modify my project to be a independent one. It is here (https://github.com/SimpCosm/ring-client-iot) At the same time, the project can use one hardcoded Ring account for debugging, which is much helpful. Plan for Week5: - decide on the protocol/format of the messages and build a command line interface to send command The project can only send hardcoded message now. I will try to add a command line interface to send command. ——————————————————————————————————————— Houmin Wei ( 魏后民 ) Undergraduate,School of Electronics Engineering and Computer Science Peking University, Beijing, 100871. Mobile:+86 132 6997 9570 Email:[email protected] *So we beat on, boats against the current, borne back ceaselessly into the past.* 2017-06-25 0:28 GMT+08:00 Houmin <[email protected]>: > ************ Report of Week3 ********************** > This week, I finished the skeleton code for *ring-client-iot*. > > I am doing my work under ring-daemon/bin directory now. Like dbus client > and rest client, I create my own iot directoy for my iot client. To make it > compile ok, I also modify the configure.ac under ring-daemon directory. > At the same time, I modify the Makefile.am and main.cpp to compile my own > iot client. > > After all this compile stuff setting done, with > ./autogen.sh > ./configure --with-iot > make > We can get our ring client iot under ring-daemon/bin/ directory now. > > Up to now, the iot client can register a Ring Account, it can also receive > and send Ring text messages. Actually, we just do some wrapper of the dring > API, like *configurationmanager*, > *callmanager*,*presencemanager*,*videomanager*. > This is what we do in dbus/rest client. Then I create a main loop for the > iot client. In the loop, we will poll events, for which part I just handle > the receiving a message by installed a incomingAccountMessage handler. We > will also send our message to the destination, even though the message and > destination are all hardcoded. > > My code is here: https://github.com/SimpCosm/ring-client-iot > > This just contains my work part, not all the ring daemon code. By the way, > the ring daemon is based on Ring beta2. > > Plan for week4: > - change Makefile to realize the compilation of ring client iot > independent with the ring daemon. Since the ring daemon src code can > provide us with a *libring.a* static library, maybe we just need the > libring.a locally and write a Makefile. I am wondering if the automake > tools are still needed. > > - reconsidering the account register process of Ring. I once tried to > import Ring Account that we have created using gnome-ring using > the .local/share/ring/b67a55fbac7b06a0/export.gz by the *importAccounts* > API, but it failed. Then I use the *addAccount* API to create a new Ring > Account. It worked, but the code is ugly, you can see it here( > https://github.com/SimpCosm/ring-client-iot/blob/master/iot/iotclient.cpp). > And everytime I start the iot client process, I have to create a new Ring > Account. This can be bothering, and I have to deal with it. To do this, I > need to have a deep understanding about the Ring account stuff. > > > > ——————————————————————————————————————— > Houmin Wei ( 魏后民 ) > Undergraduate,School of Electronics Engineering and Computer Science > Peking University, Beijing, 100871. >
