Skip to content

MQTT API for remote operation of the Fabric tables (enabling a VR interface) #5

@goatchurchprime

Description

@goatchurchprime

The easiest way to inject values into a webpage running Javascript from a completely different system is to use MQTT.

If you include the library described here: http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ and add in a new button and a text box (with a default) for the link to the broker, I can post snippets of JSON from somewhere else that you can easily unpack into the relevant rows of your table as they come in.

....

The external system I have in mind for generating the dimension data is this mobile VR interface I have developed for tracing up point scans acquired using the lidar in an iPhone. https://www.youtube.com/watch?v=Zr2RzsX-9hc (A Housahedron, if you will.)

It won't be hard to program my system to issue MQTT messages containing JSON packets of the fabric dimensions each time you draw, edit or specify a new wall/ceiling/floor/window element in VR (where you are working at 1:1 scale).

Realistically, with this method, we could aim to get over half of your webpage filled in (the hardest part) in under an hour of not very skilled+tedious work. The scanning of all the rooms takes 20 minutes at most. And the tracing up in VR can be pretty easy and intuitive with very little training and practice, especially when there is such an immediate feedback.

Don't underestimate the time saved by not having to go through a file save, conversion and importing process because the numbers are loading into the table as you draw up the shapes.

Also, there is a lot less wasted effort than with the SketchUp method mentioned in #4 because there is no need to generate a water tight solid model that looks good. Only the 2D surfaces you happen to need are drawn. For the purposes of this energy model they don't have to fit together or be more than about 5% accurate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions