Fork me on GitHub
#datomic
<
2018-10-06
>
Petrus Theron08:10:05

Hey Guys 🙂 I need some advice on reusing the Datomic transaction format (or at least EDN) for serializing power station measurements coming out an STM32 microcontroller's serial bus (via an FTDI chip) that will remain human-readable while gaining machine-readability. I looked at the Datomic Cloud wire protocol, and I wanted to ask about the evolution of the design to save myself future hassle. At the moment, the controller is spitting out a string like:

START;
Voltage Reading: 3.3V
Current Reading: 25mA
Last start time: 
...more readings
END;
Which I'd like to replace with something more extensible and sane, like:
[{:my-company.v1/input-voltage 3.3M
  :my-company.v1/timestamp #inst 12312312312
 :my-company.v1/output-voltage 5.5M
 :my-company.v1/cell-current 0.00005M
 :my-company.v1/started-at 1231313123
 ...} {:my-company.v2/input-voltage 3.36M, ...}]
Specifically, I see that the Datomic Cloud protocol has a tx-data {:tx-data [tx1 tx2 ...]} key when passing txs around. Any advice on growing the schema (flat vs. nested values), versioning? Stream-ability of the feed? Pub/Sub considerations?