Feature #619

Add support to imwww for storing and imrest for retrieving and returning monitor descriptors

Added by Hammel 4 months ago. Updated 3 months ago.

Status:ClosedStart date:06 Apr 2018
Priority:ImmediateDue date:
Assignee:Hammel% Done:

100%

Category:Software
Target version:Iron Man - 002 - MVP
Severity:01 - Critical

Description

This requires that the imwww service in the www repo in IronMan has been updated to accept descriptors from the user and stored in a well known location or can be queried via the REST API provided by the imrest service.

The well known location will be /etc/monitor/descriptor.

Associated revisions

Revision de0201fc
Added by Hammel 3 months ago

RM #617, RM #619, RM #620: Registration and encryption support.
Updated help message to reflect currect supported command line arguments.
Fix logging to properly dump objects and not just strings.
Added TRACE level to logging.
Prep for encryption processing.
Add unit test for imrest pairing with Jarvis.
Add monitor test support to test driver (server.sh).
Add verbosity level support to test driver.
Fix up REST server startup to setup and teardown test directories.
Note: unit tests are currently broken.

Revision de0201fc
Added by Hammel 3 months ago

RM #617, RM #619, RM #620: Registration and encryption support.
Updated help message to reflect currect supported command line arguments.
Fix logging to properly dump objects and not just strings.
Added TRACE level to logging.
Prep for encryption processing.
Add unit test for imrest pairing with Jarvis.
Add monitor test support to test driver (server.sh).
Add verbosity level support to test driver.
Fix up REST server startup to setup and teardown test directories.
Note: unit tests are currently broken.

Revision d7161d78
Added by Hammel 3 months ago

RM #619: Implement AES encryption for outbound messages.

Revision d7161d78
Added by Hammel 3 months ago

RM #619: Implement AES encryption for outbound messages.

Revision 534bb4d6
Added by Hammel 3 months ago

RM #619: Add missing semi-colon that was preventing the imwww PAIR interface from running correctly.

Revision 534bb4d6
Added by Hammel 3 months ago

RM #619: Add missing semi-colon that was preventing the imwww PAIR interface from running correctly.

Revision 86caaba2
Added by Hammel 3 months ago

RM #619: Use the API base IP supplied by the user instead of defaulting to a 172.x address.

Revision 86caaba2
Added by Hammel 3 months ago

RM #619: Use the API base IP supplied by the user instead of defaulting to a 172.x address.

Revision f429a485
Added by Hammel 3 months ago

RM #619: Test PAIR pin with imgpio manually on each Jarvis registration request since we want to register Jarvis after we've rebooted into normal mode, but need to re-enabled the PAIR button while running to complete the Jarvis registration.

Revision f429a485
Added by Hammel 3 months ago

RM #619: Test PAIR pin with imgpio manually on each Jarvis registration request since we want to register Jarvis after we've rebooted into normal mode, but need to re-enabled the PAIR button while running to complete the Jarvis registration.

Revision 2c5b9c9d
Added by Hammel 3 months ago

RM #619: Enable the pair LED when Jarvis registers, then disable it 3 seconds later to clear it.

Revision 2c5b9c9d
Added by Hammel 3 months ago

RM #619: Enable the pair LED when Jarvis registers, then disable it 3 seconds later to clear it.

History

#1 Updated by Hammel 4 months ago

  • Project changed from piboxd to Monitor
  • Subject changed from Add support for retrieving and returning monitor descriptors to Add support to imwww for retrieving and returning monitor descriptors
  • Description updated (diff)
  • Category set to Software
  • Target version changed from 0.12.0 to 002 - MVP
  • Severity changed from 03 - Medium to 01 - Critical

Moving from piboxd to imrest (in monitor) so piboxd doesn't need to know about ironman data.

#2 Updated by Hammel 4 months ago

  • Subject changed from Add support to imwww for retrieving and returning monitor descriptors to Add support to imwww for storing and imrest for retrieving and returning monitor descriptors
  • Description updated (diff)
  • Status changed from New to In Progress
  • % Done changed from 0 to 20

The update to imwww to accept user input for a descriptor (labeled as a Location) when setting up networks is implemented but needs testing.

The update to imrest for returning monitor descriptor to Jarvis is implemented but needs testing.

#3 Updated by Hammel 3 months ago

  • % Done changed from 20 to 60

imrest is tested - it returns the descriptor to Jarvis when Jarvis (using AES encryption) when Jarvis asks for it.

Now I just need to test that a real monitor, configured with the imwww interface to set the descriptor, responds the same way.

#4 Updated by Hammel 3 months ago

  • % Done changed from 60 to 70

I got back to testing this today. I started the PAIR UI on the Pi and couldn't get it to show up on the smartphone. I ran the interface manually and found I had introduced a bug in the php (a missing semicolon). Fixed that and the UI comes up again.

It's late and need to get some dinner. I'll pick this up again later.

#5 Updated by Hammel 3 months ago

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

I brought up a Pi3 using the monitor configuration (I used my Chromebook to configure the networks since this was easier than using my tiny phone). I then was able to register a Jarvis client with the monitor and got back the descriptors!

This required me to make a change to the way the pairing with Jarvis (and later IoT devices) works. If you boot with pair enabled then that is for configuring the network. After doing that and rebooting, you can turn on the pair button again (without rebooting) and Jarvis and IoT devices can pair. When this happens the pair LED will light for three seconds for each registration the monitor receives.

All changes committed and pushed.

This issue can be closed.

Also available in: Atom PDF