Testing - UBCSailbot/raye-network-table GitHub Wiki
Manual Systems Testing
SOFT Integration Testing
The network table is the glue between the software and electrical systems.
We want to verify the flow of data between global pathfinding on the landserver, local pathfinding on the NUC, boat controller on the NUC, and the sensor/motor data relayed onto the CANbus.
BBB
Build the code
cd build
make
Start network table server
cd build/bin
./network_table_server
Start BBB Ethernet Listener
./bbb_ethernet_listener
Start BBB CANbus Listener
./bbb_can_listener
NUC
Build the code
cd build
make -j8
\
cd ~/catkin_ws
catkin_make
Start roscore
roscore
Rudder
BBB
The BBB is connected to the CANbus. As of right now, mock data is constantly being outputted onto the CANbus.
-
Start network_table_server
-
Run bbb_canbus_listener
This will read data from the CANbus and write it to the network table
- Run bbb_eth_listener
This script will send data from the network table to the NUC via an ethernet connection/socket
NUC
-
Start the roscore
-
Run nuc_eth_listener
This script will retrieve data sent from the BBB and publish it to the /sensors rosnode
-
Run AIS
-
Run local_pathfinding
-
Run boat_controller
Rockblock+
The Rockblock is our satellite that will transfer sensor and UCCM data from the BBB to our land server
https://rockblock.rock7.com/Operations
https://docs.rockblock.rock7.com/reference#receiving-mo-messages-via-http-webhook
Iridium hosts a server that will handle the HTTP requests sent by our code (ie. land_satellite_listener and bbb_satellite_listener)
Land Server
- Run land_satellite_listener
BBB
-
Start network_table_server
-
Run bbb_satellite_listener