Ajustes para a IARA - LCAD-UFES/carmen_lcad GitHub Wiki

(seções abaixo apenas para serem feitas na IARA)

Para funcionar o raid:

sudo apt-get install dmraid

Para configurar o OpenJAUS siga o tutorial em : $CARMEN_HOME/sharedlib/OpenJAUS/README_ALBERTO.txt

Para que o GPS e o XSENS sejam configurados automaticamente ao serem conectados às portas USB, copie o seguinte arquivo do diretório data do Carmen para sua máquina:

 cd $CARMEN_HOME/data
 sudo cp 99-usb-serial.rules /etc/udev/rules.d/

Ajustes na rede para o GPS Trimble

Para conectar o novo GPS Trimble é necessário uma conexão com a Internet dentro da IARA. Optamos por usar um iPhone com conexão 3G.

Para o iPhone funcionar no Ubuntu 12.04 é necessário um tanto de coisas... Perdemos o histórico mas dá para achar na Internet (Google iPhone 4S ubuntu 12.04 mount). Precisa instalar uns pacotes (apt-get install ...). Se você tiver sucesso, vai ser possível usar o iPhone como Personal Hotspot, ou seja, usar a Internet de dentro da IARA.

Feito isso, é necessário criar um Gateway da máquina que tem acesso a Internet (car01) para uma subrede da IARA (192.168.0.0 - a subrede de Carro Network). Para isso (ver página de referência em https://help.ubuntu.com/community/Internet/ConnectionSharing (Gateway set up)), considerando o iPhone em wlp0s20f3 e a subrede da IARA em enp7s0:

  sudo iptables -A FORWARD -o wlp0s20f3 -i enp7s0 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
  sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  sudo iptables -t nat -F POSTROUTING
  sudo iptables -t nat -A POSTROUTING -o wlp0s20f3 -j MASQUERADE
---
Para adicionar uma nova interface 
(ex: você configurou o wifi, mas também quer poder usar o dongle 4G, no caso mude o eth2 para a interface do dongle 4G)
obs: esse metodo é para a utilização de uma das alternativas, não foi testado com a WIFI e o dongle 4G de forma simultanea 
  sudo iptables -A FORWARD -o wlp0s20f3 -i enp7s0 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
  sudo iptables -t nat -A POSTROUTING -o wlp0s20f3 -j MASQUERADE
--
Não esqueca:
  sudo iptables-save | sudo tee /etc/iptables.sav

Os comandos acima criam um NAT do iPhone para a subrede da IARA.

  • Em seguida, é necessário para manter permanente no caso do No Ubuntu 16.04 (o Ubuntu 18.04 não trabalha mais com o rc.local) :

editar o /etc/rc.local e adicionar a linha abaixo antes de "exit 0":

  iptables-restore < /etc/iptables.sav
  • No caso Ubuntu 18.04 em vez de usar o rc.local é necessário criar um service no systemd: (Creditos: Raphael) Certifique-se de que os arquivos "restore-iptable.sh" e "restore-iptables-connection.service" estão em $CARMEN_HOME/src/utilities/scripts e faça:
Copie o restore-iptable.sh para o /usr/bin
  sudo cp $CARMEN_HOME/src/utilities/scripts/restore-iptable.sh /usr/bin/
Certifique que o script esteja executável: 
  sudo chmod +x  /usr/bin/restore-iptable.sh

Instale o serviço systemd e habilite-o para início automático no boot:
  sudo cp $CARMEN_HOME/src/utilities/scripts/restore-iptables-connection.service /etc/systemd/system/ 
  sudo chmod 664 /etc/systemd/system/restore-iptables-connection.service
  sudo systemctl daemon-reload
  sudo systemctl enable restore-iptables-connection.service
  sudo systemctl start restore-iptables-connection.service

Caso queira conhecer outras opções válidas no systemd: man systemd.service

É necessário ainda:

  sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

Para tornar isso permanente, inclua as linhas abaixo em /etc/sysctl.conf:

  net.ipv4.ip_forward=1
  net.ipv4.conf.default.forwarding=1
  net.ipv4.conf.all.forwarding=1

A configuração está concluída. Faça um reboot para testar se a internet para todos os dispositivos na rede fica acessível (raspbery, GPS com conexão NTRIP). No Network Manager, tem que setar "Use this connection only for resources on its network" (Network Manager->IPv4 Settings->Routes) em todas as redes cabeadas exceto a do iPhone.

Ajustes acesso Raspberry

Para permitir rodar comandos remotamente no Raspberry Pi siga os passos descritos: (substitua o IP sugerido pelo IP dos Raspberrys (fazer esse processo para cada um))

  • Se você ainda não tem uma chave pública no computador que vai acessar o Pi, execute os comando abaixo para gera-la em ~/.ssh/id_rsa.pub (verifique se você já tem o arquivo para não gera-lo de novo)
  cd
  ssh-keygen -t rsa
  • Copie a chave pública do computador que vai acessar o Pi para o Pi com os comando abaixo
 cd
 ssh [email protected] mkdir -p .ssh
 cat .ssh/id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys'
  • Teste se funcionou com o comando abaixo
 ssh [email protected] 'ls'

Pronto!

Ajustes para o Raspberry do volante (apenas se estiver reinstalando o RaspBerry do volante. Nao eh necessario ao reinstalar o HD da IARA)

Prevenir que entre em modo de espera, proteção de tela ou desabilite o monitor

Fonte: https://raspberrypi.stackexchange.com/questions/752/how-do-i-prevent-the-screen-from-going-blank

Testado no Raspbian jessey

Only if the files don't exist install (It was not necessary):

  apt-get install x11-xserver-utils

Edit the files:

 /etc/xdg/lxsession/LXDE/autostart
 /etc/xdg/lxsession/LXDE-pi/autostart
 ~/.config/lxprofile/LXDE-pi/autostart

Append these lines:

  @xset s noblank
  @xset s off
  @xset -dpms

Possibly also comment out the line that says @xscreensaver -no-splash, so the complete file should look something like this:

  @lxpanel --profile LXDE
  @pcmanfm --desktop --profile LXDE
  # @xscreensaver -no-splash

  @xset s noblank
  @xset s off
  @xset -dpms

Maybe also exist the line @point-rpi, DONT DELETE and DONT ADD in the others files!

Also edit /etc/kbd/config and make sure these values are set as follows (however I believe this is only for when the lightweight desktop (LXDE) is not running (i.e. the pi is still in text / terminal mode):

  BLANK_TIME=0
  BLANK_DPMS=off
  POWERDOWN_TIME=0

I believe that the /etc/xdg/lxsession/LXDE/autostart may be the sort of system-wide version of ~/.xinitrc but someone else probably knows the nuances better.