# Comment setup la balise et le(s) robot(s)
Avant tous il faut ce connecter au réseau WiFi "Protobot" or "Protobot-5G" (ce dernier étant en 5 Ghz).
Partout le mot de passe est "cellaserv".
## Premier setup
Vous pouvez vérifier qu'un appareil est bien connecter et récupéré sont IP sur:
http://192.168.8.1/#/clients
### Sur la balise:
- Se connecter en SSH
- Configurer les cles SSH
- Clonner les repos
- Setup le server Git sur la balise
- Configurer et activer les services
Pour avoir internet sur la balise, le plus simple est de connecter le cable ethernet.
Si vous avez déja une cles SSH privé à mettre sur le robot, ajouté la dans le dossier ~/.ssh/ sinon faite `ssh-keygen -t ed25519` pour générer une nouvelle paire de cles et pensé bien à ajouté la cles publique sur le GitHub d'Evolutek.
Clonez ensuite le repos services:
```bash
git clone git@github.com:evolutek/services.git
```
Installer le serveur Cellaserv:
```bash
sudo apt install golang
```
Et suivez les instructions ici:
https://hackmd.io/JhQ0mkRDQuGQKasJEBeDBQ?view
### Sur le robot
- Se connecter en SSH
- Cloner les repos
- Configurer et activer les services
La balise doit être allumer et le robot doit y être connecter pour les prochaines étapes.
Générer une cles SSH:
```bash
ssh-keygen -t ed25519
```
Ajouter la cles publique sur le beacon en executant la commanded suivante sur le beacon:
```bash
echo "La cles public" >> ~/.ssh/authorized_keys
```
Ajouter le repo de services:
```bash
git clone pi@beacon:/home/pi/services
```
Installer Python Cellaserv:
```bash
git clone --recurse-submodules https://github.com/evolutek/python-cellaserv3.git
cd python-cellaserv3
git switch beforeAsyncio --detach
python -m pip install .
```
Activer l'UART et l'I2C:
```bash
sudo raspi-config
```
Faire la rotation du tactile:
Ajouter au fichier `/boot/firmware/config.txt`:
```
lcd_rotate=2
display_rotate=2
```
et assuré vous que ce même fichier contienne:
```
dtoverlay=vc4-fkms-v3d
```
et que le dtoverlay suivant soit commenter ou désactivé:
```
dtoverlay=vc4-kms-v3d
```
Puis rebooter.
Si le changement de config.txt n'a pas changer la rotation de l'affichage mais seulement celle du tactil, alors Wayland est probablement utilisé.
Dans le cas ou labwc est utiliser comme serveur Wayland il faut faire:
```bash
wlr-randr --output DSI-1 --transform 180
```
Remplacer "DSI-1" par votre afficheur (vous pouver l'obtenir avec `wlr-randr`)
Installer les library dynamic utilisé par le code haut niveau:
```bash
sudo apt-get install libgeos-dev
```
Appliquer les règles udev:
```
cd ~/services/python
sudo cp evolutek.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger
```
Install lib-dxl:
```bash
cd ~
git clone "git@github.com:evolutek/lib-dxl.git"
cd lib-dxl
make
sudo cp libdxl.so /usr/lib/
```
## Avant chaque match
### Sur la balise
- Allumer la balise
### Le robot
- Mettre la batterie
- Allumer le robot