├── LICENSE
├── README.md
├── arduino.png
├── icons
├── 128x128
│ └── apps
│ │ └── arduino.png
├── 16x16
│ └── apps
│ │ └── arduino.png
├── 24x24
│ └── apps
│ │ └── arduino.png
├── 256x256
│ └── apps
│ │ └── arduino.png
├── 32x32
│ └── apps
│ │ └── arduino.png
├── 48x48
│ └── apps
│ │ └── arduino.png
├── 64x64
│ └── apps
│ │ └── arduino.png
├── 72x72
│ └── apps
│ │ └── arduino.png
└── 96x96
│ └── apps
│ └── arduino.png
├── install18.sh
├── install20.sh
├── install21.sh
├── install22.sh
└── shortcut
└── arduino-ide.desktop
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Robson Vaamonde
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Curso GRÁTIS de Arduino IDE, Cli, Cloud e Web Editor no Linux Mint 20.x e 21.x
2 |
3 | ## 💰 Ajude o projeto Bora para Prática a continuar fazendo vídeos e materiais gratuitos para o Canal do YouTUBE
4 | ## 💰 Chave PIX do projeto: robsonvaamonde@gmail.com
5 | ## 💰 Link de doação do PagSeguro: https://pag.ae/bjlSJcH
6 | ## 💰 Link de doação do Paypal: https://www.paypal.com/donate/?hosted_button_id=EALLB7DQ3U6H2
7 |
8 | Robson Vaamonde
9 | Procedimentos em TI: http://procedimentosemti.com.br
10 | Bora para Prática: http://boraparapratica.com.br
11 | Robson Vaamonde: http://vaamonde.com.br
12 | Facebook Procedimentos em TI: https://www.facebook.com/ProcedimentosEmTi
13 | Facebook Bora para Prática: https://www.facebook.com/boraparapratica
14 | Instagram Procedimentos em TI: https://www.instagram.com/procedimentoem
15 | YouTUBE Bora Para Prática: https://www.youtube.com/boraparapratica
16 | Linkedin Robson Vaamonde: https://www.linkedin.com/in/robson-vaamonde-0b029028/
17 | Github Procedimentos em TI: https://github.com/vaamonde
18 |
19 | ## **Links Oficiais do Arduino IDE e Linux Mint:**
20 | Site do Arduino: https://www.arduino.cc/
21 | Github do Arduino: https://github.com/arduino
22 | Site do Linux Mint: https://www.linuxmint.com/
23 |
24 | ## **Playlist do YouTUBE com todos os Vídeos do Arduino IDE no Linux Mint 20.x e 21.x:**
25 | Link da Playlist: https://www.youtube.com/playlist?list=PLozhsZB1lLUO6rSiDjyoc5nIlF99-ampo
26 |
27 | 
28 |
29 | ## **COMO instalar o Arduino IDE 2.0, Arduino Cli e Arduino Cloud no Linux Mint 20.3 Una x64**
30 |
31 | Vídeo mostrando os procedimentos para instalar e configurar o Arduino IDE 2.0, Arduino Cli, Arduino Agent Cloud e o Fritzing o Linux Mint 20.3 Una.
32 |
33 | Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++.
34 |
35 | Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada, escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras placas de desenvolvimento de fornecedores.
36 |
37 | A nova versão principal do IDE do Arduino é mais rápida e ainda mais poderosa! Além de um editor mais moderno e uma interface mais ágil, possui preenchimento automático, navegação de código e até mesmo um depurador ao vivo.
38 |
39 | Aplicação Arduino CLI (Interface de Linha de Comando). A solução tudo-em-um para codificar, compilar e fazer upload de códigos para suas placas Arduino usando o prompt de comando (Windows) e o Terminal (Linux e MAC).
40 |
41 | O Arduino Create é uma plataforma online que permite que makers e desenvolvedores possam compartilhar códigos/projetos, configurar suas placas, usar a IDE online, conectar dispositivos na Arduino Iot Cloud, acessar tutoriais, e várias outras funcionalidades!
42 |
43 | O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar de experimentar um protótipo e construir um circuito mais permanente com uma Placa de Circuito Impresso.
44 |
45 | Site Oficial do Arduino IDE: https://www.arduino.cc/
46 | Projeto do Github do Arduino IDE 2.x: https://github.com/arduino/arduino-ide
47 | Site Oficial do Arduino Web Editor: https://create.arduino.cc/getting-started/plugin/welcome
48 | Site Oficial do Fritzing: https://fritzing.org/
49 |
50 | [](https://www.youtube.com/watch?v=ByK8ADwI2mY "Arduino IDE RC9.2")
51 |
52 | Link da vídeo aula: https://www.youtube.com/watch?v=ByK8ADwI2mY
53 |
54 | Script utilizado nesse vídeo: https://github.com/vaamonde/arduino/blob/main/install20.sh
55 |
56 | ## **INSTALAÇÃO do Arduino IDE 2.0.0 BETA no Linux Mint 20.2 Uma x64 Bits**
57 |
58 | Vídeo mostrando os procedimentos básicos para instalar a versão do Arduino IDE v2.0.x BETA no Linux Mint 20.2 Uma x64 Bits
59 |
60 | Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por principiantes e profissionais. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e ferramentas mais complicadas.
61 |
62 | A nova versão principal da IDE do Arduino v2.0.0-11 BETA é mais rápida e ainda mais poderosa! Além de um editor mais moderno e uma interface mais ágil, possui preenchimento automático, navegação de código e até mesmo um depurador ao vivo.
63 |
64 | Site Oficial do Arduino IDE: https://www.arduino.cc/
65 | Github Oficial do Arduino IDE 2.0 BETA: https://github.com/arduino/arduino-ide
66 | Site Oficial do Fritzing: https://fritzing.org/
67 |
68 | [](https://www.youtube.com/watch?v=0K0Fg_WnO9s "Arduino IDE 2.0")
69 |
70 | Link da vídeo aula: https://www.youtube.com/watch?v=0K0Fg_WnO9s
71 |
72 | Script utilizado nesse vídeo: https://github.com/vaamonde/arduino/blob/main/install20.sh
73 |
74 | ## **INSTALAÇÃO do Arduino IDE no Linux Mint 20.2 Uma x64 Bits**
75 |
76 | Vídeo mostrando os procedimentos básicos para instalar a versão do Arduino IDE v1.8.x no Linux Mint 20.2 Uma x64 Bits
77 |
78 | Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por principiantes e profissionais. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e ferramentas mais complicadas.
79 |
80 | Site Oficial do Arduino IDE: https://www.arduino.cc/
81 | Site Oficial do BlocklyDuino IDE Plugin: https://github.com/BlocklyDuino/BlocklyDuino_IDE_plugin
82 | Site Oficial do Fritzing: https://fritzing.org/
83 |
84 | [](https://www.youtube.com/watch?v=n9cRUE3io-Q "Arduino IDE")
85 |
86 | Link da vídeo aula: https://www.youtube.com/watch?v=n9cRUE3io-Q
87 |
88 | Script utilizado nesse vídeo: https://github.com/vaamonde/arduino/blob/main/install-20.sh
--------------------------------------------------------------------------------
/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/arduino.png
--------------------------------------------------------------------------------
/icons/128x128/apps/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/128x128/apps/arduino.png
--------------------------------------------------------------------------------
/icons/16x16/apps/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/16x16/apps/arduino.png
--------------------------------------------------------------------------------
/icons/24x24/apps/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/24x24/apps/arduino.png
--------------------------------------------------------------------------------
/icons/256x256/apps/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/256x256/apps/arduino.png
--------------------------------------------------------------------------------
/icons/32x32/apps/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/32x32/apps/arduino.png
--------------------------------------------------------------------------------
/icons/48x48/apps/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/48x48/apps/arduino.png
--------------------------------------------------------------------------------
/icons/64x64/apps/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/64x64/apps/arduino.png
--------------------------------------------------------------------------------
/icons/72x72/apps/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/72x72/apps/arduino.png
--------------------------------------------------------------------------------
/icons/96x96/apps/arduino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vaamonde/arduino/b6048e9eb6c052e603fc30d23e601567eb855532/icons/96x96/apps/arduino.png
--------------------------------------------------------------------------------
/install18.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Autor: Robson Vaamonde
3 | # Site: www.procedimentosemti.com.br
4 | # Facebook: facebook.com/ProcedimentosEmTI
5 | # Facebook: facebook.com/BoraParaPratica
6 | # YouTube: youtube.com/BoraParaPratica
7 | # Data de criação: 23/01/2021
8 | # Data de atualização: 15/08/2022
9 | # Versão: 0.11
10 | # Testado e homologado para a versão do Linux Mint 20.1 Ulyssa, 20.2 Uma, 203. Una x64
11 | # Testado e homologado para a versão do Arduino IDE v1.8.x, BlockDuino e Fritzing v0.9.x
12 | #
13 | # Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única,
14 | # projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma
15 | # linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++.
16 | #
17 | # Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada,
18 | # escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em
19 | # placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras
20 | # placas de desenvolvimento de fornecedores.
21 | #
22 | # O BlocklyDuino é um editor de programação visual baseado na web para Arduino. BlocklyDuino
23 | # é baseado no Blockly, o editor de programação gráfica baseado na web. Fornece blocos de
24 | # linguagem de tipo estático e geradores de código para programação em Arduino. O BlocklyDuino
25 | # também oferece suporte aos blocos Grove para iniciar facilmente a experimentação e o
26 | # aprendizado baseados em microcontroladores.
27 | #
28 | # O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador
29 | # para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar
30 | # de experimentar um protótipo e construir um circuito mais permanente com uma Placa de
31 | # Circuito Impresso.
32 | #
33 | # Site Oficial do Arduino IDE: https://www.arduino.cc/
34 | # Site Oficial do BlocklyDuino IDE Plugin: https://github.com/BlocklyDuino/BlocklyDuino_IDE_plugin
35 | # Site Oficial do Fritzing: https://fritzing.org/
36 | #
37 | # Testando o Arduino:
38 | # 01. Arquivo
39 | # Exemplos
40 | # Exemplos embutidos
41 | # 01 Basics
42 | # Blink
43 | #
44 | # 02. Ferramentas
45 | # Placa
46 | # Gerenciador de Placas
47 | # Arduino Uno
48 | # Porta
49 | # Portas Seriais
50 | # /dev/tty/ACM0
51 | #-> Carregar
52 | #
53 | # Variável da Data Inicial para calcular o tempo de execução do script (VARIÁVEL MELHORADA)
54 | # opção do comando date: +%T (Time)
55 | HORAINICIAL=$(date +%T)
56 | #
57 | # Variável do usuário local que vai executar o Arduino IDE
58 | # opção da variável de ambiente USER: usuário atual logado no sistema
59 | USUARIO=$(echo $USER)
60 | #
61 | # Variável do caminho do Log dos Script utilizado nesse curso (VARIÁVEL MELHORADA)
62 | # opção do shell script: piper | = Conecta a saída padrão com a entrada padrão de outro comando
63 | # opção do shell script: aspas simples ' ' = Protege uma string completamente (nenhum caractere é especial)
64 | # opção do shell script: aspas duplas " " = Protege uma string, mas reconhece $, \ e ` como especiais
65 | # opções do comando cut: -d (delimiter), -f (fields)
66 | # opção da variável de ambiente $0: nome do comando ou script digitado
67 | LOG="$HOME/$(echo $0 | cut -d'/' -f2)"
68 | #
69 | # Declarando as variáveis de download do Arduino IDE, BlocklyDuino e do Fritzing (Links atualizados no dia 10/06/2022)
70 | ARDUINO="https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz"
71 | BLOCKLYDUINO="https://github.com/BlocklyDuino/BlocklyDuino_IDE_plugin"
72 | FRITZING="https://github.com/fritzing/fritzing-parts.git"
73 | #
74 | # Script de instalação do Arduino IDE, BlocklyDuino e do Fritzing no Linux Mint 20.1 Ulyssa e 20.2 Uma
75 | # opção do comando echo: -e (enable interpretation of backslash escapes), \n (new line)
76 | # $0 (variável de ambiente do nome do comando)
77 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60)
78 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
79 | echo -e "Início do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG
80 | clear
81 | #
82 | echo
83 | echo -e "Instalação do Arduino IDE, BlocklyDuino e do Fritzing no Linux Mint 20.x\n"
84 | echo -e "Após a instalação do Arduino IDE digitar no console ou localizar na busca indexada por: Arduino IDE."
85 | echo -e "Após a instalação do Fritzing digitar no console ou localizar na busca indexada por: Fritzing.\n"
86 | echo -e "Aguarde, esse processo demora um pouco dependendo do seu Link de Internet...\n"
87 | echo -e "Será necessário digitar a senha do seu usuário: $USUARIO que tem direitos administrativos do sudo.\n"
88 | sleep 5
89 | #
90 | echo -e "Atualizando o Sources List do Apt, aguarde..."
91 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
92 | sudo apt update &>> $LOG
93 | echo -e "Listas atualizadas com sucesso!!!, continuando com o script...\n"
94 | sleep 5
95 | #
96 | echo -e "Atualizando o sistema operacional, aguarde..."
97 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
98 | # opção do comando apt: -y (yes)
99 | sudo apt upgrade -y &>> $LOG
100 | sudo apt full-upgrade -y &>> $LOG
101 | sudo apt dist-upgrade -y &>> $LOG
102 | echo -e "Sistema atualizado com sucesso!!!, continuando com o script...\n"
103 | sleep 5
104 | #
105 | echo -e "Instalando as dependências desse script, aguarde..."
106 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
107 | # opção do comando apt: -y (yes)
108 | sudo apt install -y members git vim &>> $LOG
109 | echo -e "Dependências instaladas com sucesso!!!, continuando com o script...\n"
110 | sleep 5
111 | #
112 | echo -e "Removendo os software desnecessários, aguarde..."
113 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
114 | # opção do comando apt: -y (yes)
115 | sudo apt autoremove -y &>> $LOG
116 | sudo apt autoclean -y &>> $LOG
117 | echo -e "Software desnecessários removidos com sucesso!!!, continuando com o script...\n"
118 | sleep 5
119 | #
120 | echo -e "Instalando o Arduino IDE, BlocklyDuino e o Fritzing, aguarde...\n"
121 | #
122 | echo -e "Verificando a conexão com a Porta TTY (USB) do Arduino, aguarde..."
123 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
124 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
125 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
126 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando
127 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
128 | # opção da variável de ambiente $?: Código de retorno do último comando executado
129 | # opção do operador relacional ==: Igual
130 | if [ "$(sudo lsusb | grep Arduino &>> $LOG ; echo $?)" == "0" ]
131 | then
132 | echo -e "Arduino: $(sudo lsusb | grep Arduino)"
133 | echo -e "Arduino está conectado na Porta USB do seu computador, Pressione para continuar.\n"
134 | read
135 | sleep 5
136 | else
137 | echo -e "Arduino não está conectado na Porta USB, conecte o Arduino ou verifique a porta"
138 | echo -e "USB ou cabo USB, execute novamente esse script."
139 | exit 1
140 | fi
141 | #
142 | echo -e "Verificando a conexão com a Porta Dialout do Arduino, aguarde..."
143 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
144 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
145 | # opção do comando ls: -l (listing), -h (human-readable)
146 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT)
147 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
148 | # opção da variável de ambiente $?: Código de retorno do último comando executado
149 | # opção do operador relacional ==: Igual
150 | # opção do caractere curinga *: Qualquer coisa
151 | if [ "$(sudo ls -lh /dev/ttyA* &>> $LOG ; echo $?)" == "0" ]
152 | then
153 | echo -e "Conexão Dialout: $(sudo ls -lh /dev/ttyACM*)"
154 | echo -e "Conexão com a Porta Dialout do Arduino verificada com sucesso!!!, continuando com o script...\n"
155 | #
156 | echo -e "Alterando as permissões da Porta Dialout para todos os usuários, aguarde..."
157 | # opção do comando chmod: -v (verbose) a (all users), + (added), r (read), w (write)
158 | # opção do comando ls: -l (listing), -h (human-readable)
159 | # opção do caractere curinga *: Qualquer coisa
160 | echo -e "Permissões: $(sudo chmod -v a+rw /dev/ttyACM*)"
161 | echo -e "Permissões alteradas com sucesso!!!, Pressione para continuar.\n"
162 | read
163 | sleep 5
164 | else
165 | echo -e "Conexão com a Porta Dialout do Arduino não está disponível, verifique se você conectou"
166 | echo -e "corretamente o Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute"
167 | echo -e "novamente esse script."
168 | exit 1
169 | fi
170 | #
171 | echo -e "Verificando o grupo de acesso ao Dialout do Arduino, aguarde..."
172 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
173 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
174 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando
175 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT)
176 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
177 | # opção da variável de ambiente $?: Código de retorno do último comando executado
178 | # opção do operador relacional ==: Igual
179 | if [ "$(sudo cat /etc/group | grep dialout &>> $LOG ; echo $?)" == "0" ]
180 | then
181 | echo -e "Grupo Dialout: $(sudo cat /etc/group | grep dialout)"
182 | echo -e "Grupo de acesso ao Dialout do Arduino verificado com sucesso!!!, continuando com o script....\n"
183 | sleep 5
184 | #
185 | echo -e "Verificando os Membros efetivos dos grupos Dialout e Plugdev, aguarde..."
186 | # opção do comando members: -a (all)
187 | echo -e "Grupo Dialout: $(sudo members -a dialout)"
188 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)"
189 | echo -e "Membros efetivos dos grupos Dialout e Plugdev verificado com sucesso!!!, continuando com o script....\n"
190 | sleep 5
191 | #
192 | echo -e "Adicionando o usuário local: $USUARIO nos grupos: Dialout, Plugdev, TTY e UUCP, aguarde..."
193 | # opção do comando usermod: -a (append), -G (groups)
194 | # opção do comando members: -a (all)
195 | sudo usermod -a -G dialout $USUARIO
196 | sudo usermod -a -G plugdev $USUARIO
197 | sudo usermod -a -G tty $USUARIO
198 | sudo usermod -a -G uucp $USUARIO
199 | echo -e "Grupo Dialout: $(sudo members -a dialout)"
200 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)"
201 | echo -e "Grupo TTY: $(sudo members -a tty)"
202 | echo -e "Grupo UUCP: $(sudo members -a uucp)"
203 | echo -e "Usuário $USUARIO: $(id)"
204 | echo -e "Usuário adicionado nos grupos com sucesso!!!, Pressione para continuar.\n"
205 | read
206 | sleep 5
207 | else
208 | echo -e "Grupo de Dialout do Arduino não está disponível, verifique se você conectou corretamente o"
209 | echo -e "Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute novamente esse script."
210 | exit 1
211 | fi
212 | #
213 | echo -e "Fazendo o download do Arduino IDE do site Oficial, aguarde..."
214 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
215 | # opção do comando wget: -v (verbose), -O (output-document)
216 | sudo wget -v -O /tmp/arduino.tar.xz $ARDUINO &>> $LOG
217 | echo -e "Download do Arduino IDE do site Oficial feito com sucesso!!!, continuando com o script...\n"
218 | sleep 5
219 | #
220 | echo -e "Descompactando o Arduino IDE no diretório: /opt/arduino, aguarde..."
221 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
222 | # opção do comando tar: -J (xz), -x (extract), v (verbose), -f (file)
223 | # opção do comando mv: -v (verbose)
224 | cd /tmp
225 | sudo tar -Jxvf arduino.tar.xz &>> $LOG
226 | sudo mv -v arduino-*/ /opt/arduino &>> $LOG
227 | cd - &>> $LOG
228 | echo -e "Descompactação do Arduino IDE no diretório /opt/arduino feito com sucesso!!!, continuando com o script...\n"
229 | sleep 5
230 | #
231 | echo -e "Instalando o Arduino IDE utilizando o script do próprio Arduino, aguarde..."
232 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
233 | sudo bash /opt/arduino/install.sh &>> $LOG
234 | echo -e "Instalação do Arduino IDE feito com sucesso!!!, continuando com o script...\n"
235 | sleep 5
236 | #
237 | echo -e "Clonando o projeto do BlocklyDuino do Github, aguarde..."
238 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
239 | sudo git clone $BLOCKLYDUINO /tmp/blocklyduino &>> $LOG
240 | echo -e "Projeto do BlocklyDuino clonado com sucesso!!!, continuando com o script...\n"
241 | sleep 5
242 | #
243 | echo -e "Adicionando o BlocklyDuino nas ferramentas do Arduino IDE, aguarde..."
244 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
245 | # opção do comando mv: -v (verbose)
246 | # opção do caractere curinga *: Qualquer coisa
247 | sudo mv -v /tmp/blocklyduino/BlocklyDuinoPlugin/tool/* /opt/arduino/tools/ &>> $LOG
248 | echo -e "BlocklyDuino adicionado com sucesso!!!, continuando com o script...\n"
249 | sleep 5
250 | #
251 | echo -e "Instalando o Fritzing, aguarde..."
252 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
253 | # opção do comando apt: -y (yes)
254 | sudo apt install -y fritzing &>> $LOG
255 | echo -e "Instalação do Fritzing feito com sucesso!!!, continuando com o script...\n"
256 | sleep 5
257 | #
258 | echo -e "Clonando o projeto do Fritzing Parts do Github, aguarde..."
259 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
260 | sudo git clone $FRITZING /usr/share/fritzing/parts &>> $LOG
261 | echo -e "Projeto do Fritzing Parts clonado com sucesso!!!, continuando com o script...\n"
262 | sleep 5
263 | #
264 | echo -e "Instalação do Arduino IDE, BlocklyDuino e do Fritzing feita com Sucesso!!!."
265 | # script para calcular o tempo gasto (SCRIPT MELHORADO, CORRIGIDO FALHA DE HORA:MINUTO:SEGUNDOS)
266 | # opção do comando date: +%T (Time)
267 | HORAFINAL=$(date +%T)
268 | # opção do comando date: -u (utc), -d (date), +%s (second since 1970)
269 | HORAINICIAL01=$(date -u -d "$HORAINICIAL" +"%s")
270 | HORAFINAL01=$(date -u -d "$HORAFINAL" +"%s")
271 | # opção do comando date: -u (utc), -d (date), 0 (string command), sec (force second), +%H (hour), %M (minute), %S (second),
272 | TEMPO=$(date -u -d "0 $HORAFINAL01 sec - $HORAINICIAL01 sec" +"%H:%M:%S")
273 | # $0 (variável de ambiente do nome do comando)
274 | echo -e "Tempo gasto para execução do script $0: $TEMPO"
275 | echo -e "Pressione para concluir o processo."
276 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60)
277 | echo -e "Fim do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG
278 | read
279 | exit 1
280 |
--------------------------------------------------------------------------------
/install20.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Autor: Robson Vaamonde
3 | # Site: www.procedimentosemti.com.br
4 | # Facebook: facebook.com/ProcedimentosEmTI
5 | # Facebook: facebook.com/BoraParaPratica
6 | # YouTube: youtube.com/BoraParaPratica
7 | # Data de criação: 25/08/2021
8 | # Data de atualização: 28/07/2024
9 | # Versão: 0.11
10 | # Testado e homologado para a versão do Linux Mint 20 Ulyana, 20.1 Ulyssa, 20.2 Uma e 20.3 Una x64
11 | # Testado e homologado para a versão do Arduino IDE v2.0.x, Cli v0.26.x e Fritzing v0.9.x
12 | #
13 | # Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única,
14 | # projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma
15 | # linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++.
16 | #
17 | # Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada,
18 | # escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em
19 | # placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras
20 | # placas de desenvolvimento de fornecedores.
21 | #
22 | # A nova versão principal do IDE do Arduino é mais rápida e ainda mais poderosa! Além de
23 | # um editor mais moderno e uma interface mais ágil, possui preenchimento automático,
24 | # navegação de código e até mesmo um depurador ao vivo.
25 | #
26 | # Aplicação Arduino CLI (Interface de Linha de Comando). A solução tudo-em-um para codificar,
27 | # compilar e fazer upload de códigos para suas placas Arduino usando o prompt de comando
28 | # (Windows) e o Terminal (Linux e MAC).
29 | #
30 | # O Arduino Create é uma plataforma online que permite que makers e desenvolvedores possam
31 | # compartilhar códigos/projetos, configurar suas placas, usar a IDE online, conectar
32 | # dispositivos na Arduino Iot Cloud, acessar tutoriais, e várias outras funcionalidades!
33 | #
34 | # O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador
35 | # para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar
36 | # de experimentar um protótipo e construir um circuito mais permanente com uma Placa de
37 | # Circuito Impresso.
38 | #
39 | # Site Oficial do Arduino IDE: https://www.arduino.cc/
40 | # Projeto do Github do Arduino IDE 2.x: https://github.com/arduino/arduino-ide
41 | # Site Oficial do Arduino Cloud: https://cloud.arduino.cc/
42 | # Site Oficial do Arduino Web Editor: https://create.arduino.cc
43 | # Site Oficial do Arduino IoT: https://create.arduino.cc/iot/things
44 | # Site Oficial do Arduino Profile: https://id.arduino.cc/
45 | # Site Oficial do Fritzing: https://fritzing.org/
46 | #
47 | # OBSERVAÇÃO IMPORTANTE: Nesse vídeo utilizei os conceitos do Git e Github para clonar o
48 | # projeto no Linux Mint
49 | #
50 | # Ctrl+Alt+t (Atalho do Terminal)
51 | # sudo apt install git
52 | # git clone https://github.com/vaamonde/arduino
53 | # cd arduino/
54 | # bash install20.sh
55 | #
56 | # Terminal
57 | # arduino-ide
58 | #
59 | # Arduino IDE 2.0.x
60 | # Tools
61 | # Board "Arduino Uno"
62 | # Port: "/dev/ttyACM0"
63 | # Get Board Info
64 | #
65 | # File
66 | # Examples
67 | # 01. Basics
68 | # Blink
69 | # Upload
70 | #
71 | # Terminal
72 | # arduino-cli
73 | # arduino-cli version
74 | # arduino-cli board list
75 | #
76 | # Variável da localização da clonagem do script de instalação do Arduino IDE
77 | PATHINSTALL=$(pwd)
78 | #
79 | # Variável da Data Inicial para calcular o tempo de execução do script (VARIÁVEL MELHORADA)
80 | # opção do comando date: +%T (Time)
81 | HORAINICIAL=$(date +%T)
82 | #
83 | # Variável do usuário local que vai executar o Arduino IDE
84 | # opção da variável de ambiente USER: usuário atual logado no sistema
85 | USUARIO=$(echo $USER)
86 | #
87 | # Variável do caminho do Log dos Script utilizado nesse curso (VARIÁVEL MELHORADA)
88 | # opção do shell script: piper | = Conecta a saída padrão com a entrada padrão de outro comando
89 | # opção do shell script: aspas simples ' ' = Protege uma string completamente (nenhum caractere é especial)
90 | # opção do shell script: aspas duplas " " = Protege uma string, mas reconhece $, \ e ` como especiais
91 | # opções do comando cut: -d (delimiter), -f (fields)
92 | # opção da variável de ambiente $0: nome do comando ou script digitado
93 | LOG="$HOME/$(echo $0 | cut -d'/' -f2)"
94 | #
95 | # Declarando as variáveis de download do Arduino IDE, Cli e do Fritzing (Links atualizados no dia 28/07/2024)
96 | ARDUINOIDE="https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.2_Linux_64bit.zip"
97 | ARDUINOCLI="https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz"
98 | FRITZING="https://github.com/fritzing/fritzing-parts.git"
99 | AGENTARDUINO="https://github.com/arduino/arduino-create-agent/releases/download/1.6.0/ArduinoCloudAgent-1.6.0-linux-amd64-installer.run"
100 | PATHARDUINO="/opt/arduino20"
101 | PATHSHORTCUT="/usr/share/applications"
102 | #
103 | # Script de instalação do Arduino IDE 2.x e do Fritzing no Linux Mint 20 Ulyana, 20.1 Ulyssa, 20.2 Uma e 20.3 Una x64
104 | # opção do comando echo: -e (enable interpretation of backslash escapes), \n (new line)
105 | # $0 (variável de ambiente do nome do comando)
106 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60)
107 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
108 | echo -e "Início do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG
109 | clear
110 | #
111 | echo
112 | echo -e "Instalação do Arduino IDE 2.x, Cli e do Fritzing no Linux Mint 20.x\n"
113 | echo -e "Após a instalação do Arduino IDE digitar no console: arduino-ide"
114 | echo -e "Após a instalação do Arduino Cli digitar no console: arduino-cli"
115 | echo -e "Após a instalação do Arduino Agent Cloud acessar a URL: https://create.arduino.cc/getting-started/plugin/welcome"
116 | echo -e "Após a instalação do Fritzing localizar na busca indexada por: Fritzing.\n"
117 | echo -e "Aguarde, esse processo demora um pouco dependendo do seu Link de Internet...\n"
118 | echo -e "Será necessário digitar a senha do seu usuário: $USUARIO que tem direitos administrativos do sudo.\n"
119 | sleep 5
120 | #
121 | echo -e "Atualizando o Sources List do Apt, aguarde..."
122 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
123 | sudo apt update &>> $LOG
124 | echo -e "Listas atualizadas com sucesso!!!, continuando com o script...\n"
125 | sleep 5
126 | #
127 | echo -e "Atualizando o sistema operacional, aguarde..."
128 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
129 | # opção do comando apt: -y (yes)
130 | sudo apt upgrade -y &>> $LOG
131 | sudo apt full-upgrade -y &>> $LOG
132 | sudo apt dist-upgrade -y &>> $LOG
133 | echo -e "Sistema atualizado com sucesso!!!, continuando com o script...\n"
134 | sleep 5
135 | #
136 | echo -e "Instalando as dependências desse script, aguarde..."
137 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
138 | # opção do comando apt: -y (yes)
139 | sudo apt install -y members git vim unzip python2 python3 &>> $LOG
140 | echo -e "Dependências instaladas com sucesso!!!, continuando com o script...\n"
141 | sleep 5
142 | #
143 | echo -e "Removendo os software desnecessários, aguarde..."
144 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
145 | # opção do comando apt: -y (yes)
146 | sudo apt autoremove -y &>> $LOG
147 | sudo apt autoclean -y &>> $LOG
148 | echo -e "Software desnecessários removidos com sucesso!!!, continuando com o script...\n"
149 | sleep 5
150 | #
151 | echo -e "Instalando o Arduino IDE 2.x, Cli, Cloud e do Fritzing, aguarde...\n"
152 | sleep 5
153 | #
154 | echo -e "Verificando a conexão com a Porta TTY (USB) do Arduino, aguarde..."
155 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
156 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
157 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
158 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando
159 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
160 | # opção da variável de ambiente $?: Código de retorno do último comando executado
161 | # opção do operador relacional ==: Igual
162 | if [ "$(sudo lsusb | grep Arduino &>> $LOG ; echo $?)" == "0" ]
163 | then
164 | echo -e "Arduino: $(sudo lsusb | grep Arduino)"
165 | echo -e "Arduino está conectado na Porta USB do seu computador, Pressione para continuar.\n"
166 | read
167 | sleep 5
168 | else
169 | echo -e "Arduino não está conectado na Porta USB, conecte o Arduino ou verifique a porta"
170 | echo -e "USB ou cabo USB, execute novamente esse script."
171 | exit 1
172 | fi
173 | #
174 | echo -e "Verificando a conexão com a Porta Dialout do Arduino, aguarde..."
175 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
176 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
177 | # opção do comando ls: -l (listing), -h (human-readable)
178 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT)
179 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
180 | # opção da variável de ambiente $?: Código de retorno do último comando executado
181 | # opção do operador relacional ==: Igual
182 | # opção do caractere curinga *: Qualquer coisa
183 | if [ "$(sudo ls -lh /dev/ttyA* &>> $LOG ; echo $?)" == "0" ]
184 | then
185 | echo -e "Conexão Dialout: $(sudo ls -lh /dev/ttyACM*)"
186 | echo -e "Conexão com a Porta Dialout do Arduino verificada com sucesso!!!, continuando com o script...\n"
187 | #
188 | echo -e "Alterando as permissões da Porta Dialout para todos os usuários, aguarde..."
189 | # opção do comando chmod: -v (verbose) a (all users), + (added), r (read), w (write)
190 | # opção do comando ls: -l (listing), -h (human-readable)
191 | # opção do caractere curinga *: Qualquer coisa
192 | echo -e "Permissões: $(sudo chmod -v a+rw /dev/ttyACM*)"
193 | echo -e "Permissões alteradas com sucesso!!!, Pressione para continuar.\n"
194 | read
195 | sleep 5
196 | else
197 | echo -e "Conexão com a Porta Dialout do Arduino não está disponível, verifique se você conectou"
198 | echo -e "corretamente o Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute"
199 | echo -e "novamente esse script."
200 | exit 1
201 | fi
202 | #
203 | echo -e "Verificando o grupo de acesso ao Dialout do Arduino, aguarde..."
204 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
205 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
206 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando
207 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT)
208 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
209 | # opção da variável de ambiente $?: Código de retorno do último comando executado
210 | # opção do operador relacional ==: Igual
211 | if [ "$(sudo cat /etc/group | grep dialout &>> $LOG ; echo $?)" == "0" ]
212 | then
213 | echo -e "Grupo Dialout: $(sudo cat /etc/group | grep dialout)"
214 | echo -e "Grupo de acesso ao Dialout do Arduino verificado com sucesso!!!, continuando com o script....\n"
215 | sleep 5
216 | #
217 | echo -e "Verificando os Membros efetivos dos grupos Dialout e Plugdev, aguarde..."
218 | # opção do comando members: -a (all)
219 | echo -e "Grupo Dialout: $(sudo members -a dialout)"
220 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)"
221 | echo -e "Membros efetivos dos grupos Dialout e Plugdev verificado com sucesso!!!, continuando com o script....\n"
222 | sleep 5
223 | #
224 | echo -e "Adicionando o usuário local: $USUARIO nos grupos: Dialout, Plugdev, TTY e UUCP, aguarde..."
225 | # opção do comando usermod: -a (append), -G (groups)
226 | # opção do comando members: -a (all)
227 | sudo usermod -a -G dialout $USUARIO
228 | sudo usermod -a -G plugdev $USUARIO
229 | sudo usermod -a -G tty $USUARIO
230 | sudo usermod -a -G uucp $USUARIO
231 | echo -e "Grupo Dialout: $(sudo members -a dialout)"
232 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)"
233 | echo -e "Grupo TTY: $(sudo members -a tty)"
234 | echo -e "Grupo UUCP: $(sudo members -a uucp)"
235 | echo -e "Usuário $USUARIO: $(id)"
236 | echo -e "Usuário adicionado nos grupos com sucesso!!!, Pressione para continuar.\n"
237 | read
238 | sleep 5
239 | else
240 | echo -e "Grupo de Dialout do Arduino não está disponível, verifique se você conectou corretamente o"
241 | echo -e "Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute novamente esse script."
242 | exit 1
243 | fi
244 | #
245 | echo -e "Fazendo o download do Arduino IDE 2.x e Cli do site Oficial, aguarde..."
246 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
247 | # opção do comando mkdir: -v (verbose)
248 | # opção do comando wget: -v (verbose), -O (output-document)
249 | sudo mkdir -v /tmp/arduino-ide &>> $LOG
250 | sudo wget -v -O /tmp/arduino-ide/arduino20.zip $ARDUINOIDE &>> $LOG
251 | sudo wget -v -O /tmp/arduinocli.tar.gz $ARDUINOCLI &>> $LOG
252 | echo -e "Download do Arduino IDE 2.x do site Oficial feito com sucesso!!!, continuando com o script...\n"
253 | sleep 5
254 | #
255 | echo -e "Fazendo o download do Arduino Agent Cloud do site Oficial, aguarde..."
256 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
257 | # opção do comando wget: -v (verbose), -O (output-document)
258 | # opção do comando chmod: -v (verbose), +x (execution)
259 | sudo wget -v -O /tmp/agentarduino.run $AGENTARDUINO &>> $LOG
260 | sudo chmod -v +x /tmp/*.run &>> $LOG
261 | echo -e "Download do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n"
262 | sleep 5
263 | #
264 | echo -e "Descompactando o Arduino IDE 2.x e Cli no diretório: $PATHARDUINO, aguarde..."
265 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
266 | # opção do comando mv: -v (verbose)
267 | # opção do comando cp: -R (recursive), -v (verbose)
268 | # opção do comando tar: -z (gzip), -x (extract), -v (verbose), -f (file)
269 | cd /tmp/arduino-ide/
270 | sudo unzip arduino20.zip &>> $LOG
271 | sudo mv -v arduino-ide*/ $PATHARDUINO &>> $LOG
272 | sudo cp -Rv $PATHINSTALL/icons $PATHARDUINO &>> $LOG
273 | sudo cp -v $PATHINSTALL/shortcut/arduino-ide.desktop $PATHSHORTCUT &>> $LOG
274 | cd ..
275 | sudo tar -zxvf arduinocli.tar.gz &>> $LOG
276 | sudo mv -v arduino-cli $PATHARDUINO &>> $LOG
277 | echo -e "Descompactação do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n"
278 | sleep 5
279 | #
280 | echo -e "Instalando o Arduino Agent Cloud, aguarde..."
281 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
282 | # opção do comando mv: -v (verbose)
283 | cd /tmp
284 | ./agentarduino.run
285 | echo -e "Instalação do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n"
286 | sleep 5
287 | #
288 | echo -e "Criando os Links Simbólicos do Arduino IDE 2.x e Cli no diretório: /usr/local/bin/, aguarde..."
289 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
290 | # opção do comando ln: -s (symbolic), -v (verbose)
291 | # opção do comando cp: -R (recursive), -f (force), -v (verbose)
292 | sudo ln -sv $PATHARDUINO/arduino-ide /usr/local/bin/arduino-ide &>> $LOG
293 | sudo ln -sv $PATHARDUINO/arduino-cli /usr/local/bin/arduino-cli &>> $LOG
294 | echo -e "Links Simbólicos do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n"
295 | sleep 5
296 | #
297 | echo -e "Instalando o Fritzing, aguarde..."
298 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
299 | # opção do comando apt: -y (yes)
300 | sudo apt install -y fritzing &>> $LOG
301 | echo -e "Instalação do Fritzing feito com sucesso!!!, continuando com o script...\n"
302 | sleep 5
303 | #
304 | echo -e "Clonando o projeto do Fritzing Parts do Github, aguarde..."
305 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
306 | sudo git clone $FRITZING /usr/share/fritzing/parts &>> $LOG
307 | cd ~/arduino/ &>> $LOG
308 | echo -e "Projeto do Fritzing Parts clonado com sucesso!!!, continuando com o script...\n"
309 | sleep 5
310 | #
311 | echo -e "Instalação do Arduino IDE 2.x, Cli, Cloud e do Fritzing feita com Sucesso!!!"
312 | # script para calcular o tempo gasto (SCRIPT MELHORADO, CORRIGIDO FALHA DE HORA:MINUTO:SEGUNDOS)
313 | # opção do comando date: +%T (Time)
314 | HORAFINAL=$(date +%T)
315 | # opção do comando date: -u (utc), -d (date), +%s (second since 1970)
316 | HORAINICIAL01=$(date -u -d "$HORAINICIAL" +"%s")
317 | HORAFINAL01=$(date -u -d "$HORAFINAL" +"%s")
318 | # opção do comando date: -u (utc), -d (date), 0 (string command), sec (force second), +%H (hour), %M (minute), %S (second),
319 | TEMPO=$(date -u -d "0 $HORAFINAL01 sec - $HORAINICIAL01 sec" +"%H:%M:%S")
320 | # $0 (variável de ambiente do nome do comando)
321 | echo -e "Tempo gasto para execução do script $0: $TEMPO"
322 | echo -e "Pressione para concluir o processo."
323 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60)
324 | echo -e "Fim do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG
325 | read
326 | exit 1
327 |
--------------------------------------------------------------------------------
/install21.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Autor: Robson Vaamonde
3 | # Site: www.procedimentosemti.com.br
4 | # Facebook: facebook.com/ProcedimentosEmTI
5 | # Facebook: facebook.com/BoraParaPratica
6 | # YouTube: youtube.com/BoraParaPratica
7 | # Data de criação: 25/08/2021
8 | # Data de atualização: 28/07/2024
9 | # Versão: 0.16
10 | # Testado e homologado para a versão do Linux Mint 21 Vanessa, 21.1 Vera, 21.2 Victoria e 21.3 Virginia x64
11 | # Testado e homologado para a versão do Arduino IDE v2.x, Cli v0.34.x e Fritzing v0.9.x
12 | #
13 | # Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única,
14 | # projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma
15 | # linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++.
16 | #
17 | # Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada,
18 | # escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em
19 | # placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras
20 | # placas de desenvolvimento de fornecedores.
21 | #
22 | # A nova versão principal do IDE do Arduino é mais rápida e ainda mais poderosa! Além de
23 | # um editor mais moderno e uma interface mais ágil, possui preenchimento automático,
24 | # navegação de código e até mesmo um depurador ao vivo.
25 | #
26 | # Aplicação Arduino CLI (Interface de Linha de Comando). A solução tudo-em-um para codificar,
27 | # compilar e fazer upload de códigos para suas placas Arduino usando o prompt de comando
28 | # (Windows) e o Terminal (Linux e MAC).
29 | #
30 | # O Arduino Create é uma plataforma online que permite que makers e desenvolvedores possam
31 | # compartilhar códigos/projetos, configurar suas placas, usar a IDE online, conectar
32 | # dispositivos na Arduino Iot Cloud, acessar tutoriais, e várias outras funcionalidades!
33 | #
34 | # O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador
35 | # para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar
36 | # de experimentar um protótipo e construir um circuito mais permanente com uma Placa de
37 | # Circuito Impresso.
38 | #
39 | # Site Oficial do Arduino IDE: https://www.arduino.cc/
40 | # Projeto do Github do Arduino IDE 2.x: https://github.com/arduino/arduino-ide
41 | # Site Oficial do Arduino Cloud: https://cloud.arduino.cc/
42 | # Site Oficial do Arduino Web Editor: https://create.arduino.cc
43 | # Site Oficial do Arduino IoT: https://create.arduino.cc/iot/things
44 | # Site Oficial do Arduino Profile: https://id.arduino.cc/
45 | # Site Oficial do Fritzing: https://fritzing.org/
46 | #
47 | # OBSERVAÇÃO IMPORTANTE: Nesse vídeo utilizei os conceitos do Git e Github para clonar o
48 | # projeto no Linux Mint
49 | #
50 | # Ctrl+Alt+t (Atalho do Terminal)
51 | # sudo apt install git
52 | # git clone https://github.com/vaamonde/arduino
53 | # cd arduino/
54 | # bash install21.sh
55 | #
56 | # Terminal
57 | # arduino-ide
58 | #
59 | # Arduino IDE 2.2.x
60 | # Tools
61 | # Board "Arduino Uno"
62 | # Port: "/dev/ttyACM0"
63 | # Get Board Info
64 | #
65 | # File
66 | # Examples
67 | # 01. Basics
68 | # Blink
69 | # Upload
70 | #
71 | # Terminal
72 | # arduino-cli
73 | # arduino-cli version
74 | # arduino-cli board list
75 | #
76 | # Variável da localização da clonagem do script de instalação do Arduino IDE
77 | PATHINSTALL=$(pwd)
78 | #
79 | # Variável da Data Inicial para calcular o tempo de execução do script (VARIÁVEL MELHORADA)
80 | # opção do comando date: +%T (Time)
81 | HORAINICIAL=$(date +%T)
82 | #
83 | # Variável do usuário local que vai executar o Arduino IDE
84 | # opção da variável de ambiente USER: usuário atual logado no sistema
85 | USUARIO=$(echo $USER)
86 | #
87 | # Variável do caminho do Log dos Script utilizado nesse curso (VARIÁVEL MELHORADA)
88 | # opção do shell script: piper | = Conecta a saída padrão com a entrada padrão de outro comando
89 | # opção do shell script: aspas simples ' ' = Protege uma string completamente (nenhum caractere é especial)
90 | # opção do shell script: aspas duplas " " = Protege uma string, mas reconhece $, \ e ` como especiais
91 | # opções do comando cut: -d (delimiter), -f (fields)
92 | # opção da variável de ambiente $0: nome do comando ou script digitado
93 | LOG="$HOME/$(echo $0 | cut -d'/' -f2)"
94 | #
95 | # Declarando as variáveis de download do Arduino IDE, Cli e do Fritzing (Links atualizados no dia 28/07/2024)
96 | ARDUINOIDE="https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.2_Linux_64bit.zip"
97 | ARDUINOCLI="https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz"
98 | FRITZING="https://github.com/fritzing/fritzing-parts.git"
99 | AGENTARDUINO="https://github.com/arduino/arduino-create-agent/releases/download/1.6.0/ArduinoCloudAgent-1.6.0-linux-amd64-installer.run"
100 | PATHARDUINO="/opt/arduino20"
101 | PATHSHORTCUT="/usr/share/applications"
102 | #
103 | # Script de instalação do Arduino IDE 2.x e do Fritzing no Linux Mint 21 Vanessa, 21.1 Vera, 21.2 Victoria e 21.3 Virginia x64
104 | # opção do comando echo: -e (enable interpretation of backslash escapes), \n (new line)
105 | # $0 (variável de ambiente do nome do comando)
106 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60)
107 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
108 | echo -e "Início do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG
109 | clear
110 | #
111 | echo
112 | echo -e "Instalação do Arduino IDE 2.x, Cli e do Fritzing no Linux Mint 21.x\n"
113 | echo -e "Após a instalação do Arduino IDE digitar no console: arduino-ide"
114 | echo -e "Após a instalação do Arduino Cli digitar no console: arduino-cli"
115 | echo -e "Após a instalação do Arduino Agent Cloud acessar a URL: https://create.arduino.cc/getting-started/plugin/welcome"
116 | echo -e "Após a instalação do Fritzing localizar na busca indexada por: Fritzing.\n"
117 | echo -e "Aguarde, esse processo demora um pouco dependendo do seu Link de Internet...\n"
118 | echo -e "Será necessário digitar a senha do seu usuário: $USUARIO que tem direitos administrativos do sudo.\n"
119 | sleep 5
120 | #
121 | echo -e "Atualizando o Sources List do Apt, aguarde..."
122 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
123 | sudo apt update &>> $LOG
124 | echo -e "Listas atualizadas com sucesso!!!, continuando com o script...\n"
125 | sleep 5
126 | #
127 | echo -e "Atualizando o sistema operacional, aguarde..."
128 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
129 | # opção do comando apt: -y (yes)
130 | sudo apt upgrade -y &>> $LOG
131 | sudo apt full-upgrade -y &>> $LOG
132 | sudo apt dist-upgrade -y &>> $LOG
133 | echo -e "Sistema atualizado com sucesso!!!, continuando com o script...\n"
134 | sleep 5
135 | #
136 | echo -e "Instalando as dependências desse script, aguarde..."
137 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
138 | # opção do comando apt: -y (yes)
139 | sudo apt install -y members git vim unzip python2 python3 &>> $LOG
140 | echo -e "Dependências instaladas com sucesso!!!, continuando com o script...\n"
141 | sleep 5
142 | #
143 | echo -e "Removendo os software desnecessários, aguarde..."
144 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
145 | # opção do comando apt: -y (yes)
146 | sudo apt autoremove -y &>> $LOG
147 | sudo apt autoclean -y &>> $LOG
148 | echo -e "Software desnecessários removidos com sucesso!!!, continuando com o script...\n"
149 | sleep 5
150 | #
151 | echo -e "Instalando o Arduino IDE 2.x, Cli, Cloud e do Fritzing, aguarde...\n"
152 | sleep 5
153 | #
154 | echo -e "Verificando a conexão com a Porta TTY (USB) do Arduino, aguarde..."
155 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
156 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
157 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
158 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando
159 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
160 | # opção da variável de ambiente $?: Código de retorno do último comando executado
161 | # opção do operador relacional ==: Igual
162 | if [ "$(sudo lsusb | grep Arduino &>> $LOG ; echo $?)" == "0" ]
163 | then
164 | echo -e "Arduino: $(sudo lsusb | grep Arduino)"
165 | echo -e "Arduino está conectado na Porta USB do seu computador, Pressione para continuar.\n"
166 | read
167 | sleep 5
168 | else
169 | echo -e "Arduino não está conectado na Porta USB, conecte o Arduino ou verifique a porta"
170 | echo -e "USB ou cabo USB, execute novamente esse script."
171 | exit 1
172 | fi
173 | #
174 | echo -e "Verificando a conexão com a Porta Dialout do Arduino, aguarde..."
175 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
176 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
177 | # opção do comando ls: -l (listing), -h (human-readable)
178 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT)
179 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
180 | # opção da variável de ambiente $?: Código de retorno do último comando executado
181 | # opção do operador relacional ==: Igual
182 | # opção do caractere curinga *: Qualquer coisa
183 | if [ "$(sudo ls -lh /dev/ttyA* &>> $LOG ; echo $?)" == "0" ]
184 | then
185 | echo -e "Conexão Dialout: $(sudo ls -lh /dev/ttyACM*)"
186 | echo -e "Conexão com a Porta Dialout do Arduino verificada com sucesso!!!, continuando com o script...\n"
187 | #
188 | echo -e "Alterando as permissões da Porta Dialout para todos os usuários, aguarde..."
189 | # opção do comando chmod: -v (verbose) a (all users), + (added), r (read), w (write)
190 | # opção do comando ls: -l (listing), -h (human-readable)
191 | # opção do caractere curinga *: Qualquer coisa
192 | echo -e "Permissões: $(sudo chmod -v a+rw /dev/ttyACM*)"
193 | echo -e "Permissões alteradas com sucesso!!!, Pressione para continuar.\n"
194 | read
195 | sleep 5
196 | else
197 | echo -e "Conexão com a Porta Dialout do Arduino não está disponível, verifique se você conectou"
198 | echo -e "corretamente o Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute"
199 | echo -e "novamente esse script."
200 | exit 1
201 | fi
202 | #
203 | echo -e "Verificando o grupo de acesso ao Dialout do Arduino, aguarde..."
204 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
205 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
206 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando
207 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT)
208 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
209 | # opção da variável de ambiente $?: Código de retorno do último comando executado
210 | # opção do operador relacional ==: Igual
211 | if [ "$(sudo cat /etc/group | grep dialout &>> $LOG ; echo $?)" == "0" ]
212 | then
213 | echo -e "Grupo Dialout: $(sudo cat /etc/group | grep dialout)"
214 | echo -e "Grupo de acesso ao Dialout do Arduino verificado com sucesso!!!, continuando com o script....\n"
215 | sleep 5
216 | #
217 | echo -e "Verificando os Membros efetivos dos grupos Dialout e Plugdev, aguarde..."
218 | # opção do comando members: -a (all)
219 | echo -e "Grupo Dialout: $(sudo members -a dialout)"
220 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)"
221 | echo -e "Membros efetivos dos grupos Dialout e Plugdev verificado com sucesso!!!, continuando com o script....\n"
222 | sleep 5
223 | #
224 | echo -e "Adicionando o usuário local: $USUARIO nos grupos: Dialout, Plugdev, TTY e UUCP, aguarde..."
225 | # opção do comando usermod: -a (append), -G (groups)
226 | # opção do comando members: -a (all)
227 | sudo usermod -a -G dialout $USUARIO
228 | sudo usermod -a -G plugdev $USUARIO
229 | sudo usermod -a -G tty $USUARIO
230 | sudo usermod -a -G uucp $USUARIO
231 | echo -e "Grupo Dialout: $(sudo members -a dialout)"
232 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)"
233 | echo -e "Grupo TTY: $(sudo members -a tty)"
234 | echo -e "Grupo UUCP: $(sudo members -a uucp)"
235 | echo -e "Usuário $USUARIO: $(id)"
236 | echo -e "Usuário adicionado nos grupos com sucesso!!!, Pressione para continuar.\n"
237 | read
238 | sleep 5
239 | else
240 | echo -e "Grupo de Dialout do Arduino não está disponível, verifique se você conectou corretamente o"
241 | echo -e "Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute novamente esse script."
242 | exit 1
243 | fi
244 | #
245 | echo -e "Fazendo o download do Arduino IDE 2.x e Cli do site Oficial, aguarde..."
246 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
247 | # opção do comando mkdir: -v (verbose)
248 | # opção do comando wget: -v (verbose), -O (output-document)
249 | sudo mkdir -v /tmp/arduino-ide &>> $LOG
250 | sudo wget -v -O /tmp/arduino-ide/arduino20.zip $ARDUINOIDE &>> $LOG
251 | sudo wget -v -O /tmp/arduinocli.tar.gz $ARDUINOCLI &>> $LOG
252 | echo -e "Download do Arduino IDE 2.x do site Oficial feito com sucesso!!!, continuando com o script...\n"
253 | sleep 5
254 | #
255 | echo -e "Fazendo o download do Arduino Agent Cloud do site Oficial, aguarde..."
256 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
257 | # opção do comando wget: -v (verbose), -O (output-document)
258 | # opção do comando chmod: -v (verbose), +x (execution)
259 | sudo wget -v -O /tmp/agentarduino.run $AGENTARDUINO &>> $LOG
260 | sudo chmod -v +x /tmp/*.run &>> $LOG
261 | echo -e "Download do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n"
262 | sleep 5
263 | #
264 | echo -e "Descompactando o Arduino IDE 2.x e Cli no diretório: $PATHARDUINO, aguarde..."
265 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
266 | # opção do comando mv: -v (verbose)
267 | # opção do comando cp: -R (recursive), -v (verbose)
268 | # opção do comando tar: -z (gzip), -x (extract), -v (verbose), -f (file)
269 | cd /tmp/arduino-ide/
270 | sudo unzip arduino20.zip &>> $LOG
271 | sudo mv -v arduino-ide*/ $PATHARDUINO &>> $LOG
272 | sudo cp -Rv $PATHINSTALL/icons $PATHARDUINO &>> $LOG
273 | sudo cp -v $PATHINSTALL/shortcut/arduino-ide.desktop $PATHSHORTCUT &>> $LOG
274 | cd ..
275 | sudo tar -zxvf arduinocli.tar.gz &>> $LOG
276 | sudo mv -v arduino-cli $PATHARDUINO &>> $LOG
277 | echo -e "Descompactação do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n"
278 | sleep 5
279 | #
280 | echo -e "Instalando o Arduino Agent Cloud, aguarde..."
281 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
282 | # opção do comando mv: -v (verbose)
283 | cd /tmp
284 | ./agentarduino.run
285 | echo -e "Instalação do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n"
286 | sleep 5
287 | #
288 | echo -e "Criando os Links Simbólicos do Arduino IDE 2.x e Cli no diretório: /usr/local/bin/, aguarde..."
289 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
290 | # opção do comando ln: -s (symbolic), -v (verbose)
291 | # opção do comando cp: -R (recursive), -f (force), -v (verbose)
292 | sudo ln -sv $PATHARDUINO/arduino-ide /usr/local/bin/arduino-ide &>> $LOG
293 | sudo ln -sv $PATHARDUINO/arduino-cli /usr/local/bin/arduino-cli &>> $LOG
294 | echo -e "Links Simbólicos do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n"
295 | sleep 5
296 | #
297 | echo -e "Instalando o Fritzing, aguarde..."
298 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
299 | # opção do comando apt: -y (yes)
300 | sudo apt install -y fritzing &>> $LOG
301 | echo -e "Instalação do Fritzing feito com sucesso!!!, continuando com o script...\n"
302 | sleep 5
303 | #
304 | echo -e "Clonando o projeto do Fritzing Parts do Github, aguarde..."
305 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
306 | sudo git clone $FRITZING /usr/share/fritzing/parts &>> $LOG
307 | cd ~/arduino/ &>> $LOG
308 | echo -e "Projeto do Fritzing Parts clonado com sucesso!!!, continuando com o script...\n"
309 | sleep 5
310 | #
311 | echo -e "Instalação do Arduino IDE 2.x, Cli, Cloud e do Fritzing feita com Sucesso!!!"
312 | # script para calcular o tempo gasto (SCRIPT MELHORADO, CORRIGIDO FALHA DE HORA:MINUTO:SEGUNDOS)
313 | # opção do comando date: +%T (Time)
314 | HORAFINAL=$(date +%T)
315 | # opção do comando date: -u (utc), -d (date), +%s (second since 1970)
316 | HORAINICIAL01=$(date -u -d "$HORAINICIAL" +"%s")
317 | HORAFINAL01=$(date -u -d "$HORAFINAL" +"%s")
318 | # opção do comando date: -u (utc), -d (date), 0 (string command), sec (force second), +%H (hour), %M (minute), %S (second),
319 | TEMPO=$(date -u -d "0 $HORAFINAL01 sec - $HORAINICIAL01 sec" +"%H:%M:%S")
320 | # $0 (variável de ambiente do nome do comando)
321 | echo -e "Tempo gasto para execução do script $0: $TEMPO"
322 | echo -e "Pressione para concluir o processo."
323 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60)
324 | echo -e "Fim do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG
325 | read
326 | exit 1
327 |
--------------------------------------------------------------------------------
/install22.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Autor: Robson Vaamonde
3 | # Site: www.procedimentosemti.com.br
4 | # Facebook: facebook.com/ProcedimentosEmTI
5 | # Facebook: facebook.com/BoraParaPratica
6 | # YouTube: youtube.com/BoraParaPratica
7 | # Data de criação: 28/07/2024
8 | # Data de atualização: 27/10/2024
9 | # Versão: 0.02
10 | # Testado e homologado para a versão do Linux Mint 22 Wilma x64
11 | # Testado e homologado para a versão do Arduino IDE v2.x, Cli v0.34.x e Fritzing v0.9.x
12 | #
13 | # Arduino é uma plataforma de prototipagem eletrônica de hardware livre e de placa única,
14 | # projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma
15 | # linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++.
16 | #
17 | # Arduino Integrated Development Environment IDE é uma aplicação de plataforma cruzada,
18 | # escrito em funções de C e C ++. É usado para escrever e fazer upload de programas em
19 | # placas compatíveis com Arduino, mas também, com a ajuda de núcleos de terceiros, outras
20 | # placas de desenvolvimento de fornecedores.
21 | #
22 | # A nova versão principal do IDE do Arduino é mais rápida e ainda mais poderosa! Além de
23 | # um editor mais moderno e uma interface mais ágil, possui preenchimento automático,
24 | # navegação de código e até mesmo um depurador ao vivo.
25 | #
26 | # Aplicação Arduino CLI (Interface de Linha de Comando). A solução tudo-em-um para codificar,
27 | # compilar e fazer upload de códigos para suas placas Arduino usando o prompt de comando
28 | # (Windows) e o Terminal (Linux e MAC).
29 | #
30 | # O Arduino Create é uma plataforma online que permite que makers e desenvolvedores possam
31 | # compartilhar códigos/projetos, configurar suas placas, usar a IDE online, conectar
32 | # dispositivos na Arduino Iot Cloud, acessar tutoriais, e várias outras funcionalidades!
33 | #
34 | # O Fritzing é uma iniciativa de código aberto para desenvolver um software tipo CAD amador
35 | # para design de hardware eletrônico, para apoiar designers e artistas prontos para deixar
36 | # de experimentar um protótipo e construir um circuito mais permanente com uma Placa de
37 | # Circuito Impresso.
38 | #
39 | # Site Oficial do Arduino IDE: https://www.arduino.cc/
40 | # Projeto do Github do Arduino IDE 2.x: https://github.com/arduino/arduino-ide
41 | # Site Oficial do Arduino Cloud: https://cloud.arduino.cc/
42 | # Site Oficial do Arduino Web Editor: https://create.arduino.cc
43 | # Site Oficial do Arduino IoT: https://create.arduino.cc/iot/things
44 | # Site Oficial do Arduino Profile: https://id.arduino.cc/
45 | # Site Oficial do Fritzing: https://fritzing.org/
46 | #
47 | # OBSERVAÇÃO IMPORTANTE: Nesse vídeo utilizei os conceitos do Git e Github para clonar o
48 | # projeto no Linux Mint
49 | #
50 | # Ctrl+Alt+t (Atalho do Terminal)
51 | # sudo apt install git
52 | # git clone https://github.com/vaamonde/arduino
53 | # cd arduino/
54 | # bash install22.sh
55 | #
56 | # Terminal
57 | # arduino-ide
58 | #
59 | # Arduino IDE 2.2.x
60 | # Tools
61 | # Board "Arduino Uno"
62 | # Port: "/dev/ttyACM0"
63 | # Get Board Info
64 | #
65 | # File
66 | # Examples
67 | # 01. Basics
68 | # Blink
69 | # Upload
70 | #
71 | # Terminal
72 | # arduino-cli
73 | # arduino-cli version
74 | # arduino-cli board list
75 | #
76 | # Variável da localização da clonagem do script de instalação do Arduino IDE
77 | PATHINSTALL=$(pwd)
78 | #
79 | # Variável da Data Inicial para calcular o tempo de execução do script (VARIÁVEL MELHORADA)
80 | # opção do comando date: +%T (Time)
81 | HORAINICIAL=$(date +%T)
82 | #
83 | # Variável do usuário local que vai executar o Arduino IDE
84 | # opção da variável de ambiente USER: usuário atual logado no sistema
85 | USUARIO=$(echo $USER)
86 | #
87 | # Variável do caminho do Log dos Script utilizado nesse curso (VARIÁVEL MELHORADA)
88 | # opção do shell script: piper | = Conecta a saída padrão com a entrada padrão de outro comando
89 | # opção do shell script: aspas simples ' ' = Protege uma string completamente (nenhum caractere é especial)
90 | # opção do shell script: aspas duplas " " = Protege uma string, mas reconhece $, \ e ` como especiais
91 | # opções do comando cut: -d (delimiter), -f (fields)
92 | # opção da variável de ambiente $0: nome do comando ou script digitado
93 | LOG="$HOME/$(echo $0 | cut -d'/' -f2)"
94 | #
95 | # Declarando as variáveis de download do Arduino IDE, Cli e do Fritzing (Links atualizados no dia 27/10/2024)
96 | ARDUINOIDE="https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.3_Linux_64bit.zip"
97 | ARDUINOCLI="https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz"
98 | FRITZING="https://github.com/fritzing/fritzing-parts.git"
99 | AGENTARDUINO="https://github.com/arduino/arduino-create-agent/releases/download/1.6.1/ArduinoCloudAgent-1.6.1-linux-amd64-installer.run"
100 | PATHARDUINO="/opt/arduino"
101 | PATHSHORTCUT="/usr/share/applications"
102 | #
103 | # Script de instalação do Arduino IDE 2.x e do Fritzing no Linux Mint 22 Wilma x64
104 | # opção do comando echo: -e (enable interpretation of backslash escapes), \n (new line)
105 | # $0 (variável de ambiente do nome do comando)
106 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60)
107 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
108 | echo -e "Início do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG
109 | clear
110 | #
111 | echo
112 | echo -e "Instalação do Arduino IDE 2.x, Cli e do Fritzing no Linux Mint 22.x\n"
113 | echo -e "Após a instalação do Arduino IDE digitar no console: arduino-ide"
114 | echo -e "Após a instalação do Arduino Cli digitar no console: arduino-cli"
115 | echo -e "Após a instalação do Arduino Agent Cloud acessar a URL: https://create.arduino.cc/getting-started/plugin/welcome"
116 | echo -e "Após a instalação do Fritzing localizar na busca indexada por: Fritzing.\n"
117 | echo -e "Aguarde, esse processo demora um pouco dependendo do seu Link de Internet...\n"
118 | echo -e "Será necessário digitar a senha do seu usuário: $USUARIO que tem direitos administrativos do sudo.\n"
119 | sleep 5
120 | #
121 | echo -e "Atualizando o Sources List do Apt, aguarde..."
122 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
123 | sudo apt update &>> $LOG
124 | echo -e "Listas atualizadas com sucesso!!!, continuando com o script...\n"
125 | sleep 5
126 | #
127 | echo -e "Atualizando o sistema operacional, aguarde..."
128 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
129 | # opção do comando apt: -y (yes)
130 | sudo apt upgrade -y &>> $LOG
131 | sudo apt full-upgrade -y &>> $LOG
132 | sudo apt dist-upgrade -y &>> $LOG
133 | echo -e "Sistema atualizado com sucesso!!!, continuando com o script...\n"
134 | sleep 5
135 | #
136 | echo -e "Instalando as dependências desse script, aguarde..."
137 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
138 | # opção do comando apt: -y (yes)
139 | sudo apt install -y members git vim unzip python3 &>> $LOG
140 | echo -e "Dependências instaladas com sucesso!!!, continuando com o script...\n"
141 | sleep 5
142 | #
143 | echo -e "Removendo os software desnecessários, aguarde..."
144 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
145 | # opção do comando apt: -y (yes)
146 | sudo apt autoremove -y &>> $LOG
147 | sudo apt autoclean -y &>> $LOG
148 | echo -e "Software desnecessários removidos com sucesso!!!, continuando com o script...\n"
149 | sleep 5
150 | #
151 | echo -e "Instalando o Arduino IDE 2.x, Cli, Cloud e do Fritzing, aguarde...\n"
152 | sleep 5
153 | #
154 | echo -e "Verificando a conexão com a Porta TTY (USB) do Arduino, aguarde..."
155 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
156 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
157 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
158 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando
159 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
160 | # opção da variável de ambiente $?: Código de retorno do último comando executado
161 | # opção do operador relacional ==: Igual
162 | if [ "$(sudo lsusb | grep Arduino &>> $LOG ; echo $?)" == "0" ]
163 | then
164 | echo -e "Arduino: $(sudo lsusb | grep Arduino)"
165 | echo -e "Arduino está conectado na Porta USB do seu computador, Pressione para continuar.\n"
166 | read
167 | sleep 5
168 | else
169 | echo -e "Arduino não está conectado na Porta USB, conecte o Arduino ou verifique a porta"
170 | echo -e "USB ou cabo USB, execute novamente esse script."
171 | exit 1
172 | fi
173 | #
174 | echo -e "Verificando a conexão com a Porta Dialout do Arduino, aguarde..."
175 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
176 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
177 | # opção do comando ls: -l (listing), -h (human-readable)
178 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT)
179 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
180 | # opção da variável de ambiente $?: Código de retorno do último comando executado
181 | # opção do operador relacional ==: Igual
182 | # opção do caractere curinga *: Qualquer coisa
183 | if [ "$(sudo ls -lh /dev/ttyA* &>> $LOG ; echo $?)" == "0" ]
184 | then
185 | echo -e "Conexão Dialout: $(sudo ls -lh /dev/ttyACM*)"
186 | echo -e "Conexão com a Porta Dialout do Arduino verificada com sucesso!!!, continuando com o script...\n"
187 | #
188 | echo -e "Alterando as permissões da Porta Dialout para todos os usuários, aguarde..."
189 | # opção do comando chmod: -v (verbose) a (all users), + (added), r (read), w (write)
190 | # opção do comando ls: -l (listing), -h (human-readable)
191 | # opção do caractere curinga *: Qualquer coisa
192 | echo -e "Permissões: $(sudo chmod -v a+rw /dev/ttyACM*)"
193 | echo -e "Permissões alteradas com sucesso!!!, Pressione para continuar.\n"
194 | read
195 | sleep 5
196 | else
197 | echo -e "Conexão com a Porta Dialout do Arduino não está disponível, verifique se você conectou"
198 | echo -e "corretamente o Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute"
199 | echo -e "novamente esse script."
200 | exit 1
201 | fi
202 | #
203 | echo -e "Verificando o grupo de acesso ao Dialout do Arduino, aguarde..."
204 | # opção do bloco de agrupamento "": Protege uma string, mas reconhece $, \ e ` como especiais
205 | # opção do bloco de agrupamento $(): Executa comandos numa subshell, retornando o resultado
206 | # opção do redirecionar |: Conecta a saída padrão com a entrada padrão de outro comando
207 | # opção do redirecionador >: Redireciona a saída padrão (STDOUT)
208 | # opção do operador ; (ponto e vírgula): operador que executa vários comandos em sucessão
209 | # opção da variável de ambiente $?: Código de retorno do último comando executado
210 | # opção do operador relacional ==: Igual
211 | if [ "$(sudo cat /etc/group | grep dialout &>> $LOG ; echo $?)" == "0" ]
212 | then
213 | echo -e "Grupo Dialout: $(sudo cat /etc/group | grep dialout)"
214 | echo -e "Grupo de acesso ao Dialout do Arduino verificado com sucesso!!!, continuando com o script....\n"
215 | sleep 5
216 | #
217 | echo -e "Verificando os Membros efetivos dos grupos Dialout e Plugdev, aguarde..."
218 | # opção do comando members: -a (all)
219 | echo -e "Grupo Dialout: $(sudo members -a dialout)"
220 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)"
221 | echo -e "Membros efetivos dos grupos Dialout e Plugdev verificado com sucesso!!!, continuando com o script....\n"
222 | sleep 5
223 | #
224 | echo -e "Adicionando o usuário local: $USUARIO nos grupos: Dialout, Plugdev, TTY e UUCP, aguarde..."
225 | # opção do comando usermod: -a (append), -G (groups)
226 | # opção do comando members: -a (all)
227 | sudo usermod -a -G dialout $USUARIO
228 | sudo usermod -a -G plugdev $USUARIO
229 | sudo usermod -a -G tty $USUARIO
230 | sudo usermod -a -G uucp $USUARIO
231 | echo -e "Grupo Dialout: $(sudo members -a dialout)"
232 | echo -e "Grupo Plugdev: $(sudo members -a plugdev)"
233 | echo -e "Grupo TTY: $(sudo members -a tty)"
234 | echo -e "Grupo UUCP: $(sudo members -a uucp)"
235 | echo -e "Usuário $USUARIO: $(id)"
236 | echo -e "Usuário adicionado nos grupos com sucesso!!!, Pressione para continuar.\n"
237 | read
238 | sleep 5
239 | else
240 | echo -e "Grupo de Dialout do Arduino não está disponível, verifique se você conectou corretamente o"
241 | echo -e "Arduino na Porta USB, conecte o Arduino ou verifique o cabo USB, execute novamente esse script."
242 | exit 1
243 | fi
244 | #
245 | echo -e "Fazendo o download do Arduino IDE 2.x e Cli do site Oficial, aguarde..."
246 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
247 | # opção do comando mkdir: -v (verbose)
248 | # opção do comando wget: -v (verbose), -O (output-document)
249 | sudo mkdir -v /tmp/arduino-ide &>> $LOG
250 | sudo wget -v -O /tmp/arduino-ide/arduino.zip $ARDUINOIDE &>> $LOG
251 | sudo wget -v -O /tmp/arduinocli.tar.gz $ARDUINOCLI &>> $LOG
252 | echo -e "Download do Arduino IDE 2.x do site Oficial feito com sucesso!!!, continuando com o script...\n"
253 | sleep 5
254 | #
255 | echo -e "Fazendo o download do Arduino Agent Cloud do site Oficial, aguarde..."
256 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
257 | # opção do comando wget: -v (verbose), -O (output-document)
258 | # opção do comando chmod: -v (verbose), +x (execution)
259 | sudo wget -v -O /tmp/agentarduino.run $AGENTARDUINO &>> $LOG
260 | sudo chmod -v +x /tmp/*.run &>> $LOG
261 | echo -e "Download do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n"
262 | sleep 5
263 | #
264 | echo -e "Descompactando o Arduino IDE 2.x e Cli no diretório: $PATHARDUINO, aguarde..."
265 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
266 | # opção do comando mv: -v (verbose)
267 | # opção do comando cp: -R (recursive), -v (verbose)
268 | # opção do comando tar: -z (gzip), -x (extract), -v (verbose), -f (file)
269 | cd /tmp/arduino-ide/
270 | sudo unzip arduino.zip &>> $LOG
271 | sudo mv -v arduino-ide*/ $PATHARDUINO &>> $LOG
272 | sudo cp -Rv $PATHINSTALL/icons $PATHARDUINO &>> $LOG
273 | sudo cp -v $PATHINSTALL/shortcut/arduino-ide.desktop $PATHSHORTCUT &>> $LOG
274 | cd ..
275 | sudo tar -zxvf arduinocli.tar.gz &>> $LOG
276 | sudo mv -v arduino-cli $PATHARDUINO &>> $LOG
277 | echo -e "Descompactação do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n"
278 | sleep 5
279 | #
280 | echo -e "Instalando o Arduino Agent Cloud, aguarde..."
281 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
282 | # opção do comando mv: -v (verbose)
283 | cd /tmp
284 | ./agentarduino.run
285 | echo -e "Instalação do Arduino Agent Cloud feito com sucesso!!!, continuando com o script...\n"
286 | sleep 5
287 | #
288 | echo -e "Criando os Links Simbólicos do Arduino IDE 2.x e Cli no diretório: /usr/local/bin/, aguarde..."
289 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
290 | # opção do comando ln: -s (symbolic), -v (verbose)
291 | # opção do comando cp: -R (recursive), -f (force), -v (verbose)
292 | sudo ln -sv $PATHARDUINO/arduino-ide /usr/local/bin/arduino-ide &>> $LOG
293 | sudo ln -sv $PATHARDUINO/arduino-cli /usr/local/bin/arduino-cli &>> $LOG
294 | echo -e "Links Simbólicos do Arduino IDE 2.x e Cli feito com sucesso!!!, continuando com o script...\n"
295 | sleep 5
296 | #
297 | echo -e "Instalando o Fritzing, aguarde..."
298 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
299 | # opção do comando apt: -y (yes)
300 | sudo apt install -y fritzing &>> $LOG
301 | echo -e "Instalação do Fritzing feito com sucesso!!!, continuando com o script...\n"
302 | sleep 5
303 | #
304 | echo -e "Clonando o projeto do Fritzing Parts do Github, aguarde..."
305 | # opção do redirecionador &>>: Redireciona a saída padrão (STDOUT) anexando
306 | sudo git clone $FRITZING /usr/share/fritzing/parts &>> $LOG
307 | cd ~/arduino/ &>> $LOG
308 | echo -e "Projeto do Fritzing Parts clonado com sucesso!!!, continuando com o script...\n"
309 | sleep 5
310 | #
311 | echo -e "Instalação do Arduino IDE 2.x, Cli, Cloud e do Fritzing feita com Sucesso!!!"
312 | # script para calcular o tempo gasto (SCRIPT MELHORADO, CORRIGIDO FALHA DE HORA:MINUTO:SEGUNDOS)
313 | # opção do comando date: +%T (Time)
314 | HORAFINAL=$(date +%T)
315 | # opção do comando date: -u (utc), -d (date), +%s (second since 1970)
316 | HORAINICIAL01=$(date -u -d "$HORAINICIAL" +"%s")
317 | HORAFINAL01=$(date -u -d "$HORAFINAL" +"%s")
318 | # opção do comando date: -u (utc), -d (date), 0 (string command), sec (force second), +%H (hour), %M (minute), %S (second),
319 | TEMPO=$(date -u -d "0 $HORAFINAL01 sec - $HORAINICIAL01 sec" +"%H:%M:%S")
320 | # $0 (variável de ambiente do nome do comando)
321 | echo -e "Tempo gasto para execução do script $0: $TEMPO"
322 | echo -e "Pressione para concluir o processo."
323 | # opção do comando date: + (format), %d (day), %m (month), %Y (year 1970), %H (hour 24), %M (minute 60)
324 | echo -e "Fim do script $0 em: $(date +%d/%m/%Y-"("%H:%M")")\n" &>> $LOG
325 | read
326 | exit 1
327 |
--------------------------------------------------------------------------------
/shortcut/arduino-ide.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Type=Application
3 | Exec=/opt/arduino20/arduino-ide
4 | Name=Arduino IDE
5 | Icon=/opt/arduino20/icons/256x256/apps/arduino.png
6 | Terminal=false
7 | StartupNotify=true
--------------------------------------------------------------------------------