The wiring of the test node is the first image of my first post.
The ina219 board can be found here:
https://www.adafruit.com/product/904
or
https://www.aliexpress.com/item/40009835...web201603_
the servo is any "9g servo"
the relay is something simular to this:
https://www.aliexpress.com/item/40009560...web201603_
for flashing, i have used in the past:
rpi gpio flashing, jlink (nrf dev board), stlinkv2, stlinkv2 (flashed with blackmagicprobe).
Currently i use the nRF52 DK as a flasher, as show in the image above.
If you want to use UART instead of RTT, then hook up rx/tx between target and RPI.
I will CAD and 3d print some mechanics to neatly hold the PCBA while being able to tilt the device and provide some kind of strain relief on the wires.
hopefully i will get some time over this week to get the "real" test nodes up and running. I am expecting my two P8 devices this week.
After my initial release, i will start to add database support (TinySQL). right now all the files are stored as filesystem files / folders. This works well and was good for single / few developers in a controlled environment. But it does not scale well.
The testscript on the node calls some "interface" files, located in the node/interface/ folder. in the past it have been "buttonIn.sh, buttonOut.sh, readSerial.sh, readPower.sh, chargerOn.sh, chargerOff.sh, flash.sh", when i used the .sh files, they where called in new threads, but cleanup of readSerial and readPower threads caused issues. so now i have changed to python files where i can have more flexibility.
Right now, the cleanup of JLinkRTTClient is hardcoded to a "killall JLinkRTTClient" inside the actual test node code. this should be moved to a execute and a cleanup function call inside the interface file.
The communication between testnode / testmanager / testAPI is json structures sent through TCP. most data sent is serialized as hex, (i will probably move to base64 when i get time).
The ina219 board can be found here:
https://www.adafruit.com/product/904
or
https://www.aliexpress.com/item/40009835...web201603_
the servo is any "9g servo"
the relay is something simular to this:
https://www.aliexpress.com/item/40009560...web201603_
for flashing, i have used in the past:
rpi gpio flashing, jlink (nrf dev board), stlinkv2, stlinkv2 (flashed with blackmagicprobe).
Currently i use the nRF52 DK as a flasher, as show in the image above.
If you want to use UART instead of RTT, then hook up rx/tx between target and RPI.
I will CAD and 3d print some mechanics to neatly hold the PCBA while being able to tilt the device and provide some kind of strain relief on the wires.
hopefully i will get some time over this week to get the "real" test nodes up and running. I am expecting my two P8 devices this week.
After my initial release, i will start to add database support (TinySQL). right now all the files are stored as filesystem files / folders. This works well and was good for single / few developers in a controlled environment. But it does not scale well.
The testscript on the node calls some "interface" files, located in the node/interface/ folder. in the past it have been "buttonIn.sh, buttonOut.sh, readSerial.sh, readPower.sh, chargerOn.sh, chargerOff.sh, flash.sh", when i used the .sh files, they where called in new threads, but cleanup of readSerial and readPower threads caused issues. so now i have changed to python files where i can have more flexibility.
Right now, the cleanup of JLinkRTTClient is hardcoded to a "killall JLinkRTTClient" inside the actual test node code. this should be moved to a execute and a cleanup function call inside the interface file.
The communication between testnode / testmanager / testAPI is json structures sent through TCP. most data sent is serialized as hex, (i will probably move to base64 when i get time).