# Introduction The interlock folder contains P1AM-100 code (which is Arduino MKR1000). The Listen2Arduino.py is a script for listening the P1AM-100 output (via USB), and put the status, the tritium, Vaccum, and SubPump reading to the fsunuc.physics.fsu.edu database. It will also save the status into ~/data.txt. The data.txt is used for the statusDisplay to run the local dashboard. A brief diagram to show the data flow ```cpp P1AM --> Listen2Arduino.py +---> data.txt --> statusDisplay +---> database ``` # Setup using Arduino IDE 1.X The P1AM.h library is needed. * PA1M.h * Ethernet.h * liquidCrystal.h also, need to add board MKR1000, use the baord manger, search for * Arduino SAMD Boards # Setup the Raspberry Pi need to install the python package for InfluxDB-client ```sh sudo python -m pip install --break-system-package inlfuxdb-client ``` ## influx_token.txt the influx database need a token for access. the token for the interlock can be found in https://fsunuc.physics.fsu.edu/elog/LabMaintenance/7 ## interlock database at fsunuc.physics.fsu.edu database name : interlock ## Setup system service for the Listen2Arduino.py In order to make the Listen2Arduino.py to run at startup and as a background daemon, copy the listen2P1AM.service to /etc/systemd/system/ run ```sh sudo systemctl daemen-reload sudo systemctl enable listen2P1AM.service` sudo systemctl start listen2P1AM.service` ``` ## make a symbolic link to ~/data.txt Once the Listen2Arduino.py is running, it will create ~/data.txt, so that the local status display can read and update the status. create a symbolic link ```sh cd ~/Multi-SNICS_Interlock/statusDisplay/ ln -s ~/data.txt . ```