Difference between revisions of "Montagem do Pêndulo de Precisão: Gestão de software"

From wwwelab
Jump to navigation Jump to search
 
(28 intermediate revisions by the same user not shown)
Line 32: Line 32:
 
Avance para a seção [[#Configuração do Sistema Operativo RPi | Configuração do Sistema Operativo RPi]].
 
Avance para a seção [[#Configuração do Sistema Operativo RPi | Configuração do Sistema Operativo RPi]].
  
==== Connecting to the RPi through a ssh connection ====
+
==== Ligação ao RPi através de uma ligação SSH ====
If a keyboard, mouse and display are not available to use and interact with the RPi, it's still possible to interact with it by setting up the [https://en.wikipedia.org/wiki/Secure_Shell SSH] service before inserting the SD card into the RPi. The SSH service allows connections with a RPi via a network interface, through which commands can be sent. This makes use of the keyboard, mouse and display of a second computer, e.g. a already setup laptop or desktop computer. To do so, the Raspberry Pi and the computer used need their network setting to be adjusted.
+
Se não estiverem disponíveis um teclado, rato e monitor para utilizar e interagir com o RPi, ainda é possível interagir com este através da configuração do serviço [https://en.wikipedia.org/wiki/Secure_Shell SSH] antes de inserir o cartão SD no RPi. O serviço SSH permite ligações com um RPi através de uma interface de rede, a partir da qual os comandos podem ser enviados. Isto faz uso do teclado, rato e monitor de um segundo computador (um computador portátil ou fixo já configurado, por exemplo). Para tal, o Raspberry Pi e o computador utilizado necessitam que a sua configuração de rede seja ajustada.
  
To enable the SSH service on the RPi externally:
+
Para permitir externamente o serviço SSH no RPi:
*Insert the SD card into a computer, e.g. the one used to install the OS on the card.
+
*Insira o cartão SD num computador, por exemplo, o utilizado para instalar o SO no cartão.
*After installing the OS, the card will show on computers as being composed of two drives. A smaller drive of a few hundred MBs and a larger drive of a few GBs (depending on the size of the SD card).
+
*Após a instalação do SO, o cartão aparecerá nos computadores como sendo composto por duas unidades. Uma unidade mais pequena de algumas centenas de MBs e uma unidade maior de alguns GBs (dependendo do tamanho do cartão SD).
*On the smaller "drive", create an empty file called '''ssh'''. This enables the SSH service during the next boot of the RPi ''only''. This setting will be made permanent later.
+
*Na "drive" mais pequena, crie um ficheiro vazio chamado '''ssh'''. Isto permite o serviço SSH ''apenas'' durante o próximo arranque do RPi. Esta configuração será tornada permanente mais tarde.
*On the bigger "drive", edit the file "/etc/dhcpcd.conf". On the end of the file, there should be a section of text similar to this:
+
*Na "drive" maior, edite o ficheiro "/etc/dhcpcd.conf". No final do ficheiro, deverá haver uma secção de texto semelhante a esta:
 
  <nowiki>
 
  <nowiki>
 
# It is possible to fall back to a static IP if DHCP fails:
 
# It is possible to fall back to a static IP if DHCP fails:
Line 52: Line 52:
 
fallback static_eth0</nowiki>
 
fallback static_eth0</nowiki>
  
Edit the file so it mimics the text shown above. The line:
+
Edite o ficheiro tal como o texto mostrado acima. A linha:
 
  <nowiki>
 
  <nowiki>
 
static ip_address=123.123.123.123/24</nowiki>
 
static ip_address=123.123.123.123/24</nowiki>
Defines the fallback IP address of the Raspberry Pi when it receives no IP offers through [https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP]. In general, this happens when no connection is available on the network or it has been connected to a common laptop or desktop computer. Other fallback IP's other than 123.123.123.123 can be chosen. This one is suggested as it's easy to remember.
+
Define o endereço IP de recurso do Raspberry Pi quando não recebe ofertas IP através do [https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP]. Em geral, isto acontece quando não há nenhuma ligação disponível na rede ou quando foi ligado a um computador portátil ou fixo comum. Podem ser escolhidos outros IPs de ''fallback'' para além de 123.123.123.123. Este é sugerido porque é simples de memorizar.
*The SD card can now be safely unmounted from the computer and inserted into the Raspberry Pi and booted
+
*O cartão SD pode agora ser removido em segurança do computador e inserido no Raspberry Pi para arrancar.
  
Next, the computer that will connect to the RPi must have it's own Ethernet connection configured so it connects to the same [https://en.wikipedia.org/wiki/Subnetwork subnet] as the RPi. This means that, following the configuration shown above, its' IP should be configured to be ''123.123.123.xxx'', where the last number can be any from 001 to 254, and a netmask of ''255.255.255.000''. The exact procedure to follow to accomplish this is highly dependent on the OS installed on the computer. Be sure to proceed in a way appropriate for your specific OS. '''If your computer uses the Ethernet port for day-to-day internet connection, it's possible that some specific configuration is attributed to it to make this connection possible on your network. Be sure to preserve the original network settings, by either taking screenshots of the appropriate dialogs or taking notes, of your Ethernet adapter so you can rollback any changes made.''' Below are some examples for common OSes.
+
Em seguida, o computador que se ligará ao RPi deve ter a sua própria ligação Ethernet configurada de modo a ligar-se à mesma [https://en.wikipedia.org/wiki/Subnetwork sub-rede] que o RPi. Isto significa que, seguindo a configuração mostrada acima, o seu IP deve ser configurado para ''123.123.123.xxx'', onde o último número pode ser qualquer um de 001 a 254, e uma ''netmask'' de ''255.255.255.000''. O procedimento exato a seguir para o conseguir é altamente dependente do SO instalado no computador. É importante proceder de uma forma adequada ao sistema operativo específico. '''Se o seu computador utiliza a porta Ethernet para a ligação diária à Internet, é possível que lhe seja atribuída alguma configuração específica para tornar esta ligação possível na sua rede. Certifique-se que preserva as configurações originais da rede do seu adaptador Ethernet para que possa reverter quaisquer alterações realizadas, seja tirando capturas de ecrã dos diálogos apropriados ou tomando notas.''' Pode encontrar alguns exemplos de SOs comuns abaixo.
  
===== Configuring the Ethernet Adapter on Windows 10/8.1/7 and connecting to the RPi =====
+
===== Configuração do Adaptador Ethernet no Windows 10/8.1/7 e ligação ao RPi =====
*Microsoft provides [https://support.microsoft.com/en-us/help/15089/windows-change-tcp-ip-settings instructions] on how to manually configure the Ethernet adapter.
+
*A Microsoft fornece [https://support.microsoft.com/en-us/help/15089/windows-change-tcp-ip-settings instruções] sobre como configurar manualmente o adaptador Ethernet.
*Follow the procedure for manually configuring IPv4 settings. When prompted, fill the ''IP Address'' field with an appropriate address according to the configuration selected for the RPi. Assuming the example configuration shown on this page was selected, this field can be filled with ''123.123.123.124'', and the field ''Subnet prefix length''/''Subnetmask'' can be filled either with ''255.255.255.0'' or ''24''. Settings regarding the ''Gateway'' and ''DNS'' fields and IPv6 can be ignored.
+
*Siga o procedimento de configuração manual das definições IPv4. Quando solicitado, preencha o campo ''IP Address'' com um endereço apropriado de acordo com a configuração selecionada para o RPi. Assumindo que foi escolhida a configuração de exemplo mostrada nesta página, este campo pode ser preenchido com ''123.123.123.124'', e o campo ''Subnet prefix length''/''Subnetmask'' pode ser preenchido com ''255.255.255.0'' ou ''24''. As configurações relativas aos campos ''Gateway'' e ''DNS'' e ao IPv6 podem ser ignoradas.  
*If not done so before, the RPi can be booted and connected to the computer throught Ethernet. This is accomplished by connecting one end of an Ethernet cable to the Ethernet port of the computer and the other end of the cable to the Ethernet port of the RPi
+
*Caso não o tenha feito antes, o RPi pode ser iniciado e ligado ao computador através de Ethernet. Isto é conseguido ligando uma extremidade de um cabo Ethernet à porta Ethernet do computador e a outra extremidade do cabo à porta Ethernet do RPi.
*The network symbol on the Windows tray should now show the Ethernet connection. Possibly stating it is an unknown network.
+
*O símbolo de rede no Windows deve agora mostrar a ligação Ethernet. Provavelmente afirmará que se trata de uma rede desconhecida.
*Windows does not install a SSH client by default. To connect to the RPi via SSH one must be set up. Although others can be used, [https://putty.org/ putty] is an open source, free software SSH client for Windows. It can be installed or used as standalone, meaning no install necessary. The following steps will follow the use of putty. Be aware that although the general configuration also applies to other software, specific instructions may differ.
+
*O Windows não instala um cliente SSH por "default". . Para se ligar ao RPi via SSH deve ser configurado um. Embora outros possam ser utilizados, o [https://putty.org/ putty] é um software cliente SSH de código aberto e gratuito para Windows. Pode ser instalado ou utilizado como autónomo, o que significa que a instalação não é necessária. Os passos seguintes seguir-se-ão à utilização do putty. Embora a configuração geral também se aplique a outro software, as instruções específicas podem ser diferentes.
*Fill the field ''Host Name (or IP Address)'' with the configured IP of the RPi. If the suggested configuration is being followed, this should be filled with ''123.123.123.123''. On the radio buttons below, select ''SSH''. If you wish to save this configuration so that it's not needed to remember or rewrite it every time, write any memorable name on the field ''Saved Sessions'' and click ''Save''. You can then retrieve this settings by selecting the name from the list and selecting ''Load''.
+
*Preencha o campo ''Host Name (or IP Address)'' com o IP configurado do RPi. Se a configuração sugerida estiver a ser seguida, deverá ser preenchido com ''123.123.123.123''. Nos botões de rádio abaixo, selecione ''SSH''. Se desejar guardar esta configuração para que não seja necessário recordá-la ou reescrevê-la sempre, escreva qualquer nome memorável no campo  ''Saved Sessions'' e clique em ''Save''. Assim, poderá recuperar esta configuração selecionando o nome da lista e selecionando ''Load''.
*A warning can appear stating that the host, the computer you're connecting to, is new and unknown. You'll be asked if the new computer can be trusted and the connection completed. Since this a fresh install of a computer you own and have setup by yourself, you can safely answer yes. When prompted, input the password. If this is not the first time following this guide, it's possible that the warning states that the host, the computer you're connecting to, has changed. This is expected as you can now be applying theses steps to a different RPi. Accept the warning by selecting ''Yes'' and the connection should be completed.
+
*Pode aparecer um aviso indicando que o anfitrião, o computador ao qual se está a ligar, é novo e desconhecido. Ser-lhe-á perguntado se o novo computador é de confiança e se a ligação pode ser completada. Uma vez que se trata de uma nova instalação de um computador que possui e que foi configurado por si, pode responder com segurança que sim. Quando lhe for pedido, introduza a palavra-chave. Se esta não for a primeira vez que segue este guia, é possível que o aviso indique que o anfitrião, o computador a que se está a ligar, mudou. Isto é esperado, uma vez que pode agora aplicar estes passos a um RPi diferente. Aceite o aviso, selecionando ''Yes'' e a ligação deve ser completada.
*When prompted for the user and password, input the default user and password of the Raspian OS which can be found [https://www.raspberrypi.org/documentation/linux/usage/users.md here].
+
*Quando lhe forem pedidos o utilizador e a palavra-passe, introduza o utilizador predefinido e a palavra-passe do SO Raspian que pode ser encontrada [https://www.raspberrypi.org/documentation/linux/usage/users.md aqui].
*Note that in this case ''pi'' and ''123.123.123.123'' are used since we're connecting to the RPi as user pi and it's directly connected to the computer with the configured IP of ''123.123.123.123''. After creating a new user and deleting the default one and connecting the RPi to regular network, '''''this will change'''''.
+
*Note que neste caso são utilizados o ''pi'' e ''123.123.123.123'' uma vez que se está a ligar ao RPi como utilizador pi e este está diretamente ligado ao computador com o IP ''123.123.123.123'' configurado. Depois de criar um novo utilizador, de apagar o predefinido e ligar o RPi à rede normal, '''''isto irá mudar'''''.
*After successfully inputting the default password, a prompt will be shown stating:
+
*Depois de introduzir com sucesso a palavra-passe predefinida, surgirá o seguinte texto:
 
  <nowiki>
 
  <nowiki>
 
pi@raspberry:~ $</nowiki>
 
pi@raspberry:~ $</nowiki>
You have logged in successfully and can now proceed to the '''RPi Operating System Configuration'''
+
Conectou-se com sucesso e pode proceder à [[#Configuração do Sistema Operativo do RPi| Configuração do Sistema Operativo do RPi]]
*If there was an error stating
+
*Se surgiu um erro que indica:
 
  <nowiki>
 
  <nowiki>
 
ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host</nowiki>
 
ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host</nowiki>
Where xxx.xxx.xxx.xxx is the IP used in the ssh command, the Ethernet adapters have been misconfigured. Please, revisit the configuration of the adapters. For a successful connection both the computer and the RPi must be configured to be in the same subnet. If you haven't followed the IP configuration suggested here, please note it is known to provide a functional set up.
+
onde xxx.xxx.xxx.xxx é o IP utilizado no comando ssh, os adaptadores Ethernet foram mal configurados. Revisite a configuração dos adaptadores. Para uma ligação bem sucedida, tanto o computador como o RPi devem ser configurados de modo a estarem na mesma sub-rede. Se não adotou a configuração IP sugerida, saiba que esta fornece uma configuração funcional.
  
===== Configuring the Ethernet Adapter on Linux using Network Manager and connecting to the RPi =====
+
===== Configuração do Adaptador Ethernet no Linux utilizando o Network Manager e ligação ao RPi =====
*Linux isn't a monolithic OS. What is generally know as Linux is a set of several distributions, also know as distros, that build an OS on the same basis, the Linux kernel. Depending on the distro used, the specific procedure to follow will differ. The following procedure applies to distros that have Network Manager setup to manage connectivity. This is the case for most of the popular distros, such as Ubuntu and its flavours, Linux Mint, Fedora, etc.
+
*O Linux não é um SO monolítico. O que é geralmente referido como Linux é um conjunto de várias distribuições, também conhecidas como "distros", que constroem um SO na mesma base, o Linux kernel. Dependendo da "distro" utilizada, o procedimento específico a seguir será diferente. O procedimento seguinte aplica-se às distribuições que têm o Network Manager configurado para gerir a conetividade. Este é o caso da maioria das distribuições populares, tais como Ubuntu e os seus sabores, Linux Mint, Fedora, etc.
*Right click on the Network Manager icon and select edit connections
+
*Clique com o botão direito do rato sobre o ícone ''Network Manager'' e selecione  ''Edit connections''
*Click on the ''+'' sign on the bottom left of the window,select Ethernet on the dialog shown and click create. By creating a new configuration, the settings used for regular internet access are preserved, making it easier to roll back the changes.
+
*Clique no sinal ''+'' no canto inferior esquerdo da janela, selecione ''Ethernet'' no diálogo mostrado e clique em ''Create''. Ao criar uma nova configuração, as definições utilizadas para o acesso normal à Internet são preservadas, tornando mais fácil reverter as alterações.
*The name field can be filled with any name, although it's recommended to write an easy to remember one, such as ''Raspberry'' or ''Ethernet RPi''.
+
*O campo ''Name'' pode ser preenchido com qualquer nome, embora seja recomendado escrever um fácil de lembrar, tal como ''Raspberry'' ou ''Ethernet RPi''.
*Select the ''IPv4 Settings'' tab and, on the ''Method'' dropdown menu, select ''Manual''.
+
*Selecione o separador ''IPv4 Settings'' e, no menu ''Method dropdown'', selecione ''Manual''.
*Click ''Add'' next to the ''Adresses'' table and, when prompted, fill the ''Address'' field with an appropriate address according to the configuration selected for the RPi. Assuming the example configuration shown on this page was selected, this field can be filled with ''123.123.123.124'', and the neighboring field ''Netmask'' can be filled either with ''255.255.255.0'' or ''24''.
+
*Clique em ''Add'' junto à tabela ''Adresses'' e, quando solicitado, preencha o campo ''Address'' com um endereço apropriado de acordo com a configuração escolhida para o RPi. Assumindo que a configuração de exemplo mostrada nesta página foi a escolhida, este campo pode ser preenchido com  ''123.123.123.124''e o campo vizinho ''Netmask'' pode ser preenchido ou com  ''255.255.255.0'' ou ''24''.
*The rest of the fields can be safely ignored. Click ''Save'' to save the new connection settings. The new settings will now appear on the list with the name selected.
+
*O resto dos campos podem ser ignorados em segurança. Clique em ''Save'' para guardar as novas definições de ligação. As novas configurações surgirão agora na lista com o nome escolhido.
*If not done so before, the RPi can be booted and connected to the computer throught Ethernet. This is accomplished by connecting one end of an Ethernet cable to the Ethernet port of the computer and the other end of the cable to the Ethernet port of the RPi
+
*Caso não o tenha feito antes, o RPi pode ser iniciado e ligado ao computador através da Ethernet. Isto é conseguido ligando uma extremidade de um cabo Ethernet à porta Ethernet do computador e a outra extremidade do cabo à porta Ethernet do RPi
*The Network Manager icon should now show a spinning symbol, as it tries to connect to the RPi. Click on the Network Manager symbol and on the menu select the Ethernet connection with the name chosen before. The connection should now be set up.
+
*Ao tentar ligar-se o RPi, o ícone do Gestor de Rede deve mostrar um símbolo rotativo. Clique no símbolo do Gestor de Rede e selecione, no menu, a ligação Ethernet com o nome escolhido anteriormente. A ligação deve agora ser configurada.
*Most Linux distros include SSH client software on the default OS install, making it unnecessary to install any additional software. SSH commands follow the syntax ''ssh user@ip'' or ''ssh user@hostname''. The default user and password of the Raspian OS can be found [https://www.raspberrypi.org/documentation/linux/usage/users.md here]. To connect to the RPi open a terminal on the computer, and write
+
*A maioria das ''distros'' Linux incluem software SSH na instalação padrão do SO, tornando desnecessária a instalação de qualquer software adicional. Os comandos SSH seguem a sintaxe ''ssh user@ip'' ou ''ssh user@hostname''. O utilizador predefinido e a palavra-passe do SO Raspian podem ser encontrados [https://www.raspberrypi.org/documentation/linux/usage/users.md aqui]. Para se ligar ao RPi, abra um terminal no computador e escreva
 
  <nowiki>
 
  <nowiki>
 
ssh pi@RPI ADDRESS</nowiki>
 
ssh pi@RPI ADDRESS</nowiki>
''RPI ADDRESS'' should be replaced by the IP address selected for the RPi on the previous section. Assuming the configuration suggested was followed, the command should be
+
O ''RPI ADDRESS'' deve ser substituído pelo endereço IP selecionado para o RPi na secção anterior. Assumindo que foi adotada a configuração sugerida, o comando deve ser:
 
  <nowiki>
 
  <nowiki>
 
ssh pi@123.123.123.123</nowiki>
 
ssh pi@123.123.123.123</nowiki>
Note that in this case ''pi'' and ''123.123.123.123'' are used since we're connecting to the RPi as user pi and it's directly connected to the computer with the configured IP of ''123.123.123.123''. After creating a new user and deleting the default one and connecting the RPi to regular network, '''''this will change'''''.
+
Note que, neste caso, são utilizados o ''pi'' e o ''123.123.123.123'', uma vez que se está a ligar ao RPi como utilizador pi e este está diretamente ligado ao computador com o IP configurado ''123.123.123.123''. Depois de criar um novo utilizador, apagar o predefinido e ligar o RPi à rede normal, '''''isto irá mudar'''''.
*A warning can appear stating that the host, the computer you're connecting to, is new and unknown. You'll be asked if the new computer can be trusted and the connection completed. Since this a fresh install of a computer you own and have setup by yourself, you can safely answer yes. When prompted, input the password. If this is not the first time following this guide, it's possible that the warning states that the host, the computer you're connecting to, has changed. This is expected as you can now be applying theses steps to a different RPi. Edit the file stated on the warning and delete the line starting with the IP of the RPi. If the example configuration is being followed, this will be the line starting with ''123.123.123.123''. Attempt to reconnect by using the SSH command again. You should know see the warning stating this is a new, unknown computer.
+
*Pode surgir um aviso afirmando que o anfitrião, o computador a que se está a ligar, é novo e desconhecido. Ser-lhe-á perguntado se o novo computador é de confiança e a se ligação pode ser completada. Uma vez que se trata de uma nova instalação de um computador que possui e que foi configurado por si, pode responder com segurança que sim. Quando lhe for pedido, introduza a palavra-chave. Se esta não for a primeira vez que segue este guia, é possível que o aviso indique que o anfitrião, o computador a que se está a ligar, mudou. Isto é esperado, uma vez que pode agora aplicar estes passos a um RPi diferente. Edite o ficheiro indicado no aviso e apague a linha que começa com o IP do RPi. Se a configuração do exemplo estiver a ser seguida, esta será a linha que começa com
*After successfully inputting the default password, a prompt will be shown stating:
+
''123.123.123.123''. Experimente voltar a ligar utilizando novamente o comando SSH. Deverá ver um aviso que indica que se trata de um computador novo e desconhecido.
 +
*Depois de introduzir com sucesso a palavra-passe predefinida, surgirá o seguinte texto:
 
  <nowiki>
 
  <nowiki>
 
pi@raspberry:~ $</nowiki>
 
pi@raspberry:~ $</nowiki>
You have logged in successfully and can now proceed to the '''RPi Operating System Configuration'''
+
Conectou-se com sucesso e pode agora proceder à [[#Configuração do Sistema Operativo do RPi | Configuração do Sistema Operativo do RPi]]
*If there was an error stating
+
*Se surgiu um erro que indica:
 
<nowiki>
 
<nowiki>
 
ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host</nowiki>
 
ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host</nowiki>
Where xxx.xxx.xxx.xxx is the IP used in the ssh command, the Ethernet adapters have been misconfigured. Please, revisit the configuration of the adapters. For a successful connection both the computer and the RPi must be configured to be in the same subnet. If you haven't followed the IP configuration suggested here, please note it is known to provide a functional set up.
+
onde xxx.xxx.xxx.xxx é o IP utilizado no comando ssh, os adaptadores Ethernet foram mal configurados. Revisite a configuração dos adaptadores. Para uma ligação bem sucedida, tanto o computador como o RPi devem ser configurados de modo a estarem na mesma sub-rede. Se não adoptou a configuração IP sugerida saiba que esta fornece uma configuração funcional.
  
===== Configuring the Ethernet Adapter on MacOS Catalina/Mojave/High Sierra and connecting to the RPi =====
+
===== Configuração do Adaptador Ethernet no MacOS Catalina/Mojave/High Sierra e ligação ao RPi =====
*Apple provides [https://support.apple.com/guide/mac-help/use-dhcp-or-a-manual-ip-address-on-mac-mchlp2718/mac instructions] on how to manually configure the Ethernet adapter.
+
*A Apple fornece [https://support.apple.com/guide/mac-help/use-dhcp-or-a-manual-ip-address-on-mac-mchlp2718/mac instruções] sobre como configurar manualmente o adaptador Ethernet.
*Follow the procedure for manually configuring IPv4 settings. When prompted, fill the ''IP Address'' field with an appropriate address according to the configuration selected for the RPi. Assuming the example configuration shown on this page was selected, this field can be filled with ''123.123.123.124'', and the field ''Subnetmask'' can be filled either with ''255.255.255.0'' or ''24''. Settings regarding the ''Gateway'' and ''DNS'' fields and IPv6 can be ignored.
+
*Siga o procedimento para a configuração manual das definições IPv4. Quando solicitado, preencha o campo ''IP Address'' com um endereço apropriado de acordo com a configuração selecionada para o RPi. Assumindo que a configuração de exemplo mostrada nesta página foi selecionada, este campo pode ser preenchido com ''123.123.123.124'', e o campo  ''Subnetmask'' pode ser preenchido com ''255.255.255.0'' ou ''24''. As configurações relativas aos campos ''Gateway'' e ''DNS'' e ao IPv6 podem ser ignoradas.
*If not done so before, the RPi can be booted and connected to the computer throught Ethernet. This is accomplished by connecting one end of an Ethernet cable to the Ethernet port of the computer and the other end of the cable to the Ethernet port of the RPi
+
*Se não o tiver feito antes, o RPi pode ser iniciado e ligado ao computador através da Ethernet. Para tal, basta ligar uma extremidade do cabo Ethernet à porta Ethernet do computador e a outra extremidade do cabo à porta Ethernet do RPi
*The network symbol should now show the connection as being completed.
+
*O símbolo da rede deve agora mostrar a ligação como estando concluída
*MacOS includes a SSH client on the default OS install, making it unnecessary to install any additional software. SSH commands follow the syntax ''ssh user@ip'' or ''ssh user@hostname''. The default user and password of the Raspian OS can be found [https://www.raspberrypi.org/documentation/linux/usage/users.md here]. To connect to the RPi open a terminal on the computer, and write
+
*MacOS inclui um cliente SSH client na instalação predefinida do SO, tornando desnecessária a instalação de qualquer software adicional. Os comandos SSH seguem a sintaxe ''ssh user@ip'' ou ''ssh user@hostname''. O utilizador predefinido e a palavra-passe do SO Raspian podem ser encontrados [https://www.raspberrypi.org/documentation/linux/usage/users.md aqui]. Para se ligar ao RPi, abra um terminal no computador, e escreva
 
  <nowiki>
 
  <nowiki>
 
ssh pi@RPI ADDRESS</nowiki>
 
ssh pi@RPI ADDRESS</nowiki>
''RPI ADDRESS'' should be replaced by the IP address selected for the RPi on the previous section. Assuming the configuration suggested was followed, the command should be
+
O ''RPI ADDRESS'' deve ser substituído pelo endereço IP selecionado para o RPi na secção anterior. Assumindo que a configuração sugerida foi adotada, o comando deve ser:
 
  <nowiki>
 
  <nowiki>
 
ssh pi@123.123.123.123</nowiki>
 
ssh pi@123.123.123.123</nowiki>
Note that in this case ''pi'' and ''123.123.123.123'' are used since we're connecting to the RPi as user pi and it's directly connected to the computer with the configured IP of ''123.123.123.123''. After creating a new user and deleting the default one and connecting the RPi to regular network, '''''this will change'''''.
+
Note que, neste caso, são utilizados o ''pi'' e ''123.123.123.123'' , uma vez que nos estamos a ligar ao RPi como utilizador pi e este está diretamente ligado ao computador com o IP configurado ''123.123.123.123''. Depois de criar um novo utilizador, apagar o predefinido e ligar o RPi à rede normal, '''''isto irá mudar'''''.
*A warning can appear stating that the host, the computer you're connecting to, is new and unknown. You'll be asked if the new computer can be trusted and the connection completed. Since this a fresh install of a computer you own and have setup by yourself, you can safely answer yes. When prompted, input the password. If this is not the first time following this guide, it's possible that the warning states that the host, the computer you're connecting to, has changed. This is expected as you can now be applying theses steps to a different RPi. Edit the file stated on the warning and delete the line starting with the IP of the RPi. If the example configuration is being followed, this will be the line starting with ''123.123.123.123''. Attempt to reconnect by using the SSH command again. You should know see the warning stating this is a new, unknown computer.
+
*Pode surgir um aviso afirmando que o anfitrião, o computador a que se está a ligar, é novo e desconhecido. Ser-lhe-á perguntado se o novo computador é de confiança e se a ligação pode ser completada. Uma vez que se trata de uma nova instalação de um computador que possui e que foi configurado por si, pode responder com segurança que sim. Quando lhe for pedido, introduza a palavra-chave. Se esta não for a primeira vez que segue este guia, é possível que o aviso indique que o anfitrião, o computador a que se está a ligar, mudou. Isto é esperado, uma vez que pode agora aplicar estes passos a um RPi diferente. Edite o ficheiro indicado no aviso e apague a linha que começa com o IP do RPi. Se a configuração do exemplo estiver a ser seguida, esta será a linha que começa com ''123.123.123.123''. Tente voltar a ligar utilizando novamente o comando SSH. Surgirá um aviso que indica que se trata de um computador novo, desconhecido.
*After successfully inputting the default password, a prompt will be shown stating:
+
*Depois de introduzir com sucesso a palavra-passe predefinida, surgirá o seguinte texto:
 
  <nowiki>
 
  <nowiki>
 
pi@raspberry:~ $</nowiki>
 
pi@raspberry:~ $</nowiki>
You have logged in successfully and can now proceed to the '''RPi Operating System Configuration'''
+
Conectou-se com sucesso e pode agora proceder à [[#Configuração do Sistema Operativo do RPi|Configuração do Sistema Operativo do RPi]]
*If there was an error stating
+
*Se surgiu um erro que indica
 
<nowiki>
 
<nowiki>
 
ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host</nowiki>
 
ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host</nowiki>
Where xxx.xxx.xxx.xxx is the IP used in the ssh command, the Ethernet adapters have been misconfigured. Please, revisit the configuration of the adapters. For a successful connection both the computer and the RPi must be configured to be in the same subnet. If you haven't followed the IP configuration suggested here, please note it is known to provide a functional set up.
+
onde xxx.xxx.xxx.xxx é o IP utilizado no comando ssh, os adaptadores Ethernet foram mal configurados. Revisite a configuração dos adaptadores. Para uma ligação bem sucedida, tanto o computador como o RPi devem ser configurados de modo a estarem na mesma sub-rede. Se não adoptou a configuração IP sugerida saiba que esta fornece uma configuração funcional.
  
=== Configuração do Sistema Operativo RPi ===
+
=== Configuração do Sistema Operativo do RPi ===
After installation, the OS needs to be configured. The following instructions are to be followed on the terminal prompt. If you are using a keyboard and display connected to the RPi and installed an OS with GUI, please open a terminal emulator.
+
Depois de instalado, o SO precisa de ser configurado. As próximas instruções devem ser seguidas no prompt terminal. Se estiver a utilizar um teclado e monitor ligados ao RPi e instalado um SO com IGU, por favor abra um emulador terminal.
  
First, proceed with general system configuration by loading the raspi-config utilty, executing the command:
+
Primeiro, proceda à configuração geral do sistema carregando o utilitário raspi-config, ao executar o comando:
  
 
  <nowiki>
 
  <nowiki>
 
sudo raspi-config</nowiki>
 
sudo raspi-config</nowiki>
  
When prompted input user's ''pi'' password. The menu that shows can be navigated using arrow keys for selection, escape key for moving backwards on the menus and enter to select the highlighted entry.
+
Quando solicitado, introduza a senha do utilizador ''pi''. Pode navegar no menu usando as teclas de Seta para seleção, tecla Escape para retroceder nos menus e Enter para selecionar a entrada em destaque.
  
*The ''1 Change User Password'' entry can be ignored as the ''pi'' user will be deleted later
+
*A opção ''1 Change User Password'' pode ser ignorada, uma vez que o utilizador ''pi'' será apagado mais tarde.
  
*On the ''2 Network Options'' entry, it's possible for the ''Hostname'' to be set and a ''Wi-fi'' connection to be configured.
+
*Na opção ''2 Network Options'' é possível definir o ''Hostname'' (Nome do Anfitrião) e configurar uma ligação ''Wi-fi''
  
The ''Hostname'' is the name assigned to the RPi and has no special meaning. It's helpful for easy recognition of the computer based only on name.  
+
O ''Hostname'' é o nome atribuído ao RPi e não tem qualquer significado especial. É útil porque facilita o reconhecimento do computador com base apenas no nome.  
  
The ''Wi-fi'' entry allows the configuration of a Wi-fi network by entering the SSID (network name) and network password. This dialog only works for WEP, WPA and WPA2 schemes. WPA-entreprise must be manualy setup through the [https://w1.fi/wpa_supplicant/ wpa_supplicant].
+
A entrada ''Wi-fi'' permite a configuração de uma rede Wi-Fi introduzindo o SSID (nome da rede) e a palavra-passe da rede. Este diálogo só funciona para esquemas WEP, WPA e WPA2. O WPA-entreprise deve ser configurado manualmente através do [https://w1.fi/wpa_supplicant/ wpa_supplicant].
  
Ignore the remaining entries unless certain about the changes being performed.  
+
Ignore as restantes entradas, a não ser que tenha a certeza das alterações que estará a realizar.  
  
*On the ''3 Boot Options'', it's the ''Desktop / CLI'' entry selects whether the RPi boots into a GUI environment or into a command prompt, the ''Wait for Network at Boot'' if it waits for network connection before completing the boot process and the ''Splash Screen'' if it shows an image or debugging text during boot.
+
*Em ''3 Boot Options'', a entrada ''Desktop / CLI'' é a que seleciona se o RPi arranca num ambiente IGU ou num prompt de comando; a entrada ''Wait for Network at Boot'' se espera pela ligação à rede antes de completar o arranque e a ''Splash Screen'' se mostra uma imagem ou um texto de depuração durante o arranque.
  
Be aware that the ''Desktop / CLI'' entry only produces effects if you previously installed a version of Raspbian with GUI or have meanwhile installed a GUI on the lite version.
+
Tenha em atenção que a entrada ''Desktop / CLI'' só produz efeitos se tiver previamente instalado uma versão do Raspbian com IGU ou tiver instalado entretanto uma IGU na versão ''lite''.
  
These settings are safe to setup according to users wishes.
+
Estas configurações são seguras para aplicar consoante o que os utilizadores pretendem.
  
*On the ''4 Localisation Options'' entry, the ''Change Locale'' entry allows setting up the RPi so it's diplayed language, and other localisation elements, such as time and date format, name of days of the wiki, currency, etc, are according the RPi user's location, the ''Change Timezone'' entry allows setting the local timezone, so that the RPi shows the correct time and date, the ''Change Keyboard Layout'' entry allows the user to set up it's keyboard so that the keys typed in the physical keyboard match the ones that appear on screen, and the ''Change Wi-fi Country'' sets up the RPi so it's communicating on the right Wi-fi frequencies according to the local laws.
+
*Em ''4 Localisation Options'', a entrada ''Change Locale'' permite configurar o RPi de modo a que a língua, e outros elementos de localização, tais como o formato da hora e da data, o nome dos dias da wiki, a moeda, etc., estejam de acordo com a localização do utilizador RPi; a entrada ''Change Timezone'' permite configurar o fuso horário local, para que o RPi mostre a hora e a data corretas; ''Change Keyboard Layout'' permite configurar o teclado para que as teclas digitadas no teclado físico coincidam com as que aparecem no ecrã, e a entrada ''Change Wi-fi Country'' configura o RPi para que este comunique nas frequências wi-fi corretas de acordo com as leis locais.
  
The ''Change Keyboard Layout'' entry is only important if the RPi is used with a keyboard directly connected to it. Users connecting through SSH do no need to configure this setting.
+
A entrada ''Change Keyboard Layout'' só é importante se o RPi for utilizado com um teclado que lhe está diretamente ligado. Os utilizadores ligados através do SSH não precisam de configurar o teclado.
  
The ''Change Wi-fi Country'' entry must be configured if a Wi-fi connection is to be setup. Failure to do so may result in a non-working connection, as the RPi is trying to communicate in different frequencies as the rest of the local Wi-fi devices, and regulatory issues for the user for transmitting in prohibited frequencies.
+
A entrada ''Change Wi-fi Country'' deve ser utilizada se se pretender configurar uma ligação Wi-fi. Uma configuração errada pode resultar seja numa ligação não operacional, uma vez que o RPi tentará comunicar em frequências diferentes dos restantes dispositivos Wi-fi locais, seja em questões legais para o utilizador por transmitir em frequências proibidas.
  
*On the ''5 Interfacing Options'', the entries allow enabling/disabling the various listed services. All should be configured to disabled except for the ''SSH'' and/or [https://en.wikipedia.org/wiki/Virtual_Network_Computing ''VNC''] services, the ''Serial'' interface and ''Remote GPIO'' access.
+
*Em ''5 Interfacing Options'', as entradas permitem ativar/desativar os vários serviços listados. Todos devem ser desativados, excepto os serviços ''SSH'' e/ou [https://en.wikipedia.org/wiki/Virtual_Network_Computing ''VNC''], a interface ''Serial'' e o acesso ''Remote GPIO''
  
Be aware that the VNC service will only work if a GUI is installed on the system. If not, only the ''SSH' service can be enabled.
+
Note que o serviço VNC só funcionará se for instalada uma IGU no sistema. Caso contrário, só poderá ser ativado o serviço ''SSH''.
  
Enabling the ''SSH'' service makes it unnecessary to create the ssh file on disk as described before. It will be available on every boot until disabled again.
+
A activação do serviço  ''SSH'' torna desnecessário criar o ficheiro ssh em disco, tal como descrito anteriormente. Este estará disponível em cada arranque até ser novamente desativado.
  
On the ''Serial'' entry, please select ''No'' when prompted if the login shell should be available over serial and ''Yes'' when prompted if the serial port hardware should be enabled.
+
Na entrada ''Serial'', selecione ''No'' se a ''login shell'' deve estar disponível em série e ''Yes'' se o hardware da porta-série deve ser ativado.
  
*Please ignore the remaining options, except for the ''Expand Filesystem'' option available on the ''Advanced Options'' entry.
+
*Ignore as restantes opções, exceto a opção ''Expand Filesystem'' disponível na entrada ''Advanced Options''.
  
*Exit the utility by selecting ''Finish'' and, when prompted, allow the RPi to reboot  by selecting ''yes''. If connected via SSH, the connection will be automatically terminated.
+
*Saia do utilitário selecionando ''Finish'' e, quando solicitado, permita que o RPi seja reiniciado selecionando ''yes''. Se estiver ligado via SSH, a ligação será terminada automaticamente.
  
*Allow the RPi to finish rebooting. Do not power it off by disconnecting the power cable.
+
*Aguarde que o RPi reinicie completamente. Não desligue o cabo de alimentação do RPi.
  
*When the green led has stopped flashing, the reboot is complete. Login into the RPi as before.
+
*Quando o LED verde deixar de piscar, o processo está completo. Inicie a sessão no RPi como anteriormente.
  
'''Before''' connecting the RPi to the internet, a new user must be to created and the the default user  must be deleted. '''''Since all fresh Raspbian OS installs have the same default user and password, [https://www.raspberrypi.org/documentation/linux/usage/users.md that everyone can find on the internet], keeping them available on the OS is a very serious security vulnerability. Anybody that knows this is free to try to login into your RPi and, if successful, take control of the system.'''''
+
'''Antes''' de ligar o RPi à Internet, deve ser criado um novo utilizador e o utilizador predefinido deve ser eliminado. '''''Uma vez que todas as novas instalações de SO Raspbian têm o mesmo utilizador e a palavra-passe padrão que  [https://www.raspberrypi.org/documentation/linux/usage/users.md todos podem encontrar na Internet], mantê-los disponíveis no SO é uma vulnerabilidade de segurança muito grave. Desta forma, qualquer pessoa é livre de tentar entrar no seu RPi e, tendo sucesso, assumir o controlo do sistema.'''''
  
The following commands create an user named ''newton''. Other usernames can, and should be, chosen when configuring the RPi. The username newton is being used as an example.
+
Os seguintes comandos criam um utilizador chamado ''newton''. Podem, e devem, ser ser escolhidos outros nomes de utilizador  aquando da configuração do RPi. ''newton'' está apenas a ser utilizado como exemplo
*Create user ''newton''
+
*Crie o utilizador ''newton''
 
  <nowiki>
 
  <nowiki>
 
sudo useradd newton</nowiki>
 
sudo useradd newton</nowiki>
When prompted to input user ''pi's'' password, input the same password used to login. This will start the user creation process where a new password for the new user is going to be asked for. Choose a new password, different from the default ''pi'' user password. '''''When choosing the new password please remember that:'''''
+
Introduza a palavra-passe do utilizador ''pi'' quando solicitada. Use a mesma palavra-passe que utiliza para iniciar sessão. Isto iniciará o processo de criação do utilizador onde uma nova palavra-passe para o novo utilizador será solicitada. Escolha uma nova palavra-passe, diferente da palavra-passe de utilizador ''pi'' padrão'''''. Ao escolher a nova palavra-passe, note que:'''''
  
'''''Strong passwords have at least 8 characters, a mixture of both uppercase and lowercase letters, a mixture of letters and numbers and include at least one special character, e.g., ! @ # ? ].'''''
+
'''''As senhas fortes têm pelo menos 8 caracteres, uma mistura de letras maiúsculas e minúsculas, uma mistura de letras e números e incluem, pelo menos, um carácter especial, por exemplo, ! @ # ? ].'''''
  
'''''A strong password is hard to guess, but it should be easy to remember. A password that has to be written down is not strong, no matter how many of the above characteristics are employed.'''''
+
'''''Uma palavra-passe forte é difícil de adivinhar mas deve ser fácil de lembrar. Uma palavra-passe que tem de ser escrita não é forte, por mais que sejam as suas características acima mencionadas. '''''
  
'''''Do not choose passwords that are composed of any word that can be found in a dictionary, in any language (e.g., airplane or aeroplano), a dictionary word with some letters simply replaced by numbers (e.g., a1rplan3 or aer0plan0), a repeated character or a series of characters (e.g., AAAAA or 12345), a keyboard series of characters (e.g., qwerty or qazwsx), anything that’s written down and stored somewhere near your computer.'''''
+
'''''Não escolha palavras-passe compostas por: qualquer palavra que possa ser encontrada num dicionário, em qualquer língua (por exemplo, avião), uma palavra de dicionário com algumas letras simplesmente substituídas por números (por exemplo, a1rplan3 ou aer0plan0), um caracter repetido ou uma série de caracteres (por exemplo, AAAAA ou 12345), uma série de caracteres de teclado (por exemplo, qwerty ou qazwsx) ou qualquer coisa que esteja escrita e guardada algures perto do seu computador'''''
  
'''''Your username and password are one of the main mechanisms of defense against unauthorized access and tampering. Having easy to guess usernames, weak passwords or having them known to the public severely impacts the security of your devices and network.'''''
+
'''''O seu nome de utilizador e a palavra-passe são dos principais mecanismos de defesa contra o acesso não autorizado e adulteração. Ter nomes de utilizador fáceis de adivinhar, senhas fracas ou que sejam conhecidas publicamente afeta gravemente a segurança dos seus dispositivos e da sua rede.'''''
  
*Add the new user to the system groups
+
*Adicione o novo utilizador aos grupos do sistema
  
Start by identifying the groups the original user ''pi'' is a member of by executing the command:
+
Comece por identificar os grupos dos quais o utilizador ''pi'' original é membro, executando o comando:
 
  <nowiki>
 
  <nowiki>
 
id</nowiki>
 
id</nowiki>
  
The command will output three lists in the format ''number(text)''. Keep the output on screen. Write, but don't execute, the following command:
+
O comando produzirá três listas no formato ''número(texto)''. Mantenha este output no ecrã. Escreva, mas não execute, o seguinte comando:
 
  <nowiki>
 
  <nowiki>
 
sudo usermod -a -G</nowiki>
 
sudo usermod -a -G</nowiki>
  
From the previous command output, select the list after ''groups='', except for the first element, by clicking and dragging with the mouse over the text. Copy it to the command line by clicking the middle mouse button after selecting the text. Edit the current command by using the arrows on the keyboard to move the cursor and removing the numbers and parenthesis but keeping the text and commas. Add the name of the user being created to the end of the command. The final command should have the same format as this:
+
A partir do resultado do comando anterior, selecione a lista após ''groups='', exceto o primeiro elemento, clicando e arrastando com o rato sobre o texto. Copie-o para a linha de comando, clicando no botão do meio do rato depois de selecionar o texto. Edite o comando atual utilizando as setas do teclado para mover o cursor e retirar os números e parênteses, mas mantendo o texto e as vírgulas. Acrescente o nome do utilizador que está a ser criado no fim do comando. O comando final deve ter o seguinte formato:
 
  <nowiki>
 
  <nowiki>
 
sudo usermod -a -G group1,group2,group3,group4 newton</nowiki>
 
sudo usermod -a -G group1,group2,group3,group4 newton</nowiki>
  
Confirm that the user was successfully added to the system groups by executing:
+
Confirme que o utilizador foi adicionado aos grupos do sistema com sucesso executando:
 
  <nowiki>
 
  <nowiki>
 
id newton</nowiki>
 
id newton</nowiki>
  
In the output, after ''groups='', the same groups as above should appear. '''Do not proceed before they do.'''
+
Depois de ''groups='', deverá encontrar os mesmos grupos que acima. '''Não continue antes que estes surjam'''.
  
*Log out from the RPi and login using the new user
+
*Saia do RPi e inicie sessão utilizando o novo utilizador
  
*Delete the ''pi'' user account
+
*Apague a conta do utilizador ''pi''
  
The default user ''pi'' still exist in the system. Leaving this account active is a security vulnerability. Delete it by executing:
+
O utilizador ''pi'' padrão ainda existe no sistema. Manter esta conta ativa é uma vulnerabilidade de segurança. Apague-a executando:
 
  <nowiki>
 
  <nowiki>
 
sudo userdel -remove-home pi</nowiki>
 
sudo userdel -remove-home pi</nowiki>
  
*In order to configure the network where the RPi will be connected, it's often useful to know the [https://en.wikipedia.org/wiki/MAC_address MAC address] of the network adapter. Execute the following command:
+
*A fim de configurar a rede onde o RPi será ligado, muitas vezes é útil conhecer o [https://en.wikipedia.org/wiki/MAC_address endereço MAC] do adaptador de rede. Execute o seguinte comando:
 
  <nowiki>
 
  <nowiki>
 
ifconfig</nowiki>
 
ifconfig</nowiki>
  
If planning to connect the experiment via Ethernet cable, copy the ''ether'' field on the ''eht0'' entry of the output. If connecting via wireless connection, copy the ''ether'' field on the ''wlan0'' entry of the output.  
+
Se planear ligar a experiência via cabo Ethernet, copie o campo ''ether'' na entrada ''eht0''. Se ligar via ligação sem fios, copie o campo ''ether'' na entrada ''wlan0''.
  
*If planning to use a VPN connection to manage remotely deployed experiments, now is also a good time to send the needed files to the RPi. Doing so ensures the needed secrecy of the keys, as they are sent through the cable that connects your computer and the RPi. If using the RPi with keyboard and display, consider shutting it down and writing the files directly on the sd card by inserting it on a computer. VPN configuration is highly dependent on your setup, so it should be completed on case by case basis.
+
*Se planear utilizar uma ligação VPN para gerir experiências controladas remotamente, é também uma boa altura para enviar os ficheiros necessários para o RPi. Ao fazê-lo, assegura que as chaves continuarão secretas, uma vez que são enviadas através do cabo que liga o seu computador ao RPi. Se utilizar o RPi com teclado e monitor, considere desligá-lo e escrever os ficheiros diretamente no cartão SD, inserindo-o num computador. A configuração VPN é altamente dependente do seu ''setup'', pelo que deve ser completada caso a caso.
  
*If not done so, shutdown the RPi. Wait for the green led on the RPi to stop blinking before disconnecting the power source. Move it to its permanent location, connecting it to experiment's electronics and network infrastructure.
+
*Se não o fizer, desligue o RPi. Espere que o LED verde no RPi pare de piscar antes de desligar a fonte de alimentação. Mova-o para a sua localização permanente, ligando-o à infraestrutura eletrónica e de rede da experiência.
  
*Turn on the RPi by connecting the power source. It should obtain a valid IP adress from your network. Network and firewall configuration is highly dependent on your specific network infrastructure. If the above instructions were followed, the RPi is configured to accept DHCP IP lease offers. In order for the hardware server and the video streaming to work, the RPi must be able to communicate
+
*Ligue o RPi, ligando a fonte de energia. Deve obter um endereço de IP da sua rede válido. A configuração da rede e da firewall é altamente dependente da sua infraestrutura de rede específica. Se as instruções acima foram seguidas, o RPi está configurado para aceitar ofertas de aluguer de IP DHCP. Para que o servidor de hardware e a transmissão de vídeo possam funcionar, o RPi deve ser capaz de comunicar
  
*Login into it. Update the software on the RPi by running the following commands in succession:
+
*Inicie a sessão e atualize o software no RPi, executando sucessivamente os seguintes comandos:
 
  <nowiki>
 
  <nowiki>
 
sudo apt-get update
 
sudo apt-get update
 
sudo apt-get full-upgrade</nowiki>
 
sudo apt-get full-upgrade</nowiki>
  
The last command can take a while to complete. While it works, '''''DO NOT DISCONNECT THE RPi FROM THE POWER SOURCE. IF YOU DO, YOU'LL MOST LIKELY CORRUPT THE SD CARD AND YOU'LL HAVE TO START ANEW.'''''  
+
O último comando pode demorar algum tempo a completar-se. Enquanto isso, '''''NÃO DESCONECTE O RPi DA FONTE ALIMENTAÇÃO. SE O FIZER, MUITO PROVAVELMENTE CORROMPERÁ O CARTÃO SD E TERÁ DE COMEÇAR DE NOVO.'''''  
  
*Reboot the RPi to ensure the latest software is running. Log into it again.
+
*Reinicie o RPi para assegurar que o software mais recente está a funcionar. Volte a entrar.
  
*Install the needed software for the hardware server and the video streaming.
+
*Instale o software necessário para o servidor de hardware e para a transmissão de vídeo.
  
For the hardware server, the following software should be installed:
+
Para o servidor de hardware, deve ser instalado o seguinte software:
 
  <nowiki>
 
  <nowiki>
 
sudo apt-get install openjdk-8-jre-headless librxtx-java</nowiki>
 
sudo apt-get install openjdk-8-jre-headless librxtx-java</nowiki>
  
For the video streaming, various software could be used. The recommend way is to use GStreamer and its libraries that support video hardware enconding on the RPi. It can be installed by the following command:
+
Para a transmissão de vídeo, podem ser utilizados vários programas. O modo recomendado é utilizar o  GStreamer e as suas bibliotecas, visto que suportam o ''enconding'' de hardware de vídeo no RPi. Pode ser instalado através do seguinte comando:
 
<pre>
 
<pre>
 
sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-bad\
 
sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-bad\
 
gstreamer1.0-omx-rpi gstreamer1.0-omx-rpi-config gstreamer1.0-omx-generic gstreamer1.0-omx-generic-config</pre>
 
gstreamer1.0-omx-rpi gstreamer1.0-omx-rpi-config gstreamer1.0-omx-generic gstreamer1.0-omx-generic-config</pre>
  
If needed, also install the software for the VPN connection. For example, the openvpn client would be installed by the command:
+
Se necessário, instale também o software para a ligação VPN. Por exemplo, o cliente ''openvpn'' seria instalado através do comando:
 
<pre>
 
<pre>
 
sudo apt-get install openvpn</pre>
 
sudo apt-get install openvpn</pre>
  
Now that the VPN is install, complete the configuration of the VPN with the files transfered to the RPi on the last step.
+
Agora que a VPN está instalada, complete a sua configuração com os ficheiros transferidos para o RPi na última etapa.
  
Please note that the software manager will suggest extra packages, mostly dependencies of the ones explicited ordered to install. Accept any extra suggested packages.
+
Note que o gestor do software irá sugerir pacotes extra, na sua maioria dependências dos que foram referidos explicitamente para instalar. Aceite quaisquer pacotes extra sugeridos.
  
=== Network tools and utilities ===
+
=== Ferramentas e utilitários de rede ===
The connectivity of the computer were the hardware server will be installed can be tested and verify by installing some tools such as nmap:
+
A conectividade do computador onde o servidor de hardware será instalado pode ser testada e verificada através da instalação de algumas ferramentas como o nmap:
 
<pre>
 
<pre>
 
sudo apt-get install nmap
 
sudo apt-get install nmap
 
</pre>
 
</pre>
The ''nmap'' program is used to check for the port access testing to elab.ist.utl.pt, elab1.ist.utl.pt and elabmc.ist.utl.pt:
+
O programa ''nmap'' é utilizado para testar o acesso às portas para elab.ist.utl.pt, elab1.ist.utl.pt and elabmc.ist.utl.pt:
 
<pre>
 
<pre>
 
nmap -v -A elab.ist.utl.pt
 
nmap -v -A elab.ist.utl.pt
 
</pre>
 
</pre>
  
Ports 443, 80, 8080, 22, and [9000..9010] are expected to be open. elabmc should have added the UDP ports for streaming (see last section).
+
Espera-se que as portas 443, 80, 8080, 22, e [9000..9010] estja abertas. elabmc deveria ter sido acrescentado às portas UDP para "streaming" (ver última secção).
  
We suggest to use the cron utility in case a regular reboot is required. To avoid simultaneous registration requests at the same time a delay of 5 minutes is added according to the experiment order. ''Nano'' is the elected editor.
+
Sugerimos a utilização do utilitário cron caso seja necessário reiniciar. Para evitar pedidos de registo simultâneos, é estabelecido um atraso de 5 minutos de acordo com a ordem da experiência. ''Nano'' é o editor eleito.
 
<pre>
 
<pre>
 
sudo crontab -e
 
sudo crontab -e
 
</pre>
 
</pre>
  
and the following line is added to reboot every 4 am plus 35 minutes (position 7 on the table)
+
e a seguinte linha é acrescentada para reiniciar a cada 4h e 35m da manhã (posição 7 na tabela)
 
   
 
   
 
  0 4  *  *  *    /sbin/shutdown -r +35
 
  0 4  *  *  *    /sbin/shutdown -r +35
  
''Contab -l'' lists the jobs to be run at a particular time.
+
''Contab -l'' lista as tarefas a serem executadas num determinado momento.
  
 
<pre>
 
<pre>
Line 287: Line 288:
 
</pre>
 
</pre>
  
=== Install a OpenVPN certificate===
+
=== Instalar um certificado OpenVPN ===
If your certificate becomes invalid to allow your system to login on elab OpenVPN you can retrieve a recent one by issuing the following command:
+
Se o seu certificado se tornar inválido para permitir que o seu sistema entre no OpenVPN do elab, pode recuperar um recente, emitindo o seguinte comando:
  
 
  echo "get ca.crt" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist
 
  echo "get ca.crt" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist
  
Here you should use the remote system ''elab1'' password.
+
Aqui deve utilizar a palavra-passe do sistema remoto ''elab1''
  
Then you need to move it to the OpenVPN directory which as admin privileges:
+
Depois, deve movê-lo para o diretório OpenVPN que, que tem privilégios de administrador:
  
 
  sudo mv ./ca.crt /etc/openvpn/privnet
 
  sudo mv ./ca.crt /etc/openvpn/privnet
  
Please enter ''the local wpa'' user password.
+
Introduza a palavra-passe do utilizador ''wpa local''
  
Finally just *reboot* the system to take effect.
+
Para concluir, reinicie o sistema para ter efeito.
  
==Autonomous codes==
+
==Códigos autónomos==
  
=== Hardware Server ===
+
=== Servidor de hardware ===
  
<p> Now that you have the Raspberry Pi and the Pendulum all set up, you are ready to connect it to the World Pendulum Alliance network.</p>   
+
<p> Agora que tem o Raspberry Pi e o Pêndulo instalados, está pronto a ligá-lo à rede do projeto World Pendulum Alliance./p>   
  
<p>In order to do that you will need to deploy and run an application on the Raspberry. This application is called REC Hardware Server, it is a Java application and that is why it is necessary to have the JDK installed. </p>
+
<p>Para tal, terá de instalar e executar uma aplicação no Raspberry. Esta aplicação chama-se "REC Hardware Server", é uma aplicação Java sendo necessário ter o JDK instalado.</p>
  
<p>Once you run the REC Hardware Server, it will automatically try to contact your Pendulum where it is expecting to find its ID String (e.g. "WP_UESC_IOS"). If it finds the expected ID, it will then connect with the Pendulum and your pendulum should come alive at elab public page. Otherwise it will output an error message, in which case we advise you to contact the project management team to help with the debugging.</p>
+
<p>Uma vez executado o "REC Hardware Server", este tentará contactar automaticamente o seu pêndulo onde é expectável encontrar a sua  cadeia de identificação (por exemplo, "WP_UESC_IOS"). Se encontrar o ID esperado, ligar-se-á ao pêndulo e este deverá ganhar vida na página pública do elab. Caso contrário, surgirá uma mensagem de erro. Nesse caso, aconselhamo-lo a contactar a equipa de gestão do projeto.</p>
  
<p>The REC Hardware Server specific for your pendulum will be provided by the project coordination in a .ZIP file, that will be made available at a specific folder at elab1 server. </p>
+
<p>O "REC Hardware Server" específico para o seu pêndulo será fornecido pelos coordenadores do projeto num ficheiro .ZIP que estará disponível numa pasta específica no servidor elab1. </p>
  
<p>To deploy a new version of the REC Hardware Server for a specific pendulum you should open a terminal (e.g. Putty) and access the machine where the HardwareServer will be deployed - in this case, the RPi - and follow these steps:</p>
+
<p>Para instalar uma nova versão do "REC Hardware Server" para um pêndulo específico, deverá abrir um terminal (por exemplo, Putty) e aceder ao aparelho onde o servidor de hardware será instalado - neste caso, o RPi - e seguir estes passos:</p>
 
<ul>
 
<ul>
 
<li>
 
<li>
Validate if the "rec-deployment" directory exists, if not create it by typing:<br/>
+
Confirme se o diretório "rec-deployment" existe. Se não, crie o directório através do comando:<br/>
 
<pre>mkdir ${home_directory}/rec-deployment </pre>
 
<pre>mkdir ${home_directory}/rec-deployment </pre>
 
<pre>ex: mkdir /home/wpa/rec-deployment </pre>
 
<pre>ex: mkdir /home/wpa/rec-deployment </pre>
 
</li>
 
</li>
 
<li>
 
<li>
List HardwareServer Zip files:<br/>
+
Liste os ficheiros .Zip do Servidor de Hardware:<br/>
 
<pre>echo "ls *.zip" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist</pre>
 
<pre>echo "ls *.zip" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist</pre>
 
</li>
 
</li>
 
<li>
 
<li>
Once you identified the Hardware Server for your pendulum, copy the hardwareServer Zip file to your machine (Raspberry):<br/>
+
Uma vez identificado o servidor de hardware para o seu pêndulo, copie o ficheiro HardwareServerZip para o seu aparelho (Raspberry):<br/>
 
<pre>echo "get ${hardwareServerZipFile} ~/rec-reployment/" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist </pre>
 
<pre>echo "get ${hardwareServerZipFile} ~/rec-reployment/" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist </pre>
 
<pre>ex. echo "get wpunicvraiHarwareServer_21-02-2020.zip ~/rec-reployment/" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist </pre>
 
<pre>ex. echo "get wpunicvraiHarwareServer_21-02-2020.zip ~/rec-reployment/" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist </pre>
  
 
</li>
 
</li>
Go to rec-deployment directory:<br/>
+
Aceda ao directório "rec-deployment":<br/>
 
<pre>cd /home/wpa/rec-deployment </pre>
 
<pre>cd /home/wpa/rec-deployment </pre>
 
</li>
 
</li>
 
<li>
 
<li>
Unzip HardwareServer's zip file to rec-deployment directory
+
Descompacte os ficheiros .zip do Servidor de Hardware para o diretório "rec-deployment":
 
<pre>unzip ${hardwareServerZipFile} -d ${hardwareServerAliasName}</pre>
 
<pre>unzip ${hardwareServerZipFile} -d ${hardwareServerAliasName}</pre>
 
<pre>ex: unzip wpuesciosHardwareServer_24-01-2020.zip -d wpuescios</pre>
 
<pre>ex: unzip wpuesciosHardwareServer_24-01-2020.zip -d wpuescios</pre>
 
</li>
 
</li>
 
<li>
 
<li>
Change to directory of experience:
+
Altere para o diretório da experiência:
 
<pre>cd ${hardwareServerAliasName}</pre>
 
<pre>cd ${hardwareServerAliasName}</pre>
 
<pre>ex: cd wpuescios</pre>
 
<pre>ex: cd wpuescios</pre>
 
</li>
 
</li>
 
<li>
 
<li>
Start HardwareServer:
+
Inicie o Servidor de Hardware::
 
<pre>./Start${AliasName}Driver.sh</pre>
 
<pre>./Start${AliasName}Driver.sh</pre>
 
<pre>ex: ./StartwpuesciosDriver.sh</pre>
 
<pre>ex: ./StartwpuesciosDriver.sh</pre>
  
''NOTE''
+
''NOTA''
  
The HardwareServer should only be deployed after the complete calibration procedure described on the next page and executed with the minicom or other terminal program.
+
O Servidor de Hardware só deve ser instalado após o procedimento de calibração descrito na página seguinte estar completo e executado com o minicom ou outro programa terminal.
  
=== Video Streaming ===
+
=== Transmissão de Vídeo ===
The video streaming can be done by using the [https://projects.raspberrypi.org/en/projects/getting-started-with-picamera picamera], the RPi proprietary camera, or a common USB camera. The following steps were tested on a USB camera. Furthermore, they were designed to work with a streaming server that receives the video from the RPi and resends it to all connected clients.  
+
A transmissão de vídeo pode ser feita utilizando a [https://projects.raspberrypi.org/en/projects/getting-started-with-picamera picamera], a câmara do RPi, ou uma câmara USB comum. Os passos seguintes foram testados com uma câmara USB. Além disso, foram concebidos para trabalhar com um servidor de transmissão de vídeo que recebe o vídeo do RPi e o reenvia a todos os clientes ligados.
  
*Start the streaming on the RPi. This is done with the command:
+
*Inicie a transmissão no RPi com o comando:
 
<pre>
 
<pre>
 
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=10/1 ! clockoverlay time-format="%x - %X" \
 
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=10/1 ! clockoverlay time-format="%x - %X" \
 
! videoconvert ! omxh264enc ! video/x-h264,profile=baseline ! h264parse ! mpegtsmux ! rtpmp2tpay ! udpsink host=HOST port=PORT async=false</pre>
 
! videoconvert ! omxh264enc ! video/x-h264,profile=baseline ! h264parse ! mpegtsmux ! rtpmp2tpay ! udpsink host=HOST port=PORT async=false</pre>
  
Although it is almost certainly on ''/dev/video0'', it's possible that the camera does not show on the RPi system on ''/dev/video0''. Verify that it is by running:
+
Embora seja quase certo que esteja em ''/dev/video0'', é possível que a câmara não apareça no sistema RPi em ''/dev/video0''. Verifique se aparece, com o seguinte comando:  
 
<pre>
 
<pre>
 
ls /dev
 
ls /dev
 
</pre>
 
</pre>
  
On the output, the entry of the format ''videoX'', where X is a number, is the logical location of the camera on the system. Edit the command above so that the number ''X'' is the same as the one listed on the output of the last command.
+
Como resultado, a entrada do formato ''videoX'', onde ''X'' é um número, é a localização da câmara no sistema. Edite o comando acima para que o número ''X'' seja o mesmo que o que consta no resultado do último comando.
  
It's possible to increase the resolution of the video and the framerate by altering the width, height and framerate fields on the example command above. The example values shown above are very conservative but ensure that video streaming is possible even in the toughest network conditions by generating a very low bitrate stream. Note that any width, height and framerate asked for needs to be supported by the video camera, otherwise the command will return with an error. Edit the HOST and PORT fields so they point to your particular video streaming server.
+
É possível aumentar a resolução do vídeo e a ''framerate'' alterando os campos ''width'' (largura), ''height'' (altura) e ''framerate'' no comando do exemplo acima. Os valores desse exemplo são muito conservadores mas asseguram que o fluxo de vídeo é possível, mesmo nas condições de rede mais difíceis, por gerar um fluxo de bitrate muito baixo. Note que qualquer largura, altura e ''framerate'' solicitadas precisam de ser suportadas pela câmara de vídeo, caso contrário, surgirá um erro. Edite os campos ''HOST'' e ''PORT'' para que apontem para o seu servidor de transmissão de vídeo.
  
Once it's verified that the video is running, it can be made permanent by slightly altering the command to:
+
Uma vez verificado que o vídeo está a ser transmitido, este pode ser tornado permanente, alterando ligeiramente o comando para:
 
<pre>
 
<pre>
 
nohup gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=10/1 ! clockoverlay time-format="%x - %X" \
 
nohup gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=10/1 ! clockoverlay time-format="%x - %X" \
 
! videoconvert ! omxh264enc ! video/x-h264,profile=baseline ! h264parse ! mpegtsmux ! rtpmp2tpay ! udpsink host=HOST port=PORT async=false &</pre>
 
! videoconvert ! omxh264enc ! video/x-h264,profile=baseline ! h264parse ! mpegtsmux ! rtpmp2tpay ! udpsink host=HOST port=PORT async=false &</pre>
  
This will run until the RPi is shutdown or the camera is disconnected.
+
Isto funcionará até que o RPi ou a câmara sejam desligados.
  
=== Specific Instructions for the World Pendulum Alliance Project ===
+
=== Instruções específicas para o projeto World Pendulum Alliance ===
A [[list of TCP ports | List of TCP ports]] is deemed necessary to be open for the correct internet connection between the apparatus' computer and the central server.
+
É necessária uma [[list of TCP ports | lista de portas TCP]] para a correta ligação à Internet entre o computador do aparelho e o servidor central.  
  
For the main partner pendulums, the HOST parameter of the streaming command should be set as instructed on the training sessions. The PORT should be set as indicated on [[List of UDP ports for streaming| Port listing page.]]
+
Para os pêndulos parceiros principais, o parâmetro ''HOST'' do comando de transmissão deve ser definido como instruído nas sessões de formação. O ''PORT'' deve ser definido como indicado na  [[List of UDP ports for streaming| página de listagem de portas.]]
For each secondary pendulum, the same process may be followed. However, partners must set up independent streaming infrastructure for secondary pendulums video streaming.
+
Para cada pêndulo secundário, pode ser seguido o mesmo processo. No entanto, os parceiros devem criar uma infraestrutura de transmissão independente para a transmissão de vídeo dos pêndulos secundários.
  
In order to make the needed information available for users to be able to connect to the stream, [https://en.wikipedia.org/wiki/Session_Description_Protocol| SDP] files must be made available. These can then be independently opened on video player software, like [https://www.videolan.org/vlc/| VLC], or seen through the pendulum client software.
+
A fim de disponibilizar a informação necessária para que os utilizadores possam ligar-se à transmissão, os [https://en.wikipedia.org/wiki/Session_Description_Protocol| ficheiros SDP] devem ser partilhados. Assim, estes podem ser independentemente abertos num software de leitor de vídeo, como o [https://www.videolan.org/vlc/| VLC], ou vistos através do ''pendulum client software''.  
The file can be made by adapting the template below, replacing the ''EXPERIMENT NAME'' and ''PORT'' by the appropriate fields, as shown on the [[List of UDP ports for streaming| Port listing page.]] The ''HOST'' field should be set to the same value as described on the training sessions.
+
O ficheiro pode ser criado através da adaptação do modelo abaixo, substituindo os campos ''EXPERIMENT NAME'' e ''PORT'' pelos campos apropriados, conforme mostrado na [[List of UDP ports for streaming| página de listagem de portas]]. O campo ''HOST'' deve ser definido com o valor descrito nas sessões de formação.
  
 
<pre>
 
<pre>
Line 402: Line 403:
 
</pre>
 
</pre>
  
The SDP file should be created with the same name as indicated on the [[List of UDP ports for streaming| Port listing page.]] This file must then be transferred to the server responsible for making it available to the web as instructed on the training sessions.
+
O ficheiro SDP deve ser criado com o mesmo nome que o indicado na [[List of UDP ports for streaming| página de listagem de portas]]. Este ficheiro deve então ser transferido para o servidor responsável pela sua disponibilização na ''web'', conforme instruído nas sessões de formação.
  
  
In case ttyS0 is not being used, a symbolic linker ca be used if needed:
+
No caso de não estar a ser utilizado o ttyS0, se necessário, pode recorrer-se a um ''linker'' simbólico:
 
<pre>
 
<pre>
 
ln -s /dev/ttyAMA0 /dev/ttyS0
 
ln -s /dev/ttyAMA0 /dev/ttyS0
Line 412: Line 413:
 
=== Iniciar automaticamente no arranque do RPi ===
 
=== Iniciar automaticamente no arranque do RPi ===
  
Para que os programas iniciem automaticamente no arranque do RPi, edite o ficheiro ''/etc/rc.local'' executando
+
Para que os programas iniciem automaticamente no arranque do RPi, edite o ficheiro ''/etc/rc.local'' executando:
 
<pre>
 
<pre>
 
sudo nano /etc/rc.local
 
sudo nano /etc/rc.local
Line 430: Line 431:
 
</pre>
 
</pre>
  
Note que os campos HOST and [[List of UDP ports for streaming| PORT]] devem ser substituídos como exemplificado acima. O campo USER deve ser alterado para corresponder à conta de utilizador criada, tipicamente ''wpa'' como previamente instruído.
+
Note que os campos HOST e [[List of UDP ports for streaming| PORT]] devem ser substituídos como exemplificado acima. O campo USER deve ser alterado para corresponder à conta de utilizador criada, tipicamente ''wpa'' como previamente instruído.
 
No caso de não estar a ser utilizado o ttyS0, se necessário, pode recorrer-se a um ''linker'' simbólico:
 
No caso de não estar a ser utilizado o ttyS0, se necessário, pode recorrer-se a um ''linker'' simbólico:
 
<pre>
 
<pre>
Line 446: Line 447:
  
 
Version 2021_01_96_22_08_46: [[File:Wp 2021 01 06 22 08 46.zip]]
 
Version 2021_01_96_22_08_46: [[File:Wp 2021 01 06 22 08 46.zip]]
 +
  
 
{|
 
{|

Latest revision as of 15:05, 26 August 2021

Nesta página pode encontrar-se o ‘set’ de instruções e a maioria dos utilitários de software utilizados no controlador remoto da experiência, bem como a forma como este está ligado à Internet.

Software Raspberry

Gestão do Software

O computador Raspberry Pi faz a interface entre o microcontrolador da experiência e os servidores do e-lab. Sem ele, o acesso remoto não é possível. Assim, é essencial que este seja devidamente instalado e configurado para garantir uma elevada fiabilidade e segurança.

Instalação do Sistema Operativo

Ao iniciar com um cartão SD vazio, a primeira tarefa é instalar o Sistema Operativo (SO). Existem vários sistemas operativos que suportam o Raspberry Pi (RPi) e, em teoria, qualquer um dos que suportam o software necessário pode ser utilizado. Ainda assim, o uso do Raspbian é altamente recomendado. É o SO oficial da Fundação Raspberry Pi para todos os modelos RPi, tem uma vasta seleção de software suportado disponível nos repositórios oficiais e abundam tutoriais e guias, online e em outros meios.

As instruções abaixo deste ponto assumem a utilização do Raspbian. Outros SOs podem ter diferentes métodos de configuração.

Ao criar um novo cartão SD, deve ser instalada a última versão do sistema operativo. Isto assegura que o sistema vai funcionar com todas as correções de segurança e desempenho disponíveis. A última versão do Raspbian pode ser descarregada a partir deste deste link. Estão disponíveis três versões:

  • A versão lite contém a quantidade mínima de software necessária para arrancar o RPi. Nenhum software extra está incluído. Isto implica a falta de uma Interface Gráfica do Utilizador (IGU), o que significa que, se ligado a um ecrã, o RPi mostrará apenas uma linha de comando (como ilustrado).
  • A versão desktop contém o mesmo software que a versão lite mais o software necessário para utilizar uma IGU. Quando ligado a um ecrã, o RPi mostrará uma IGU (na imagem).
  • A versão desktop e de software recomendado contém o mesmo software que a versão desktop mais alguns softwares e utilitários pré-selecionados.

O mesmo software está disponível para instalação em todas as versões, o que significa que se pode começar com uma versão lite e mais tarde instalar todo o software incluído na versão desktop e de software recomendado. Se o RPi estiver a ser preparado para funcionar apenas como servidor para a experiência, recomenda-se que seja escolhida a versão lite ou desktop, uma vez que ter um SO que possua apenas o software necessário é mais seguro e melhora o desempenho e a capacidade de manutenção. Em particular, a versão lite é de especial interesse se o objetivo for utilizar o RPi sem display, visto que não inclui a IGU, que só é útil se utilizar um display.

A Fundação Raspberry Pi fornece instruções de instalação para o SO Raspbian aqui.

Depois da Instalação

Depois de instalado o SO, o cartão SD está pronto para arrancar o RPi. No entanto, antes de inserir o cartão SD no RPi, é necessário considerar como fazer a interface com o RPi. É possível fazê-lo através de dois métodos diferentes:

Usar o RPi através de um teclado, rato e monitor

Ao utilizar um teclado, rato e monitor, o RPi funciona tal como qualquer outro computador. Visto que é possível interagir com o RPi através do teclado, rato e monitor, o cartão SD pode ser inserido no RPi e o processo de arranque pode ser iniciado ligando o adaptador de alimentação ao RPi. Este é um procedimento mais simples mas mais caro devido ao hardware extra necessário. Não ligue o RPi à Internet antes de completar a configuração do SO, tal como descrito abaixo. Quando a configuração for bem sucedida, deverá ver um prompt a apresentar:

pi@raspberry:~ $

ou a interface gráfica habitual do utilizador do sistema operativo, dependendo da versão do Raspbian escolhida.

Avance para a seção Configuração do Sistema Operativo RPi.

Ligação ao RPi através de uma ligação SSH

Se não estiverem disponíveis um teclado, rato e monitor para utilizar e interagir com o RPi, ainda é possível interagir com este através da configuração do serviço SSH antes de inserir o cartão SD no RPi. O serviço SSH permite ligações com um RPi através de uma interface de rede, a partir da qual os comandos podem ser enviados. Isto faz uso do teclado, rato e monitor de um segundo computador (um computador portátil ou fixo já configurado, por exemplo). Para tal, o Raspberry Pi e o computador utilizado necessitam que a sua configuração de rede seja ajustada.

Para permitir externamente o serviço SSH no RPi:

  • Insira o cartão SD num computador, por exemplo, o utilizado para instalar o SO no cartão.
  • Após a instalação do SO, o cartão aparecerá nos computadores como sendo composto por duas unidades. Uma unidade mais pequena de algumas centenas de MBs e uma unidade maior de alguns GBs (dependendo do tamanho do cartão SD).
  • Na "drive" mais pequena, crie um ficheiro vazio chamado ssh. Isto permite o serviço SSH apenas durante o próximo arranque do RPi. Esta configuração será tornada permanente mais tarde.
  • Na "drive" maior, edite o ficheiro "/etc/dhcpcd.conf". No final do ficheiro, deverá haver uma secção de texto semelhante a esta:
# It is possible to fall back to a static IP if DHCP fails:
# define static profile
profile static_eth0
static ip_address=123.123.123.123/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1

# fallback to static profile on eth0
interface eth0
fallback static_eth0

Edite o ficheiro tal como o texto mostrado acima. A linha:

static ip_address=123.123.123.123/24

Define o endereço IP de recurso do Raspberry Pi quando não recebe ofertas IP através do DHCP. Em geral, isto acontece quando não há nenhuma ligação disponível na rede ou quando foi ligado a um computador portátil ou fixo comum. Podem ser escolhidos outros IPs de fallback para além de 123.123.123.123. Este é sugerido porque é simples de memorizar.

  • O cartão SD pode agora ser removido em segurança do computador e inserido no Raspberry Pi para arrancar.

Em seguida, o computador que se ligará ao RPi deve ter a sua própria ligação Ethernet configurada de modo a ligar-se à mesma sub-rede que o RPi. Isto significa que, seguindo a configuração mostrada acima, o seu IP deve ser configurado para 123.123.123.xxx, onde o último número pode ser qualquer um de 001 a 254, e uma netmask de 255.255.255.000. O procedimento exato a seguir para o conseguir é altamente dependente do SO instalado no computador. É importante proceder de uma forma adequada ao sistema operativo específico. Se o seu computador utiliza a porta Ethernet para a ligação diária à Internet, é possível que lhe seja atribuída alguma configuração específica para tornar esta ligação possível na sua rede. Certifique-se que preserva as configurações originais da rede do seu adaptador Ethernet para que possa reverter quaisquer alterações realizadas, seja tirando capturas de ecrã dos diálogos apropriados ou tomando notas. Pode encontrar alguns exemplos de SOs comuns abaixo.

Configuração do Adaptador Ethernet no Windows 10/8.1/7 e ligação ao RPi
  • A Microsoft fornece instruções sobre como configurar manualmente o adaptador Ethernet.
  • Siga o procedimento de configuração manual das definições IPv4. Quando solicitado, preencha o campo IP Address com um endereço apropriado de acordo com a configuração selecionada para o RPi. Assumindo que foi escolhida a configuração de exemplo mostrada nesta página, este campo pode ser preenchido com 123.123.123.124, e o campo Subnet prefix length/Subnetmask pode ser preenchido com 255.255.255.0 ou 24. As configurações relativas aos campos Gateway e DNS e ao IPv6 podem ser ignoradas.
  • Caso não o tenha feito antes, o RPi pode ser iniciado e ligado ao computador através de Ethernet. Isto é conseguido ligando uma extremidade de um cabo Ethernet à porta Ethernet do computador e a outra extremidade do cabo à porta Ethernet do RPi.
  • O símbolo de rede no Windows deve agora mostrar a ligação Ethernet. Provavelmente afirmará que se trata de uma rede desconhecida.
  • O Windows não instala um cliente SSH por "default". . Para se ligar ao RPi via SSH deve ser configurado um. Embora outros possam ser utilizados, o putty é um software cliente SSH de código aberto e gratuito para Windows. Pode ser instalado ou utilizado como autónomo, o que significa que a instalação não é necessária. Os passos seguintes seguir-se-ão à utilização do putty. Embora a configuração geral também se aplique a outro software, as instruções específicas podem ser diferentes.
  • Preencha o campo Host Name (or IP Address) com o IP configurado do RPi. Se a configuração sugerida estiver a ser seguida, deverá ser preenchido com 123.123.123.123. Nos botões de rádio abaixo, selecione SSH. Se desejar guardar esta configuração para que não seja necessário recordá-la ou reescrevê-la sempre, escreva qualquer nome memorável no campo Saved Sessions e clique em Save. Assim, poderá recuperar esta configuração selecionando o nome da lista e selecionando Load.
  • Pode aparecer um aviso indicando que o anfitrião, o computador ao qual se está a ligar, é novo e desconhecido. Ser-lhe-á perguntado se o novo computador é de confiança e se a ligação pode ser completada. Uma vez que se trata de uma nova instalação de um computador que possui e que foi configurado por si, pode responder com segurança que sim. Quando lhe for pedido, introduza a palavra-chave. Se esta não for a primeira vez que segue este guia, é possível que o aviso indique que o anfitrião, o computador a que se está a ligar, mudou. Isto é esperado, uma vez que pode agora aplicar estes passos a um RPi diferente. Aceite o aviso, selecionando Yes e a ligação deve ser completada.
  • Quando lhe forem pedidos o utilizador e a palavra-passe, introduza o utilizador predefinido e a palavra-passe do SO Raspian que pode ser encontrada aqui.
  • Note que neste caso são utilizados o pi e 123.123.123.123 uma vez que se está a ligar ao RPi como utilizador pi e este está diretamente ligado ao computador com o IP 123.123.123.123 configurado. Depois de criar um novo utilizador, de apagar o predefinido e ligar o RPi à rede normal, isto irá mudar.
  • Depois de introduzir com sucesso a palavra-passe predefinida, surgirá o seguinte texto:
pi@raspberry:~ $

Conectou-se com sucesso e pode proceder à Configuração do Sistema Operativo do RPi

  • Se surgiu um erro que indica:
ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host

onde xxx.xxx.xxx.xxx é o IP utilizado no comando ssh, os adaptadores Ethernet foram mal configurados. Revisite a configuração dos adaptadores. Para uma ligação bem sucedida, tanto o computador como o RPi devem ser configurados de modo a estarem na mesma sub-rede. Se não adotou a configuração IP sugerida, saiba que esta fornece uma configuração funcional.

Configuração do Adaptador Ethernet no Linux utilizando o Network Manager e ligação ao RPi
  • O Linux não é um SO monolítico. O que é geralmente referido como Linux é um conjunto de várias distribuições, também conhecidas como "distros", que constroem um SO na mesma base, o Linux kernel. Dependendo da "distro" utilizada, o procedimento específico a seguir será diferente. O procedimento seguinte aplica-se às distribuições que têm o Network Manager configurado para gerir a conetividade. Este é o caso da maioria das distribuições populares, tais como Ubuntu e os seus sabores, Linux Mint, Fedora, etc.
  • Clique com o botão direito do rato sobre o ícone Network Manager e selecione Edit connections
  • Clique no sinal + no canto inferior esquerdo da janela, selecione Ethernet no diálogo mostrado e clique em Create. Ao criar uma nova configuração, as definições utilizadas para o acesso normal à Internet são preservadas, tornando mais fácil reverter as alterações.
  • O campo Name pode ser preenchido com qualquer nome, embora seja recomendado escrever um fácil de lembrar, tal como Raspberry ou Ethernet RPi.
  • Selecione o separador IPv4 Settings e, no menu Method dropdown, selecione Manual.
  • Clique em Add junto à tabela Adresses e, quando solicitado, preencha o campo Address com um endereço apropriado de acordo com a configuração escolhida para o RPi. Assumindo que a configuração de exemplo mostrada nesta página foi a escolhida, este campo pode ser preenchido com 123.123.123.124e o campo vizinho Netmask pode ser preenchido ou com 255.255.255.0 ou 24.
  • O resto dos campos podem ser ignorados em segurança. Clique em Save para guardar as novas definições de ligação. As novas configurações surgirão agora na lista com o nome escolhido.
  • Caso não o tenha feito antes, o RPi pode ser iniciado e ligado ao computador através da Ethernet. Isto é conseguido ligando uma extremidade de um cabo Ethernet à porta Ethernet do computador e a outra extremidade do cabo à porta Ethernet do RPi
  • Ao tentar ligar-se o RPi, o ícone do Gestor de Rede deve mostrar um símbolo rotativo. Clique no símbolo do Gestor de Rede e selecione, no menu, a ligação Ethernet com o nome escolhido anteriormente. A ligação deve agora ser configurada.
  • A maioria das distros Linux incluem software SSH na instalação padrão do SO, tornando desnecessária a instalação de qualquer software adicional. Os comandos SSH seguem a sintaxe ssh user@ip ou ssh user@hostname. O utilizador predefinido e a palavra-passe do SO Raspian podem ser encontrados aqui. Para se ligar ao RPi, abra um terminal no computador e escreva
ssh pi@RPI ADDRESS

O RPI ADDRESS deve ser substituído pelo endereço IP selecionado para o RPi na secção anterior. Assumindo que foi adotada a configuração sugerida, o comando deve ser:

ssh pi@123.123.123.123

Note que, neste caso, são utilizados o pi e o 123.123.123.123, uma vez que se está a ligar ao RPi como utilizador pi e este está diretamente ligado ao computador com o IP configurado 123.123.123.123. Depois de criar um novo utilizador, apagar o predefinido e ligar o RPi à rede normal, isto irá mudar.

  • Pode surgir um aviso afirmando que o anfitrião, o computador a que se está a ligar, é novo e desconhecido. Ser-lhe-á perguntado se o novo computador é de confiança e a se ligação pode ser completada. Uma vez que se trata de uma nova instalação de um computador que possui e que foi configurado por si, pode responder com segurança que sim. Quando lhe for pedido, introduza a palavra-chave. Se esta não for a primeira vez que segue este guia, é possível que o aviso indique que o anfitrião, o computador a que se está a ligar, mudou. Isto é esperado, uma vez que pode agora aplicar estes passos a um RPi diferente. Edite o ficheiro indicado no aviso e apague a linha que começa com o IP do RPi. Se a configuração do exemplo estiver a ser seguida, esta será a linha que começa com
123.123.123.123. Experimente voltar a ligar utilizando novamente o comando SSH. Deverá ver um aviso que indica que se trata de um computador novo e desconhecido.
  • Depois de introduzir com sucesso a palavra-passe predefinida, surgirá o seguinte texto:
pi@raspberry:~ $

Conectou-se com sucesso e pode agora proceder à Configuração do Sistema Operativo do RPi

  • Se surgiu um erro que indica:

ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host onde xxx.xxx.xxx.xxx é o IP utilizado no comando ssh, os adaptadores Ethernet foram mal configurados. Revisite a configuração dos adaptadores. Para uma ligação bem sucedida, tanto o computador como o RPi devem ser configurados de modo a estarem na mesma sub-rede. Se não adoptou a configuração IP sugerida saiba que esta fornece uma configuração funcional.

Configuração do Adaptador Ethernet no MacOS Catalina/Mojave/High Sierra e ligação ao RPi
  • A Apple fornece instruções sobre como configurar manualmente o adaptador Ethernet.
  • Siga o procedimento para a configuração manual das definições IPv4. Quando solicitado, preencha o campo IP Address com um endereço apropriado de acordo com a configuração selecionada para o RPi. Assumindo que a configuração de exemplo mostrada nesta página foi selecionada, este campo pode ser preenchido com 123.123.123.124, e o campo Subnetmask pode ser preenchido com 255.255.255.0 ou 24. As configurações relativas aos campos Gateway e DNS e ao IPv6 podem ser ignoradas.
  • Se não o tiver feito antes, o RPi pode ser iniciado e ligado ao computador através da Ethernet. Para tal, basta ligar uma extremidade do cabo Ethernet à porta Ethernet do computador e a outra extremidade do cabo à porta Ethernet do RPi
  • O símbolo da rede deve agora mostrar a ligação como estando concluída
  • MacOS inclui um cliente SSH client na instalação predefinida do SO, tornando desnecessária a instalação de qualquer software adicional. Os comandos SSH seguem a sintaxe ssh user@ip ou ssh user@hostname. O utilizador predefinido e a palavra-passe do SO Raspian podem ser encontrados aqui. Para se ligar ao RPi, abra um terminal no computador, e escreva
ssh pi@RPI ADDRESS

O RPI ADDRESS deve ser substituído pelo endereço IP selecionado para o RPi na secção anterior. Assumindo que a configuração sugerida foi adotada, o comando deve ser:

ssh pi@123.123.123.123

Note que, neste caso, são utilizados o pi e 123.123.123.123 , uma vez que nos estamos a ligar ao RPi como utilizador pi e este está diretamente ligado ao computador com o IP configurado 123.123.123.123. Depois de criar um novo utilizador, apagar o predefinido e ligar o RPi à rede normal, isto irá mudar.

  • Pode surgir um aviso afirmando que o anfitrião, o computador a que se está a ligar, é novo e desconhecido. Ser-lhe-á perguntado se o novo computador é de confiança e se a ligação pode ser completada. Uma vez que se trata de uma nova instalação de um computador que possui e que foi configurado por si, pode responder com segurança que sim. Quando lhe for pedido, introduza a palavra-chave. Se esta não for a primeira vez que segue este guia, é possível que o aviso indique que o anfitrião, o computador a que se está a ligar, mudou. Isto é esperado, uma vez que pode agora aplicar estes passos a um RPi diferente. Edite o ficheiro indicado no aviso e apague a linha que começa com o IP do RPi. Se a configuração do exemplo estiver a ser seguida, esta será a linha que começa com 123.123.123.123. Tente voltar a ligar utilizando novamente o comando SSH. Surgirá um aviso que indica que se trata de um computador novo, desconhecido.
  • Depois de introduzir com sucesso a palavra-passe predefinida, surgirá o seguinte texto:
pi@raspberry:~ $

Conectou-se com sucesso e pode agora proceder à Configuração do Sistema Operativo do RPi

  • Se surgiu um erro que indica

ssh: connect to host xxx.xxx.xxx.xxx port 22: No route to host onde xxx.xxx.xxx.xxx é o IP utilizado no comando ssh, os adaptadores Ethernet foram mal configurados. Revisite a configuração dos adaptadores. Para uma ligação bem sucedida, tanto o computador como o RPi devem ser configurados de modo a estarem na mesma sub-rede. Se não adoptou a configuração IP sugerida saiba que esta fornece uma configuração funcional.

Configuração do Sistema Operativo do RPi

Depois de instalado, o SO precisa de ser configurado. As próximas instruções devem ser seguidas no prompt terminal. Se estiver a utilizar um teclado e monitor ligados ao RPi e instalado um SO com IGU, por favor abra um emulador terminal.

Primeiro, proceda à configuração geral do sistema carregando o utilitário raspi-config, ao executar o comando:

sudo raspi-config

Quando solicitado, introduza a senha do utilizador pi. Pode navegar no menu usando as teclas de Seta para seleção, tecla Escape para retroceder nos menus e Enter para selecionar a entrada em destaque.

  • A opção 1 Change User Password pode ser ignorada, uma vez que o utilizador pi será apagado mais tarde.
  • Na opção 2 Network Options é possível definir o Hostname (Nome do Anfitrião) e configurar uma ligação Wi-fi

O Hostname é o nome atribuído ao RPi e não tem qualquer significado especial. É útil porque facilita o reconhecimento do computador com base apenas no nome.

A entrada Wi-fi permite a configuração de uma rede Wi-Fi introduzindo o SSID (nome da rede) e a palavra-passe da rede. Este diálogo só funciona para esquemas WEP, WPA e WPA2. O WPA-entreprise deve ser configurado manualmente através do wpa_supplicant.

Ignore as restantes entradas, a não ser que tenha a certeza das alterações que estará a realizar.

  • Em 3 Boot Options, a entrada Desktop / CLI é a que seleciona se o RPi arranca num ambiente IGU ou num prompt de comando; a entrada Wait for Network at Boot se espera pela ligação à rede antes de completar o arranque e a Splash Screen se mostra uma imagem ou um texto de depuração durante o arranque.

Tenha em atenção que a entrada Desktop / CLI só produz efeitos se tiver previamente instalado uma versão do Raspbian com IGU ou tiver instalado entretanto uma IGU na versão lite.

Estas configurações são seguras para aplicar consoante o que os utilizadores pretendem.

  • Em 4 Localisation Options, a entrada Change Locale permite configurar o RPi de modo a que a língua, e outros elementos de localização, tais como o formato da hora e da data, o nome dos dias da wiki, a moeda, etc., estejam de acordo com a localização do utilizador RPi; a entrada Change Timezone permite configurar o fuso horário local, para que o RPi mostre a hora e a data corretas; Change Keyboard Layout permite configurar o teclado para que as teclas digitadas no teclado físico coincidam com as que aparecem no ecrã, e a entrada Change Wi-fi Country configura o RPi para que este comunique nas frequências wi-fi corretas de acordo com as leis locais.

A entrada Change Keyboard Layout só é importante se o RPi for utilizado com um teclado que lhe está diretamente ligado. Os utilizadores ligados através do SSH não precisam de configurar o teclado.

A entrada Change Wi-fi Country deve ser utilizada se se pretender configurar uma ligação Wi-fi. Uma configuração errada pode resultar seja numa ligação não operacional, uma vez que o RPi tentará comunicar em frequências diferentes dos restantes dispositivos Wi-fi locais, seja em questões legais para o utilizador por transmitir em frequências proibidas.

  • Em 5 Interfacing Options, as entradas permitem ativar/desativar os vários serviços listados. Todos devem ser desativados, excepto os serviços SSH e/ou VNC, a interface Serial e o acesso Remote GPIO

Note que o serviço VNC só funcionará se for instalada uma IGU no sistema. Caso contrário, só poderá ser ativado o serviço SSH.

A activação do serviço SSH torna desnecessário criar o ficheiro ssh em disco, tal como descrito anteriormente. Este estará disponível em cada arranque até ser novamente desativado.

Na entrada Serial, selecione No se a login shell deve estar disponível em série e Yes se o hardware da porta-série deve ser ativado.

  • Ignore as restantes opções, exceto a opção Expand Filesystem disponível na entrada Advanced Options.
  • Saia do utilitário selecionando Finish e, quando solicitado, permita que o RPi seja reiniciado selecionando yes. Se estiver ligado via SSH, a ligação será terminada automaticamente.
  • Aguarde que o RPi reinicie completamente. Não desligue o cabo de alimentação do RPi.
  • Quando o LED verde deixar de piscar, o processo está completo. Inicie a sessão no RPi como anteriormente.

Antes de ligar o RPi à Internet, deve ser criado um novo utilizador e o utilizador predefinido deve ser eliminado. Uma vez que todas as novas instalações de SO Raspbian têm o mesmo utilizador e a palavra-passe padrão que todos podem encontrar na Internet, mantê-los disponíveis no SO é uma vulnerabilidade de segurança muito grave. Desta forma, qualquer pessoa é livre de tentar entrar no seu RPi e, tendo sucesso, assumir o controlo do sistema.

Os seguintes comandos criam um utilizador chamado newton. Podem, e devem, ser ser escolhidos outros nomes de utilizador aquando da configuração do RPi. newton está apenas a ser utilizado como exemplo

  • Crie o utilizador newton
sudo useradd newton

Introduza a palavra-passe do utilizador pi quando solicitada. Use a mesma palavra-passe que utiliza para iniciar sessão. Isto iniciará o processo de criação do utilizador onde uma nova palavra-passe para o novo utilizador será solicitada. Escolha uma nova palavra-passe, diferente da palavra-passe de utilizador pi padrão. Ao escolher a nova palavra-passe, note que:

As senhas fortes têm pelo menos 8 caracteres, uma mistura de letras maiúsculas e minúsculas, uma mistura de letras e números e incluem, pelo menos, um carácter especial, por exemplo, ! @ # ? ].

Uma palavra-passe forte é difícil de adivinhar mas deve ser fácil de lembrar. Uma palavra-passe que tem de ser escrita não é forte, por mais que sejam as suas características acima mencionadas.

Não escolha palavras-passe compostas por: qualquer palavra que possa ser encontrada num dicionário, em qualquer língua (por exemplo, avião), uma palavra de dicionário com algumas letras simplesmente substituídas por números (por exemplo, a1rplan3 ou aer0plan0), um caracter repetido ou uma série de caracteres (por exemplo, AAAAA ou 12345), uma série de caracteres de teclado (por exemplo, qwerty ou qazwsx) ou qualquer coisa que esteja escrita e guardada algures perto do seu computador

O seu nome de utilizador e a palavra-passe são dos principais mecanismos de defesa contra o acesso não autorizado e adulteração. Ter nomes de utilizador fáceis de adivinhar, senhas fracas ou que sejam conhecidas publicamente afeta gravemente a segurança dos seus dispositivos e da sua rede.

  • Adicione o novo utilizador aos grupos do sistema

Comece por identificar os grupos dos quais o utilizador pi original é membro, executando o comando:

id

O comando produzirá três listas no formato número(texto). Mantenha este output no ecrã. Escreva, mas não execute, o seguinte comando:

sudo usermod -a -G

A partir do resultado do comando anterior, selecione a lista após groups=, exceto o primeiro elemento, clicando e arrastando com o rato sobre o texto. Copie-o para a linha de comando, clicando no botão do meio do rato depois de selecionar o texto. Edite o comando atual utilizando as setas do teclado para mover o cursor e retirar os números e parênteses, mas mantendo o texto e as vírgulas. Acrescente o nome do utilizador que está a ser criado no fim do comando. O comando final deve ter o seguinte formato:

sudo usermod -a -G group1,group2,group3,group4 newton

Confirme que o utilizador foi adicionado aos grupos do sistema com sucesso executando:

id newton

Depois de groups=, deverá encontrar os mesmos grupos que acima. Não continue antes que estes surjam.

  • Saia do RPi e inicie sessão utilizando o novo utilizador
  • Apague a conta do utilizador pi

O utilizador pi padrão ainda existe no sistema. Manter esta conta ativa é uma vulnerabilidade de segurança. Apague-a executando:

sudo userdel -remove-home pi
  • A fim de configurar a rede onde o RPi será ligado, muitas vezes é útil conhecer o endereço MAC do adaptador de rede. Execute o seguinte comando:
ifconfig

Se planear ligar a experiência via cabo Ethernet, copie o campo ether na entrada eht0. Se ligar via ligação sem fios, copie o campo ether na entrada wlan0.

  • Se planear utilizar uma ligação VPN para gerir experiências controladas remotamente, é também uma boa altura para enviar os ficheiros necessários para o RPi. Ao fazê-lo, assegura que as chaves continuarão secretas, uma vez que são enviadas através do cabo que liga o seu computador ao RPi. Se utilizar o RPi com teclado e monitor, considere desligá-lo e escrever os ficheiros diretamente no cartão SD, inserindo-o num computador. A configuração VPN é altamente dependente do seu setup, pelo que deve ser completada caso a caso.
  • Se não o fizer, desligue o RPi. Espere que o LED verde no RPi pare de piscar antes de desligar a fonte de alimentação. Mova-o para a sua localização permanente, ligando-o à infraestrutura eletrónica e de rede da experiência.
  • Ligue o RPi, ligando a fonte de energia. Deve obter um endereço de IP da sua rede válido. A configuração da rede e da firewall é altamente dependente da sua infraestrutura de rede específica. Se as instruções acima foram seguidas, o RPi está configurado para aceitar ofertas de aluguer de IP DHCP. Para que o servidor de hardware e a transmissão de vídeo possam funcionar, o RPi deve ser capaz de comunicar
  • Inicie a sessão e atualize o software no RPi, executando sucessivamente os seguintes comandos:
sudo apt-get update
sudo apt-get full-upgrade

O último comando pode demorar algum tempo a completar-se. Enquanto isso, NÃO DESCONECTE O RPi DA FONTE ALIMENTAÇÃO. SE O FIZER, MUITO PROVAVELMENTE CORROMPERÁ O CARTÃO SD E TERÁ DE COMEÇAR DE NOVO.

  • Reinicie o RPi para assegurar que o software mais recente está a funcionar. Volte a entrar.
  • Instale o software necessário para o servidor de hardware e para a transmissão de vídeo.

Para o servidor de hardware, deve ser instalado o seguinte software:

sudo apt-get install openjdk-8-jre-headless librxtx-java

Para a transmissão de vídeo, podem ser utilizados vários programas. O modo recomendado é utilizar o GStreamer e as suas bibliotecas, visto que suportam o enconding de hardware de vídeo no RPi. Pode ser instalado através do seguinte comando:

sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-ugly gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-bad\
gstreamer1.0-omx-rpi gstreamer1.0-omx-rpi-config gstreamer1.0-omx-generic gstreamer1.0-omx-generic-config

Se necessário, instale também o software para a ligação VPN. Por exemplo, o cliente openvpn seria instalado através do comando:

sudo apt-get install openvpn

Agora que a VPN está instalada, complete a sua configuração com os ficheiros transferidos para o RPi na última etapa.

Note que o gestor do software irá sugerir pacotes extra, na sua maioria dependências dos que foram referidos explicitamente para instalar. Aceite quaisquer pacotes extra sugeridos.

Ferramentas e utilitários de rede

A conectividade do computador onde o servidor de hardware será instalado pode ser testada e verificada através da instalação de algumas ferramentas como o nmap:

sudo apt-get install nmap

O programa nmap é utilizado para testar o acesso às portas para elab.ist.utl.pt, elab1.ist.utl.pt and elabmc.ist.utl.pt:

nmap -v -A elab.ist.utl.pt

Espera-se que as portas 443, 80, 8080, 22, e [9000..9010] estja abertas. elabmc deveria ter sido acrescentado às portas UDP para "streaming" (ver última secção).

Sugerimos a utilização do utilitário cron caso seja necessário reiniciar. Para evitar pedidos de registo simultâneos, é estabelecido um atraso de 5 minutos de acordo com a ordem da experiência. Nano é o editor eleito.

sudo crontab -e

e a seguinte linha é acrescentada para reiniciar a cada 4h e 35m da manhã (posição 7 na tabela)

0 4   *   *   *    /sbin/shutdown -r +35

Contab -l lista as tarefas a serem executadas num determinado momento.

sudo crontab -l

Instalar um certificado OpenVPN

Se o seu certificado se tornar inválido para permitir que o seu sistema entre no OpenVPN do elab, pode recuperar um recente, emitindo o seguinte comando:

echo "get ca.crt" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist

Aqui deve utilizar a palavra-passe do sistema remoto elab1

Depois, deve movê-lo para o diretório OpenVPN que, que tem privilégios de administrador:

sudo mv ./ca.crt /etc/openvpn/privnet

Introduza a palavra-passe do utilizador wpa local

Para concluir, reinicie o sistema para ter efeito.

Códigos autónomos

Servidor de hardware

Agora que tem o Raspberry Pi e o Pêndulo instalados, está pronto a ligá-lo à rede do projeto World Pendulum Alliance./p>

Para tal, terá de instalar e executar uma aplicação no Raspberry. Esta aplicação chama-se "REC Hardware Server", é uma aplicação Java sendo necessário ter o JDK instalado.

Uma vez executado o "REC Hardware Server", este tentará contactar automaticamente o seu pêndulo onde é expectável encontrar a sua cadeia de identificação (por exemplo, "WP_UESC_IOS"). Se encontrar o ID esperado, ligar-se-á ao pêndulo e este deverá ganhar vida na página pública do elab. Caso contrário, surgirá uma mensagem de erro. Nesse caso, aconselhamo-lo a contactar a equipa de gestão do projeto.

O "REC Hardware Server" específico para o seu pêndulo será fornecido pelos coordenadores do projeto num ficheiro .ZIP que estará disponível numa pasta específica no servidor elab1.

Para instalar uma nova versão do "REC Hardware Server" para um pêndulo específico, deverá abrir um terminal (por exemplo, Putty) e aceder ao aparelho onde o servidor de hardware será instalado - neste caso, o RPi - e seguir estes passos:

  • Confirme se o diretório "rec-deployment" existe. Se não, crie o directório através do comando:
    mkdir ${home_directory}/rec-deployment 
    ex: mkdir /home/wpa/rec-deployment 
  • Liste os ficheiros .Zip do Servidor de Hardware:
    echo "ls *.zip" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist
  • Uma vez identificado o servidor de hardware para o seu pêndulo, copie o ficheiro HardwareServerZip para o seu aparelho (Raspberry):
    echo "get ${hardwareServerZipFile} ~/rec-reployment/" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist 
    ex. echo "get wpunicvraiHarwareServer_21-02-2020.zip ~/rec-reployment/" | sftp -P2222 wpa@elab1.ist.utl.pt:/dist 
  • Aceda ao directório "rec-deployment":
    cd /home/wpa/rec-deployment 
  • Descompacte os ficheiros .zip do Servidor de Hardware para o diretório "rec-deployment":
    unzip ${hardwareServerZipFile} -d ${hardwareServerAliasName}
    ex: unzip wpuesciosHardwareServer_24-01-2020.zip -d wpuescios
  • Altere para o diretório da experiência:
    cd ${hardwareServerAliasName}
    ex: cd wpuescios
  • Inicie o Servidor de Hardware::
    ./Start${AliasName}Driver.sh
    ex: ./StartwpuesciosDriver.sh

    NOTA

    O Servidor de Hardware só deve ser instalado após o procedimento de calibração descrito na página seguinte estar completo e executado com o minicom ou outro programa terminal.

    Transmissão de Vídeo

    A transmissão de vídeo pode ser feita utilizando a picamera, a câmara do RPi, ou uma câmara USB comum. Os passos seguintes foram testados com uma câmara USB. Além disso, foram concebidos para trabalhar com um servidor de transmissão de vídeo que recebe o vídeo do RPi e o reenvia a todos os clientes ligados.

    • Inicie a transmissão no RPi com o comando:
    gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=10/1 ! clockoverlay time-format="%x - %X" \
    ! videoconvert ! omxh264enc ! video/x-h264,profile=baseline ! h264parse ! mpegtsmux ! rtpmp2tpay ! udpsink host=HOST port=PORT async=false

    Embora seja quase certo que esteja em /dev/video0, é possível que a câmara não apareça no sistema RPi em /dev/video0. Verifique se aparece, com o seguinte comando:

    ls /dev
    

    Como resultado, a entrada do formato videoX, onde X é um número, é a localização da câmara no sistema. Edite o comando acima para que o número X seja o mesmo que o que consta no resultado do último comando.

    É possível aumentar a resolução do vídeo e a framerate alterando os campos width (largura), height (altura) e framerate no comando do exemplo acima. Os valores desse exemplo são muito conservadores mas asseguram que o fluxo de vídeo é possível, mesmo nas condições de rede mais difíceis, por gerar um fluxo de bitrate muito baixo. Note que qualquer largura, altura e framerate solicitadas precisam de ser suportadas pela câmara de vídeo, caso contrário, surgirá um erro. Edite os campos HOST e PORT para que apontem para o seu servidor de transmissão de vídeo.

    Uma vez verificado que o vídeo está a ser transmitido, este pode ser tornado permanente, alterando ligeiramente o comando para:

    nohup gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=320,height=240,framerate=10/1 ! clockoverlay time-format="%x - %X" \
    ! videoconvert ! omxh264enc ! video/x-h264,profile=baseline ! h264parse ! mpegtsmux ! rtpmp2tpay ! udpsink host=HOST port=PORT async=false &

    Isto funcionará até que o RPi ou a câmara sejam desligados.

    Instruções específicas para o projeto World Pendulum Alliance

    É necessária uma lista de portas TCP para a correta ligação à Internet entre o computador do aparelho e o servidor central.

    Para os pêndulos parceiros principais, o parâmetro HOST do comando de transmissão deve ser definido como instruído nas sessões de formação. O PORT deve ser definido como indicado na página de listagem de portas. Para cada pêndulo secundário, pode ser seguido o mesmo processo. No entanto, os parceiros devem criar uma infraestrutura de transmissão independente para a transmissão de vídeo dos pêndulos secundários.

    A fim de disponibilizar a informação necessária para que os utilizadores possam ligar-se à transmissão, os ficheiros SDP devem ser partilhados. Assim, estes podem ser independentemente abertos num software de leitor de vídeo, como o VLC, ou vistos através do pendulum client software. O ficheiro pode ser criado através da adaptação do modelo abaixo, substituindo os campos EXPERIMENT NAME e PORT pelos campos apropriados, conforme mostrado na página de listagem de portas. O campo HOST deve ser definido com o valor descrito nas sessões de formação.

    v=0
    o=- 16251185917537979632 16251185917537979632 IN IP4 EXPERIMENT NAME
    s=EXPERIMENT NAME
    i=N/A
    c=IN IP4 HOST
    t=0 0
    a=tool:vlc 3.0.8
    a=recvonly
    a=type:broadcast
    a=charset:UTF-8
    m=video PORT RTP/AVP 33
    b=RR:0
    a=rtpmap:33 MP2T/90000
    

    O ficheiro SDP deve ser criado com o mesmo nome que o indicado na página de listagem de portas. Este ficheiro deve então ser transferido para o servidor responsável pela sua disponibilização na web, conforme instruído nas sessões de formação.


    No caso de não estar a ser utilizado o ttyS0, se necessário, pode recorrer-se a um linker simbólico:

    ln -s /dev/ttyAMA0 /dev/ttyS0
    

    Iniciar automaticamente no arranque do RPi

    Para que os programas iniciem automaticamente no arranque do RPi, edite o ficheiro /etc/rc.local executando:

    sudo nano /etc/rc.local
    

    Assumindo que o servidor de hardware foi colocado na pasta indicada na seção anterior, ao adicionar as seguintes linhas ao ficheiro, antes de exit 0 e depois de fi, fará com que o RPi inicie automaticamente o servidor de hardware e a transmissão de vídeo enquanto arranca.

    sleep 120
    su USER -c "/home/USER/rec-deployment/exp_name/expDaemon.sh start &"
    su USER -c "(gst-launch-1.0 v4l2src device=/dev/video0 ! \
     video/x-raw,width=320,height=240,framerate=10/1 ! \
     clockoverlay time-format=\"%x - %X\" ! \
     videoconvert ! \
     omxh264enc ! \
     video/x-h264,profile=baseline ! h264parse ! \
     mpegtsmux ! rtpmp2tpay ! \
     udpsink host=HOST port=PORT async=false ) &"
    

    Note que os campos HOST e PORT devem ser substituídos como exemplificado acima. O campo USER deve ser alterado para corresponder à conta de utilizador criada, tipicamente wpa como previamente instruído. No caso de não estar a ser utilizado o ttyS0, se necessário, pode recorrer-se a um linker simbólico:

    ln -s /dev/ttyAMA0 /dev/ttyS0
    

    Firmware dsPIC

    Programar o dsPIC com o Raspberry Pi

    O dsPIC pode ser programado utilizando o Raspberry Pi, com a ajuda de um software programador. Ver esta página para instruções.

    Descarregar o ficheiro de firmware

    As versões oficiais de firmware disponíveis para download são apresentadas abaixo:

    Version 2021_01_96_22_08_46: File:Wp 2021 01 06 22 08 46.zip


    Página Anterior (Interfaces elétricas)
    Página Seguinte (Calibração)

    Ligações