Feature #502


Add IoT app to PiBox

Added by Hammel over 8 years ago. Updated almost 7 years ago.

Start date:
24 Feb 2016
Due date:
% Done:


Estimated time:
01 - Critical


This is the app we'll use for the proof of concept. It will allow manual control of the device node.

It will support the following states:
  1. Open (full open)
  2. Close (full close)
  3. Half (half open)
  4. Quarter (quarter open)
  5. Reset (reboot device node)

It should also list available device nodes and types.

Actions #1

Updated by Hammel about 8 years ago

  • Severity changed from 03 - Medium to 01 - Critical
Actions #2

Updated by Hammel about 8 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 30

This got bogged down in RM #487. I'm writing a pibox library function to send messages from apps to piboxd. The Device Protocol between piboxd and the IoT device is already tested and working. But now I need to have the app ask for information from piboxd so it can be updated and submitted back. Then piboxd will submit the change to the IoT device.

Right now I have a message flow protocol specified for making the requests to piboxd defined and implemented within piboxd itself. I wrote unit tests for piboxd to verify that the requests actually work. That's all pushed upstream.

Now I'm implementing the pibox library function (pncMsg()) to send a request from an app to piboxd and, where necessary, get the return data. The function and supporting functions are written and integrated into the libpibox build. I'm now writing unit tests to verify the API works.

After that I can integrate the library call into the new iotapp source. This is the new app I've stubbed for this. It's missing the UI but the infrastructure code is there and ready for the UI and the API calls to be added.

When this is all done I need to submit the diagram changes to my local ximba repo. These should probably be migrated to a pibox-admin repo or something.

Finally, once that's done, I need to make sure that piboxd submits the changes back to the IoT device and that they get applied. Some of that will depend on implementation of RM #500.

Actions #3

Updated by Hammel about 8 years ago

  • % Done changed from 30 to 50

I completed the client side function - pncMsg - to make requests using the device protocol to the piboxd daemon, plus get any return data. I wrote unit tests to verify it's working.

So now I can integrate this into the iot app. Now it's time to go back to that, add the UI components and then add the library call to get data and submit changes.

Actions #4

Updated by Hammel about 8 years ago

  • % Done changed from 50 to 70

I have a working, if visually limited, version of the iotapp now. However, I updated the device protocol based on what I learned from doing the app. So now I need to go back and make sure the iot code generates the correct packets. I've already tested the piboxd server, which doesn't care about the packet contents. So I should just have to update the iot device code.

The iotapp is not pushed upstream yet. I'll do that later.

Actions #5

Updated by Hammel almost 7 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 70 to 100

Repo created and code has been pushed. It's a sample IoT app upon which future IoT apps could be based.

Closing issue.


Also available in: Atom PDF