DEEC Colaboração Drive DEEC A plataforma Drive DEEC é uma nuvem privada para ambientes de colaboração, disponível para colaboradores do DEEC. Vantagens: - A qualquer hora, em qualquer plataforma: Aceda aos seus ficheiros 24 horas por dia, 7 dias por semana, em plataformas desktop e móveis; - Sincronização e backup: Mantenha os seus ficheiros sempre atualizados e protegidos; - Colaboração suave: Edite folhas de cálculo, documentos e apresentações utilizando o Synology Office. A quota para armazenamento disponível por utilizador é de 10GB.Gestor de passwords Bitwarden Instalar plugin Chrome https://chrome.google.com/webstore/detail/bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb https://pwd.streamline.pt Autenticar  com as credenciais. Dica Pro Para auto-completar num site que já tenha as credenciais registadas, pressionar Control + Shift + LHelpdesk Serviços DEEC NOTA: Sistema de acesso reservado a membros autorizados e pertencentes aos diferentes cargos elegíveis. Acesso ao sistema Para aceder à plataforma, deve aceder ao endereço https://servicos.deec.uc.pt  e introduzir as suas credenciais de e-mail do DEEC e clicar em “Sign In” Ver processos no sistema Para aceder aos processos, deve clicar em “Overviews” Após aceder aos processos, pode selecionar se pretende ver a lista dos que pertencem à secção que pretende trabalhar (Direção, Gabinete do Diretor, etc.): Terá também acessos aos “Processos fechados”, por forma a verificar algum assunto que já tenha sido tratado e fechado. É também possível aceder a uma vista de tickets já atribuídos ao seu utilizador na opção “Os meus processos”. Tratar tickets em sistema Para resolver um processo recebido, tem um várias opções: no menu lateral direito pode direcioná-lo para a lista correta (Gabinete do Diretor ou Direção) atribuir um responsável pelo ticket, alterar o estado do ticket e definir a sua prioridade. Nas opções assinaladas na parte inferior do ticket é possível responder a quem abriu o ticket, encaminhá-lo para um e-mail, dividir em 2 tickets caso existam 2 problemas no mesmo ticket e pode ainda apagar o ticket. Qualquer esta ação só é validada após clicar no botão “Atualizar”. Resolução de problemas com o Drive DEEC Acesso via Web entra em LOOP Se acontecer o acesso via browser entrar em LOOP e não conseguir aceder ao serviço, poderá utilizar as seguintes indicações para resolver o problema: Pode, alternativamente introduzir o seguinte endereço na barra de URL:chrome://settings/content/siteDetails?site=https%3A%2F%2Fdrive.deec.uc.pt O problema deverá ficar resolvido. E-mail Actualização SMTP Maio 2020 Por favor consulte as instruções para o seu cliente de e-mail específico abaixo. - Thunderbird - Outlook - Mail App Mac - GMail Thunderbird Na janela abaixo deve fazer as seguintes alterações: Configuração Valor actual Alterar para Porto 465 587 Segurança da ligação SSL / TLS STARTTLS Nome de utilizador seu.username seu.username@deec.uc.pt Outlook Na janela principal do Outlook, pressione a seguinte combinação de teclas: Control + Alt + S Deverá surgir a seguinte janela, pressione "Editar": Na janela abaixo deve fazer as seguintes alterações: Configuração Valor actual Alterar para O meu servidor de envio... Iniciar sessão utilizando Utilizar as mesmas definições... Na janela abaixo deve fazer as seguintes alterações: Configuração Valor actual Alterar para Servidor de envio (SMTP) 465 587 Utilize o seguinte tipo ... SSL / TLS STARTTLS Mail MAC Na janela abaixo deve fazer as seguintes alterações da secção SMTP: Configuração Valor actual Alterar para Porta 465 587 Utilizador seu.username seu.username@deec.uc.pt GMAIL Na janela abaixo deve fazer as seguintes alterações: Configuração Valor actual Alterar para Porta 465 587 Ligação protegida através de SSL TLS Nome de utilizador seu.username seu.username@deec.uc.pt LINKED TICKETS 1 Mail luis@deec.uc.ptAssinatura de E-mail no Thunderbird Ativar a opção "Anexar assinatura de um ficheiro (texto, HTML ou imagem)" e descarregar o ficheiro anexo. Configuração Calendário Zimbra em Android - Descarregar app Open Sync : https://play.google.com/store/apps/details?id=com.deependhulla.opensync&hl=pt_PT&gl=US - No Zimbra Webmail, criar um calendário denominado "my" - Utilizar a opção "Login com URL e nome do usuário" e URL = https://zimbra.deec.uc.pt/dav/SEU_USERNAME/my Username = SEU_USERNAME Password = SUA_PASSWORD - Adicionar o seu endereço de e-mail na caixa abaixo: - Por fim, activar os Calendários que pretender sincronizar no telefone - Os calendários ativados surgirão nas aplicações de calendário do telefone e com funcionalidade de sincronização de 2 vias (telefone - web e vice-versa)Configuração do cliente de e-mail Os parâmetros genéricos da configuração de clientes de e-mail para todos os endereços de correio electrónico com o domínio @deec.uc.pt são os que a seguir se apresentam. Recepção/Entrada (Incoming settings) Protocolo IMAP Nome do Servidor imap.deec.uc.pt Segurança TLS (SSL no Outlook) Porto 993 Método de Autenticação Password (normal) Utilizador (por exemplo, jferreira@deec.uc.pt) Password O domínio está configurado para autoconfiguração através dos clientes Mozilla Thunderbird e Microsoft Outlook, pelo que se usar um destes, a configuração deverá surgir automaticamente, com a simples introdução do endereço de e-mail e da password respectiva. Envio/Saída (Outgoing settings) Protocolo SMTP Nome do Servidor smtp.deec.uc.pt Segurança STARTTLS Porto 587 Método de Autenticação Password (normal) Utilizador (por exemplo, jferreira@deec.uc.pt) Password Webmail Pode aceder ao sistema Webmail do DEEC, através do endereço https://webmail.deec.uc.ptConfiguração Mail Outlook LINKED TICKETS 1 AjudaConfiguração POP3 para GMail Apresentam-se abaixo screenshots do procedimento de configuração do cliente POP3 do GMail para o e-mail do INESC , para melhor ilustração do processo. No passo seguinte introduza o seu endereço de e-mail do INESC. No ponto 5, introduza a password associada à sua conta do INESC. No ponto 6, introduza pop3.inescc.pt e certifique-se que está selecionado o porto 995 no ponto 7. Neste momento, o GMail passará a obter e-mail da sua conta do INESC em intervalos regulares.Descrição Geral do Serviço de E-mail O DEEC diponibiliza a todos os seus utilizadores – colaboradores docentes e não docentes – uma conta de correio electrónico. O sistema de e-mail é baseado no sistema Zimbra, que tem as seguintes funcionalidades: Liberdade de escolha de cliente Browser – Cliente Zimbra AJAX Cliente PC – Outlook (Online, Offline, Cached Mode), Apple Mail and iCal, Eudora, Evolution, Thunderbird/Sunbird, RSS, etc. Pastas auto-organizáveis Pesquisas rápidas, avançadas (em mensagens e anexos), graváveis, multi-pasta Visualização em formato de conversa, com suporte multi-pasta Filtros Calendário completo Interface Web rico, multi-plataforma – browser e sistema operativo Acesso ubíquo – qualquer lugar, qualquer dispositivo Acesso seguro a anexos sem necessidade de recurso a software adicional Sistema colaborativo assente em tecnologias modernas Os domínio de e-mail é o @deec.uc.pt. O procedimento de criação de contas passa pela atribuição do username com base no formato primeironome.ultimonome@deec.uc.pt por, nomeadamente, questões de normalização, organização interna, entre outros.Gestão de listas de e-mail no Zimbra Se o administrador do sistema de e-mail lhe conceder direitos de gestão da lista de e-mail, poderá fazer a sua própria gestão da lista de e-mail no sistema Zimbra, disponível através da interface web em https://webmail.deec.uc.pt. Para tal, basta dirigir-se à Tab “Contactos” > “Listas de contactos” > “Listas de distribuição”. Nessa área, tem uma lista das listas de distribuição onde está inserido. No caso de ser um dos proprietários de qualquer uma das listas, terá a notificação de que “É um proprietário desta lista.”. Terá então a permissão para efectuar as seguintes alterações na lista de e-mail em causa: Adicionar e remover membros; Alteração o título da lista; Escolher se a lista deve estar visível ou escondida no catálogo global de endereços; Permissões de post ou subscrição na lista; Listas de E-mail O DEEC dispõe de um sistema de listas de correio electrónico, permitindo o contacto célere com todos os serviços e grupos. Tecnicamente, as listas são suportadas pelo software Mailman e/ou pelo sistema Zimbra. Por este motivo, algumas listas possuem um sistema de moderação, para redução do Spam enviado para as mesmas, sendo que a entrega das mensagens poderá acontecer de forma deferida. Consulte a lista abaixo para informação detalhada. DEEC Lista Destinatários All Users DEEC allusers@deec.uc.pt Todos os alunos, colaboradores docentes e não docentes do departamento Alunos alunos@deec.uc.pt Alunos Atuais do DEEC Casa casa@deec.uc.pt Colaboradores Não Docentes naodocentes@deec.uc.pt Colaboradores Não Docentes Comissão Científica cientifica@deec.uc.pt Membros da Comissão Científica Direcção direccao@deec.uc.pt Membros da Direcção do DEEC Docentes docentes@deec.uc.pt Colaboradores Docentes Internos ao DEEC Docentes | Outros docentes.outros@deec.uc.pt Outros Colaboradores Docentes Inclui Docentes Convidados e Docentes Externos Erasmus erasmus@deec.uc.pt Interlocutores no DEEC pelo processo Erasmus Gestão da Rede Informática informatica@deec.uc.pt Gestão da Rede Informática (Streamline) Helpdesk Informática helpdesk@deec.uc.pt Gestão da Rede Informática (Streamline) Info DEEC info@deec.uc.pt Secretaria, Direcção Investigadores DEEC investigadores@deec.uc.pt Investigadores do DEEC Laboratórios laboratorios@deec.uc.pt Maria João Cavaleiro, Fábio Faria Manutenção manutencao@deec.uc.pt Carlos Coelho Secretaria secretaria@deec.uc.pt Secretaria Serviços Financeiros aprovisionamento@deec.uc.pt Aurora Gaspar Unidades de I&D Instituto de Engenharia de Sistemas e Computadores, Coimbra (INESCC): https://helpdesk.deec.uc.pt/help/pt-pt/46-e-mail/151-listas-de-e-mail Instituto de Sistemas e Robótica, Coimbra (ISR): https://helpdesk.deec.uc.pt/help/pt-pt/23-e-mail/155-listas-de-e-mail Instituto de Telecomunicações, Coimbra (IT): https://helpdesk.deec.uc.pt/help/pt-pt/32-e-mail/156-listas-de-e-mailWebmail O sistema de Webmail é baseado no sistema Zimbra, que tem as seguintes funcionalidades: Pastas auto-organizáveis Pesquisas rápidas, avançadas (em mensagens e anexos), graváveis, multi-pasta Visualização em formato de conversa, com suporte multi-pasta Filtros Calendário completo Interface Web rico, multi-plataforma – browser e sistema operativo Acesso ubíquo – qualquer lugar, qualquer dispositivo Acesso seguro a anexos sem necessidade de recurso a software adicional Sistema colaborativo assente em tecnologias modernas Pode aceder ao sistema Webmail do DEEC, através do endereço https://webmail.deec.uc.ptListas de e-mail da UC A UC dispõe de um sistema de listas de correio electrónico, permitindo o contacto célere com determinados serviços e grupos. Tecnicamente, as listas são suportadas pelo software Mailman. Por este motivo, algumas listas possuem um sistema de moderação, para redução do Spam enviado para as mesmas, sendo que a entrega das mensagens poderá acontecer de forma deferida. Consulte a lista abaixo para informação detalhada. UC Lista Destinatários cc-cc-fctuc@ci.uc.pt Conselho Científico da FCTUC Hardware Datacenter Um Centro de Processamento de Dados, ou Datacenter, é o local onde são concentrados os equipamentos de processamento e armazenamento de dados de uma organização. São normalmente projectados para serem seguros e abrigam servidores e bases de dados e armazenamento de ficheiros, processando grande quantidade de informação. Em 2008, o DEEC apostou na criação de um novo Datacenter, para melhoria das condições de funcionamento dos seus sistemas de informação, sendo que em 2022 foram feitos investimentos no sentido de melhorar um conjunto de características do espaço, nomeadamente ao nível bastidores e das condições de alojamento em regime de Housing. O Datacenter foi desenhado de raíz, sendo composto por diversas componentes técnicas: Energia (incluindo sistemas de alimentação redundantes) Climatização Conectividade (Rede) Servidores Sistemas de Armazenamento Todas estas componentes encontram-se montadas numa sala protegida contra acesso indevido, com mecanismos de passagem de cabos elétricos e de dados, armários metálicos (racks), onde são montados os equipamentos e um ambiente totalmente controlado. O sistema de climatização é composto por um sistema duplo de ar-condicionado, redundante, de precisão, com monitorização constante, mantém a temperatura constante, refrigerando os equipamentos. Possui sistemas de controlo de falhas e de comutação para prolongar a duração de vida dos mesmos, assim como evitar problemas em caso de avaria de componentes individuais. O abastecimento de energia, além da energia do operador, usa fontes de alimentação ininterrupta (UPS) de grande porte, montados em bastidor próprio, para manter os equipamentos ligados, mesmo em caso de falha no fornecimento. Os equipamentos activos (servidores, switches, etc.) são também adquiridos com fontes redundantes, para garantia de caminhos alternativos de fornecimento de energia, em caso de falha em componentes individuais. O Datacenter possui actualmente as seguintes especificações aproximadas: Componente Elétrica O Datacenter possui actualmente as seguintes especificações aproximadas: 27 circuitos de fornecimento de energia, num total máximo de 100A; 8 UPS com capacidade total superior a 20.000VA; Refrigeração O Datacenter possui actualmente as seguintes especificações aproximadas: 2 sistemas de ar condicionado com um total de 40.000 BTU; Rede O Datacenter possui actualmente as seguintes especificações aproximadas: 8 Switches, disponibilizando um total de 216 portas, com velocidades individuais de 1Gbps e 10Gbps em tecnologia de cobre e fibra óptica; Ligação com os 8 bastidores de piso existentes no edíficio em fibra óptica, com caminhos redudantes; Ligação com o exterior em fibra óptica com um total acumulado de 10Gbps de largura de banda; Servidores 55 servidores físicos e 43 servidores virtuais; Mais de 150 cores de CPU e mais 1TB de RAM distribuídos pelos diferentes servidores; Armazenamento Capacidade total bruta de armazenamento superior a 24 TB em 2 sistemas de storage; Equipamento para apoio em aulas teóricas no contexto de COVID T4.1 T4.4 T5.1 T5.4 T6.1 T6.4 PC X X X X X X Monitor Docente Sim Sim Sim Sim Sim Sim Monitor Zoom Sim X Sim Sim Sim Sim Webcam Sim X Sim X X X Câmara Digitalizadora de Documentos X X X Sim Sim X Mesa Digitalizadora Wacom One com Display Sim X Sim X X Sim Colunas Sim Sim Sim Sim Sim X Microfone Lapela sem Fios X Sim X Sim Sim Sim Projector com ligação HDMI Sim Sim X X X Sim Actualizado a: 2020-09-25Laboratórios Informáticos O DEEC possui um conjunto de laboratórios didácticos, preparados com um conjunto de estações de trabalho para apoio às actividades lectivas, ligados à rede local. Os computadores, enquanto ferramenta essencial de apoio, estão equipados com o software necessário às diferentes disciplinas leccionadas. Para o efeito, existem 8 laboratórios, equipados com um total de 133 estações de trabalho, instalados com sistema operativo Windows e/ou Linux, distribuídos da seguinte forma: Sigla Laboratório Nº de computadores LAI 1 Laboratório de Apoio Informático 1 20 LAI 2 Laboratório de Apoio Informático 2 20 LAI 3 Laboratório de Apoio Informático 3 30 LMI Laboratório de Medidas e Instrumentação 12 LSD Laboratório de Sistemas Digitais 15 LSRC Laboratório de Sistemas e Redes de Computadores 20 LT Laboratório de Telecomunicações 5 LH Laboratório de Hiperfrequências 5 Os docentes podem requerer a qualquer momento a instalação de software adicional, através do serviço de helpdesk@deec.uc.pt. No início de cada semestre, os pedidos deverão ser feitos com antecedência adicional, uma vez que são momentos com elevadas requisições.Impressão e Cópias Impressão & Cópias O DEEC disponibiliza aos seus colaboradores um moderno sistema de cópias e impressão, cujos detalhes de funcionamento se explicam neste documento. Para efeitos de configuração nos computadores, existem 3 impressoras virtuais, cujos nomes e função são: CacifosColor – A impressão a cores sairá na seguinte impressora física: Konica Minolta C368 CacifosGrayscale – A impressão a preto & branco sairá numa das seguintes impressoras físicas: Konica Minolta C368 ou Konica Minolta 284e. Caso imprima a cores, a impressão será automaticamente convertida para preto & branco. Gab-3a4 – A impressão a preto & branco ou cores, consoante definido pelo utilizador, sairá na seguinte impressora física: Konica Minolta C280 As vantagens inerentes a esta implementação são: O hardware específico fica abstraído do utilizador, o que significa que em caso de avaria, não é necessário voltar a instalar drivers específicos; É possível efectuar balanceamento transparente para o utilizador, com vantagens evidentes em momentos de pico de utilização; O Duplex está activo por defeito em todas as impressoras; Melhoria do impacto ambiental; Redução global de custos de impressão; Os manuais de configuração estão disponíveis em: Windows Linux As especificações dos equipamentos físicos são apresentados na tabela seguinte:   Equipamentos       Local Características Custo / página Konica Minolta C368 Sala dos Cacifos – A3– Laser– Cores– Duplex– Scan para e-mail P&B = 0.003€ Cores = 0.03€ Konica Minolta 284e Sala dos Cacifos – A3– Laser– Preto & Branco– Duplex– Scan para e-mail P&B = 0.003€ Cores = 0.03€ Konica Minolta C280 Gabinete 3A.4 – A3– Laser– Cores– Duplex– Scan para e-mail P&B = 0.004€ Cor = 0.04€ * Valores com IVA incluído LINKED TICKETS 2 Problemas com a impressora do DEEC 08/04/2020 Preparação Portátil Asus ZenBook 14 15/04/2020 Instalação de impressora Papercut no Linux Introdução Neste documento vai ser apresentado passo a passo a instalação das impressoras da sala dos cacifos e do gabinete 3A4 no Linux e Mac OS X através do CUPS. Para a instalação da impressora é necessário fazer o download dos drivers em https://drive.deec.uc.pt/d/s/oMJHHXizotI32KGY2YyDqeds9hwMwFEc/Hz08uEHVqhhO2wzlXuS9ECGJ6XhpruYO-OrRAKAbQfwk Instalação do cliente PaperCut    Nota: Não é possível imprimir sem o cliente do PaperCut. Linux Extrair a pasta dos drivers para “/opt/papercut/” e de seguida adicionar o cliente do PaperCut ao arranque do sistema operativo. Nome: PCClientCommand: /opt/papercut/drivers/client/linux/pc-client-linux.sh Mac OS X Executar o instalador client-local-install localizado na pasta “drivers\client\mac” do ficheiro ZIP. Se aparecer o erro “can’t be opened because it is from an unidentified developer.”, ir a System Preferences > Security & Privacy e em “Allow applications downloaded from:”, selecionar “Anywhere”. Para o cliente do PaperCut arrancar automaticamente com o sistema operativo é necessário ir a System Preferences > Users & Groups e em “Login Items”, e adicionar o PCClient à lista (clicar no “+”). Após a instalação, introduzir as suas credenciais do DEEC. Instalação da impressora 1- Abrir o Terminal e correr o comando “sudo cupsctl WebInterface=yes”: 2- Através do browser aceder ao endereço: http://localhost:631/. Ir ao separador “Administration” e “clicar em Add Printer”. 3- Introduzir as credenciais do seu Mac. 4- Selecionar “Internet Printing Protocol (https)”. 5- No campo “Connection” introduzir o endereço da impressora que pretende instalar: Impressora a cores da sala dos cacifos: http://print.deec.uc.pt:631/printers/CacifosColor Impressora a preto e branco da sala dos cacifos: http://print.deec.uc.pt:631/printers/CacifosGrayscale Impressora a cores do gabinete 3A4: http://print.deec.uc.pt:631/printers/gab-3a4 Impressora a cores do GRI: http://print.deec.uc.pt:631/printers/gri 6- Preencher os seguintes campos: 7- Selecionar no campo Make selecionar a opção Generic e de seguida selecionar o driver “Generic PostScript Printer (en)”: 8- Selecionar as opções conforme a imagem: 9- Abrir o separador Options Installed e no campo Duplexer, selecionar a opção Installed. Por fim clicar em Set Default Options. Instalação de impressora Papercut no macOS OSX Introdução Neste documento vai ser apresentado passo a passo a instalação das impressoras da sala dos cacifos e do gabinete 3A4 no Linux e Mac OS X através do CUPS. Para a instalação da impressora é necessário fazer o download dos drivers em:https://drive.deec.uc.pt/d/s/oMJHHXizotI32KGY2YyDqeds9hwMwFEc/Hz08uEHVqhhO2wzlXuS9ECGJ6XhpruYO-OrRAKAbQfwk Executar o instalador client-local-install localizado na pasta “drivers\client\mac” do ficheiro ZIP. Se aparecer o erro “can’t be opened because it is from an unidentified developer.”, ir a System Preferences > Security & Privacy e em “Allow applications downloaded from:”, selecionar “Anywhere”. Se aparecer o erro "ditto: can't get real path for source", copie o instalador para a pasta de Aplicações e execute novamente. Para o cliente do PaperCut arrancar automaticamente com o sistema operativo é necessário ir a System Preferences > Users & Groups e em “Login Items”, e adicionar o PCClient à lista (clicar no “+”). Após a instalação, introduzir as suas credenciais do DEEC. Instalação da impressora 1- Abrir o Terminal e correr o comando “sudo cupsctl WebInterface=yes”: 2- Através do browser aceder ao endereço: http://localhost:631/. Ir ao separador “Administration” e “clicar em Add Printer”. 3- Introduzir as credenciais do seu Mac. 4- Selecionar “Internet Printing Protocol (http)”. 5- No campo “Connection” introduzir o endereço da impressora que pretende instalar: Impressora a cores da sala dos cacifos: http://print.deec.uc.pt:631/printers/CacifosColor Impressora a preto e branco da sala dos cacifos: http://print.deec.uc.pt:631/printers/CacifosGrayscale Impressora a cores do gabinete 3A4: http://print.deec.uc.pt:631/printers/gab-3a4 6- Preencher os seguintes campos: 7- Selecionar no campo Make selecionar a opção Generic e de seguida selecionar o driver “Generic PostScript Printer (en)”: 8- Selecionar as opções conforme a imagem: 9- Abrir o separador Options Installed e no campo Duplexer, selecionar a opção Installed. Por fim clicar em Set Default Options. Instalação de impressora Papercut no Windows Introdução Neste documento vai ser apresentado passo a passo a instalação das impressoras da sala dos cacifos e do gabinete 3A4 no Windows. Atualização de versão Caso já tenha uma versão anterior, deverá obrigatoriamente remover a anterior antes de executar os passos de instalação a seguir descritos. Instalação da impressora 1 – Para a instalação das impressoras é necessário fazer o download dos drivers do Software Papercut, disponível em: https://drive.deec.uc.pt/d/s/oMJHHXizotI32KGY2YyDqeds9hwMwFEc/Hz08uEHVqhhO2wzlXuS9ECGJ6XhpruYO-OrRAKAbQfwk 2 - Descompactar o ficheiro (se executar diretamente do ficheiro compactado vai falhar) e executar o instalador client-local-install.exe localizado na pasta “drivers\client\win” 3- Introduzir as suas credenciais do DEEC. 4- Posteriormente, aceda ao Painel de Controlo, opção “Ver dispositivos e impressoras” e seleccione a opção “Adicionar nova impressora”. 5- Na janela que se irá abrir (Adicionar um dispositivo), clique em “A impressora que pretendo não se encontra listada”. 6- Seguidamente seleccione a opção “Selecionar uma impressora partilhada pelo nome” e introduzir o endereço da impressora que pretende instalar: Impressora a cores da sala dos cacifos: http://print.deec.uc.pt:631/printers/CacifosColor Impressora a preto e branco da sala dos cacifos: http://print.deec.uc.pt:631/printers/CacifosGrayscale Impressora a cores do gabinete 3A4: http://print.deec.uc.pt:631/printers/gab-3a4 Impressora a cores do GRI: http://print.deec.uc.pt:631/printers/gri Impressora Secretaria: http://print.deec.uc.pt:631/printers/konica_283_secretaria 7– Seguidamente clique no botão “Disco” e escolha o driver que efectuou download no primeiro passo deste manual. 8- Seleccione o driver na pasta “drivers\drivers\win\PC-Global-Print-Driver” e clique em seguinte. Neste momento a impressora encontra-se instalada com sucesso. Impressão duplex por omissão Para efectuar impressões duplex por omissão é necessário efectuar os seguintes passos: 1 – Aceder ao painel de controlo. 2 – Com o botão direito do rato na impressora pretendida, seleccionar a opção “Preferências de impressão”. 3 – Na janela “Preferências de impressão”, seleccionar o separador “Esquema” e na dropdown “Imprimir nos dois lados”, usar a opção “Virar pela margem mais larga” ou “Virar pela margem mais estreita”. Desta forma, as impressões que fizer irão obter por omissão estas definições.Rede & Conectividade Ligar à rede DEEC-Guests Seguindo os passos deste documento, será possível estabelecer uma ligação à rede DEEC-Guests: Primeiramente, ir à lista de redes disponíveis e ligar à rede “DEEC-Guests”. De seguida, introduzir o código do voucher na página que aparecerá automaticamente no seu browser depois do passo anterior. Para obter o código do voucher terá de fazer o pedido do mesmo através do endereço de e-mail helpdesk@deec.uc.pt ou presencialmente, no Gabinete da Rede Informática, piso 2. Network Time Protocol (NTP) O serviço de NTP destina-se a sincronizar a hora entre os diversos equipamentos da rede. O gabinete de Gestão da Rede Informática (GRI) mantém uma referência de tempo (ntp.deec.uc.pt), sincronizada com os servidores de tempo centrais da Universidade de Coimbra e com outras referências de nível superior. Os equipamentos que pretenderem, poderão sincronizar com esta referência local, por forma a manterem o seu relógio constantemente actualizado e sincronizado. Para ter acesso ao serviço, os utilizadores deverão configurar o cliente NTP do dispositivo, apontando para o servidor ntp.deec.uc.pt (ou 193.136.205.254).Política de Utilização da Rede Para utilizar os recursos informáticos existentes no Departamento de Engenharia Electrotécnica e de Computadores (DEEC) da FCTUC, é necessário conhecer a política de utilização da rede, apresentada nesta página. Estas normas existem para garantir a correcta disponibilidade dos recursos para todos os utilizadores, protegendo-os de eventuais problemas causados pela má utilização dos recursos. A) Direitos e Deveres dos Utilizadores As contas atribuídas aos utilizadores são propriedade do DEEC; Só poderão usufruir de uma conta os alunos e colaboradores da Universidade de Coimbra; Os utilizadores ficam conscientes de que a sua conta é pessoal, não podendo ceder a sua utilização a terceiros; O utilizador é responsável pela conservação das máquinas, terminais e outros equipamentos de rede que utiliza; O utilizador tem conhecimento da lei da criminalidade informática nº 109/91 publicada em 17 de Agosto de 1991 que contempla, entre outras, as seguintes infracções: Adulteração ou sabotagem de dados, programas ou sistemas informáticos; Acesso não autorizado a redes e sistemas informáticos; Intercepção ilegítima de programas e/ou dados; Reprodução e divulgação ilegítimas de programas; Que qualquer tentativa de infracção, mesmo não consumada, é igualmente punível por lei; B) Normas de Utilização Encontra-se interdita a utilização de software de intercepção de passwords de outros utilizadores; Encontra-se interdito o acesso ou tentativa de acesso a contas de outros utilizadores; Encontra-se interdita a instalação de software em equipamentos do Departamento, assim como a configuração/reconfiguração de equipamentos externos ou internos, sem conhecimento prévio do Gabinete de Gestão da Rede Informática (GRI); Encontra-se interdita a alteração das características físicas dos equipamentos do Departamento, assim como a alteração da sua localização, sem conhecimento prévio do GRI; Encontra-se interdita a utilização de programas que resultem em DoS (Denial of Service) e consequentes interrupções de serviços na rede; Encontra-se interdita a disseminação de todo e qualquer conteúdo ilícito (incluindo jogos, software e música, publicidade, pornografia, conteúdos protegidos por copyright, virus/worms, etc) com recurso a contas do DEEC e/ou na rede do Departamento; Encontra-se interdita a utilização de software P2P (peer-to-peer); É da responsabilidade dos utilizadores garantir que a sua conta não seja utilizada por terceiros, pelo que deverá adoptar medidas tais como: terminar sessão sempre que se ausenta de um equipamento, utilizar uma password segura, alterar a password com regularidade e não transmitir a mesma a terceiros; C) Boas Práticas de Utilização de Rede O utilizador deve evitar atingir os limites de quotas atribuídos em cada sistema, fazendo uma boa gestão de conteúdos da conta e do seu correio electrónico; O utilizador deve evitar a disseminação de ficheiros de grande dimensão para um grupo alargado de utilizadores; O utilizador deve evitar o recurso a software de elevado consumo de largura de banda, em horários de pico de utilização, que possam interferir com o desempenho e funcionamento da rede. Em situações desta natureza, o GRI reserva-se ao direito de terminar processos em curso, sem aviso prévio; O utilizador deve evitar que a sua conta seja um meio de propagação de todo e qualquer tipo de ‘Spam’; O utilizador deve evitar o recurso à conta do DEEC para registo em websites que não tenham uma finalidade académica e/ou profissional; D) Sanções Os utilizadores que incorram em incumprimento das determinações expressas na política de utilização da rede, estarão sujeitos a sanções internas, além das punições constantes da legislação em vigor: Suspensão temporária da conta de utilizador, caso se verifique utilização indevida da mesma; Cancelamento da conta de utilizador, em casos de gravidade extrema; Comunicação às autoridades competentes de situações que resultem na prática de crime; E) Controlo de Utilização A verificação da correta utilização de recursos e do cumprimento de todas as indicações supracitadas encontra-se a cargo do GRI, serviço que deverá contactar em caso de dúvida. Última actualização: 19 de Maio de 2015Voz (IP) Serviço de Voz sobre IP O DEEC dispõe de uma infra-estrutura de voz sobre IP, que veio substituir a anterior infra-estrutura de voz analógica. Este serviço está integrado na infra-estrutura da Universidade de Coimbra, sendo por isso possível efectuar chamadas internas entre edifícios e departamentos dentro da mesma. O prefixo do DEEC é o 42. Em qualquer momento, pode consultar a lista telefónica em: http://web.deec.uc.pt/telefones Equipamentos Os equipamentos terminal instalados são todos SNOM 300 / SNOM 710 e possuem um conjunto de funcionalidades modernas para conforto do utilizador: Desvio de chamada Duas linhas de entrada Duas linhas de saída Identificação do chamador Livro de Endereços Mãos Livres Melhor qualidade de som Personalização de toques de chamada Registo de chamadas efectuadas Registo de chamadas não atendidas Rejeição de chamada Conferências Manuais & Guias Snom 300 Snom 710 Custos das chamadas                       Destino Custo (euro) / minuto Fixo Local 0,0070 Fixo Nacional 0,0070 Prefixo “96” 0,0200 Prefixo “922” 0,0200 Prefixo “924” 0,0200 Prefixo “925” 0,0200 Prefixo “926” 0,0200 Prefixo “927” 0,0200 Prefixo “91” 0,0280 Prefixo “921” 0,0280 Prefixo “929” 0,0280 Prefixo “93” 0,0300 Fixo-móvel nacional 31 0,0450 Nómada 0,0070 Fixo Espanha 0,0145 Fixo Europa Zona 18 0,0121 Fixo Restante Europa 0,0290 Fixo EUA e Canadá 0,0121 Fixo Brasil e Venezuela 0,0218 Fixo Restante América 0,1557 Fixo Marrocos 0,0192 Fixo África Zona 115 0,1090 Fixo Restante África 0,1557 Fixo Austrália 0,0178 Fixo Resto do Mundo 0,1175 Móvel Europa Zona 120 0,0560 Móvel Restante Europa 0,0970 Móvel EUA, Canadá, Brazil e Venezuela 0,1570 Móvel Restante América 0,1420 Móvel África Zona 125 0,1220 Móvel Restante África 0,2236 Móvel Austrália 0,1126 Móvel Resto do Mundo 0,1175 Satélite 1,9989 Data: 2/4/2012 (Válido até 2015, sujeito a revisão anual)Segurança Acesso ao departamento Acesso fora de horas O acesso ao Departamento, fora do horário normal de funcionamento, é feito através de um sistema biométrico. PODEM REQUERER ESTE TIPO DE ACESSO OS SEGUINTES GRUPOS: – alunos de dissertação de mestrado;– estudantes Erasmus;– alunos de pós-graduação;– alunos de doutoramento;– organizações estudantis sediadas no DEEC (NEEC, BEST,?);– estudantes representantes do respectivo curso junto do Coordenador;– investigadores;– funcionários;– alunos-investigadores;– outros sob pedido fundamentado;– docentes internos e externos. PROCEDIMENTO: 1º) Aceder ao formulário através do seguinte endereço;2º) Preenchê-lo de acordo com as instruções;3º) Aguardar resposta via e-mail, onde será contactado para se dirigir ao Gabinete de Rede Informática, caso não tenho ainda registo de acesso no departamento.Autenticação & Password O DEEC possui um sistema de autenticação centralizada, ou seja, um sistema único de identificação, que permite a todos os seus utilizadores aceder aos vários serviços informáticos, usando as mesmas credenciais de autenticação – o mesmo nome de utilizador e palavra-chave. Dado o grau de criticidade desta palavra-chave, que permite aceder a múltiplos serviços informáticos, foram estabelecidas as seguintes regras: A palavra-chave deve ter obrigatoriamente no mínimo oito carateres e três variantes distintas (letras maiúsculas, minúsculas, algarismos e pontuação); A palavra-chave deve ser renovada periodicamente pelo utilizador; Pode alterar a sua password através do endereço https://password.deec.uc.ptServiços Aula via plataforma Colibri Zoom A FCCN disponibiliza à comunidade académica e científica de Portugal um serviço para colaboração à distância, denominado  Colibri. O Colibri utiliza a plataforma cloud Zoom e é um serviço de colaboração Web que disponibiliza um ambiente propício para a realização de aulas e reuniões à distância. A plataforma é um ponto central de colaboração que permite realizar sessões de videoconferência com participantes de múltiplas instituições. Fornece um ambiente seguro e intuitivo que inclui ferramentas de gestão, partilha e gravação de sessões. Neste documento descrevem-se, de forma sistemática, os passos necessários à criação de uma aula. Licenciamento Pro O licenciamento Pro está disponível ao abrigo da pertença à RCTS. Para obtenção deste licenciamento, é necessário usar uma conta @uc.pt. O Colibri, trabalha com contas flutuantes, para todos os membros da rede RCTS. A contas Pro/Licensed são válidas até duas horas após ter sido realizado o login federado na plataforma. Caso não esteja em reunião duas horas após o login a sua conta irá ser reduzida para BASIC. Terá de voltar a proceder à autenticação, sempre que quiser moderar uma nova reunião. Quando acede ao Zoom e se autentica com as suas credenciais da federação RCTSaai terá automaticamente acesso aos privilégios de uma conta Pro. Caso tal não aconteça, confirme em primeiro lugar se se autenticou no Zoom usando as mesmas credenciais que usa quando acede aos serviços da sua instituição. Caso o tenha feito e mesmo assim a sua conta continue como Basic, agradecemos que entre em contacto com o serviço COLIBRI, usando os contactos na página de contactos. Recomendações a transmitir aos Alunos Recomendam-se as seguintes boas práticas de utilização de qualquer ferramenta de colaboração online, com vista a uma melhor experiência: Dar preferência à utilização de um computador em detrimento de smartphones ou tablets. A qualidade global da rede conseguida é tipicamente superior e o tamanho de ecrã maior permite uma aula mais imersiva e a garantia de leitura dos conteúdos que o Docente está a apresentar (apresentações, etc.). Escolher um local o mais perto possível do Router ou Access Point, para garantir a melhor qualidade de sinal possível. Evitar a utilização de ligações móveis (3G, 4G, etc.) e ADSL, dado que as mesmas não possuem as mesmas larguras de banda e garantias de qualidade de rede de uma ligação banda larga. Evitar deslocar os equipamentos no decorrer da aula, para evitar a degradação do sinal Wi-Fi e quebras de ligação. Acesso ao serviço e processo de autenticação Aceder ao endereço web do serviço, através do endereço: https://videoconf-colibri.zoom.us/ Para agendar uma aula, usar a opção “Agendar”: No passo seguinte, deverá autenticar-se com as suas credenciais da Universidade de Coimbra: Após a autenticação sucedida, deverá receber a seguinte janela, com os seus dados, que deverá aceitar: Na próxima fase, deverá autorizar um envio de um e-mail para a sua conta associada, para verificação de segurança e associação da conta Zoom ao seu endereço de e-mail: Deverá, então, verificar a sua caixa de correio e pressionar o botão contido no e-mail para validar a recepção do e-mail de segurança: Deverá aceitar as condições do convite, pressionando o botão azul: Está concluído o processo inicial de configuração da sua conta. Agendamento de sessão para aula Neste contexto, devido à natureza do licenciamento da FCCN no serviço Zoom, o utilizador poderá, no momento de autenticação na plataforma, obter um seguintes tipos de conta: Conta Básica - Permite realizar uma sessão/aula com limite máximo de 100 participantes e de 40 minutos por sessão (expirado este tempo, a sessão termina e é necessário entrar novamente na reunião com o mesmo ID); Conta Pro - Permite realizar um sessão/aula com limite máximo de 300 participantes, sem limite de duração. Aceder ao endereço web do serviço, através do endereço: https://videoconf-colibri.zoom.us/ Autenticar-se, conforme indicações atrás. Seguidamente, preencha os campos assinalados com caixas a vermelho, com vista a marcar a sua sessão, nomeadamente: Nome da aula Data e hora da aula Fuso horário associado E também os seguintes: Geração de endereço web automático para a aula Permissão de vídeo por parte do Docente (Host) e dos Alunos (Participant) No exemplo abaixo, está activa a câmara para o Docente e inactiva para os Alunos Audio via computador, desactivação de chamada telefónica por razões de segurança Iniciar a sessão com áudio desligado para os alunos Activar sala de espera virtual para os Alunos que cheguem antes do Docente Por fim, active o botão azul, para gravar o agendamento da aula: Após gravação da sessão, surge uma janela com o resumo das definições gravadas: Deverá, agora, utilizar o botão “Copiar o convite”, para copiar o endereço (URL) da aula e enviar o mesmo para os Alunos, através de um qualquer canal de comunicação (E-mail, NONIO, etc.). Inicio da Aula Para iniciar a aula, utilize o botão azul: “Iniciar esta Reunião”: Será então descarregado o software necessário e iniciada a aplicação: Quando os alunos entrarem na aula, deverá admitir a sua entrada, através do botão azul: Para partilhar conteúdos do seu computador (ecrã total, apresentações, etc.), pressionar o botão “Compartilhar tela”: Para interromper a partilha de ecrâ, pressionar o botão “Interromper Compartilhamento”, a vermelho: A perspectiva do Aluno… O Aluno deverá utilizar o endereço (URL) da Aula que recebeu, da parte do Docente, copiar e colá-lo no browser. Será, então, descarregado o software necessário e iniciada a aplicação: Neste ponto, introduza o seu nome e número de aluno no formato: Primeiro_Nome Último_Nome (Número_Aluno) Por exemplo: João Ferreira (2019123567) Aceitar os termos e condições do serviço Zoom: Deverá aceitar a entrada na aula, pressionando o botão azul para ingressar na aula: Aqui, surgirá uma janela com a aula: Configuração Áudio Pode configurar quais os dispositivos a utilizar para efeitos de entrada (microfone) e saída de som, pressionando o botão abaixo: LINKED TICKETS 1 Manual Zoom - Conta Pro 30/03/2020 Boas Práticas exame.DEEC Para uma melhor utilização da plataforma exame.DEEC, sugerimos as boas práticas abaixo, no contexto de algumas funcionalidades da plataforma: File Manager (https://exame.deec.uc.pt/admin/code/tce_filemanager.php) - Usar a seguinte estrutura de pastas: CACHE / Nome completo da disciplina - Não colocar nenhum ficheiro na raíz Estrutura de módulos (https://exame.deec.uc.pt/admin/code/tce_edit_module.php) - Usar a seguinte estrutura: / Nome completo da disciplina Grupos (https://exame.deec.uc.pt/admin/code/tce_edit_group.php) - Se turma: Usar o seguinte formato: Ano Lectivo | Sigla Disciplina | Grupo (p.e. 2022-2023 | EII | Turma 1) - Se todos alunos da cadeira: Usar o seguinte formato: Ano Lectivo | Sigla Disciplina (p.e. 2022-2023 | EII) - Apenas a Informática cria os grupos, a pedido dos DocentesLigação ao servidor Alunos via SFTP Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt ou @student.uc.pt Neste documento são apresentados os passos necessários para utilizar o servidor Alunos via SFTP para transferência de ficheiros. 1 – Efectuar o download e instalar o Cyberduck. Para efectuar o download clique aqui (seleccionar Windows ou Mac OSX). 2 – Abrir o Cyberduck, clicar em Open Conection, seleccionar SFTP (SSH File Transfer Protocol) e de seguida preencher os campos conforme a imagem, utilizado os seu utilizador e respectiva password: 3 – Clicar em Allow na janela seguinte. 4 – Após a ligação estabelecida pode iniciar a transferência de ficheiros entre o servidor e a sua máquina. Ligação aos servidores Home via FTP TLS/SSL Neste documento são apresentados os passos necessários para aceder via FTP TLS/SSL aos servidores web.deec.uc.pt e home.deec.uc.pt. 1 – Efectuar o download e instalar o Cyberduck. Para efectuar o download clique aqui (seleccionar Windows ou Mac OSX). 2 – Abrir o Cyberduck, clicar em Open Conection, seleccionar FTP-SSL (Explicit AUTH TLS) e de seguida preencher o endereço do servidor, assim com o seu utilizador e respectiva password: 3 – Após a ligação estabelecida pode iniciar a transferência de ficheiros entre o servidor e a sua máquina. My DEEC A plataforma My DEEC é um sistema de informação evolutivo, de suporte interno às actividades do departamento, acessível por alunos, colaboradores docentes e não docentes, sendo composto pelas seguintes grandes áreas de funcionalidade (disponíveis consoante os privilégios de cada utilizador): Académicos Arquivo de Documentação Contactos Edíficio Imagem & Comunicação Informática Inventário Orgânica Secretariado Pode aceder a este sistema através do endereço (URL):https://my.deec.uc.pt O login no sistema é o endereço de e-mail e a password é a que utiliza na conta de e-mail respectiva.Aula via plataforma Conference DEEC No contexto da pandemia COVID-19, o DEEC disponibilizou um serviço para colaboração à distância, denominado Conference DEEC, para dar aos Docentes uma opção alternativa de comunicação com os Alunos. O Conference.DEEC é baseado num conjunto de componentes open source que dá origem à plataforma Jitsi e é um serviço de colaboração Web que disponibiliza um ambiente propício para a realização de aulas e reuniões à distância. A plataforma é um ponto central de colaboração que permite realizar sessões de videoconferência com participantes em qualquer lugar. Fornece um ambiente seguro e intuitivo que inclui ferramentas de gestão, partilha e gravação de sessões. Neste documento descrevem-se, de forma sistemática, os passos necessários à criação de uma aula. Recomendações a transmitir aos Alunos Recomendam-se as seguintes boas práticas de utilização de qualquer ferramenta de colaboração online, com vista a uma melhor experiência: Dar preferência à utilização de um computador em detrimento de smartphones ou tablets. A qualidade global da rede conseguida é tipicamente superior e o tamanho de ecrã maior permite uma aula mais imersiva e a garantia de leitura dos conteúdos que o Docente está a apresentar (apresentações, etc.). Escolher um local o mais perto possível do Router ou Access Point, para garantir a melhor qualidade de sinal possível. Evitar a utilização de ligações móveis (3G, 4G, etc.) e ADSL, dado que as mesmas não possuem as mesmas larguras de banda e garantias de qualidade de rede de uma ligação banda larga. Evitar deslocar os equipamentos no decorrer da aula, para evitar a degradação do sinal Wi-Fi e quebras de ligação. Acesso ao serviço e processo de autenticação Aceder ao endereço web do serviço através do browser Google Chrome, através do endereço: https://conference.deec.uc.pt Inicio da Aula Para iniciar a aula, introduza o nome da aula e carregue em “Go”: De seguida aparecerá a seguinte imagem. Deverá carregar em “Permitir” para dar acesso ao microfone e à câmara. O Docente terá que se autenticar para ter privilégios adicionais, para isso deve pressionar em “I am the host”: Introduza as credenciais do domínio DEEC (só o username) e pressione o botão “Ok”: Introduza o seu nome e pressione em “Ok”: Está agora na sala virtual. Utilize o endereço que está na barra de endereços do Browser para partilhar com os Alunos. É o mesmo para Docente e Alunos e, por isso, é esse que deve partilhar com eles. Para partilhar conteúdos do seu computador (ecrã total, apresentações, etc.), pressionar o botão assinalado: Depois de escolher o que pretende partilhar, pressionar “Partilhar”: Para interromper a partilha de ecrâ, pressionar o botão “Parar a partilha”: Após estes passos, a conferência está funcional: A perspetiva do aluno... O Aluno deverá utilizar o endereço (URL) da Aula que recebeu, da parte do Docente, copiar e colá-lo no browser. Neste ponto deverá introduzir o seu nome com o seguinte formato:    Primeiro_Nome Último_Nome (Número_Aluno) Por exemplo:    João Ferreira (2019123567) Após este ponto, o aluno está pronto para assistir à conferência. Configuração Áudio Pode configurar quais os dispositivos a utilizar para efeitos de entrada (microfone) e saída de som, pressionando o botão abaixo: Serviço de Alojamento de Páginas Pessoais Apresentação O DEEC disponibiliza aos seus colaboradores um serviço para a publicação de páginas pessoais web, para seu usufruto. Este serviço é disponibilizado através do endereço URL http://home.deec.uc.pt/~username. Os materiais alojados através deste serviço são da responsabilidade de cada utilizador e refletem a sua visão individual. A informação publicada não representa a opinião ou a política do Departamento, Faculdade ou da Universidade de Coimbra. Assim, a instituição não deve ser associada à visão dos utilizadores, expressa nas páginas alojadas neste serviço. Gestão do site pessoal Passo 1: Aceder a drive.deec.uc.pt Aceda ao endereço acima, e coloque as suas credenciais (não é necessário colocar "@deec.uc.pt"). Passo 2: Abrir pasta "SiteWeb" Todos os docentes têm uma pasta individual chamada "SiteWeb", onde irão colocar os ficheiros do site individual. Passo 3: Alterar o conteúdo para a estrutura desejada Agora é só inserir o seu website na pasta "SiteWeb". Servidor MIPS O DEEC disponibiliza aos alunos e docentes um servidor com base na arquitetura MIPS, que executa uma distribuição adequada de Linux. Para aceder, deverá utilizar as credencias associadas à conta da Universidade de Coimbra (as mesmas que utiliza para aceder à plataforma Inforestudante). Por razões técnicas, a primeira vez que tentar entrar no servidor, a ligação irá falhar e a conta será criada. Deverá cancelar a operação (CTRL+C), tentar novamente. De futuro, já conseguirá aceder ao servidor sem problemas. Para se ligar ao servidor e poder utilizar o mesmo, assim como transferir ficheiros de e para o seu computador, necessita de utilizar os protocolos “SSH” (Secure shell) e “SFTP”, respetivamente. Ligação através de Linux e MacOS Se for utilizador Linux ou Mac/OSX, execute o seguinte comando numa consola Terminal, para se ligar ao servidor: $ ssh 'uc20YYXXXYYY@student.uc.pt'@mips.deec.uc.pt e terá acesso à máquina MIPS, quer esteja dentro ou fora da LAN do DEEC. Suporte Remoto Se o colaborador da Informática lhe solicitar e necessitar de acesso remoto ao seu computador para dar resposta a um pedido de suporte seu, deverá seguir as instruções seguintes. Obter o cliente AnyDesk no endereço em baixo e executar o mesmo: Em Windows: https://download.anydesk.com/AnyDesk.exe Em MacOS: https://download.anydesk.com/anydesk.dmg Em seguida, deve indicar o endereço de suporte remoto associado ao seu computador ao colaborador da Informática: Neste momento, o colaborador da Informática irá proceder à ligação ao seu computador, sendo que terá que autorizar a ligação remota: Após aceitação da ligação, receberá a indicação que existe uma ligação remota estabelecida. Deverá agora seguir as indicações telefónicas dadas e continuar com a sessão de suporte remoto: No final, o colaborador da Informática irá fechar a sessão do seu lado, terminando o acesso remoto ao seu computador. Neste momento, poderá fechar a aplicação AnyDesk. Guarde a mesma no disco rígido, poderá utilizar a mesma em futuros pedidos de suporte, uma vez que o endereço deste computador mantém-se. A segurança do seu computador está garantida, na medida em que o suporte só pode ser feito com a aplicação aberta e com a sua autorização explícita e física de ligação. Autorizações necessárias em ambiente Windows Se, nalgum momento surgir a seguinte janela de segurança, seleccionar a opção “Permitir acesso”: Autorizações necessárias em ambiente MacOS A partir do MacOS Mojave é exigida a permissão para que o AnyDesk controle explicitamente um dispositivo. Surgirá a janela seguinte na primeira execução da aplicação. Siga a sequência de acções indicada abaixo: Após concluir, clique novamente no cadeado para terminar o processo de autorização.Suporte Remoto Rustdesk Se o colaborador da Informática lhe solicitar e necessitar de acesso remoto ao seu computador para dar resposta a um pedido de suporte seu, deverá seguir as instruções seguintes. Instalação Obter o cliente RustDesk no endereço em baixo e executar o mesmo: Versão atual Windows: https://github.com/rustdesk/rustdesk/releases/download/1.3.8/rustdesk-1.3.8-x86_64.exe Configuração do software Pedir Suporte Em seguida, deve indicar o endereço de suporte remoto associado ao seu computador ao colaborador da Informática: Neste momento, o colaborador da Informática irá proceder à ligação ao seu computador, sendo que terá que autorizar a ligação remota: Após aceitação da ligação, receberá a indicação que existe uma ligação remota estabelecida. Deverá agora seguir as indicações telefónicas dadas e continuar com a sessão de suporte remoto. No final, o colaborador da Informática irá fechar a sessão do seu lado, terminando o acesso remoto ao seu computador. Neste momento, poderá fechar a aplicação RustDesk. Guarde a mesma no disco rígido, poderá utilizar a mesma em futuros pedidos de suporte, uma vez que o endereço deste computador mantém-se. A segurança do seu computador está garantida, na medida em que o suporte só pode ser feito com a aplicação aberta e com a sua autorização explícita e física de ligação. Autorizações necessárias em ambiente Windows Se, nalgum momento surgir a seguinte janela de segurança, seleccionar a opção “Permitir acesso”: Autorizações necessárias em ambiente MacOS A partir do MacOS Mojave é exigida a permissão para que o RustDesk controle explicitamente um dispositivo. Surgirá a janela seguinte na primeira execução da aplicação. Siga a sequência de acções indicada abaixo: Após concluir, clique novamente no cadeado para terminar o processo de autorização.Software Instalação Labview e Multisim O DEEC possui uma licença Labview para estudantes e colaboradores: Antes de proceder à instalação do software, é necessário fazer o registo de uma conta NI, utilizando o site: https://lumen.ni.com/nicif/us/header_create/content.xhtml?action=create&du=https://www.ni.com/myni/dashboard/ Use a sua conta de estudante (ucXXXXXXXXXX@student.uc.pt) Para aceder a este software: Fazer o download do mesmo: https://installers.deec.uc.pt/labview_multisim/labview_multisim.zip Extrair o ficheiro e executar o instalador - Nos próximos passos, clique em “next” para concordar sempre com o termos de licença: - Escolha o pacote de software que necessita e clique em “next”: - Nos próximos passos, clique em “next” para concordar sempre com o termos de licença: - Confirme que a escolha do software está correta e clique em “next”: - Aceite que o NI Update Service procure automaticamente por novas atualizações: - Entre com a conta que criou nos passos anteriores: - Escolha a opção “serial number”: - Introduza o serial number, contido no ficheiro "LABVIEW SERIAL" do zip que descarregou, e clique em “Activate”: MATLAB Alunos Instalar e activar uma cópia pessoal do MATLAB (Alunos) Para utilizar o Matlab, deverá possuir uma conta @student.uc.pt 1. Criar uma conta MathWorks (Caso já possua uma conta MathWorks pode saltar este passo) • Vá a http://www.mathworks.com e clique em “Log in”. • Clique em “Create Account”. • Deverá utilizar o seu e-mail da Universidade (@student.uc.pt) e seleccionar a opção “Academic Use”. • Neste ponto, pode finalizar a criação da sua conta MathWorks. 2. Associar a conta MathWorks com a licença • Depois de iniciar sessão na sua conta MathWorks, vá a “My Account” e clique em “View My Licenses”. • Clique no botão “Add License” • Seleccione a opção “Activation Key” e clique em “Continue”. • Introduza a Chave de Activação: 12668-22703-15866-38939-29347 e clique em “Continue”. 3. Descarregar e instalar o Software Pode descarregar o software do site da Mathworks (método b), no entanto sugerimos e recomendamos que opte por descarregar o mesmo do servidor local BOX (método a), sendo o processo muito mais rápido, uma vez que a transferência utiliza apenas a rede local. MÉTODO A – TRANSFERÊNCIA ATRAVÉS DA REDE LOCAL (RECOMENDADO) Windows Linux macOS MÉTODO B – TRANSFERÊNCIA ATRAVÉS DO SITE DA MATHWORKS (ALTERNATIVO) a. Quando a licença estiver activada na sua conta MathWorks, vá a:http://www.mathworks.com/downloads/web_downloads/select_releaseAlternativamente, poderá efectuar download do software através do endereço… • Seleccione a versão do software que pretende instalar. • Seleccione a plataforma: • Poderá então descarregar o instalador da versão e plataforma pretendidas. b. Quando a transferência estiver concluída, corra o ficheiro de instalação. • Leia e aceite os termos do contrato de licença: • Introduza o endereço de e-mail e password da sua conta MathWorks: • Escolha a licença activada recentemente e clique em “Next”. • Escolha a pasta de instalação. • Seleccione os produtos a instalar. • Escolha as opções de atalho adicionais e clique em “install” c. Quando o processo de instalação terminar, é necessário activar o software. • Poderá agora utilizar a sua cópia do MATLAB. Recursos Adicionais • TAH Resource Kit for Studentshttp://www.mathworks.com/academia/tah-support-program/students.html • Online Documentation:http://www.mathworks.com/help/ • Interactive MATLAB and Simulink Tutorials:http://www.mathworks.com/academia/student_center/tutorials/ LINKED TICKETS 1 Licenças VS/VSCode/Multisim/outros 02/12/2021 Matlab Docentes & Investigadores Instalar e activar uma cópia pessoal 1. Criar uma conta MathWorks (Caso já possua uma conta MathWorks pode saltar este passo) • Vá a http://www.mathworks.com e clique em “Log in”. • Clique em “Create Account”. • Deverá utilizar o seu e-mail institucional (@deec.uc.pt ou @uc.pt) e seleccionar a opção “Academic Use” • Neste ponto, pode finalizar a criação da sua conta MathWorks. 2. Associar a conta MathWorks com a licença • Depois de iniciar sessão na sua conta MathWorks, vá a “My Account” e clique em “View My Licenses”. • Clique no botão “Add License" • Selecione a opção “Activation Key” e clique em “Continue”. • Introduza a Chave de Activação: 18583-36985-43947-39097-18102 e clique em “Continue”. 3. Descarregar e/ou instalar o Software Pode descarregar o software do site da Mathworks (método b), no entanto sugerimos e recomendamos que opte por instalar directamente ou descarregue do servidor local (método a), sendo o processo muito mais rápido, uma vez que utiliza apenas a rede local. MÉTODO A – INSTALAÇÃO ATRAVÉS DA REDE LOCAL (RECOMENDADO) Windows Linux macOS MÉTODO B – TRANSFERÊNCIA ATRAVÉS DO SITE DA MATHWORKS (ALTERNATIVO) a. Quando a licença estiver activada na sua conta MathWorks, vá a:http://www.mathworks.com/downloads/web_downloads/select_releaseAlternativamente, poderá efectuar download do software através do endereço… • Seleccione a versão do software que pretende instalar. • Seleccione a plataforma: • Poderá então descarregar o instalador da versão e plataforma pretendidas. b. Quando a transferência estiver concluída, corra o ficheiro de instalação. • Leia e aceite os termos do contrato de licença: • Introduza o endereço de e-mail e password da sua conta MathWorks: • Escolha a licença activada recentemente e clique em “Next”. • Escolha a pasta de instalação. • Seleccione os produtos a instalar. • Escolha as opções de atalho adicionais e clique em “install” c. Quando o processo de instalação terminar, é necessário activar o software. • Poderá agora utilizar a sua cópia do MATLAB. Recursos Adicionais • TAH Resource Kit for Educatorshttp://www.mathworks.es/academia/tah-support-program/educators.html • Online Documentation:http://www.mathworks.com/help/ • MATLAB Courseware (curriculum materials):http://www.mathworks.com/academia/courseware/Microsoft Imagine Para usar este serviço, é necessário possuir uma conta @deec.uc.pt O que é o Microsoft Imagine? O Microsoft Imagine é um protocolo que a Microsoft assina com os Departamentos das Universidades que leccionam disciplinas das áreas STEM (Science, Technology, Engineering e Mathematics) que dá acesso GRATUITO aos seus alunos, docentes e colaboradores do Departamento às ferramentas Microsoft. O protocolo pode ser utilizado através de uma plataforma Web based. Dessa forma, é possível à comunidade obter uma cópia pessoal de todo o software disponível, existindo uma conta pessoal para cada utilizador. O processo de entrega do software é automatizado, libertando os responsáveis / administradores de, essencialmente, gerir o penoso processo de atribuir as Keys únicas a que cada utilizador tem direito para obter a sua cópia pessoal do software. Da parte dos utilizadores, o acesso ao software torna‐se disponível ininterruptamente, a qualquer hora e em qualquer lugar, bastando para isso que estejam registados no sistema. O facto de cada aluno ter a sua própria conta pessoal confere‐lhes o total acesso ao “seu” software, podendo aceder em qualquer altura às suas Keys dos produtos ou encomendar novos produtos de software. Quem tem acesso? Estudantes do DEEC, que frequentem unidades curriculares no ano letivo corrente; Docentes; Colaboradores; Contas Microsoft Imagine O acesso ao Microsoft Imagine está dependente da criação de contas por parte da gestão da Rede Informática do DEEC (GRI). Para este efeito, o GRI efectua a criação de contas da seguinte forma: Para alunos, no início de cada ano lectivo; Para docentes e colaboradores, no acto de criação da conta departamental; Nesse momento, cada utilizador recebe um e-mail, na conta de correio electrónico institucional, automatizado por parte da plataforma, com as instruções de acesso iniciais à plataforma. As contas na plataforma Dreamspark são independentes das contas departamentais, não tendo ligação aos serviços de autenticação centralizados do DEEC. Por este motivo, podem ter uma password diferente. Acesso à plataforma O username é o endereço de correio electrónico institucional. A password é, como já referido, gerada pela Microsoft, sendo automaticamente enviada no e-mail inicial. Caso tenha perdido ou não saiba qual a sua password, pode recuperá-la na página de autenticação do serviço Microsoft Imagine(“Sign In”), através das seguintes opções:“Forgot you password?” – Esta opção, envia ao utilizador uma nova password.Utilização correta O endereço (URL) para acesso à plataforma é: http://web.deec.uc.pt/go/dreamspark Normas de Utilização O software disponibilizado pode ser utilizado em projetos académicos, aulas, de investigação, trabalhos de grupo ou projetos departamentais da faculdade; Os alunos abrangidos pelo protocolo poderão instalar o software nas suas máquinas pessoais, desde que para utilização apenas dos próprios e apenas para fins académicos; O uso das ferramentas obtidas pelos alunos ao abrigo do protocolo está autorizado, mesmo após deixarem ou terminarem o curso, apenas para fins académicos ou de investigação; A instalação do Microsoft Windows ou outros sistemas operativos disponibilizados, apenas pode ser levada a cabo em PCs sem sistema pré-instalado (OEM) para fins académicos e para utilização do próprio aluno, não podendo o sistema operativo ser transferido no caso de transferência do computador; O aluno pode gravar UMA ÚNICA cópia do software disponibilizado, quando este for cedido no formato *.ISO; Utilização incorreta A utilização das ferramentas disponibilizadas para o desenvolvimento de produtos que não sejam do âmbito académico e/ou de investigação; A instalação dos sistemas operativos disponibilizados para a utilização de outro software não abrangido pelo protocolo que corra sobre estes; A utilização do software disponibilizado para fins comerciais; O software disponibilizado não pode ser alugado, vendido, transferido ou cedido a terceiros, sejam eles (por exemplo) outros departamentos, outros alunos, empresas ou consultores; Microsoft Office 365 Educação Para usar este serviço, necessita de possuir uma conta de email @deec.uc.pt ou @student.uc.pt Apresentação O Office 365 Education Plus para estudantes está disponível gratuitamente para estudantes e colaboradores inscritos na Universidade de Coimbra. Instale o Office num máximo de 5 PCs ou Macs e noutros dispositivos móveis, incluindo tablets Android™, iPad® e Windows. Usufrua de acesso aos serviços do Office 365, como o armazenamento online de 1 TB no OneDrive e o Yammer. Para efectuar o registo inicial, utilize um dos links abaixo: Estudantes (utilize o seu endereço @student.uc.pt para registo) Colaboradores (utilize o seu endereço @deec.uc.pt para registo) ATENÇÃO: O sistema Office 365 é independente, pelo que utiliza conjunto username+password próprio, que não são os mesmos do DEEC. O que está incluído Aplicações completas instaladas Crie relatórios e apresentações com as versões mais recentes das aplicações que tão bem conhece e nas quais confia. Inclui o Word, o Excel, o PowerPoint, o OneNote, o Outlook, o Publisher e o Access. Colaboração fácil em tempo real Trabalhe com os seus colegas online e veja as alterações de uns e outros em tempo real com o Office Online e o OneDrive. O tempo da troca de e-mails com versões desatualizadas pertence ao passado. Ferramentas de apontamento de notas otimizadas Digite ou escreva notas à mão, capture páginas Web, grave áudio/vídeo, incorpore folhas de cálculo e muito mais com o OneNote, disponível em todos os seus dispositivos.Rato transparente no QTCreator - Windows 10 Rato desaparece durante a utilização do QTCreator. Como o fundo do QTCreator é de cor branca e o rato também, o mesmo acaba por não se notar. Ao mudar a cor do rato nas definições do Windows para preto, o problema fica resolvido. Com os passos seguintes, é possível proceder à alteração da cor do rato. Ir às definições do Windows e clicar em “Dispositivos”; Clicar em “Rato”; Clicar em “Opções do rato adicionais”; Clicar em “Ponteiros” e nessa aba clicar na aba “Esquema” que deverá estar pré selecionado com a opção “Nenhum”. Escolher a opção “Preta do Windows”; Clicar em “Aplicar” e de seguida em “OK”. O rato muda assim para a cor preta. Software ADS Para ativação do software, utilizar o servidor de licenças: Server license.deec.uc.pt Port 28001 Software Cedrat Flux Configuração do Cliente Software JMP Está disponível a toda a comunidade académica o Software JMP, um programa destinado a apoiar atividades em estatística e data science, desde o planeamento de experiências à visualização e análise de grandes volumes de informação, predictive analytics, engenharia da Qualidade, fiabilidade e manutenção.Fruto de um acordo entre Serviços de Ação Social e Universidade de Coimbra, o software é disponibilizado pelos técnicos responsáveis pelo serviço de informática das várias Unidades Orgânicas / Faculdades. Por favor selecione o sistema operativo a instalar: Windows MacintoshSoftware nos Laboratórios Para apoio às actividades lectivas, o DEEC possui um conjunto de laboratórios equipados com estações de trabalho. Nestes computadores, está instalado um conjunto de software denominado Software Base, que se encontra instalado em todos. Adicionalmente, instala-se também outro software, específico às actividades de cada laboratório a cada instante e às disciplinas lá leccionadas. Nesta página, pode consultar a todo o momento qual o software base instalado em todos os laboratórios e ainda, que software se encontra instalado em cada laboratório. No caso de ser necessário, os docentes podem requerer a instalação de software adicional nos laboratórios, através do serviço de helpdesk@deec.uc.pt. No início de cada semestre, os pedidos deverão ser feitos com antecedência adicional, uma vez que são momentos com elevadas requisições. Software Base Windows Software Função Licença 7Zip (Des)Compactação de ficheiros Freeware Adobe Reader Visualição de ficheiros PDF Freeware CutePDF Geração de ficheiros PDF Freeware ESET Nod32 Antí-vírus Comercial Google Chrome Browser Web Freeware Java JRE Runtime Java Freeware Mozilla Firefox Browser Web Freeware Microsoft Office Produtividade escritório Comercial Notepad++ Edição de ficheiros de texto Freeware Putty Cliente SSH Freeware WinSCP Browser Ficheiros SFTP/SSH Freeware VLC Media Player Media Player Freeware Linux Software Função Licença Geany Edição de ficheiros de texto Freeware GCC Compilação de software C/C++ Freeware Software Adicional LAI 1 O Laboratório de Apoio Informático 1, situado na Torre T, Piso 6, possui o seguinte software específico instalado: Software Função Licença QT Creator Ambiente Integrado de Desenvolvimento Freeware Matlab Linguagem de alto nível para engenharia Comercial MySQL Workbench Gestão de bases de dados Freeware Visual Studio Professional Ambiente de desenvolvimento Comercial LAI 3 O Laboratório de Apoio Informático 3, situado na Torre S, Piso 4, possui o seguinte software específico instalado: Software Função Licença Kinect for Windows API para sistemas Kinect Comercial (protocolo Matlab TAH) Labview Desenvolvimento de sistemas de medição e controlo Comercial Matlab Linguagem de alto nível para engenharia Comercial (licenciamento Matlab TAH) MySQL Workbench Gestão de bases de dados Freeware Softkinetic API API para sistemas SofKinetic Freeware Codeblocks Ambiente de desenvolvimento Freeware Visual Studio Professional Ambiente de desenvolvimento Comercial (licenciamento Microsoft Dreamspark) LSRC O Laboratório de Sistemas e Redes de Computadores, situado na Torre R, Piso 6, possui o seguinte software específico instalado: Software Função Licença Matlab Linguagem de alto nível para engenharia Comercial Quartus II Web Edition Design de FPGA and CPLD Freeware Riverbed Simulação de redes de dados Freeware LSD O Laboratório de Sistemas Digitais, situado na Torre R, Piso 6, possui o seguinte software específico instalado: Software Função Licença Matlab Linguagem de alto nível para engenharia Comercial Quartus II Web Edition Design de FPGA and CPLD Freeware Visual Studio Professional Ambiente de desenvolvimento Comercial (licenciamento Microsoft Dreamspark) Codeblocks Ambiente de desenvolvimento Freeware MySQL Workbench Gestão de base de dados Freeware LPDS O Laboratório de Processamento de Sinal, situado na Torre S, Piso 5, possui o seguinte software específico instalado: Software Função Licença Matlab Linguagem de alto nível para engenharia Comercial Blender Programa de Modelação 3D Freeware QT Creator Ambiente Integrado de Desenvolvimento Freeware Eclipse Plataforma de desenvolvimento Freeware Codeblocks Ambiente de desenvolvimento Freeware Labview Desenvolvimento de sistemas de medição e controlo Comercial MySQL Workbench Gestão de base de dados Freeware Visual Studio Profissional Ambiente de desenvolvimento Comercial (licenciamento Microsoft Dreamspark) LMI O Laboratório de Medidas e Instrumentação , situado na Torre S, Piso 5, possui o seguinte software específico instalado: Software Função Licença Matlab Linguagem de alto nível para engenharia Comercial Visual Studio Profissional Ambiente de desenvolvimento Comercial (licenciamento Microsoft Dreamspark) MySQL Workbench Gestão de base de dados Freeware Codeblocks Ambiente de desenvolvimento Freeware Labview Desenvolvimento de sistemas de medição e controlo Comercial LT O Laboratório de Telecomunicações , situado na Torre S, Piso 6, possui o seguinte software específico instalado: Software Função Licença Matlab Linguagem de alto nível para engenharia Comercial Wireshark (c/WinPcap) Ferramenta de analise protocolar Freeware Riverbed Simulação de redes de dados Freeware LC O Laboratório de Controlo , situado na Torre S, Piso 3, possui o seguinte software específico instalado: Software Função Licença Matlab Linguagem de alto nível para engenharia Comercial MySQL Workbench Gestão de base de dados Freeware Visual Studio Profissional Ambiente de desenvolvimento Comercial (licenciamento Microsoft Dreamspark) LH O Laboratório de Hiperfrequências , situado na Torre S, Piso 6, possui o seguinte software específico instalado: Software Função Licença Matlab Linguagem de alto nível para engenharia Comercial Labview Desenvolvimento de sistemas de medição e controlo Comercial MySQL Workbench Gestão de bases de dados Freeware Visual Studio Profissional Ambiente de desenvolvimento Comercial (licenciamento Microsoft Dreamspark) Codeblocks Ambiente de desenvolvimento Freeware Synology Drive Client Download Faça o download do software Synology Drive Client: Windows Linux MacOS Instalação Configuração Inicie a aplicação Clique em “começar” Introduza a suas credenciais Selecione a opção conforme a imagem e clique “seguinte” Altere o caminho das pastas, criando uma pasta chamada “documentos” dentro da pasta “os meus ficheiros” no driv E crie também uma pasta chamada “Documentos”, ou selecione uma já existente, no seu computador, dentro da pasta do seu nome de utilizador (C:\Users\”SeuUtilizador”). Certifique-se que obtém este resultado e selecione "concluído" Avance nas próximas etapas clicando “seguinte” e “Abrir pasta”. Em seguida, no menu apresentado, selecione “Editar ligação”, em seguida clique em “Partilhado Comigo” e selecione “Alterar”. Crie uma pasta dentro da pasta do seu nome de utilizador (C:\Users\”SeuUtilizador”), chamada “ShareDEEC” Obtendo este resultado: Para finalizar, de modo a obter um acesso mais rápido à pasta “ShareDEEC”, pode fixá-la em acesso rápidos. Obtendo este resultado: VPN Cliente VPN DEEC - Windows O OpenVPN disponibiliza uma solução de VPN flexível para garantir a segurança dos dados das comunicações, seja para garantir a privacidade na Internet ou o acesso remoto por parte de colaboradores aos recursos internos das organizações. O serviço de VPN destina-se a docentes e alunos do DEEC, pelo que deverá usar uma conta @deec.uc.pt ou @student.uc.pt, respectivamente Os alunos dos outros departamentos devem solicitar o acesso ao serviço de VPN do DEEC no Gabinete de Gestão de Rede Informática do DEEC Perfis do OpenVPN Descarregue o perfil do OpenVPN de acordo com a sua utilização: Docente Aluno Instalação Descarregue o cliente do OpenVPN através do seguinte endereço: https://openvpn.net/community-downloads/ Em seguida, fazer a respectiva instalação. Configuração Coloque o perfil da VPN que descarregou incialmente e coloque na pasta "C:\ProgramFiles\OpenVPN\config" Ligação Para finalizar, terá que iniciar o programa “OpenVPN GUI” que, com a sua execução, irá aparecer um ícone de um monitor com um cadeado na sua barra de tarefas Com o lado direito do rato em cima do ícone, clicar em Connect e introduzir as credencias Cliente VPN DEEC - macOS O OpenVPN disponibiliza uma solução de VPN flexível para garantir a segurança dos dados das comunicações, seja para garantir a privacidade na Internet ou o acesso remoto por parte de colaboradores aos recursos internos das organizações. O serviço de VPN destina-se a docentes e alunos do DEEC, pelo que deverá usar uma conta @deec.uc.pt ou @student.uc.pt, respectivamente Perfis do OpenVPN Descarregue o perfil do OpenVPN de acordo com a sua utilização na seção de downloads desta página (à esquerda). Instalação Descarregue o cliente do OpenVPN Passepartout através do seguinte endereço: https://apps.apple.com/us/app/passepartout-vpn-client/id1433648537?mt=8 Configuração Através do Launchpad, abra a app Passepartout e importe o perfil do OpenVPN que transferiu inicialmente: Ligação Ative a ligação sempre que necessário através do switch: Introduza as suas credenciais na primeira execução: Se a ligação for estabelecida com sucesso, deverá obter o seguinte resultado Cliente VPN DEEC - Ubuntu O OpenVPN disponibiliza uma solução de VPN flexível para garantir a segurança dos dados das comunicações, seja para garantir a privacidade na Internet ou o acesso remoto por parte de colaboradores aos recursos internos das organizações. O serviço de VPN destina-se a docentes e alunos do DEEC, pelo que deverá usar uma conta @deec.uc.pt ou @student.uc.pt, respectivamente Perfis do OpenVPN Descarregue o perfil do OpenVPN de acordo com a sua utilização: Docente Aluno Opção 1 - Network Manager Instalação Abrir o Terminal e instalar o plugin do Network Manager sudo apt-get install network-manager-openvpn-gnome Após instalar o plugin, reiniciar o Network Manager systemctl restart NetworkManager Configuração Abrir o Network Manager e, em VPN, clicar no "+" Clicar em "Import from file..." e selecionar o ficheiro do perfil da VPN descarregado anteriormente Introduza as suas credenciais e clicar em "Add" Ligação Clicar no icon do Network Manager, ir a às ligações VPN e activar a VPN Opção 2 - CLI Instalação Abrir o Terminal e instalar o cliente do OpenVPN sudo apt -y install openvpn Ligação openvpn --config DEEC.ovpn Cliente VPN para Alunos com credenciais UC (InforEstudante) - Windows Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt ou @student.uc.pt Instalação: Pode obter a aplicação OpenVPN seguindo a ligação abaixo. https://openvpn.net/community-downloads/ Em seguida, fazer a respetiva instalação. Configuração Para a sua configuração, deverá descarregar o ficheiro "DEEC-Alunos.ovpn" (nos anexos) e movê-lo para “C:\ProgramFiles\OpenVPN\config” (ou, em alternativa, para a pasta "%USERPROFILE%\OpenVPN\config"). Execução Para finalizar, terá que iniciar o programa “OpenVPN GUI” que, com a sua execução, irá aparecer um ícone de um monitor com um cadeado na sua barra de tarefas. Com o lado direito do rato em cima do ícone, clicar em Connect e introduzir as credenciais da sua conta de aluno da Universidade de Coimbra (InforEstudante) com o formato uc20XXYYYYYY@student.uc.pt. Cliente VPN para Alunos com credenciais UC (InforEstudante) - macOS Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt ou @student.uc.pt Instalação A ligação VPN permite-lhe criar um túnel seguro sobre a Internet entre o seu computador e a rede da sua Instituição. Para tal deverá instalar o cliente VPN no seu computador conforme instruções abaixo, para ligação ao servidor VPN disponibilizado pela instituição. Descarregar o instalador aqui: https://openvpn.net/client-connect-vpn-for-mac-os/ Em seguida abrir o ficheiro transferido para o Desktop(1). Mover o ficheiro "OpenVPN_Connect_Installer_signed.pkg" (2) para a Secretária (3). Em seguida, clicar no ficheiro e fazer a respectiva instalação: Após clicar no botão "Instalar" introduzir as credenciais do computador e continuar com a instalação. Configuração e Execução: Para a sua configuração, deverá transferir o ficheiro DEEC-Alunos.ovpn Em seguida, terá que iniciar o programa “OpenVPN Connect”. Com rato em cima do ícone, clicar em "Import" e de seguida em "From local file". Escolher o ficheiro "DEEC-Alunos.ovpn" e clicar em "open": Em seguida, iniciar a conexão: Introduzir as credenciais da sua conta de aluno da Universidade de Coimbra (InforEstudante) com o formato uc20XXYYYYYY@student.uc.pt Cliente VPN para Alunos com credenciais UC (InforEstudante) - Ubuntu Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt ou @student.uc.pt Instalação Ubuntu 16.04 sudo su curl -s https://swupdate.openvpn.net/repos/repo-public.gpg | apt-key add - echo "deb http://build.openvpn.net/debian/openvpn/stable xenial main" > /etc/apt/sources.list.d/openvpn-aptrepo.list apt update apt -y install openvpn Instalação Ubuntu 18.04 sudo apt -y install openvpn Execução sudo openvpn --config DEEC.ovpn Deve introduzir as credenciais da sua conta de aluno da Universidade de Coimbra (InforEstudante) com o formato uc20XXYYYYYY@student.uc.pt. Cliente VPN para Colaboradores e Investigadores - Windows Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt O OpenVPN disponibiliza uma solução de VPN flexível para garantir a segurança dos dados das comunicações, seja para garantir a privacidade na Internet ou o acesso remoto por parte de colaboradores aos recursos internos das organizações. Instalação Pode obter a aplicação OpenVPN seguindo a ligação abaixo. https://openvpn.net/community-downloads/ Em seguida, fazer a respectiva instalação. Configuração Para a sua configuração, deverá descarregar o ficheiro "DEEC.ovpn" (nos anexos) e movê-lo para “C:\ProgramFiles\OpenVPN\config” Execução Para finalizar, terá que iniciar o programa “OpenVPN GUI” que, com a sua execução, irá aparecer um ícone de um monitor com um cadeado na sua barra de tarefas. Com o lado direito do rato em cima do ícone, clicar em Connect e introduzir as credencias obtidas pelo gabinete de Gestão da Rede Informática. Na janela de autenticação, deve colocar o username e não o e-mail no campo Username. Cliente VPN para Colaboradores e Investigadores - macOS Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt Instalação: A ligação VPN permite-lhe criar um túnel seguro sobre a Internet entre o seu computador e a rede da sua Instituição. Para tal deverá instalar o cliente VPN no seu computador conforme instruções abaixo, para ligação ao servidor VPN disponibilizado pela instituição.  https://openvpn.net/vpn-server-resources/connecting-to-access-server-with-macos/#Download_the_OpenVPN_Connect_Client Em seguida abrir o ficheiro transferido para a Secretária(1). Mover o ficheiro "OpenVPN_Connect_Installer_signed.pkg" (2) para a Secretária (3). Em seguida, clicar no ficheiro e fazer a respectiva instalação: Após clicar no botão "Instalar" introduzir as credenciais do computador e continuar com a instalação. Configuração e Execução: Para a sua configuração, deverá transferir o ficheiro "DEEC.ovpn", localizado no fundo desta página, na secção dos Anexos. Em seguida, terá que iniciar o programa “OpenVPN Connect”. Com rato em cima do ícone, clicar em "Import"  e de seguida em "From local file". Escolher o ficheiro "DEEC.ovpn" e clicar em "open": Em seguida, iniciar a conexão: Introduzir as suas credenciais da instituição - endereço de e-mail e password respectivaCliente VPN para Colaboradores e Investigadores - Ubuntu Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt Instalação: Para utilizar o OpenVPN basta executar o seguinte comando “$ sudo apt-get install network-manager-openvpn-gnome”. Quando a instalação terminar, reinicie o serviço network-manager. Configuração: Para a sua configuração, deverá baixar o ficheiro DEEC.ovpn. Com o rato ir ao ícone do network manager ir a “Edit Connections …”, depois “Add a new connection” e criar uma  conexão com “Import a saved VPN configuration…”. Seguidamente, selecione o ficheiro DEEC.ovpn e digite as credencias do DEEC. Se quiser, poderá alterar o Connection name para um nome mais fácil de identificar a VPN do DEEC. Execução: Por fim selecione o ícone do network manager, ir a VPN Connections e selecionar a VPN criada. Cliente VPN para Colaboradores e Investigadores - Ubuntu (CLI) Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt Instalação Ubuntu 16.04 $ sudo su # curl -s https://swupdate.openvpn.net/repos/repo-public.gpg | apt-key add - # echo "deb http://build.openvpn.net/debian/openvpn/stable xenial main" > /etc/apt/sources.list.d/openvpn-aptrepo.list # apt update # apt -y install openvpn Instalação Ubuntu 18.04 $ sudo apt -y install openvpn Execução $ sudo openvpn --config DEEC.ovpn Cliente VPN para Colaboradores e Investigadores - Android Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt Instalação: Para obter o OpenVPN basta ir ao Google Store e instalar a seguinte aplicação “OpenVPN Connect – Fast & Saf SSL VPN Client”. Configuração e Execução: Para a sua configuração, deverá descarregar o ficheiro DEEC.ovpn De seguida ir a “OVPN Profile”. Ir ao diretório do ficheiro, seleciona-lo e fazer “Import”. Para finalizar, terá que inserir as credencias obtidas pelo gabinete de Gestão da Rede Informática e fazer “ADD”. Cliente VPN para Colaboradores e Investigadores - iOS Para utilizar esta VPN, deverá possuir uma conta @deec.uc.pt Instalação: Para baixar o OpenVPN basta ir a AppStore e sacar a seguinte aplicação “OpenVPN Connect”. Configuração: Para a sua configuração, deverá baixar o ficheiro DEEC.ovpn. De seguida, abrir a aplicação, selecionar a opção “OVPN Profile” e aceitar as políticas. Para adicionar o ficheiro ovpn, basta abrir a aplicação Files, ir ao diretório do ficheiro transferido e abri-lo com o OpenVPN. Execução: Para finalizar, selecione “ADD” e digite as credencias e selecione novamente “ADD” . Se quiser, poderá alterar o Title para um nome mais fácil de identificar à VPN do DEEC. Wi-Fi Apresentação da rede Wi-Fi DEEC Para além da rede EDUROAM, o DEEC possui  uma rede sem fios própria, que cobre os gabinetes dos Docentes, a maioria das salas de aula e laboratórios didácticos, disponibilizando endereçamento e recursos locais. A lista completa de espaços que passou a estar equipada com Pontos de Acesso, é a seguinte: Gabinetes de Docente no Piso 1 (4 unidades) Gabinetes de Docente no Piso 3 (4 unidades) Gabinetes de Docente no Piso 3A (4 unidades) Gabinete de Gestão da Rede Informática Laboratório de Apoio Informático 1 Laboratório de Apoio Informático 3 Laboratório de Automação Laboratório de Circuitos Laboratório de Controlo Laboratório de Electrónica Laboratório de Electrónica de Potência Laboratório de Hiperfrequências Laboratório de Instrumentação e Medidas Laboratório de Máquinas Laboratório de Processamento Digital de Sinal Laboratório de Redes e Sistemas de Computadores Laboratório de Sistemas Digitais Laboratório de Telecomunicações Laboratório de Sistemas Electromecânicos Sala de Estudo Sala T4.2 Sala T4.3 Sala T5.2 Sala T5.3 Sala T6.3 Sala de Exames Esta rede sem fios (DEEC) encontra-se enquadrada na infra-estrutura informática do DEEC, permitindo desta forma o acesso transparente e rápido aos recursos da rede local do DEEC. A rede sem fios EDUROAM (ver abaixo) continua a estar disponível nas zonas públicas do departamento. Relativamente a configurações técnicas, as definições a utilizar para acesso à rede, são as seguintes: Definição Descrição Valor a configurar Wireless Type Tipos de tecnologia de rede sem fios que suporta a rede sem fios 802.11 a/b/g/nLargura de banda até 900Mbps por espaçoSuporte para as frequências de 2.4GHz e 5GHz SSID Nome da rede sem fios DEEC Wireless Protection Tipo de sistema de encriptação das comunicações sem fios WPA 2 (AES/CCMP, Dynamic) Authentication(802.1X) Método de autenticação de um dispositivo / utilizador perante uma rede protegida EAP-PEAP + MSCHAPv2 Certificate Validation Sistema de verificação e validação de certificados digitais Não verificar / Desactivado Login Login do utilizador que se pretende ligar à rede Endereço de e-mail do domínio DEEC.UC.PT(por exemplo, user@deec.uc.pt, ou a212345678@alunos.deec.uc.pt) Password Password do utilizador que se pretende ligar à rede Password da conta respectiva Manuais de Instalação da rede DEEC Windows 7 Windows 8.1 Windows 10 Android IPhone Apple Mac OS X Apresentação da rede Wi-Fi Eduroam A rede sem fios da UC integra a rede Eduroam e pode ser utilizada por todos os docentes, estudantes e funcionários que possuam uma conta de correio electrónico num organismo da UC ou em qualquer outra instituição que tenha aderido à rede Eduroam. Do mesmo modo os utilizadores da UC, quando em visita a instituições Eduroam, em Portugal ou no estrangeiro, poderão ter acesso às respectivas redes sem fios sem qualquer alteração na configuração dos seus equipamentos. A rede EDUROAM está disponível nas principais zonas públicas do DEEC. Relativamente a configurações técnicos, as definições a utilizar para acesso à rede, são as seguintes: Definição Descrição Valor a configurar Wireless Type Tipos de tecnologia de rede sem fios que suporta a rede sem fios 802.11 a/b/g/nLargura de banda até 900Mbps por espaçoSuporte para as frequências de 2.4GHz e 5GHz SSID Nome da rede sem fios eduroam Wireless Protection Tipo de sistema de encriptação das comunicações sem fios WPA 2 (AES/CCMP, Dynamic) Authentication(802.1X) Método de autenticação de um dispositivo / utilizador perante uma rede protegida EAP-PEAP + MSCHAPv2 Certificate Validation Sistema de verificação e validação de certificados digitais Não verificar / Desactivado Login Login do utilizador que se pretende ligar à rede Endereço de e-mail(por exemplo, user@deec.uc.pt, a2014237500@alunos.deec.uc.pt, ou uc2014237500@student.uc.pt) Password Password do utilizador que se pretende ligar à rede Password da conta respectiva Em sistemas operativos Apple Mac OS X, basta seleccionar a rede “eduroam”, quando esta se encontrar disponível. O sistema operativo pede o login (e-mail) e a password respectiva e a ligação é feita automaticamente, através da combinação WPA2 + AES + PEAP + MSCHAP_v2. Em caso de dificuldade, poderão contactar o serviço de Helpdesk, através dos helpdesk@deec.uc.pt A utilização da rede sem fios da UC é regulamentada pelas regras de utilização da rede da UC, da RCTS e pela legislação aplicável. NOTA TÉCNICA IMPORTANTE: Caso utilize uma conta de autenticação dos domínios @deec.uc.pt  deve desactivar a opção de verificação dos certificados de encriptação. Manuais de Instalação da rede DEEC Windows 7 Windows 8.1 Windows 10 Android IPhone Configuração rede Wi-Fi DEEC no Apple Mac OSX Introdução Neste documento vai ser apresentado passo a passo a instalação da Rede sem fios DEEC. MacOS Instale o perfil de utilizador, localizado em https://zammad.deec.uc.pt/api/v1/attachments/89. Escolha “Abrir com” Preferências do Sistema. Selecione “Continuar”. Selecione “Continuar”. Introduza o seu e-mail (exemplo: a2012123456@deec.uc.pt) e Palavra-Passe. Selecione “Instalar”. Introduza as credenciais de administrador do MacOS. Após a instalação deverá surgir informação semelhante à da imagem seguinte: Ative a rede Wi-Fi e selecione a rede DEEC. 1 ATTACHED FILES wifi_deec_mschap.mobileconfig 2 KB Configuração rede Wi-Fi eduroam no Android Introdução Neste documento vai ser apresentado passo a passo a instalação da Rede sem fios eduroam. Android Vá a “Definições”, “Wi-Fi”, selecione a rede “eduroam”, como na imagem seguinte: De seguida deverá escolher a opção “PEAP” no campo “método EAP”, como na imagem seguinte: Depois disto irão aparecer novos campos para preencher. No campo “Autenticação da fase 2” deveré escolher a opção “MSCHAPV2”, como na imagem seguinte: Por fim, é necessário apenas introduzir as suas credenciais de utilizador(campos: “Identidade” e “Palavra-passe”) no domínio DEEC.UC.PT, como no seguinte exemplo: Configuração rede Wi-Fi Eduroam no Apple Mac OSX Introdução Neste documento vai ser apresentado passo a passo a instalação da Rede sem fios Eduroam. MacOS Instale o perfil de utilizador, localizado em https://helpdesk.deec.uc.pt/api/v1/attachments/20219. Escolha “Abrir com” Preferências do Sistema. Selecione “Continuar”. Selecione “Continuar”. Introduza o seu e-mail (exemplo: a2012123456@deec.uc.pt) e Palavra-Passe. Selecione “Instalar”. Introduza as credenciais de administrador do MacOS. Após a instalação deverá surgir informação semelhante à da imagem seguinte: Ative a rede Wi-Fi e selecione a rede Eduroam. 1 ATTACHED FILES wifi_eduroam_mschap.mobileconfig 2 KB Configuração rede Wi-Fi eduroam no iPhone Introdução Neste documento vai ser apresentado passo a passo a instalação da Rede sem fios eduroam. iPhone Vá a “Definições”, “Wi-Fi”, selecione a rede “eduroam”, como na imagem seguinte: De seguida, é necessário apenas introduzir as suas credenciais de utilizador(campos: “Nome de ulizador” e “Palavra-passe”) , como no seguinte exemplo: Depois é necessário pressionar “Aceitar”, como na imagem seguinte. Terminando estes passos o aparelho acede à rede: Configuração rede Wi-Fi eduroam no Windows 10 Introdução Neste documento vai ser apresentado passo a passo a instalação da Rede sem fios edroam. Windows 10 Vá a “Menu Iniciar”, “Painel de Controlo”, “Rede e Internet”, “Centro de Rede e Partilha”: De seguida deverá clicar em “Configurar uma nova ligação ou rede”: De seguida deverá clicar em “Ligar manualmente a uma rede sem fios”: Os campos deverão estar preenchidos, de acordo com a imagem seguinte: Atenção, o “Nome de rede” é case sensitive. Na página seguinte, entre em “Alterar definições de Ligação”: A configuração a fazer no separador “Ligação” e “Segurança” está explicita nas duas imagens abaixo: No separador “Segurança”, “Propriedades de Rede Sem Fios eduroam”, “Definições”, deverá retirar o check de “Validar certificado do servidor”: Por sua vez entrar em “Configurar” e retirar o check de “Utilizar automaticamente o nome de início de sessão (…)”: Por fim, é necessário apenas introduzir as suas credenciais de utilizador no domínio eduroam: Configuração rede Wi-Fi eduroam no Windows 7 Introdução Neste documento vai ser apresentado passo a passo a instalação da Rede sem fios edroam. Windows 7 Vá a “Menu Iniciar”, “Painel de Controlo”, “Rede e Internet”, “Centro de Rede e Partilha”: De seguida deverá clicar em “Configurar uma nova ligação ou rede”: De seguida deverá clicar em “Ligar manualmente a uma rede sem fios”: Os campos deverão estar preenchidos, de acordo com a imagem seguinte: Atenção, o “Nome de rede” é case sensitive. Na página seguinte, entre em “Alterar definições de Ligação”: A configuração a fazer no separador “Ligação” e “Segurança” está explicita nas duas imagens abaixo: No separador “Segurança”, “Propriedades de Rede Sem Fios eduroam”, “Definições”, deverá retirar o check de “Validar certificado do servidor”: Por sua vez entrar em “Configurar” e retirar o check de “Utilizar automaticamente o nome de início de sessão (…)”: Por fim, é necessário apenas introduzir as suas credenciais de utilizador no domínio eduroam: Configuração rede Wi-Fi eduroam no Windows 8.1 Introdução Neste documento vai ser apresentado passo a passo a instalação da Rede sem fios edroam. Windows 8.1 Vá a “Menu Iniciar”, “Painel de Controlo”, “Rede e Internet”, “Centro de Rede e Partilha”: De seguida deverá clicar em “Configurar uma nova ligação ou rede”: De seguida deverá clicar em “Ligar manualmente a uma rede sem fios”: Os campos deverão estar preenchidos, de acordo com a imagem seguinte: Atenção, o “Nome de rede” é case sensitive. Na página seguinte, entre em “Alterar definições de Ligação”: A configuração a fazer no separador “Ligação” e “Segurança” está explicita nas duas imagens abaixo: No separador “Segurança”, “Propriedades de Rede Sem Fios eduroam”, “Definições”, deverá retirar o check de “Validar certificado do servidor”: Por sua vez entrar em “Configurar” e retirar o check de “Utilizar automaticamente o nome de início de sessão (…)”: Por fim, é necessário apenas introduzir as suas credenciais de utilizador no domínio eduroam: Kit Eletrónica O Kit de Eletrónica que te foi oferecido pelo DEEC não é para colocares a enfeitar uma mesa ou estante. Queremos que o uses e que o explores ativamente para te tornares um criador. Aqui abaixo damos-te as primeiras dicas para poderes iniciar essa exploração. Claro que tens muito material na Net, mas queremos aqui dar-te os primeiros ponteiros para começares a exploração. E, se tiveres questões, dúvidas, ou sugestões podes sempre contactar-nos. Kit Eletrónica [ESP32/Xtensa] (edições 2022/23, 2023/24) Clicar no link para continuarKit Eletrónica [RISC-V] (edição 2024/25) Clicar no link para continuarApoio às aulas CHAD O estudante deve previamente configurar a ligação VPN DEEC Inforestudante - https://kb.deec.uc.pt/books/deec/page/cliente-vpn-para-alunos-com-credenciais-uc-inforestudante-windows Descarregar e instalar o software MobaXterm Home Edition - https://mobaxterm.mobatek.net/download-home-edition.html O ficheiro ZIP descarregado tem OBRIGATORIAMENTE que ser descompactado antes de executar o instalador, caso contrário todo o processo falha! Executar o software MobaXterm: Executar o comando ssh -X 'aluno.testes@student.uc.pt'@10.206.106.X Em que X é a máquina atribuida pelo Docente da cadeira a cada estudante. Não utilizar um endereço IP de forma aleatória sem consultar o Docente da cadeira. Na primeira tentativa a autenticação, irá falhar. Nesta caso é normal, o sistema está ainda a criar a conta local no sistema. Voltar a executar o comando ssh -X 'aluno.testes@student.uc.pt'@10.206.106.X em que X é o número da máquina que lhe foi atribuído pelo Docente da cadeira. Para usar o Nvidia Visual Profiler em ambiente gráfico, executar o comando nvvp Por vezes, a janela de configuração fica por baixo da janela de Splash (informação). Neste caso, deve arrastar a mesma para outra zona do ecrã. Ligação sem fios entre portátil e Projetor Kit Arduino Uno Instalação Objetivo: Familiarização com placa Arduino compatível UNO (Fig.1) e exemlo de utilização usando o IDE Arduino. Lista de material: (a) (b) Fig.1 - Conjunto de desenvolvimento composto por cabo USB (a) e placa Arduino compatível UNO (b). Software Fig.2 - Software IDE Arduino. O software IDE (Integrated Development Environment) Arduino é uma aplicação multiplataforma que permite desenvolver programas e carregue-los para a placa de desenvolvimento, cuja instalação se recomenda [8], e se assume por diante (Fig.2). Contextualização: Placa Arduino compatível UNO A placa Arduino compatível UNO contém um microcontrolador e um chip USB para série CH340 (Fig.3). Um microcontrolador é um componente que contém um ou mais processadores, uma memória e interface compatível com entrada e saída de periféricos que permite processar dados e executar tarefas de informática básica. A placa Arduino compatível UNO dispõe de duas formas de ser alimentada. A primeira é por meio da conexão com cabo USB tipo A (Fig.1 (a)), que pode ser conectado a um computador, sendo por essa conexão, também possível enviar software para a placa. a botão de reset b conector USB c fonte de alimentação d conectores de alimentação elétrica e entradas analógicas f conexões digitais g indicador LED de energia h indicadores LED de estado de comunicação série RX/TX i indicador LED programável Fig.3 - Elementos principais selecionados de placa Arduino compatível UNO. Gestor de placas O pacote Arduino AVR Boards, deve estar instalado no IDE Arduino de forma a que se possa compilar e transferir programas para a placa Arduino compatível UNO. Tal como ilustrado na Fig.4, o IDE Arduino dispõe de um gestor de placas, que permite gerir e instalar pacotes para várias placas de desenvlvimento. Fig.4 - Exemplo de utilização de gestor de placas do IDE Arduino para instalação de pacote Arduino AVR Boards. Configuração da placa Tal como ilustrado na Fig.5, o IDE Arduino permite a seleção da placa e da porta lógica onde está conectada a placa. (a) (b) (c) (d) Fig.5 - Exemplo de utilização do IDE Arduino para configuração da placa de desenvolvimento Arduino compatível UNO. Por vezes, dependendo das características particulares do sistema usado, a placa de desenvolvimento Arduino compatível UNO pode não ser automaticamente reconhecida. Na eventualidade da placa ligada ao computador através de cabo USB não aparecer na lista de portas lógicas listadas no IDE Arduino (Fig.5 (b)), sugere-se a instalação dos drivers do CH340, tal como em [7]. Exemplo de utilização (Pisca LED): Um exemplo clássico para iniciar a programação de placa Arduino e placas compatíveis é o Pisca LED, que consiste em ligar e desligar um LED em intervalos de 1 segundo (Fig.7). Um programa é composto de uma sequência de comandos, normalmente escritos em um arquivo de texto. Considerando o IDE Arduino previamente configurado para a placa de desenvolvimento ligada ao computador e o seguinte programa de exemplo (Código.1), sugere-se a consulta da Fig.6 para reprodução do exemplo de programação do Arduino compatível UNO. void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } Código.1 - Programa Pisca LED. Fig.6 - Ilustração da programação da placa Arduino compatível UNO com o IDE Arduino. Fig.7 - Exemplo de Arduino compatível UNO a executar o programa que controla o LED da placa de desenvolvimento. Outros exemplos [a] [b] [c] [a] DEEC - FCTUC. Kit Arduino Uno > [exemplo] módulo GPS.  url: https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps (acedido em 10/04/2024). [b] DEEC - FCTUC. Kit Arduino Uno > [exemplo] I2C OLED.  url: https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled (acedido em 10/04/2024). [c] DEEC - FCTUC. Kit Arduino Uno > [exemplo] rumo ao DEEC.  url: https://kb.deec.uc.pt/books/deec/page/exemplo-rumo-ao-deec (acedido em 10/04/2024). Referências [1] Arduino. Documentação de Referência da Linguagem Arduino. url: https://docs.arduino.cc/learn/programming/reference/ (acedido em 03/04/2024). [2] Arduino. Introdução ao IDE (Integrated Development Environment) Arduino. url: https://docs.arduino.cc/software/ide-v2/tutorials/getting-started-ide-v2/ (acedido em 03/04/2024). [3] Arduino. Introdução a Programação para Arduino. url: https://docs.arduino.cc/learn/programming/sketches/ (acedido em 03/04/2024). [4] Arduino. Instalação do IDE Arduino. url: https://docs.arduino.cc/software/ide-v2/tutorials/getting-started/ide-v2-downloading-and-installing (acedido em 03/04/2024). [5] Arduino. Instalação de Suporte para Placa no IDE. url: https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-board-manager (acedido em 03/04/2024). [6] Arduino. Transferência de Sketches (Programas) para Placa Arduino. url: https://docs.arduino.cc/software/ide-v2/tutorials/getting-started/ide-v2-uploading-a-sketch (acedido em 03/04/2024). [7] SparkFun. How to Install CH340 Drivers. url: https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all (acedido em 03/04/2024). [8] Arduino. Downloads. url: https://www.arduino.cc/en/software (acedido em 10/04/2024). [exemplo] módulo GPS Objetivo: Demonstrar o uso de módulo GPS (Global Positioning System) com Arduino para obter dados GPS. Lista de material: Fig.1 - Placa Arduino compatível UNO. Fig.2 - Módulo GPS com interface UART/TTL. Contextualização: Sistema de posicionamento global O sistema de posicionamento global, mais conhecido pela sigla GPS (em inglês Global Positioning System), é um sistema de navegação por satélite que fornece a um aparelho receptor móvel a sua posição, assim como o horário. Fig.3 - Apontamentos sobre GPS retirados de [2]. Set-up placa Arduino compatível UNO módulo GPS com interface UART/TTL 3.3V ---------------------- V GND ---------------------- G 2 ---------------------- R 3 ---------------------- T Fig.3 - Montagem ilustrativa das ligações a estabelecer entre placa de desenvolvimento e módulo GPS com interface UART/TTL. Bibliotecas Bibliotecas são coleções de código que perimitem ampliar a capacidade da placa de desenvolvimento facilitando a sua utilização. O IDE Arduino integra um gestor de Bibliotecas cujo uso se exemplifica na Fig.4. A placa Arduino compatível UNO possui suporte integrado para comunicação série nos pinos 0 e 1. A Biblioteca SoftwareSerial permite estabelecer comunicação série nos restantes pinos digitais da placa. Neste exemplo sugere-se a utilização desta abordagem para proporcionar que o módulo GPS e a placa possam comunicar. No exemplo abaixo, os pinos digitais 2 e 3 da placa Arduino compatível UNO são usados como linhas série RX e TX virtuais. Desta forma estabelece-se a ligação que permite que a placa escute a porta série do GPS e, quando os dados são recebidos do módulo, eles são enviados para placa. Sendo os dados comunicados pelo módulo GPS tipicamente numa linguagem padrão do GPS é comum o uso de Bibliotecas como a TinyGPSPlus para facilitar o uso da informação disponibilizada pelo módulo GPS num formato legível e útil. (a) (b) Fig.4 - Exemplo de utilização do gestor de bibliotecas do IDE Arduino para instalação da Biblioteca TinyGPSPlus. Programa #include #include SoftwareSerial gpsSerial(2, 3); // RX, TX TinyGPSPlus gps; void setup() { gpsSerial.begin(9600); Serial.begin(115200); } void loop() { while (gpsSerial.available() > 0){ if (gps.encode(gpsSerial.read())) displayInfo(); } if (millis() > 5000 && gps.charsProcessed() < 10) { Serial.println(F("No GPS detected: check wiring.")); while(true); } } void displayInfo() { Serial.print(F("Location: ")); if (gps.location.isValid()) { Serial.print(gps.location.lat(), 12); Serial.print(F(",")); Serial.print(gps.location.lng(), 12); } else { Serial.print(F("INVALID")); } Serial.print(F(" Date/Time: ")); if (gps.date.isValid()) { Serial.print(gps.date.month()); Serial.print(F("/")); Serial.print(gps.date.day()); Serial.print(F("/")); Serial.print(gps.date.year()); } else { Serial.print(F("INVALID")); } Serial.print(F(" ")); if (gps.time.isValid()) { if (gps.time.hour() < 10) Serial.print(F("0")); Serial.print(gps.time.hour()); Serial.print(F(":")); if (gps.time.minute() < 10) Serial.print(F("0")); Serial.print(gps.time.minute()); Serial.print(F(":")); if (gps.time.second() < 10) Serial.print(F("0")); Serial.print(gps.time.second()); Serial.print(F(".")); if (gps.time.centisecond() < 10) Serial.print(F("0")); Serial.print(gps.time.centisecond()); } else { Serial.print(F("INVALID")); } Serial.println(); } Código.1 - Programa exemplo de utilização de módulo GPS e biblioteca TinyGPSPlus com placa Arduino compatível UNO. [exemplo] módulo GPS Fig.5 - Exemplo de utilização de módulo GPS com placa Arduino compatível UNO programada para processar os dados disponibilizados pelo módulo GPS e exibi-los através de comunicação série. Outros exemplos [a] [b] [c] [a] DEEC - FCTUC. Kit Arduino Uno > Instalação.  url: https://kb.deec.uc.pt/books/deec/page/instalacao-irK (acedido em 10/04/2024). [b] DEEC - FCTUC. Kit Arduino Uno > [exemplo] I2C OLED.  url: https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled (acedido em 10/04/2024). [c] DEEC - FCTUC. Kit Arduino Uno > [exemplo] rumo ao DEEC.  url: https://kb.deec.uc.pt/books/deec/page/exemplo-rumo-ao-deec (acedido em 10/04/2024). Referências [1] Arduino. Software Serial Example. url: https://wiki-content.arduino.cc/en/Tutorial/LibraryExamples/SoftwareSerialExample (acedido em 11/04/2024). [2] Wikipedia. Sistema de posicionamento global. url: https://pt.wikipedia.org/wiki/Sistema_de_posicionamento_global (acedido em 11/04/2024). [exemplo] I2C OLED Objetivo: Demonstrar o uso de ecrã OLED com placa Arduino compatível UNO para exibir texto. Lista de material: Fig.1 - Placa Arduino compatível UNO. Fig.2 - Ecrã OLED (organic light-emitting diode) SSD1306 de 0,96 polegadas com resolução de 128×64. Set-up placa Arduino compatível UNO ecrã OLED 3.3V ---------------------- VCC GND ---------------------- GND A4 ---------------------- SCA A5 ----------------------- SDL Fig.3 - Montagem ilustrativa das ligações a estabelecer entre placa de desenvolvimento e o ecrã OLED. Biblioteca Fig.4 - Exemplo de utilização do gestor de bibliotecas do IDE Arduino para instalação da Biblioteca Adafruit SSD1306. Programa #include #include #include // OLED display TWI address #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin) #define SCREEN_ADDRESS 0x3C ///< See datasheet for Address Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); int dummyVal = 0; void setup() { // inicializa ecrã if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } display.clearDisplay(); display.display(); // imprime linha de texto display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(55, 30); display.print(F("...")); // actualiza ecrã display.display(); } void loop() { display.clearDisplay(); display.display(); display.setTextSize(3); display.setTextColor(WHITE); display.setCursor(60, 25); if (dummyVal == 0) { display.print(F("\\")); } else if (dummyVal == 1) { display.print(F("|")); } else if (dummyVal == 2) { display.print(F("/")); } else if (dummyVal == 3) { display.print(F("-")); } if (dummyVal >= 3) { dummyVal = 0; } else { dummyVal = dummyVal + 1; } display.display(); } Código.1 - Programa exemplo de utilização de ecrã OLED com placa Arduino compatível UNO para exibir texto [exemplo] I2C OLED Fig.5 - Ilustração da sequência de símbolos a surgir no ecrã. Outros exemplos [a] [b] [c] [a] DEEC - FCTUC. Kit Arduino Uno > Instalação.  url: https://kb.deec.uc.pt/books/deec/page/instalacao-irK (acedido em 10/04/2024). [b] DEEC - FCTUC. Kit Arduino Uno > [exemplo] módulo GPS.  url: https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps (acedido em 10/04/2024). [c] DEEC - FCTUC. Kit Arduino Uno > [exemplo] rumo ao DEEC.  url: https://kb.deec.uc.pt/books/deec/page/exemplo-rumo-ao-deec (acedido em 10/04/2024).[exemplo] rumo ao DEEC Objetivo: Chegar ao DEEC - FCTUC via sistema de posicionamento global com Arduino. Requisitos [a] [b] [c] [exemplo] rumo ao DEEC Set-up Arduino compatível UNO módulo GPS ecrã OLED 3.3V ------------ VCC ------------ V GND ------------ GND ------------ G 2 ------------ R 3 ------------ T A4 ------------ SDA A5 ------------ SDL Programa #include #include #include #include #include // OLED display TWI address #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin) #define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); SoftwareSerial gpsSerial(2, 3); // RX, TX TinyGPSPlus gps; bool selector = false; void setup() { // inicializa ecrã if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } display.clearDisplay(); display.display(); // imprime linha de texto display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(27, 30); display.print(F("...")); // actualiza ecrã display.display(); gpsSerial.begin(9600); Serial.begin(115200); } void loop() { while (gpsSerial.available() > 0){ if (gps.encode(gpsSerial.read())) displayInfo(); } if (millis() > 5000 && gps.charsProcessed() < 10) { Serial.println(F("No GPS detected: check wiring.")); while(true); } } void displayInfo() { bool chalk_a = true; bool chalk_b = true; selector = false; Serial.print(F("Location: ")); if (gps.location.isValid()) { Serial.print(gps.location.lat(), 12); Serial.print(F(",")); Serial.print(gps.location.lng(), 12); if (chalk_a) { chalk_a = false; } } else { Serial.print(F("INVALID")); } Serial.print(F(" Date/Time: ")); if (gps.date.isValid()) { Serial.print(gps.date.month()); Serial.print(F("/")); Serial.print(gps.date.day()); Serial.print(F("/")); Serial.print(gps.date.year()); } else { Serial.print(F("INVALID")); } Serial.print(F(" ")); if (gps.time.isValid()) { if (gps.time.hour() < 10) Serial.print(F("0")); Serial.print(gps.time.hour()); Serial.print(F(":")); if (gps.time.minute() < 10) Serial.print(F("0")); Serial.print(gps.time.minute()); Serial.print(F(":")); if (gps.time.second() < 10) Serial.print(F("0")); Serial.print(gps.time.second()); Serial.print(F(".")); if (gps.time.centisecond() < 10) Serial.print(F("0")); Serial.print(gps.time.centisecond()); if (chalk_b) { chalk_b = false; } } else { Serial.print(F("INVALID")); } display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); if (!chalk_a) { static const double DEECFCTUC_LAT = 40.18639388156963, DEECFCTUC_LON = -8.416520235329802; unsigned long distanceKmToDEEC = (unsigned long)TinyGPSPlus::distanceBetween( gps.location.lat(), gps.location.lng(), DEECFCTUC_LAT, DEECFCTUC_LON); if (distanceKmToDEEC > 1000) { distanceKmToDEEC = distanceKmToDEEC / 1000; selector = true; } Serial.println(distanceKmToDEEC); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(30, 35); display.print(distanceKmToDEEC); display.setCursor(90, 35); if (selector) { display.print(F("km")); } else { display.print(F("m")); } display.setTextSize(1); display.setTextColor(WHITE); } else { display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(40, 35); display.print(F("...")); display.setCursor(90, 35); if (selector) { display.print(F("km")); } else { display.print(F("m")); } display.setTextSize(1); display.setTextColor(WHITE); } display.setCursor(5, 5); display.print(F("agora")); display.setCursor(5, 20); display.print(F("faltam")); display.setCursor(5, 55); display.print(F("para chegar ao DEEC")); if (!chalk_b) { display.setCursor(50, 5); display.print(gps.time.hour()); display.setCursor(63, 5); display.print(":"); display.setCursor(70, 5); display.print(gps.time.minute()); display.setCursor(83, 5); } else { display.setCursor(50, 5); display.print(F("00")); display.setCursor(63, 5); display.print(":"); display.setCursor(70, 5); display.print(F("00")); display.setCursor(83, 5); } display.display(); Serial.println(); } Outros exemplos [a] [b] [c] [a] DEEC - FCTUC. Kit Arduino Uno > Instalação.  url: https://kb.deec.uc.pt/books/deec/page/instalacao-irK (acedido em 10/04/2024). [b] DEEC - FCTUC. Kit Arduino Uno > [exemplo] módulo GPS.  url: https://kb.deec.uc.pt/books/deec/page/exemplo-modulo-gps (acedido em 10/04/2024). [c] DEEC - FCTUC. Kit Arduino Uno > [exemplo] I2C OLED.  url: https://kb.deec.uc.pt/books/deec/page/exemplo-i2c-oled (acedido em 10/04/2024). [exemplo] acelerómetro e giroscópio MPU-6050 Objetivo: Demonstrar o uso de sensor com acelerómetro e giroscópio para obter dados de sensores inerciais. Lista de material: Fig.1 - Placa Arduino compatível UNO. Fig.2 - Sensor MPU-6050. Contextualização: Uma unidade de medição inercial (IMU do inglês inertial measurement unit) é um dispositivo eletrónico que permite quantificar a força específica de um corpo, a taxa angular e, por vezes, a orientação do corpo, usando uma combinação de acelerómetros, giroscópios e, às vezes, magnetómetros [1]. Fig.3 - Ilustrações dos principais componentes do sistema de orientação do módulo de comando e serviço Apollo, um dos componentes usado para o programa Apollo, que pousou astronautas na Lua entre 1969 e 1972. Set-up placa Arduino compatível UNO sensor MPU-6050 3.3V ---------------------- VCC GND ---------------------- GND A5 ---------------------- SCL A4 ---------------------- SDA Fig.4 - Montagem ilustrativa das ligações a estabelecer entre placa de desenvolvimento e sensor MPU-6050. Bibliotecas Fig.5 - Exemplo de utilização do gestor de bibliotecas do IDE Arduino para instalação da biblioteca Adafruit MPU6050. Programa // Demonstração de utilização de sensor Adafruit MPU6050 #include "Adafruit_MPU6050.h" #include "Adafruit_Sensor.h" #include "Wire.h" Adafruit_MPU6050 mpu; void setup(void) { Serial.begin(115200); while (!Serial) delay(10); Serial.println("a testar sensor MPU6050!"); // Try to initialize! if (!mpu.begin()) { Serial.println("Falhou inicialização de MPU6050"); while (1) { delay(10); } } Serial.println("MPU6050 inicializado!"); mpu.setAccelerometerRange(MPU6050_RANGE_8_G); Serial.print("Gamara de valores selecionada para acelerómetro: "); switch (mpu.getAccelerometerRange()) { case MPU6050_RANGE_2_G: Serial.println("+-2G"); break; case MPU6050_RANGE_4_G: Serial.println("+-4G"); break; case MPU6050_RANGE_8_G: Serial.println("+-8G"); break; case MPU6050_RANGE_16_G: Serial.println("+-16G"); break; } mpu.setGyroRange(MPU6050_RANGE_2000_DEG); Serial.print("Gamara de valores selecionada para giroscópio: "); switch (mpu.getGyroRange()) { case MPU6050_RANGE_250_DEG: Serial.println("+- 250 deg/s"); break; case MPU6050_RANGE_500_DEG: Serial.println("+- 500 deg/s"); break; case MPU6050_RANGE_1000_DEG: Serial.println("+- 1000 deg/s"); break; case MPU6050_RANGE_2000_DEG: Serial.println("+- 2000 deg/s"); break; } mpu.setFilterBandwidth(MPU6050_BAND_21_HZ); Serial.print("Filtro a considerar: "); switch (mpu.getFilterBandwidth()) { case MPU6050_BAND_260_HZ: Serial.println("260 Hz"); break; case MPU6050_BAND_184_HZ: Serial.println("184 Hz"); break; case MPU6050_BAND_94_HZ: Serial.println("94 Hz"); break; case MPU6050_BAND_44_HZ: Serial.println("44 Hz"); break; case MPU6050_BAND_21_HZ: Serial.println("21 Hz"); break; case MPU6050_BAND_10_HZ: Serial.println("10 Hz"); break; case MPU6050_BAND_5_HZ: Serial.println("5 Hz"); break; } Serial.println(""); delay(100); } void loop() { /* leitura dos valores reportados */ sensors_event_t a, g, temp; mpu.getEvent(&a, &g, &temp); /* impressão das leituras */ Serial.print("Aceleração X: "); Serial.print(a.acceleration.x); Serial.print(", Y: "); Serial.print(a.acceleration.y); Serial.print(", Z: "); Serial.print(a.acceleration.z); Serial.println(" m/s^2"); Serial.print("Rotação X: "); Serial.print(g.gyro.x); Serial.print(", Y: "); Serial.print(g.gyro.y); Serial.print(", Z: "); Serial.print(g.gyro.z); Serial.println(" rad/s"); Serial.print("Temperatura: "); Serial.print(temp.temperature); Serial.println(" ºC"); Serial.println(""); delay(500); } Código.1 - Programa exemplo de utilização de sensor MPU-6050 e biblioteca Adafruit MPU6050 com placa Arduino compatível UNO. Referências [1] Wikipedia. Unidade de medição inercial. url: https://en.wikipedia.org/wiki/Inertial_measurement_unit (acedido em 26/04/2024). Kit Eletrónica [RISC-V] Este é um guia para a placa de desenvolvimento ESP32-C6-DevKitM-1! Neste capítulo introdutório pelo mundo da eletrónica, exploraram-se as poderosas capacidades deste pequeno, mas versátil dispositivo. Quer sejas aprendiz no mundo dos microcontroladores ou já tenhas alguma experiência, este guia fornecer-te-á instruções passo a passo e exemplos práticos para te ajudar a tirar o máximo proveito do teu kit de eletrónica. Começaremos com conceitos básicos e progrediremos para projetos mais complexos. Vamos avançar e começar a criar! Instalação Esta página constiui um guia para a instalação do Arduino Integrated Development Environment (IDE), uma ferramenta de software utilizada no Departamento de Engenharia Eletrotécnica e de Computadores da Universidade de Coimbra. O Arduino IDE é essencial para estudantes e investigadores envolvidos em vários projetos de engenharia, particularmente aqueles relacionados com disciplinas de Engenharia Eletrotécnica e de Computadores. O guia abrange o processo passo a passo de download, instalação e configuração do software em diferentes plataformas, garantindo que os utilizadores tenham os recursos e as instruções necessários para configurar corretamente o Arduino IDE. Este recurso foi concebido para ajudar os utilizadores a superar possíveis desafios durante o processo de instalação, assegurando que possam utilizar o Arduino IDE de forma eficiente para os seus propósitos académicos e de investigação. Contextualização: O ESP32-C6-DevKitM-1 é uma placa de desenvolvimento que integra o microcontrolador ESP32-C6, parte da linha avançada de soluções IoT da Espressif. Este microcontrolador integra um CPU RISC-V de 32 bits, oferecendo conectividade sem fios com Wi-Fi 6 e Bluetooth 5 (LE). Projetado para criadores, o ESP32-C6-DevKitM-1 proporciona uma plataforma compacta e versátil para a criação e teste de aplicações IoT, com amplo suporte para operações seguras, de alto desempenho e baixo consumo de energia. A placa é especialmente indicada para prototipagem e implementação de dispositivos inteligentes. Principais componentes do microcontrolador ESP32-C6-DevKitM-1 e elementos principais utilizados para a configuração e simulação de projetos de engenharia. Procedimento: Primeira etapa do processo de instalação do Arduino IDE: Acesso ao portal oficial para download do software. Apresentam-se de seguida as etapas fundamentais para a configuração do Arduino IDE instalar o pacote de placas ESP32, abrindo o menu Preferências navegando até File > Preferences. Procurar na parte inferior do menu Preferências "Additional boards manager URLS" e copiar o link JSON seguinte nesse campo: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json Abrir a ferramenta Boards Manager, pesquisar por espressif ESP32 e instalar a versão mais recente. Este processo de instalação pode demorar algum tempo. Selecionar o dispositivo ESP32 adequado ESP32C6 Dev Module Primeiro Programa: Clicar no link para continuar para primeiro programa Referências [1] Espressif Systems, "ESP32-C6-DevKitM-1 User Guide," Espressif Systems, Aug. 2023. [Online]. Available: https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitm-1/user_guide.html. [Accessed: 27-Aug-2024]. [2] Arduino, "Download and install Arduino IDE," Arduino, Sep. 2021. [Online]. Available: https://support.arduino.cc/hc/en-us/articles/360019833020-Download-and-install-Arduino-IDE. [Accessed: 27-Aug-2024]. Primeiro Programa Boas-vindas ao guia introdutório para o seu primeiro programa Arduino! A programação com IDE Arduino é uma excelente maneira de mergulhar no mundo dos sistemas embebidos, permitindo controlar e interagir com o mundo físico através de código. Envolve a escrita de código no Ambiente de Desenvolvimento Integrado (IDE) do Arduino, onde um programa é chamado de sketch. Neste guia, vai aprender sobre as estruturas fundamentais de um sketch Arduino: as funções setup() e loop(). A função setup() é onde se inicializam as definições e configurações, sendo executada apenas uma vez quando a placa Arduino é ligada ou reiniciada. É aqui que se definem os modos dos pinos, se inicia a comunicação serial e se realizam outras tarefas de configuração necessárias para um dado projeto. Por outro lado, a função loop() contém a lógica principal do programa e é executada continuamente, permitindo que a plca de desenvolvimento a programar realize tarefas repetitivas, como ler sensores, controlar saídas e responder a eventos. Ao dominar estes conceitos, estará apto a criar projetos dinâmicos e interativos que respondem ao mundo ao seu redor. Vamos começar! O código seguinte faz com que o Light-emitting diode (LED) da placa de desenvolvimento ESP32-C6-DevKitM-1 pisque, alternando entre ligado e desligado em intervalos regulares. Além disso, apresenta-se de seguida uma representação ilustrativo para referência. /* BlinkRGB Demonstrates usage of onboard RGB LED on some ESP dev boards. Calling digitalWrite(RGB_BUILTIN, HIGH) will use hidden RGB driver. RGBLedWrite demonstrates control of each channel: void neopixelWrite(uint8_t pin, uint8_t red_val, uint8_t green_val, uint8_t blue_val) WARNING: After using digitalWrite to drive RGB LED it will be impossible to drive the same pin with normal HIGH/LOW level */ //#define RGB_BRIGHTNESS 64 // Change white brightness (max 255) // the setup function runs once when you press reset or power the board void setup() { // No need to initialize the RGB LED } // the loop function runs over and over again forever void loop() { digitalWrite(RGB_BUILTIN, HIGH); // Turn the RGB LED white delay(1000); digitalWrite(RGB_BUILTIN, LOW); // Turn the RGB LED off delay(1000); } Montagem exemplificativa Utilização do Monitor Serial no Arduino IDE O Monitor Serial é uma ferramenta crucial dentro do Arduino IDE que permite enviar e receber dados entre a placa de desenvolvimento e o computador. Esta funcionalidade é extremamente útil para depuração, monitorização de leituras de sensores e interação com o programa do Arduino em tempo real. Como Funciona o Monitor Serial O Monitor Serial comunica com a placa de desenvolvimento através de uma conexão serial, que normalmente é estabelecida através do cabo USB que liga a placa ao computador. Esta conexão permite a transmissão de dados em texto entre o seu computador e a placa de desenvolvimento. Podem enviar-se comandos do Monitor Serial para a placa de desenvolvimento, e, por sua vez, a placa de desenvolvimento pode enviar de volta dados, que são exibidos na janela do Monitor Serial. Para utilizar o Monitor Serial, siga estes passos: 1. Inicializar a Comunicação Serial: No sketch, deve inicializar-se a comunicação serial utilizando a função `Serial.begin()`. Esta função recebe um único argumento, a taxa de transmissão, que define a velocidade da comunicação em bits por segundo (bps). Uma taxa de transmissão comum é 9600. void setup() { Serial.begin(9600); // Inicia a comunicação serial a uma taxa de 9600 bps } 2. Enviar Dados para o Monitor Serial: Pode enviar-se dados da placa de desenvolvimento para o Monitor Serial utilizando as funções `Serial.print()` ou `Serial.println()`. A função `Serial.print()` envia dados sem adicionar uma nova linha no final, enquanto que `Serial.println()` envia os dados seguidos de um caractere de nova linha. void loop() { Serial.println("Olá, Mundo!"); // Envia "Olá, Mundo!" para o Monitor serial delay(1000); // Aguarda 1 segundo } 3. Receber Dados do Monitor Serial: O Monitor Serial também pode enviar dados para a placa de desenvoldimento. Podem ler-se estes dados utilizando no sketch as funções `Serial.read()`, `Serial.available()`, e outras funções relacionadas. No exemplo seguinte ilustra-se a leitura de um caractereusando o Monitor Serial: void loop() { if (Serial.available() > 0) { // Verifica se há dados disponíveis para leitura char receivedChar = Serial.read(); // Lê o próximo caractere disponível Serial.print("Recebido: "); Serial.println(receivedChar); // Imprime o caractere recebido } } Segundo Programa O sketch seguinte ilustra como monificar o sketch do primeiro programa anteriormente sugerido para começar a aproveitar as possibilidades do Monitor Serial: /* BlinkRGB Demonstrates usage of onboard RGB LED on some ESP dev boards. Calling digitalWrite(RGB_BUILTIN, HIGH) will use hidden RGB driver. RGBLedWrite demonstrates control of each channel: void neopixelWrite(uint8_t pin, uint8_t red_val, uint8_t green_val, uint8_t blue_val) WARNING: After using digitalWrite to drive RGB LED it will be impossible to drive the same pin with normal HIGH/LOW level */ //#define RGB_BRIGHTNESS 64 // Change white brightness (max 255) // the setup function runs once when you press reset or power the board void setup() { // No need to initialize the RGB LED Serial.begin(9600); } // the loop function runs over and over again forever void loop() { digitalWrite(RGB_BUILTIN, HIGH); // Turn the RGB LED white Serial.println("LED ligado"); // Imprime o caractere recebido delay(1000); digitalWrite(RGB_BUILTIN, LOW); // Turn the RGB LED off Serial.println("LED desligado"); // Imprime o caractere recebido delay(1000); } Depois garantir a selecionação do dispositivo ESP32 adequado ( ESP32C6 Dev Module ), copiar o código anterior, compilar e carregar o código para a placa ESP32, deverá ser possível verificar o resultado. [Programa] LED com efeito dinâmico de mudança de cor O seguinte código demonstra como controlar o LED RGB numa placa de desenvolvimento ESP32-C6. Especificamente, o código de exemplo mostra como criar um efeito dinâmico de mudança de cor, fazendo um ciclo através de diferentes cores no LED RGB da placa. Este exemplo serve como uma ilustração prática de como aproveitar as capacidades do ESP32-C6 para produzir padrões de luz visualmente atraentes. Ao executar este código, os utilizadores podem observar como o LED RGB transita suavemente por um espectro de cores, tornando-o uma referência útil para desenvolver efeitos semelhantes baseados em luz em outros projetos. Adafruit NeoPixel Usando a ferramenta de gestão de bibliotecas do IDE Arduino procurar e instalar a biblioteca: Adafruit_NeoPixel. #include #include // Pin and LED configuration constexpr uint8_t LED_PIN = 8; constexpr uint8_t NUM_LEDS = 1; // NeoPixel object Adafruit_NeoPixel rgbLed(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800); // Color structure struct RGB { uint8_t r, g, b; }; void setup() { rgbLed.begin(); // Initialize the RGB LED rgbLed.show(); // Turn off the LED (as it's initialized to all 0s) } void setColor(const RGB& color) { rgbLed.setPixelColor(0, rgbLed.Color(color.r, color.g, color.b)); rgbLed.show(); } // Convert HSV to RGB RGB hsvToRgb(float h, float s, float v) { float c = v * s; float x = c * (1 - std::abs(std::fmod(h / 60.0, 2) - 1)); float m = v - c; float r, g, b; if (h >= 0 && h < 60) { r = c, g = x, b = 0; } else if (h >= 60 && h < 120) { r = x, g = c, b = 0; } else if (h >= 120 && h < 180) { r = 0, g = c, b = x; } else if (h >= 180 && h < 240) { r = 0, g = x, b = c; } else if (h >= 240 && h < 300) { r = x, g = 0, b = c; } else { r = c, g = 0, b = x; } return { static_cast((r + m) * 255), static_cast((g + m) * 255), static_cast((b + m) * 255) }; } void loop() { constexpr unsigned long CYCLE_DURATION = 10000; // 10 seconds for a full color cycle constexpr unsigned long STEPS = 1000; // Number of steps in the cycle unsigned long startTime = millis(); unsigned long currentTime; while (true) { currentTime = millis(); float progress = static_cast((currentTime - startTime) % CYCLE_DURATION) / CYCLE_DURATION; float hue = progress * 360.0f; // Hue ranges from 0 to 360 RGB color = hsvToRgb(hue, 1.0f, 1.0f); // Full saturation and value setColor(color); delay(CYCLE_DURATION / STEPS); // Small delay for smooth transition } } Compilar e carregar o código para a placa ESP32-C6. Montagem exemplificativa Referências [1] H4Fide, "ESP32-C6-RGB-LED-Control," GitHub, repository, 2024. [Online]. Available: https://github.com/h4fide/ESP32-C6-RGB-LED-Control. [Accessed: 27-Aug-2024].[Programa] LED a piscar Objetivo: Utilizar o ESP32-C6-DevKitM-1 para alimentar um LED e obter um piscar controlado de forma programática. Lista de material: ESP32-C6-DevKitM-1 Breadboard Resistência  de 330 ohm (Ω) Díodo emissor de luz (LED) vermelho Cabo USB C Fios de ligação Contextualização: Em eletrónica, um circuito LED é um circuito usado para alimentar um díodo emissor de luz (LED). O circuito deve fornecer corrente suficiente para acender o LED e evitar danos ao mesmo. O circuito mais simples para acionar um LED é através de uma resistência em série [3]. ESP32-C6-DevKitM-1 Apesar de se aconselhar a consulta da página do fabricante sobre o kit ESP32-C6-DevKitM-1 para mais detalhe, disponibilizam-se de seguida duas figuras com os componentes principais do kit bem como o esquema de terminais para referência. Breadboard Uma breadboard ou placa de ensaio ou matriz de contactos é uma placa com furos e conexões condutoras tipicamente utilizada para a montagem de protótipos e projetos em estado inicial [1]. Deve ser tido em consideração que internamente a breadboard também é composta  por contactos metálicos, tipicamente organizados como se ilustra na figura em baixo. As linhas a azul e verde simbolizam ligações metálicas internas, ou seja, e por exemplo, tal como esquematizado, deve considerar-se que o orifício a1 está ligado internamente aos orifícios b1, c1, d1 e e1. Resistência Uma resistência é um componente elétrico passivo de dois terminais que implementa resistência elétrica como um elemento de circuito [4]. Ainda que não seja do âmbito do presente documento detalhar este conceito, disponibiliza-se de seguida o esquema de quatro bandas e tabela de referência [2], tipicamente usados para indicar os valores associados, neste caso, as resistências. Díodo emissor de luz (LED) Um díodo emissor de luz (LED) é um dispositivo semicondutor que emite luz quando uma corrente flui através deste [3]. Destacar da figura seguinte a distinção entre ânodo e cátodo, tipicamente materializada por um comprimento diferente dos terminais de ligação (terminal do ânodo mais longo que o do cátodo), e um chanfro (ou superfície plana) no lado do cátodo. Procedimento: As saídas digitais do ESP32-C6-DevKitM-1 podem ser programas para assumir determinados valores de tensão como 0V (GND) ou 3.3V (VCC). Fazendo uso desta possibilidade, e ligando o LED ao ESP32, deverá então ser possível obter um piscar do LED controlado de forma programática. Escolhendo os terminais 5 e GND do ESP32 como referência deve considerar-se a seguinte montagem: Instruções: Montar o circuito representado anteriormente Ligar a placa ESP32 ao computador por via de cabo USB C Abrir o IDE Arduino Selecionar o dispositivo ESP32 adequado ( ESP32C6 Dev Module ) Copiar o seguinte código /* Pisca-pisca Liga o LED por um segundo, desliga por um segundo e assim sucessivamente. */ // a função setup é executada pontualmente quando o botão reset é premido ou a placa é alimentada void setup() { // inicializa o pino digital 5 como saída. pinMode(5, OUTPUT); } // a função loop é executada sucessivamente, uma e outra vez, e por aí em diante void loop() { digitalWrite(5, HIGH); // liga o LED delay(1000); // espera por um segundo digitalWrite(5, LOW); // desliga o LED delay(1000); // espera por um segundo } Compilar e carregar o código para a placa ESP32 Verificar o resultado Referências [1] Wikipedia. Breadboard. url: https://en.wikipedia.org/wiki/Breadboard (acedido em 18/08/2023). [2] Wikipedia. Electronic color code. url: https://en.wikipedia.org/wiki/Electronic_color_code (acedido em 18/08/2023). [3] Wikipedia. LED circuit. url: https://en.wikipedia.org/wiki/LED_circuit (acedido em 18/08/2023). [4] Wikipedia. Resistor. url: https://en.wikipedia.org/wiki/Resistor (acedido em 18/08/2023).[Programa] Interruptor Objetivo: Utilizar o ESP32-C6-DevKitM-1 em conjugação com um interruptor e monitorizar estados. Lista de material: ESP32-C6-DevKitM-1 Breadboard Cabo USB C Interruptor (tipo botão) Fios de ligação Contextualização: Um interruptor é um componente elétrico que pode desconectar ou conectar o caminho condutor de um circuito elétrico, interrompendo a corrente elétrica ou conduzindo-a de um terminal para outro [1]. Interruptor Um interruptor tipo botão tem tipicamente quatro terminais que estão conectados internamente aos pares. Por isso, numa utilização típica, apenas dois terminais, que não ligados internamente, são usados, como se ilustra na imagem seguinte: Ao ser pressionado o interruptor alterna entre os estados conetado e não conetado: (pressionado) (não pressionado) (fechado) (aberto) Procedimento: Escolhendo o terminal 23 e o GND do ESP32 como referência deve considerar-se o seguinte circuito: Instruções: Montar o circuito esquematizado anteriormente Ligar a placa ESP32 ao computador por via de cabo USB micro Abrir o IDE Arduino Selecionar o dispositivo ESP32 adequado  ( ESP32C6 Dev Module ) Copiar o seguinte código /* interruptor tipo botão */ #define BUTTON_PIN 23 // definição de terminal GPIO23 ligado ao interruptor // Variáveis int lastState = LOW; // o estado anterior do terminal de entrada int currentState; // o estado atual do terminal de entrada void setup() { // inicializa a comunicação serial a 115200 bits por segundo: Serial.begin(115200); // inicializa o terminal do interruptor tipo botão: // (o terminal de entrada toma o valor de HIGH quando o interruptor estiver aberto, // e LOW quando estiver fechado) pinMode(BUTTON_PIN, INPUT_PULLUP); } void loop() { // leitura do estado do interruptor tipo botão: currentState = digitalRead(BUTTON_PIN); if (lastState == HIGH && currentState == LOW) { Serial.println("o interruptor foi pressionado"); digitalWrite(RGB_BUILTIN, HIGH); } else if (lastState == LOW && currentState == HIGH) { Serial.println("o interruptor foi solto"); digitalWrite(RGB_BUILTIN, LOW); } // guarda o último estado lastState = currentState; } Compilar e carregar o código para a placa ESP32 Verificar o resultado no monitor de comunicação serial do IDE Arduino Referências [1] Wikipedia. Switch. url: https://en.wikipedia.org/wiki/Switch (acedido em 22/08/2023). [Programa] Potenciómetro Objectivo: Utilizar o ESP32-C6-DevKitM-1 para ler valor de tensão de saída de um potenciómetro. Lista de material: ESP32-C6-DevKitM-1 Breadboard Potenciómetro de 10kΩ Fios de ligação Cabo USB C Contextualização: Um potenciómetro é um componente eletrónico que incorpora uma resistência elétrica ajustável [1]. Potenciómetro Um potenciómetro possui tipicamente três terminais incluindo um contacto ajustável, deslizante ou rotativo, que forma um divisor de tensão ajustável [1]. ESP32-C6-DevKitM-1 Apesar de se aconselhar a consulta da página do fabricante sobre o kit ESP32-C6-DevKitM-1 é possível considerar que em determinadas situações os terminais de entrada do microcontrolador ESP32 podem converter tensão (algo como uma quantidade analógica entre 0V e 3.3V) em um valor digital inteiro entre 0 e 4095 (num total de 212=4096 representações possíveis). Procedimento: Atentando ao objetivo enunciado, e escolhendo os terminais 2 (para o terminal de saída do potenciómetro), 3.3V e o GND do ESP32 como referência deve considerar-se a seguinte montagem: Instruções: Montar o circuito esquematizado anteriormente Ligar a placa ESP32 ao computador por via de cabo USB C Abrir o IDE Arduino Selecionar o dispositivo ESP32 adequado ( ESP32C6 Dev Module ) Copiar o seguinte código #include #include // Pin and LED configuration constexpr uint8_t LED_PIN = 8; constexpr uint8_t NUM_LEDS = 1; // NeoPixel object Adafruit_NeoPixel rgbLed(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800); // Color structure struct RGB { uint8_t r, g, b; }; void setup() { rgbLed.begin(); // Initialize the RGB LED rgbLed.show(); // Turn off the LED (as it's initialized to all 0s) Serial.begin(115200); } void setColor(const RGB& color) { rgbLed.setPixelColor(0, rgbLed.Color(color.r, color.g, color.b)); rgbLed.show(); } // Convert HSV to RGB RGB hsvToRgb(float h, float s, float v) { float c = v * s; float x = c * (1 - std::abs(std::fmod(h / 60.0, 2) - 1)); float m = v - c; float r, g, b; if (h >= 0 && h < 60) { r = c, g = x, b = 0; } else if (h >= 60 && h < 120) { r = x, g = c, b = 0; } else if (h >= 120 && h < 180) { r = 0, g = c, b = x; } else if (h >= 180 && h < 240) { r = 0, g = x, b = c; } else if (h >= 240 && h < 300) { r = x, g = 0, b = c; } else { r = c, g = 0, b = x; } return { static_cast((r + m) * 255), static_cast((g + m) * 255), static_cast((b + m) * 255) }; } float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } void loop() { constexpr unsigned long CYCLE_DURATION = 10000; // 10 seconds for a full color cycle constexpr unsigned long STEPS = 1000; // Number of steps in the cycle unsigned long startTime = millis(); unsigned long currentTime; while (true) { // leitura do valor de entrada no terminal analógico GPIO33: int analogValue = analogRead(2); Serial.println(analogValue); // Normalização dos valores lidos para a tensão do potenciómetro float voltage = floatMap(analogValue, 0, 4095, 0, 1.0); Serial.println(voltage); currentTime = millis(); //float progress = static_cast((currentTime - startTime) % CYCLE_DURATION) / CYCLE_DURATION; //float hue = progress * 360.0f; // Hue ranges from 0 to 360 float hue = voltage * 360.0f; // Hue ranges from 0 to 360 RGB color = hsvToRgb(hue, 1.0f, 1.0f); // Full saturation and value //RGB color = hsvToRgb(255.0f, voltage, 1.0f); setColor(color); delay(CYCLE_DURATION / STEPS); // Small delay for smooth transition } } Compilar e carregar o código para a placa ESP32 Verificar o resultado Referências: [1] Wikipedia. Potentiometer. url: https://en.wikipedia.org/wiki/Potentiometer (acedido em 23/08/2023).[Programa] SHT40 (exemplo I²C) Objetivo: Utilizar o ESP32-C6-DevKitM-1 para ler valores de temperatura de um sensor SHT40. Lista de material: ESP32-C6-DevKitM-1 Breadboard Sensor SHT40 Fios de ligação Cabo USB C Contextualização: Grove - Temperature & Humidity Sensor (SHT40) O sensor de temperatura e humidade da Seeed SHT40 é um sensor digital com interface I²C padrão [2]. Inter-Integrated Circuit (I²C) [3] O Inter-Integrated Circuit (I²C)[3] é um barramento serial que permite a co-existência de múltiplos controladores e periféricos (historicamente designados por master/slave) e considera essencialmente duas ligações: SDA Serial Data Line SDL Serial Clock Line Ambas são bidirecionais e recorrem a resistências pull-up. As tensões típicas utilizadas são de +5 V ou +3,3 V, embora sejam permitidos sistemas com outras tensões. O design de referência I²C possui um espaço de endereço de 7 bits, com uma extensão de 10 bits raramente utilizada. As velocidades de barramento I²C comuns são o modo padrão de 100 kbit/s existindo outras possibilidades para casos específicos. A comunicação I²C segue uma estrutura organizada em pacotes de dados. Cada transação no barramento I²C inicia com uma condição de Start, seguida pelo envio de um byte de endereço, que identifica o dispositivo preriférico com o qual o controlador deseja comunicar. Após o endereço, o controlador pode enviar ou receber dados, dependendo da natureza da transação (escrita ou leitura). Os principais elementos dos protocolos de mensagem do I²C incluem: Condição de Início ( Start ): O controlador gera uma transição do sinal SDA de alto para baixo enquanto SCL está alto, indicando o início de uma comunicação. Byte de Endereço: Após a condição de Start, o controlador envia um byte de endereço que contém o endereço do periférico alvo e um bit de leitura/escrita. O periférico com o endereço correspondente responde com um bit de reconhecimento ( ACK ). Dados: Os dados são transmitidos em bytes, seguidos por um bit de reconhecimento ( ACK ) enviado pelo receptor após cada byte. Se o receptor não reconhecer o byte, ele envia um bit de não reconhecimento ( NACK ). Condição de Paragem ( Stop ): A comunicação termina com uma condição de Stop, onde o controlador gera uma transição do sinal SDA de baixo para alto enquanto SCL está alto. Isso sinaliza o fim da transação no barramento I²C. Essa estrutura simples e eficiente permite que o I²C suporte a comunicação entre múltiplos dispositivos de forma organizada, minimizando a necessidade de fios e facilitando a integração em sistemas eletrónicos complexos. Desenvolvido pela Philips Semiconductor em 1982, o I²C é ideal para aplicações que exigem comunicação eficiente e de curto alcance entre componentes eletrónicos. Este protocolo suporta a comunicação entre múltiplos dispositivos, onde o dispositivo contolador comanda o barramento I²C e os peféricos respondem aos comandos recebidos. A simplicidade do I²C, combinada com a sua flexibilidade, torna-o uma escolha popular para interligar sensores, displays, memória e outros periféricos a microcontroladores em diversos projetos. De seguida apresenta-se uma aplicação prática do I²C usando a placa de desenvolvimento ESP32-C6-DevKitM-1, que possui suporte integrado para I²C, em conjunto com o sensor de temperatura e humidade SHT40. Procedimento: Atentando nos terminais 3, 4, GND e 5V do ESP32 como referência deve considerar-se o seguinte ilustração de montagem: Instruções: Montar o circuito esquematizado anteriormente Ligar a placa ESP32 ao computador por via de cabo USB C Abrir o IDE Arduino Usando a ferramenta de gestão de bibliotecas do IDE Arduino procurar e instalar a biblioteca Adafruit SHT4X ([1]) Selecionar o dispositivo ESP32 adequado ( ESP32C6 Dev Module ) Copiar o seguinte #include #include // Definição de uma nova instância da classe TwoWire TwoWire myWire = TwoWire(0x44); // Usa o barramento I2C no ID 0 (podes alterar conforme necessário) Adafruit_SHT4x sht40 = Adafruit_SHT4x(); void setup() { digitalWrite(RGB_BUILTIN, LOW); // Turn the RGB LED off Serial.begin(115200); // Inicia a instância myWire no barramento I2C utilizando pinos SDA e SCL personalizados myWire.begin(4, 3); // Pinos SDA=4 e SCL=3 (substitua pelos pinos que preferires) // Inicializa o sensor SHT40 usando a instância personalizada de TwoWire if (!sht40.begin(&myWire)) { Serial.println("Falha ao inicializar o SHT40. Verifique a conexão I2C."); while (1) { delay(10); } } sht40.setPrecision(SHT4X_HIGH_PRECISION); sht40.setHeater(SHT4X_NO_HEATER); Serial.println("Sensor SHT40 inicializado com sucesso!"); } void loop() { digitalWrite(RGB_BUILTIN, LOW); // Turn the RGB LED off sensors_event_t humidity, temp; sht40.getEvent(&humidity, &temp); Serial.print("Temperatura: "); Serial.print(temp.temperature); Serial.println(" °C"); Serial.print("Humidade: "); Serial.print(humidity.relative_humidity); Serial.println(" %"); delay(2000); // Espera 2 segundos antes de nova leitura digitalWrite(RGB_BUILTIN, HIGH); // Turn the RGB LED white } Compilar e carregar o código para a placa ESP32 Verificar o resultado Referências: [1] Adafruit. Adafruit Sensirion SHT40, SHT41 & SHT45 Temperature & Humidity Sensors. url: https://learn.adafruit.com/adafruit-sht40-temperature-humidity-sensor (acedido em 29/08/2023).[2] Seeed Studio. Grove - Temperature & Humidity Sensor. url: https://wiki.seeedstudio.com/Grove-SHT4x/ (acedido em 29/08/2023).[3] Wikipedia. I2C. url: https://en.wikipedia.org/wiki/I%C2%B2C (acedido em 29/08/2023). [Programa] Lâmpada Zigbee (provisório) [1] Lista de Material Notas (part I/II) Este exemplo mostra como configurar o dispositivo final Zigbee e utilizá-lo como lâmpada de domótica de ligar/desligar. Requisitos Uma placa de desenvolvimento (ESP32-C6) como dispositivo final Zigbee (carregada com o exemplo Lâmpada Zigbee) Arduino IDE Antes de Compilar/Verificar, seleccionar a placa correcta: `Ferramentas -> Placa`. Selecionar o modo Zigbee do dispositivo final: `Ferramentas -> Modo Zigbee: Zigbee ED (dispositivo final)` Selecionar Esquema de Partição para Zigbee: `Ferramentas -> Esquema de Partição: Zigbee 4MB com spiffs` Seleccione a porta COM: `Ferramentas -> Porta: xxx` em que `xxx` é a porta COM detectada. Lâmpada Zigbee // Copyright 2023 Espressif Systems (Shanghai) PTE LTD // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. /** * @brief This example demonstrates simple Zigbee light bulb. * * The example demonstrates how to use ESP Zigbee stack to create a end device light bulb. * The light bulb is a Zigbee end device, which is controlled by a Zigbee coordinator. * * Proper Zigbee mode must be selected in Tools->Zigbee mode * and also the correct partition scheme must be selected in Tools->Partition Scheme. * * Please check the README.md for instructions and more detailed description. */ #ifndef ZIGBEE_MODE_ED #error "Zigbee end device mode is not selected in Tools->Zigbee mode" #endif #include "esp_zigbee_core.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "ha/esp_zigbee_ha_standard.h" #define LED_PIN RGB_BUILTIN /* Default End Device config */ #define ESP_ZB_ZED_CONFIG() \ { \ .esp_zb_role = ESP_ZB_DEVICE_TYPE_ED, .install_code_policy = INSTALLCODE_POLICY_ENABLE, \ .nwk_cfg = { \ .zed_cfg = \ { \ .ed_timeout = ED_AGING_TIMEOUT, \ .keep_alive = ED_KEEP_ALIVE, \ }, \ }, \ } #define ESP_ZB_DEFAULT_RADIO_CONFIG() \ { .radio_mode = ZB_RADIO_MODE_NATIVE, } #define ESP_ZB_DEFAULT_HOST_CONFIG() \ { .host_connection_mode = ZB_HOST_CONNECTION_MODE_NONE, } /* Zigbee configuration */ #define INSTALLCODE_POLICY_ENABLE false /* enable the install code policy for security */ #define ED_AGING_TIMEOUT ESP_ZB_ED_AGING_TIMEOUT_64MIN #define ED_KEEP_ALIVE 3000 /* 3000 millisecond */ #define HA_ESP_LIGHT_ENDPOINT 10 /* esp light bulb device endpoint, used to process light controlling commands */ #define ESP_ZB_PRIMARY_CHANNEL_MASK ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK /* Zigbee primary channel mask use in the example */ /********************* Zigbee functions **************************/ static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask) { ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask)); } void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { uint32_t *p_sg_p = signal_struct->p_app_signal; esp_err_t err_status = signal_struct->esp_err_status; esp_zb_app_signal_type_t sig_type = (esp_zb_app_signal_type_t)*p_sg_p; switch (sig_type) { case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP: log_i("Zigbee stack initialized"); esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION); break; case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START: case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT: if (err_status == ESP_OK) { log_i("Device started up in %s factory-reset mode", esp_zb_bdb_is_factory_new() ? "" : "non"); if (esp_zb_bdb_is_factory_new()) { log_i("Start network formation"); esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING); } else { log_i("Device rebooted"); } } else { /* commissioning failed */ log_w("Failed to initialize Zigbee stack (status: %s)", esp_err_to_name(err_status)); } break; case ESP_ZB_BDB_SIGNAL_STEERING: if (err_status == ESP_OK) { esp_zb_ieee_addr_t extended_pan_id; esp_zb_get_extended_pan_id(extended_pan_id); log_i( "Joined network successfully (Extended PAN ID: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, Channel:%d, Short Address: 0x%04hx)", extended_pan_id[7], extended_pan_id[6], extended_pan_id[5], extended_pan_id[4], extended_pan_id[3], extended_pan_id[2], extended_pan_id[1], extended_pan_id[0], esp_zb_get_pan_id(), esp_zb_get_current_channel(), esp_zb_get_short_address() ); } else { log_i("Network steering was not successful (status: %s)", esp_err_to_name(err_status)); esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_STEERING, 1000); } break; default: log_i("ZDO signal: %s (0x%x), status: %s", esp_zb_zdo_signal_to_string(sig_type), sig_type, esp_err_to_name(err_status)); break; } } static esp_err_t zb_action_handler(esp_zb_core_action_callback_id_t callback_id, const void *message) { esp_err_t ret = ESP_OK; switch (callback_id) { case ESP_ZB_CORE_SET_ATTR_VALUE_CB_ID: ret = zb_attribute_handler((esp_zb_zcl_set_attr_value_message_t *)message); break; default: log_w("Receive Zigbee action(0x%x) callback", callback_id); break; } return ret; } static void esp_zb_task(void *pvParameters) { esp_zb_cfg_t zb_nwk_cfg = ESP_ZB_ZED_CONFIG(); esp_zb_init(&zb_nwk_cfg); esp_zb_on_off_light_cfg_t light_cfg = ESP_ZB_DEFAULT_ON_OFF_LIGHT_CONFIG(); esp_zb_ep_list_t *esp_zb_on_off_light_ep = esp_zb_on_off_light_ep_create(HA_ESP_LIGHT_ENDPOINT, &light_cfg); esp_zb_device_register(esp_zb_on_off_light_ep); esp_zb_core_action_handler_register(zb_action_handler); esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK); //Erase NVRAM before creating connection to new Coordinator esp_zb_nvram_erase_at_start(true); //Comment out this line to erase NVRAM data if you are conneting to new Coordinator ESP_ERROR_CHECK(esp_zb_start(false)); esp_zb_main_loop_iteration(); } /* Handle the light attribute */ static esp_err_t zb_attribute_handler(const esp_zb_zcl_set_attr_value_message_t *message) { esp_err_t ret = ESP_OK; bool light_state = 0; if (!message) { log_e("Empty message"); } if (message->info.status != ESP_ZB_ZCL_STATUS_SUCCESS) { log_e("Received message: error status(%d)", message->info.status); } log_i( "Received message: endpoint(%d), cluster(0x%x), attribute(0x%x), data size(%d)", message->info.dst_endpoint, message->info.cluster, message->attribute.id, message->attribute.data.size ); if (message->info.dst_endpoint == HA_ESP_LIGHT_ENDPOINT) { if (message->info.cluster == ESP_ZB_ZCL_CLUSTER_ID_ON_OFF) { if (message->attribute.id == ESP_ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID && message->attribute.data.type == ESP_ZB_ZCL_ATTR_TYPE_BOOL) { light_state = message->attribute.data.value ? *(bool *)message->attribute.data.value : light_state; log_i("Light sets to %s", light_state ? "On" : "Off"); neopixelWrite(LED_PIN, 255 * light_state, 255 * light_state, 255 * light_state); // Toggle light } } } return ret; } /********************* Arduino functions **************************/ void setup() { // Init Zigbee esp_zb_platform_config_t config = { .radio_config = ESP_ZB_DEFAULT_RADIO_CONFIG(), .host_config = ESP_ZB_DEFAULT_HOST_CONFIG(), }; ESP_ERROR_CHECK(esp_zb_platform_config(&config)); // Init RMT and leave light OFF neopixelWrite(LED_PIN, 0, 0, 0); // Start Zigbee task xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL); } void loop() { //empty, zigbee running in task } Notas (part II/II) Este exemplo mostra como configurar o coordenador Zigbee e utilizá-lo como interruptor de luz de ligar/desligar para domótica. Requisitos Uma placa de desenvolvimento (ESP32-C6) em modo coordenador Zigbee (carregada com o exemplo Interruptor Zigbee) fios de ligação interruptor Configurar o projeto Confirmar a definição do GPIO do interruptor Switch  consultando a definição de `GPIO_INPUT_IO_TOGGLE_SWITCH`. Arduino IDE Antes de Compilar/Verificar, seleccionar a placa correcta: `Ferramentas -> Placa`. Selecionar o modo Coordenador Zigbee: `Ferramentas -> Modo Zigbee: Zigbee ZCZR (coordenador)`. Selecionar Esquema de Partição para Zigbee: `Ferramentas -> Esquema de Partição: Zigbee 4MB com spiffs`. Seleccionar a porta COM: `Ferramentas -> Porta: xxx em que `xxx` é a porta COM detectada. Interruptor Zigbee // Copyright 2023 Espressif Systems (Shanghai) PTE LTD // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. /** * @brief This example demonstrates simple Zigbee light switch. * * The example demonstrates how to use ESP Zigbee stack to control a light bulb. * The light bulb is a Zigbee end device, which is controlled by a Zigbee coordinator. * Button switch and Zigbee runs in separate tasks. * * Proper Zigbee mode must be selected in Tools->Zigbee mode * and also the correct partition scheme must be selected in Tools->Partition Scheme. * * Please check the README.md for instructions and more detailed description. */ #ifndef ZIGBEE_MODE_ZCZR #error "Zigbee coordinator mode is not selected in Tools->Zigbee mode" #endif #include "esp_zigbee_core.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "ha/esp_zigbee_ha_standard.h" /* Switch configuration */ #define GPIO_INPUT_IO_TOGGLE_SWITCH GPIO_NUM_9 #define PAIR_SIZE(TYPE_STR_PAIR) (sizeof(TYPE_STR_PAIR) / sizeof(TYPE_STR_PAIR[0])) typedef enum { SWITCH_ON_CONTROL, SWITCH_OFF_CONTROL, SWITCH_ONOFF_TOGGLE_CONTROL, SWITCH_LEVEL_UP_CONTROL, SWITCH_LEVEL_DOWN_CONTROL, SWITCH_LEVEL_CYCLE_CONTROL, SWITCH_COLOR_CONTROL, } switch_func_t; typedef struct { uint8_t pin; switch_func_t func; } switch_func_pair_t; typedef enum { SWITCH_IDLE, SWITCH_PRESS_ARMED, SWITCH_PRESS_DETECTED, SWITCH_PRESSED, SWITCH_RELEASE_DETECTED, } switch_state_t; static switch_func_pair_t button_func_pair[] = {{GPIO_INPUT_IO_TOGGLE_SWITCH, SWITCH_ONOFF_TOGGLE_CONTROL}}; /* Default Coordinator config */ #define ESP_ZB_ZC_CONFIG() \ { \ .esp_zb_role = ESP_ZB_DEVICE_TYPE_COORDINATOR, .install_code_policy = INSTALLCODE_POLICY_ENABLE, .nwk_cfg = { \ .zczr_cfg = \ { \ .max_children = MAX_CHILDREN, \ }, \ } \ } #define ESP_ZB_DEFAULT_RADIO_CONFIG() \ { .radio_mode = ZB_RADIO_MODE_NATIVE, } #define ESP_ZB_DEFAULT_HOST_CONFIG() \ { .host_connection_mode = ZB_HOST_CONNECTION_MODE_NONE, } typedef struct light_bulb_device_params_s { esp_zb_ieee_addr_t ieee_addr; uint8_t endpoint; uint16_t short_addr; } light_bulb_device_params_t; /* Zigbee configuration */ #define MAX_CHILDREN 10 /* the max amount of connected devices */ #define INSTALLCODE_POLICY_ENABLE false /* enable the install code policy for security */ #define HA_ONOFF_SWITCH_ENDPOINT 1 /* esp light switch device endpoint */ #define ESP_ZB_PRIMARY_CHANNEL_MASK ESP_ZB_TRANSCEIVER_ALL_CHANNELS_MASK /* Zigbee primary channel mask use in the example */ /********************* Zigbee functions **************************/ static void esp_zb_buttons_handler(switch_func_pair_t *button_func_pair) { if (button_func_pair->func == SWITCH_ONOFF_TOGGLE_CONTROL) { /* implemented light switch toggle functionality */ esp_zb_zcl_on_off_cmd_t cmd_req; cmd_req.zcl_basic_cmd.src_endpoint = HA_ONOFF_SWITCH_ENDPOINT; cmd_req.address_mode = ESP_ZB_APS_ADDR_MODE_DST_ADDR_ENDP_NOT_PRESENT; cmd_req.on_off_cmd_id = ESP_ZB_ZCL_CMD_ON_OFF_TOGGLE_ID; log_i("Send 'on_off toggle' command"); esp_zb_zcl_on_off_cmd_req(&cmd_req); } } static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask) { ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask)); } static void bind_cb(esp_zb_zdp_status_t zdo_status, void *user_ctx) { if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { log_i("Bound successfully!"); if (user_ctx) { light_bulb_device_params_t *light = (light_bulb_device_params_t *)user_ctx; log_i("The light originating from address(0x%x) on endpoint(%d)", light->short_addr, light->endpoint); free(light); } } } static void user_find_cb(esp_zb_zdp_status_t zdo_status, uint16_t addr, uint8_t endpoint, void *user_ctx) { if (zdo_status == ESP_ZB_ZDP_STATUS_SUCCESS) { log_i("Found light"); esp_zb_zdo_bind_req_param_t bind_req; light_bulb_device_params_t *light = (light_bulb_device_params_t *)malloc(sizeof(light_bulb_device_params_t)); light->endpoint = endpoint; light->short_addr = addr; esp_zb_ieee_address_by_short(light->short_addr, light->ieee_addr); esp_zb_get_long_address(bind_req.src_address); bind_req.src_endp = HA_ONOFF_SWITCH_ENDPOINT; bind_req.cluster_id = ESP_ZB_ZCL_CLUSTER_ID_ON_OFF; bind_req.dst_addr_mode = ESP_ZB_ZDO_BIND_DST_ADDR_MODE_64_BIT_EXTENDED; memcpy(bind_req.dst_address_u.addr_long, light->ieee_addr, sizeof(esp_zb_ieee_addr_t)); bind_req.dst_endp = endpoint; bind_req.req_dst_addr = esp_zb_get_short_address(); log_i("Try to bind On/Off"); esp_zb_zdo_device_bind_req(&bind_req, bind_cb, (void *)light); } } void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct) { uint32_t *p_sg_p = signal_struct->p_app_signal; esp_err_t err_status = signal_struct->esp_err_status; esp_zb_app_signal_type_t sig_type = (esp_zb_app_signal_type_t)*p_sg_p; esp_zb_zdo_signal_device_annce_params_t *dev_annce_params = NULL; switch (sig_type) { case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP: log_i("Zigbee stack initialized"); esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION); break; case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START: case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT: if (err_status == ESP_OK) { log_i("Device started up in %s factory-reset mode", esp_zb_bdb_is_factory_new() ? "" : "non"); if (esp_zb_bdb_is_factory_new()) { log_i("Start network formation"); esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION); } else { log_i("Device rebooted"); log_i("Opening network for joining for %d seconds", 180); esp_zb_bdb_open_network(180); } } else { log_e("Failed to initialize Zigbee stack (status: %s)", esp_err_to_name(err_status)); } break; case ESP_ZB_BDB_SIGNAL_FORMATION: if (err_status == ESP_OK) { esp_zb_ieee_addr_t extended_pan_id; esp_zb_get_extended_pan_id(extended_pan_id); log_i( "Formed network successfully (Extended PAN ID: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, Channel:%d, Short Address: 0x%04hx)", extended_pan_id[7], extended_pan_id[6], extended_pan_id[5], extended_pan_id[4], extended_pan_id[3], extended_pan_id[2], extended_pan_id[1], extended_pan_id[0], esp_zb_get_pan_id(), esp_zb_get_current_channel(), esp_zb_get_short_address() ); esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING); } else { log_i("Restart network formation (status: %s)", esp_err_to_name(err_status)); esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_FORMATION, 1000); } break; case ESP_ZB_BDB_SIGNAL_STEERING: if (err_status == ESP_OK) { log_i("Network steering started"); } break; case ESP_ZB_ZDO_SIGNAL_DEVICE_ANNCE: dev_annce_params = (esp_zb_zdo_signal_device_annce_params_t *)esp_zb_app_signal_get_params(p_sg_p); log_i("New device commissioned or rejoined (short: 0x%04hx)", dev_annce_params->device_short_addr); esp_zb_zdo_match_desc_req_param_t cmd_req; cmd_req.dst_nwk_addr = dev_annce_params->device_short_addr; cmd_req.addr_of_interest = dev_annce_params->device_short_addr; esp_zb_zdo_find_on_off_light(&cmd_req, user_find_cb, NULL); break; case ESP_ZB_NWK_SIGNAL_PERMIT_JOIN_STATUS: if (err_status == ESP_OK) { if (*(uint8_t *)esp_zb_app_signal_get_params(p_sg_p)) { log_i("Network(0x%04hx) is open for %d seconds", esp_zb_get_pan_id(), *(uint8_t *)esp_zb_app_signal_get_params(p_sg_p)); } else { log_w("Network(0x%04hx) closed, devices joining not allowed.", esp_zb_get_pan_id()); } } break; default: log_i("ZDO signal: %s (0x%x), status: %s", esp_zb_zdo_signal_to_string(sig_type), sig_type, esp_err_to_name(err_status)); break; } } static void esp_zb_task(void *pvParameters) { esp_zb_cfg_t zb_nwk_cfg = ESP_ZB_ZC_CONFIG(); esp_zb_init(&zb_nwk_cfg); esp_zb_on_off_switch_cfg_t switch_cfg = ESP_ZB_DEFAULT_ON_OFF_SWITCH_CONFIG(); esp_zb_ep_list_t *esp_zb_on_off_switch_ep = esp_zb_on_off_switch_ep_create(HA_ONOFF_SWITCH_ENDPOINT, &switch_cfg); esp_zb_device_register(esp_zb_on_off_switch_ep); esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK); ESP_ERROR_CHECK(esp_zb_start(false)); esp_zb_main_loop_iteration(); } /********************* GPIO functions **************************/ static QueueHandle_t gpio_evt_queue = NULL; static void IRAM_ATTR gpio_isr_handler(void *arg) { xQueueSendFromISR(gpio_evt_queue, (switch_func_pair_t *)arg, NULL); } static void switch_gpios_intr_enabled(bool enabled) { for (int i = 0; i < PAIR_SIZE(button_func_pair); ++i) { if (enabled) { enableInterrupt((button_func_pair[i]).pin); } else { disableInterrupt((button_func_pair[i]).pin); } } } /********************* Arduino functions **************************/ void setup() { // Init Zigbee esp_zb_platform_config_t config = { .radio_config = ESP_ZB_DEFAULT_RADIO_CONFIG(), .host_config = ESP_ZB_DEFAULT_HOST_CONFIG(), }; ESP_ERROR_CHECK(esp_zb_platform_config(&config)); // Init button switch for (int i = 0; i < PAIR_SIZE(button_func_pair); i++) { pinMode(button_func_pair[i].pin, INPUT_PULLUP); /* create a queue to handle gpio event from isr */ gpio_evt_queue = xQueueCreate(10, sizeof(switch_func_pair_t)); if (gpio_evt_queue == 0) { log_e("Queue was not created and must not be used"); while (1); } attachInterruptArg(button_func_pair[i].pin, gpio_isr_handler, (void *)(button_func_pair + i), FALLING); } // Start Zigbee task xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL); } void loop() { // Handle button switch in loop() uint8_t pin = 0; switch_func_pair_t button_func_pair; static switch_state_t switch_state = SWITCH_IDLE; bool evt_flag = false; /* check if there is any queue received, if yes read out the button_func_pair */ if (xQueueReceive(gpio_evt_queue, &button_func_pair, portMAX_DELAY)) { pin = button_func_pair.pin; switch_gpios_intr_enabled(false); evt_flag = true; } while (evt_flag) { bool value = digitalRead(pin); switch (switch_state) { case SWITCH_IDLE: switch_state = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_IDLE; break; case SWITCH_PRESS_DETECTED: switch_state = (value == LOW) ? SWITCH_PRESS_DETECTED : SWITCH_RELEASE_DETECTED; break; case SWITCH_RELEASE_DETECTED: switch_state = SWITCH_IDLE; /* callback to button_handler */ (*esp_zb_buttons_handler)(&button_func_pair); break; default: break; } if (switch_state == SWITCH_IDLE) { switch_gpios_intr_enabled(true); evt_flag = false; break; } vTaskDelay(10 / portTICK_PERIOD_MS); } } Exemplo Referência [1] Espressif. arduino-esp32 Zigbee examples. url: https://github.com/espressif/arduino-esp32/tree/master/libraries/ESP32/examples/Zigbee (acedido em 30/08/2024).Kit Eletrónica [ESP32/Xtensa] O Kit de Eletrónica que te foi oferecido pelo DEEC não é para colocares a enfeitar uma mesa ou estante. Queremos que o uses e que o explores ativamente para te tornares um criador. Aqui abaixo damos-te as primeiras dicas para poderes iniciar essa exploração. Claro que tens muito material na Net, mas queremos aqui dar-te os primeiros ponteiros para começares a exploração. E, se tiveres questões, dúvidas, ou sugestões podes sempre contactar-nos. Instalação (por Paulo Menezes, contribuição de Nobo Dyelse Tillnow) Para explorares o microcontrolador que colocámos no teu kit irás precisar de um computador com Windows, Linux ou MacOS X, um cabo USB A/micro USB B (que está no kit) para ligares o microcontrolador ao teu computador e software de desenvolvimento para escreveres os programas e depois compilares e transferires para o microcontrolador ESP32. Na página Espressif "Get Started" tens toda a informação que necessitas, mas sugerimos que comeces por instalar um IDE (Integrated Development Environment) e a extensão correspondente. Aqui tens duas opções: Eclipse Plugin VSCode Extension Sugerimos que leias a documentação, mesmo sabendo que estás "mortinho" por por isso a funcionar. Os programas que irás desenvolver serão escritos em linguagem C++ que irás aprender nas aulas de "Programação de Computadores" e de "Estruturas de Dados e Algoritmos". Esses programas são sequências de instruções que depois serão traduzidos no código que o microcontrolador "entende" através do compilador que instalaste. Sugestão: Usar o IDE Arduino O IDE Arduino já é bem conhecido da maior parte dos teus colegas e podes usá-lo também para programar os microcontroladores ESP32. Para isso deves começar por descarregá-lo de https://www.arduino.cc/en/software e instalar-lo no teu computador. Depois deves selecionar no menu o item "Preferences" e no campo "URL Adicionais do Gestor de Placas:" colocar https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json Depois no menu "Ferramentas" Selecionar "Gestor de placas" e instalar o suporte para esp32 Instalação nova versão Arduino IDE (por Paulo Menezes, contribuição de Nobo Dyelse Tillnow) Usar o Arduino IDE O IDE Arduino já é bem conhecido da maior parte dos teus colegas e podes usá-lo também para programar os microcontroladores ESP32. Para isso deves começar por descarregá-lo de https://www.arduino.cc/en/software e instalar-lo no teu computador. Depois deves selecionar no menu o item "Preferences" e no campo "URL Adicionais do Gestor de Placas:" colocar https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json Depois no menu "Ferramentas" Selecionar "Gestor de placas" e instalar o suporte para esp32 clicando no botão install mostrado abaixo. Isto pode demorar agora algum tempo, pois irá instalar todo o suporte necessário à criação de "sketches" para as placas baseadas nos módulos ESP32. Primeiro Programa Vamos começar com um primeiro programa (sketch) que vai incrementando uma variável e envia o seu valor para uma ligação série dizendo se é par ou impar. O código é o que se segue, podes analisar e copiar para um novo sketch que podes criar no Arduino IDE. void setup() { // put your setup code here, to run once: Serial.begin(115200); delay(1000); Serial.println("Starting my first sketch..."); } int i=1; // this is a global variable void loop() { // put your main code here, to run repeatedly: Serial.print(i); if ( (i % 2) == 0){ // check if the remainder of the division by 2 is zero Serial.println(" is even"); } else { Serial.println(" is odd"); } delay(1000); // wait for 1000 milisecs i++; } Depois podes clicar no botão com a seta para a direita e assim compilares e enviares o programa para  a placa que ligaste via USB. Se não tiver ocorrido nenhum erro, o programa terá sido iniciado e ao selecionares no menu "Ferramentas" -> "Monitor Série" irás ver numa nova janela as mensagens a aparecer como na figura seguinte. [Programa] LED a piscar Objetivo: Utilizar o ESP32-WROOM-32E DevKitC v4 [1] para alimentar um LED e obter um piscar controlado de forma programática. Lista de material: ESP32-WROOM-32E DevKitC v4 Breadboards Resistência  de 330 ohm (Ω) Díodo emissor de luz (LED) vermelho Fios de ligação Cabo USB micro Contextualização: Em eletrónica, um circuito LED é um circuito usado para alimentar um díodo emissor de luz (LED). O circuito deve fornecer corrente suficiente para acender o LED e evitar danos ao mesmo. O circuito mais simples para acionar um LED é através de uma resistência em série [5]. ESP32-WROOM-32E DevKitC v4 Apesar de se aconselhar a consulta da página do fabricante sobre o kit ESP32-WROOM-32E DevKitC v4 [1] para mais detalhe, disponibilizam-se de seguida duas figuras com os componentes principais do kit bem como o esquema de terminais para referência. Breadboard Uma breadboard ou placa de ensaio ou matriz de contactos é uma placa com furos e conexões condutoras tipicamente utilizada para a montagem de protótipos e projetos em estado inicial [3]. Deve ser tido em consideração que internamente a breadboard também é composta  por contactos metálicos, tipicamente organizados como se ilustra na figura em baixo. As linhas a azul e verde simbolizam ligações metálicas internas, ou seja, e por exemplo, tal como esquematizado, deve considerar-se que o orifício a1 está ligado internamente aos orifícios b1, c1, d1 e e1. Resistência Uma resistência é um componente elétrico passivo de dois terminais que implementa resistência elétrica como um elemento de circuito [6]. Ainda que não seja do âmbito do presente documento detalhar este conceito, disponibiliza-se de seguida o esquema de quatro bandas e tabela de referência [4], tipicamente usados para indicar os valores associados, neste caso, as resistências. Díodo emissor de luz (LED) Um díodo emissor de luz (LED) é um dispositivo semicondutor que emite luz quando uma corrente flui através deste [5]. Destacar da figura seguinte a distinção entre ânodo e cátodo, tipicamente materializada por um comprimento diferente dos terminais de ligação (terminal do ânodo mais longo que o do cátodo), e um chanfro (ou superfície plana) no lado do cátodo. Procedimento: As saídas digitais do ESP32-WROOM-32E DevKitC v4 (ESP32) podem ser programas para assumir determinados valores de tensão como 0V (GND) ou 3.3V (VCC). Fazendo uso desta possibilidade, e ligando o LED ao ESP32, deverá então ser possível obter um piscar do LED controlado de forma programática. Escolhendo os terminais 17 e GND do ESP32 como referência deve considerar-se o seguinte circuito LED: Instruções: (para uma primeira utilização do ESP32, sugere-se o tutorial Primeiro Programa [2]) Montar o circuito esquematizado anteriormente (ver Secção Montagem exemplificativa , para mais detalhe) Ligar a placa ESP32 ao computador por via de cabo USB micro Abrir o IDE Arduino Selecionar o dispositivo ESP32 adequado Copiar o seguinte código /* Pisca-pisca Liga o LED por um segundo, desliga por um segundo e assim sucessivamente. */ // a função setup é executada pontualmente quando o botão reset é premido ou a placa é alimentada void setup() { // inicializa o pino digital 17 como saída. pinMode(17, OUTPUT); } // a função loop é executada sucessivamente, uma e outra vez, e por aí em diante void loop() { digitalWrite(17, HIGH); // liga o LED delay(1000); // espera por um segundo digitalWrite(17, LOW); // desliga o LED delay(1000); // espera por um segundo } Compilar e carregar o código para a placa ESP32 Verificar o resultado Montagem exemplificativa: Referências [1] Ltd. Espressif Systems Co. ESP32-DevKitC V4 Getting Started Guide. url: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html (acedido em 18/08/2023). [2] Paulo Menezes. Artigos de Suporte - DEEC - Kit Eletrónica - Primeiro Programa. url: https://kb.deec.uc.pt/books/deec/page/primeiro-programa (acedido em17/08/2023). [3] Wikipedia. Breadboard. url: https://en.wikipedia.org/wiki/Breadboard (acedido em 18/08/2023). [4] Wikipedia. Electronic color code. url: https://en.wikipedia.org/wiki/Electronic_color_code (acedido em 18/08/2023). [5] Wikipedia. LED circuit. url: https://en.wikipedia.org/wiki/LED_circuit (acedido em 18/08/2023). [6] Wikipedia. Resistor. url: https://en.wikipedia.org/wiki/Resistor (acedido em 18/08/2023).[Programa] Interruptor Objetivo: Utilizar o ESP32-WROOM-32E DevKitC v4 [1] em conjugação com um interruptor e monitorizar estados. Lista de material: ESP32-WROOM-32E DevKitC v4 Breadboards Cabo USB micro Interruptor (tipo botão) Contextualização: Um interruptor é um componente elétrico que pode desconectar ou conectar o caminho condutor de um circuito elétrico, interrompendo a corrente elétrica ou conduzindo-a de um terminal para outro [3]. Interruptor Um interruptor tipo botão tem tipicamente quatro terminais que estão conectados internamente aos pares. Por isso, numa utilização típica, apenas dois terminais, que não ligados internamente, são usados, como se ilustra na imagem seguinte: Ao ser pressionado o interruptor alterna entre os estados conetado e não conetado: (pressionado) (não pressionado) (fechado) (aberto) Procedimento: Escolhendo o terminal 22 e o GND do ESP32 como referência deve considerar-se o seguinte circuito: Instruções: (para uma primeira utilização do ESP32, sugere-se o tutorial Primeiro Programa [2]) Montar o circuito esquematizado anteriormente (ver Secção Montagem exemplificativa, para mais detalhe) Ligar a placa ESP32 ao computador por via de cabo USB micro Abrir o IDE Arduino Selecionar o dispositivo ESP32 adequado Copiar o seguinte código /* interruptor tipo botão */ #define BUTTON_PIN 22 // definição de terminal GIOP22 ligado ao interruptor // Variáveis int lastState = LOW; // o estado anterior do terminal de entrada int currentState; // o estado atual do terminal de entrada void setup() { // inicializa a comunicação série a 115200 bits por segundo: Serial.begin(115200); // inicializa o terminal do interruptor tipo botão: // (o terminal de entrada toma o valor de HIGH quando o interruptor estiver aberto, // e LOW quando estiver fechado) pinMode(BUTTON_PIN, INPUT_PULLUP); } void loop() { // leitura do estado do interruptor tipo botão: currentState = digitalRead(BUTTON_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("o interruptor foi pressionado"); else if (lastState == LOW && currentState == HIGH) Serial.println("o interruptor foi solto"); // guarda o último estado lastState = currentState; } Compilar e carregar o código para a placa ESP32 Verificar o resultado no monitor de comunicação série do IDE Arduino Montagem exemplificativa: Referências [1] Ltd. Espressif Systems Co. ESP32-DevKitC V4 Getting Started Guide. url: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html (acedido em 18/08/2023). [2] Paulo Menezes. Artigos de Suporte - DEEC - Kit Eletrónica - Primeiro Programa. url: https://kb.deec.uc.pt/books/deec/page/primeiro-programa (acedido em 17/08/2023). [3] Wikipedia. Switch. url: https://en.wikipedia.org/wiki/Switch (acedido em 22/08/2023).[Programa] LED e interruptor Objetivo: Utilizar o ESP32-WROOM-32E DevKitC v4 [1] para alimentar um LED em conjugação com um interruptor para alternar entre os estados ligado e desligado do LED. Lista de material: ESP32-WROOM-32E DevKitC v4 Breadboards Resistência  de 330 ohm (Ω) Interruptor (tipo botão) Díodo emissor de luz (LED) vermelho Fio de ligação Cabo USB micro Contextualização: Em eletrónica, um circuito LED é um circuito usado para alimentar um díodo emissor de luz (LED). O circuito deve fornecer corrente suficiente para acender o LED e evitar danos ao mesmo. O circuito mais simples para acionar um LED é através de uma resistência em série [3]. Por outro lado, um interruptor é um componente elétrico que pode desconectar ou conectar o caminho condutor de um circuito elétrico, interrompendo a corrente elétrica ou desviando-a de um condutor para outro [4]. Procedimento: Atentando no objetivo enunciado, e escolhendo os terminais 21 (para o LED), 22 (para o interruptor) e o GND do ESP32 como referência deve considerar-se o seguinte circuito: Instruções: (para uma primeira utilização do ESP32, sugere-se o tutorial Primeiro Programa [2]) Montar o circuito esquematizado anteriormente (ver Secção Montagem exemplificativa, para mais detalhe) Ligar a placa ESP32 ao computador por via de cabo USB micro Abrir o IDE Arduino Selecionar o dispositivo ESP32 adequado Copiar o seguinte código /* tipo botão LED */ #define BUTTON_PIN 22 // Terminal GPIO22 do ESP32 que liga ao interruptor #define LED_PIN 21 // Terminal GPIO21 do ESP32 que liga ao led // variáveis: int led_state = LOW; // o estado atual do LED int button_state; // o estado atual do interruptor int last_button_state; // o estado anterior do interruptor void setup() { Serial.begin(115200); // inicializa comunicação série pinMode(BUTTON_PIN, INPUT_PULLUP); // estabelece o modo do terminal do ESP32 pinMode(LED_PIN, OUTPUT); // estabelece o modo do terminal do ESP32 button_state = digitalRead(BUTTON_PIN); } void loop() { last_button_state = button_state; // guarda o estado anterior button_state = digitalRead(BUTTON_PIN); // lê o novo estado if (last_button_state == HIGH && button_state == LOW) { Serial.println("o interruptor foi pressionado"); // modifica o estado do LED led_state = !led_state; // controla o LED de acordo com o estado do interruptor digitalWrite(LED_PIN, led_state); } } Compilar e carregar o código para a placa ESP32 Verificar o resultado Montagem exemplificativa: Referências [1] Ltd. Espressif Systems Co. ESP32-DevKitC V4 Getting Started Guide. url: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html (acedido em 18/08/2023). [2] Paulo Menezes. Artigos de Suporte - DEEC - Kit Eletrónica - Primeiro Programa. url: https://kb.deec.uc.pt/books/deec/page/primeiro-programa (acedido em 17/08/2023). [3] Wikipedia. LED circuit. url: https://en.wikipedia.org/wiki/LED_circuit (acedido em 18/08/2023). [4] Wikipedia. Switch. url: https://en.wikipedia.org/wiki/Switch (acedido em 22/08/2023).[Programa] Potenciómetro Objectivo: Utilizar o ESP32-WROOM-32E DevKitC v4 [3] para ler valor de tensão de saída de um potenciómetro. Lista de material: ESP32-WROOM-32E DevKitC v4 Breadboards Potenciómetro de 10kΩ Fios de ligação Cabo USB micro Contextualização: Um potenciómetro é um componente eletrónico que incorpora uma resistência elétrica ajustável [5]. Potenciómetro Um potenciómetro possui tipicamente três terminais incluindo um contacto ajustável, deslizante ou rotativo, que forma um divisor de tensão ajustável [5]. ESP32-WROOM-32E DevKitC v4 Apesar de se aconselhar a consulta da página do fabricante sobre o kit ESP32-WROOM-32E DevKitC v4 [3] é possível considerar que em determinadas situações os terminais de entrada do microcontrolador ESP32 podem converter tensão (algo como uma quantidade analógica entre 0V e 3.3V) em um valor digital inteiro entre 0 e 4095 (num total de 212=4096 representações possíveis, [1][2, SAR ADC]). Procedimento: Atentando ao objetivo enunciado, e escolhendo os terminais 33 (para o terminal de saída do potenciómetro), 3.3V e o GND do ESP32 como referência deve considerar-se o seguinte circuito: Instruções: (para uma primeira utilização do ESP32, sugere-se o tutorial Primeiro Programa [4]) Montar o circuito esquematizado anteriormente (ver Secção Montagem exemplificativa, para mais detalhe) Ligar a placa ESP32 ao computador por via de cabo USB micro Abrir o IDE Arduino Selecionar o dispositivo ESP32 adequado Copiar o seguinte código /* * Potenciómetro */ float floatMap(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } // a função setup é executada pontualmente quando o botão reset é premido ou // a placa é alimentada: void setup() { // inicializa a comunicação série a 115200 bits por segundo: Serial.begin(115200); } // a função loop é executada sucessivamente, uma e outra vez, e por aí em diante void loop() { // leitura do valor de entrada no terminal analógico GPIO33: int analogValue = analogRead(33); // Normalização dos valores lidos para a tensão do potenciómetro float voltage = floatMap(analogValue, 0, 4095, 0, 3.3); // print out the value you read: Serial.print("valor lido: "); Serial.print(analogValue); Serial.print(", tensão: "); Serial.println(voltage); delay(1000); } Compilar e carregar o código para a placa ESP32 Verificar o resultado Montagem exemplificativa: Referências: [1] Ltd. Espressif Systems Co. Analog to Digital Converter (ADC). url: https://docs.espressif.com/projects/esp-idf/en/release-v4.4/esp32/api-reference/peripherals/adc.html (acedido em 23/08/2023).[2] Ltd. Espressif Systems Co. ESP32 Technical Reference Manual. Versão 5.0, pp. 631–637. url: https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf (acedido em 18/08/2023).[3] Ltd. Espressif Systems Co. ESP32-DevKitC V4 Getting Started Guide. url: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html (acedido em 18/08/2023).[4] Paulo Menezes. Artigos de Suporte - DEEC - Kit Eletrónica - Primeiro Programa. url: https://kb.deec.uc.pt/books/deec/page/primeiro-programa (acedido em17/08/2023).[5]Wikipedia. Potentiometer. url: https://en.wikipedia.org/wiki/Potentiometer (acedido em 23/08/2023).[Programa] Potenciómetro e LED Objetivo: Utilizar o ESP32-WROOM-32E DevKitC v4 [1] para ler valor de tensão de saída de um potenciómetro, para alimentar um LED e, fazendo uso do valor de lido no terminal de saída do potenciómetro, controlar o brilho do LED. Lista de material: ESP32-WROOM-32E DevKitC v4 Breadboards Resistência  de 330 ohm (Ω) Díodo emissor de luz (LED) vermelho Potenciómetro de 10kΩ Fios de ligação Cabo USB micro Contextualização: Um potenciómetro é um componente eletrónico que incorpora uma resistência elétrica ajustável [4]. Por seu turno, um circuito LED é um circuito usado para alimentar um díodo emissor de luz (LED). O circuito deve fornecer corrente suficiente para acender o LED e evitar danos ao mesmo. O circuito mais simples para acionar um LED é através de uma resistência em série [3]. Procedimento: Escolhendo os terminais 16, 33, GNDs e 3.3V do ESP32 como referência deve considerar-se o seguinte circuito: Instruções: (para uma primeira utilização do ESP32, sugere-se o tutorial Primeiro Programa [2]) Montar o circuito esquematizado anteriormente (ver Secção Montagem exemplificativa, para mais detalhe) Ligar a placa ESP32 ao computador por via de cabo USB micro Abrir o IDE Arduino Selecionar o dispositivo ESP32 adequado Copiar o seguinte código /* * Potenciómetro e LED */ #define POTENTIOMETER_PIN 33 // terminal GPIO33 do ESP32 ligado ao terminal de saída // do potenciómetro #define LED_PIN 16 // terminal GPIO16 do ESP32 ligado ao LED // a função setup é executada pontualmente quando o botão reset é premido ou // a placa é alimentada: void setup() { // inicializa a comunicação série a 115200 bits por segundo: Serial.begin(115200); // declara o terminal do LED como saída: pinMode(LED_PIN, OUTPUT); } // a função loop é executada sucessivamente, uma e outra vez, e por aí em diante void loop() { // leitura do valor no terminal analógico (valor entre 0 e 4095) int analogValue = analogRead(POTENTIOMETER_PIN); // normaliza valor lido para valor de interesse (valor entre 0 e 255) int brightness = map(analogValue, 0, 4095, 0, 255); // define intensidade do LED analogWrite(LED_PIN, brightness); // imprime valores para a comunicação série Serial.print("valor lido = "); Serial.print(analogValue); Serial.print(" => intensidade = "); Serial.println(brightness); delay(100); } Compilar e carregar o código para a placa ESP32 Verificar o resultado Montagem exemplificativa: Referências: [1] Ltd. Espressif Systems Co. ESP32-DevKitC V4 Getting Started Guide. url: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html (acedido em 18/08/2023).[2] Paulo Menezes. Artigos de Suporte - DEEC - Kit Eletrónica - Primeiro Programa. url: https://kb.deec.uc.pt/books/deec/page/primeiro-programa (acedido em 17/08/2023).[3] Wikipedia. LED circuit. url: https://en.wikipedia.org/wiki/LED_circuit (acedido em 18/08/2023).[4] Wikipedia. Potentiometer. url: https://en.wikipedia.org/wiki/Potentiometer (acedido em 23/08/2023).[Programa] TFT Objetivo: Utilizar o ESP32-WROOM-32E DevKitC v4 [2] para desenhar num monitor TFT. Lista de material: ESP32-WROOM-32E DevKitC v4 Breadboards Adafruit 1.44" Color TFT (ST7735) Fios de ligação Cabo USB micro Contextualização: Adafruit 1.44" Color TFT O monitor TFT (Thin-film transistor, [6]) de 1.44 polegadas da Adafruit (ST7735 Adafruit 1.44" Color TFT, [1]) faz uso do barramento de comunicação SPI (Serial Peripheral Interface [5]) de 4 fios possuindo ainda buffer de dados endereçável por pixel dedicado. Serial Peripheral Interface O Serial Peripheral Interface (SPI) é um barramento que permite, por exemplo, a comunicação entre um microcontrolador com diversos outros componentes [5, 3]. Ainda que a sua designação possa variar, e nem todas as ligações se tenham que usar num dado exemplo, o barramento SPI considera 4 sinais lógicos: SCLK/SCK Serial Clock MOSI/SDI Main Out Sub In / Serial Data In MISO/SDO Main In Sub Out / Serial Data Out CS/SS Chip Select Procedimento: Escolhendo os terminais 13, 14, 15, 25, 26, GND e 3.3V do ESP32 como referência deve considerar-se o seguinte ilustração de montagem: Instruções: (para uma primeira utilização do ESP32, sugere-se o tutorial Primeiro Programa [4]) Montar o circuito esquematizado anteriormente (ver Secção Montagem exemplificativa, para mais detalhe) Ligar a placa ESP32 ao computador por via de cabo USB micro Abrir o IDE Arduino Usando a ferramenta de gestão de bibliotecas do IDE Arduino procurar e instalar a biblioteca: Adafruit_GFX [7,8]. Repetir a tarefa anterior para as bibliotecas Adafruit_ST7735 e Adafruit_BusIO; Selecionar o dispositivo ESP32 adequado Copiar o seguinte código /* * TFT */ #include // Biblioteca relacionada com SPI #include // Biblioteca relacionada com primitivas de desenho #include // Biblioteca específica para ST7735 // definição dos terminais a considerar #define TFT_CS 15 #define TFT_DC 25 #define TFT_MOSI 13 #define TFT_SCLK 14 #define TFT_RST 26 // definição de cores de interesse #define BLUE 0x001F #define GREEN 0x07E0 #define WHITE 0xFFFF #define BLACK 0x0000 // variáveis várias int m_pos = 0; int m_s = 128; int m_contador = 0; int m_o_contador = 65; char cc = m_o_contador; // inicialização de classe relacionada com ST7735 Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); // função de escrita void testdrawtext(char *text, uint16_t color, uint8_t size) { tft.setCursor(51, 49); tft.setTextColor(color); tft.setTextWrap(true); tft.setTextSize(size); tft.print(text); } // a função setup é executada pontualmente quando o botão reset é premido ou // a placa é alimentada: void setup(void) { Serial.begin(115200); Serial.print(F("inicialização ...")); tft.initR(INITR_144GREENTAB); // inicialização específica do tft 128x128 1.44" usado tft.setRotation(1); // definição de rotação do monitor tft.fillScreen(WHITE); // desenho no ecrâ na sua globalidade cc = m_o_contador; testdrawtext(&cc,BLACK,5); // escrita no ecrâ delay(500); Serial.print(F(" completa")); } // a função loop é executada sucessivamente, uma e outra vez, e por aí em diante void loop() { Serial.print(F("iteração")); Serial.print(m_contador, DEC); m_contador = m_contador + 1; tft.drawRect(m_pos,m_pos,m_s,m_s,BLUE); // desenho de linha de quadrado azul delay(10); m_pos = m_pos + 1; m_s = m_s - 2; if (m_pos >= 64){ m_pos = 0; m_s = 128; tft.fillScreen(WHITE); m_o_contador = m_o_contador + 1; if (m_o_contador > 90) { m_o_contador = 65; } cc = m_o_contador; testdrawtext(&cc,BLACK,5); // escrita de texto no ecrâ delay(500); } tft.drawRect(m_pos,m_pos,m_s,m_s, GREEN); delay(10); } Compilar e carregar o código para a placa ESP32 Verificar o resultado Montagem exemplificativa: Referências: [1] Adafruit. Adafruit 1.44” Color TFT with Micro SD Socket - Pinouts. url: https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/pinouts (acedido em 25/08/2023). [2] Ltd. Espressif Systems Co. ESP32-DevKitC V4 Getting Started Guide. url: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html (acedido em 18/08/2023). [3] Ltd. Espressif Systems Co. SPI. url: https://docs.espressif.com/projects/arduino-esp32/en/latest/api/spi.html (acedido em 25/08/2023). [4] Paulo Menezes. Artigos de Suporte - DEEC - Kit Eletrónica - Primeiro Programa. url: https://kb.deec.uc.pt/books/deec/page/primeiro-programa (acedido em 17/08/2023). [5] Wikipedia. Serial Peripheral Interface. url: https://en.wikipedia.org/wiki/Serial_Peripheral_Interface (acedido em 5/08/2023). [6] Wikipedia. Thin-film transistor. url: https://en.wikipedia.org/wiki/LED_circuit (acedido em 25/08/2023). [7] Adafruit. Adafruit GFX Graphics Library. url: https://learn.adafruit.com/adafruit-gfx-graphics-library (acedido em 28/08/2023). [8] Adafruit. Adafruit GFX Graphics Library. url: https://github.com/adafruit/Adafruit-GFX-Library (acedido em 28/08/2023).[Programa] SHT40 Objetivo: Utilizar o ESP32-WROOM-32E DevKitC v4 [2] para ler valores de temperatura de um sensor SHT40. Lista de material: ESP32-WROOM-32E DevKitC v4 Breadboards Sensor SHT40 Fios de ligação Cabo micro USB Contextualização: Grove - Temperature & Humidity Sensor (SHT40) O sensor de temperatura e humidade da Seeed SHT40 é um sensor digital com interface I2C padrão [4]. Inter-Integrated Circuit (I2C) O Inter-Integrated Circuit [5] é um barramento série que permite a co-existência de múltiplos controladores e periféricos e considera essencialmente duas ligações: SDA Serial Data Line SDL Serial Clock Line Procedimento: Atentando nos terminais 21, 22, GND e 3.3V do ESP32 como referência deve considerar-se o seguinte ilustração de montagem: Instruções: (para uma primeira utilização do ESP32, sugere-se o tutorial Primeiro Programa [3]) Montar o circuito esquematizado anteriormente (ver Secção Montagem exemplificativa, para mais detalhe) Ligar a placa ESP32 ao computador por via de cabo USB micro Abrir o IDE Arduino Usando a ferramenta de gestão de bibliotecas do IDE Arduino procurar e instalar a biblioteca Adafruit SHT4X ([1]) Selecionar o dispositivo ESP32 adequado Copiar o seguinte /* * sensor sht40 */ #include "Adafruit_SHT4x.h" // Biblioteca relacionada com sensor SHT40 // inicialização de classe relacionada com SHT40 Adafruit_SHT4x sht4 = Adafruit_SHT4x(); // a função setup é executada pontualmente quando o botão reset é premido ou // a placa é alimentada: void setup() { // inicializa a comunicação série a 115200 bits por segundo: Serial.begin(115200); sht4.begin(); // definição de precisão e outras opções do sensor sht4.setPrecision(SHT4X_HIGH_PRECISION); sht4.setHeater(SHT4X_NO_HEATER); } // a função loop é executada sucessivamente, uma e outra vez, // e por aí em diante void loop() { sensors_event_t humidade, temperatura; // atualiza os objetos com dados novos sht4.getEvent(&humidade, &temperatura); Serial.print("Temperatura: "); Serial.print(temperatura.temperature); Serial.println(" ºC"); Serial.print("Humidade: "); Serial.print(humidade.relative_humidity); Serial.println("% rH"); delay(1000); } Compilar e carregar o código para a placa ESP32 Verificar o resultado Montagem exemplificativa: Referências: [1] Adafruit. Adafruit Sensirion SHT40, SHT41 & SHT45 Temperature & Humidity Sensors. url: https://learn.adafruit.com/adafruit-sht40-temperature-humidity-sensor (acedido em 29/08/2023).[2] Ltd. Espressif Systems Co. ESP32-DevKitC V4 Getting Started Guide. url: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html (acedido em 18/08/2023).[3] Paulo Menezes. Artigos de Suporte - DEEC - Kit Eletrónica - Primeiro Programa. url: https://kb.deec.uc.pt/books/deec/page/primeiro-programa (acedido em 17/08/2023).[4] Seeed Studio. Grove - Temperature & Humidity Sensor. url: https://wiki.seeedstudio.com/Grove-SHT4x/ (acedido em 29/08/2023).[5] Wikipedia. I2C. url: https://en.wikipedia.org/wiki/I%C2%B2C (acedido em 29/08/2023). Carregamento Manual de Instruções – Carregamento de Veículos Elétricos na Plataforma MIAGO A plataforma MIAGO é a ferramenta utilizada para gerir e acompanhar os carregamentos elétricos.Antes de iniciar qualquer carregamento, certifique-se de que possui credenciais válidas. 1. Validação Inicial Após ligar o veículo ao carregador, este necessita de uma validação de autorização. Se não possuir uma tag registada ou uma conta MIAGO ativa, deve dirigir-se ao Gabinete de Gestão de Rede e Informática para que os seus dados sejam registados e autorizados. Se já possuir as credenciais necessárias, poderá iniciar o carregamento através de um dos métodos seguintes. 2. Como Iniciar o Carregamento Existem duas formas de iniciar o carregamento do veículo: Opção 1 — Utilizar a Tag no Carregador Aproxime a sua tag de autorização do leitor existente no carregador. Após a validação, o carregamento será iniciado automaticamente. Opção 2 — Utilizar a Plataforma MIAGO Leia o código QR presente no carregador que o irá redirecionar para o link https://miago7.streamline.pt. Autentique-se na plataforma MIAGO com as suas credenciais. Aceda à página “Carregamentos” e selecione o seu carregador. Selecione “Iniciar Carregamento” para começar o processo.                     Acompanhamento do Carregamento Depois de iniciado, o carregamento pode ser acompanhado remotamente através da plataforma MIAGO. Ao ativar o modo manual de controlo, poderá: Consultar o estado do carregamento em tempo real Controlar ou interromper o carregamento de forma remota