raspberry pi wifi controller
There are 2 workflow actions in this repository. One is called main.yaml - runs on every commit and automatically updates target.tar.gz file and commits and pushes the change itself. It also runs when a release is made. Another is release.yaml - runs on every release and automatically updates VERSION file to the tag name you gave the release and commits and pushes the change itself. e.g. if I set the tag as 1.0.0 then release.yaml will set the text in VERSION to say '1.0.0'.
The robots need to be connected to the data centre to send and receive data - work with all the other devices and programs.
- Run data centre
- Turn on robot
The robot should connect in less than a few minutes (less than a minute ideally).
If the robot is not connecting then consider the following possible issues:
- Flatbuffers out of date / changed
- Date/time out of sync
- Robot is low on battery power
- Networking issue (if you suspect this, check with tech office)
- If all the above are not the issue, then as a last resort a reflash may be needed to reset the pi completely (ask tech office for details)
This will allow you to connect to the robots from your pc. Can view logs, move files, download repos, etc.
- Ensure the robot is on and connected to data centre.
- Open cmd
- Type: ssh user@hostIP (The user should be “root” and hostIP should be the IP of the robot when connected to data centre)
- Type “yes” when it asks if youre sure you want to continue connecting
- Password: hive-P00* --> Asterisk being replaced by the number on the robot
To install the repository on the pi:
- Ssh into robot
- Curl latest target.tar.gz from the release pages
- Extract the tar.gz using tar
- Open the extracted file
- Find either of the update shell commands
- Give yourself executable permissions on that file using chmod +x
- Move the executable to root
- Run the executable (Can take an hour to complete if cpu is underclocked). It will be complete once it asks you for the next instruction
- Can also untar a target file if there isn’t one on the root already (Might work without)
- There should appear a flatbuffer file that you will have to rename to just flatbuffers instead of “flatbuffers-25.2.10”
This repository contains submodules. To use these submodules for dev purposes, you must initialise them one by one on the robots (can be done by curl the release).
Ensure you've already pulled the rpi controller repository (The one this README is from).
- Ensure you have updated the submodule's repository first
- Open cmd in the local rpi_wifi_controller folder
- git submodule update --init
- git submodule update --remote
- git add .
- git commit -m "<Your commit message here>"
- git push
At some point, you may need to do dev directly on the pi. To do that, you will need to curl and extract all the submodules of this repository. Ensure you've already ssh into the robot.
- Change directories to the empty file in place of the submodule
- Create a release on the GitHub repo or if there is already one, click on it to display
- Check if repo is public or private
- If public, copy link of tar.gz file in releases and use curl in robot to download it
- If private, ensure you are a collaborator of the repository, create a Personal Access Token on GitHub in your settings, and then use wget in the robot like this: wget --header "Authorization: token <a Personal Access Token from your account>" https://github.com/???