Skip to content
Snippets Groups Projects
Jake Read's avatar
Jake Read authored
745c4bb4
History
Name Last commit Last update
code
doc
log
.gitignore
README.md

Vent Display

LTV-1200 --RS232-> Raspberry Pi Serialport --> Local Node.JS Bridge --WebSocket-> Browser Display

Data streams 'realtime' packets from the LTV at ~ 10ms intervals (+ / - 5ms) (per the datasheet), but I observed some occasional drop-outs: I think these happen when the vent sends some other packet type (alarms).

Otherwise, data is cached locally on the raspberry pi, and clients can request it in intervals: sending with their query the time-stamp of their most-recent slice: the pi should respond as best it can with a full update since then.

Qualitative MVP video below, next steps probably:

  • pretty-ify,
  • run for ~ hours, verify no memory leaks etc
  • do on RPI4, see if HZ can improve
  • circuit for RS232 interface, RPI screen mount
  • UI for system reset / reboot,
  • UI for system state (vent connection OK? ws connection OK?)
  • label flows

Log

2020 11 18

running

In order of appearance, this video should be:

  • 'prox pressure'
  • 'xdcr flow'
  • volume

2020 11 05

Yonder Phy

We have an RJ45 port, pinouts are

pin sig
1 SGND
2 TxD
3 RxD
4 CTS
5 RTS
6 SGND

Seems like this should be straightforward - datasheet notes that data is uni-directional, my guess is that it just spews data out of the port, wouldn't that be nice.

First move is to get it venting. Setup Guide

OK, have woken it up with a glove, can confirm it has an RS232 out that just spews data - that's great. I do need an RS232 interface though, which swings -10 to +10v here.

RPI

pi
vent

  • do rpi basic setup:
    • use mouse, keyboard, hdmi...
    • connect to internet, do updates
  • install node.js
    • $ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
    • $ sudo apt install -y nodejs
  • install raspi-serial
    • have to do some serialport config stuff
    • might be some trix in here: the bluetooth module uses the serialport, so we have to wrestle for control
  • get vscode ?

I think we want RPI4 for this, they have decent UART support now.

Notes

OK, turned the vent on today, and got characters from the RS232 port. Have an RPI setup and ready to test with some code tomorrow morning, and a temporary RS232-TTL adapter to splice in between. Some concern about the RPI's serial port being 'in use' when bluetooth module is being used, etc. RPI 4 has mucho ++ serial ports, will try to use one of those in the end run.

So, first move tomorrow is getting the serial port hooked up & seeing if I can pull anything into JS, then is a little software architecting.

2020 11 06

Serial on the RPI3 is a pain, have to disable a bunch of things:

https://openenergymonitor.org/forum-archive/node/12311.html

OK, so I: - used node serialport (not the particular raspi-serial library) - set it up for /dev/ttyAMA0, the default port - baudrate to 60096 - use a bytelength parser - disable the uart terminal / enable the uart hardware in sudo raspi-config - put dtoverlay=pi3-disable-bt in /boot/config.txt - did sudo systemctl disable hciuart - rebooted - now I am recieving bytes

So I should decode some packets.

Packets: decoded. Now I want the 'other end' of it, my bootstrap code / server / client.

Cool, have a bootstrap up, just need to plug it into the ltv, get three plots up and one state-swapping thing, then it should be ahn MVP, next step would be a circuit / display.

OK, I have the client / server architecture setup now... so just one more day at that and I should have an MVP, good enough to proceed with a circuit etc.