Skip to content

HopHop integrated application #19

@chrysn

Description

@chrysn

While #10 describes tools that can be built on the HopHop library, and may be built into stand-alone applications, there should be a comprehensive end-user application that bundles them and enables using them over the network. (In a sense, as a collection of pony tricks on a fully reprogrammable system that I talked about on the RIOT summit).

The full application should:

  • Support running in Sink, FT or PT mode (see later for which to pick)

  • Be configurable in its network policy (see Architecture roadmap #17) around whether to join any networks (and with which identity).

    Ideally, that policy is all the configuration the device has, and it make sense to accept updates over a network.

  • Probe what is on the Ethernet interface: If there's a route to the Internet (and the network's policy allows it), become a sink; otherwise, be FT on demand (possibly guided by power supply?).

  • Coordinate with other sinks in the network on whether a shared network configuration can be used. (cf. IETF SNAC work -- this network may need a bit more than a stub network, but at least that config should give us an address that we can hand out to attached devices when not running as sink)

  • Route IP traffic in and out over the IP interface per IP auto-configuration (offering addresses if a sink is available, or routing out if it is a sink)

  • Give access to other sub-apps (Tracking: Applications #10); where possible to authenticated users over the network (esp. when using the services usurps something from the lower layers (Architecture roadmap #17) and "kicks out" the MAC, eg. working in sniffer mode).

  • Build on Ariel OS components (as they become available) for firmware updates and identity provisioning.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions