Erro do compilador
Página inicial › Fóruns › OSPi › Erro do compilador
- Este tópico contém 4 respostas, 2 usuários e foi atualizado pela última vez ha 2 anos por
www.strapetz.
-
autorArtigos
-
30 de maio de 2024 às 0:17 #32193
www.strapetz
ParticipanteOlá,
depois de reinstalar o Raspian Buster e depois de uma atualização
> sudo apt update && sudo apt upgrade
depois disso
> sudo apt raspi-config
O i2c está ativado nas interfaces.
Instruções de lá: https://developer-blog.net/raspberry-pi-i2c-activate/ seguido e o seguinte cmd mostra o seguinte (atenção visível apenas com 1)
> sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — 48 49 — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —infelizmente mostra
> sudo ./updater.sh
…
Compilando firmware OSPi…
encontrado ADS1115
/usr/bin/ld: /tmp/ccY778qj.o: na função `flow_poll()’:
/home/wilhelm/OpenSprinkler-Firmware/main.cpp:109: referência indefinida para `digitalRead(int)’
/usr/bin/ld: /tmp/ccGGSA5l.o: na função `OpenSprinkler::begin()’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:944: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:946: referência indefinida para `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:947: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:948: referência indefinida para `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:950: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:959: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:977: referência indefinida para `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:979: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:981: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1002: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1003: referência indefinida para `digitalWrite(int, unsigned char)’
/usr/bin/ld: /tmp/ccGGSA5l.o: na função `OpenSprinkler::apply_all_station_bits()’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1311: referência indefinida para `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1323: referência indefinida para `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1325: referência indefinida para `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1329: referência indefinida para `digitalWrite(int, unsigned char)’
/usr/bin/ld: /tmp/ccGGSA5l.o:/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1348: mais referências indefinidas a `digitalWrite(int, unsigned char)' seguem
/usr/bin/ld: /tmp/ccGGSA5l.o: na função `OpenSprinkler::detect_binarysensor_status(unsigned long)':
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1385: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1386: referência indefinida para `digitalRead(int)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1415: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1416: referência indefinida para `digitalRead(int)’
/usr/bin/ld: /tmp/ccGGSA5l.o: na função `OpenSprinkler::detect_programswitch_status(unsigned long)':
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1450: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1451: referência indefinida para `digitalRead(int)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1462: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1463: referência indefinida para `digitalRead(int)’
/usr/bin/ld: /tmp/ccGGSA5l.o: na função `transmit_rfbit(unsigned long, unsigned long)':
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1859: referência indefinida para `gpio_write(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1861: referência indefinida para `gpio_write(int, unsigned char)’
/usr/bin/ld: /tmp/ccGGSA5l.o: na função `OpenSprinkler::switch_rfstation(RFStationData*, bool)’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1908: referência indefinida para `gpio_fd_open(int, int)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1910: referência indefinida para `gpio_fd_close(int)’
/usr/bin/ld: /tmp/ccGGSA5l.o: na função `OpenSprinkler::switch_gpiostation(GPIOStationData*, bool)’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1925: referência indefinida para `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1927: referência indefinida para `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1929: referência indefinida para `digitalWrite(int, unsigned char)’
collect2: erro: ld retornou 1 status de saída
Feito!
./updater.sh: linha 5: /etc/init.d/OpenSprinkler.sh: Arquivo ou diretório inexistenteExiste uma solução para isso?
Obrigado e cumprimentos de Viena
Willy
31 de maio de 2024 às 4h03 #32198Administrador
Administrador3 de junho de 2024 às 21h23 #32220www.strapetz
ParticipanteOlá administrador,
Fiz isso no dia seguinte:
- Reinstalando com Debian bookworm x32
- Então i2c ativado
- Fonte GitHub carregada
- OpenSprinkler agora pode ser compilado
- Eu respondo à pergunta se o arquivo init deve ser criado com sim
Porém, após a primeira inicialização sempre recebo a seguinte mensagem no navegador:
A solicitação era muito grande
uma verificação do status sudo /etc/init.d/OpenSprinkler.sh mostra:
● OpenSprinkler.service – LSB: Open Sprinkler Raspberry Pi
Carregado: carregado (/etc/init.d/OpenSprinkler.sh; gerado)
Ativo: ativo (em execução) desde segunda-feira, 03/06/2024 às 21:13:20 CEST; 1min 45s atrás
Documentos: man:systemd-sysv-generator(8)
Processo: 1569 ExecStart=/etc/init.d/OpenSprinkler.sh start (código=exited, status=0/SUCCESS)
Tarefas: 1 (limite: 1556)
CPU: 574ms
Grupo CG: /system.slice/OpenSprinkler.service
└─1581 /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler03 de junho 21:13:20 ospi systemd [1]: Iniciando OpenSprinkler.service - LSB: Open Sprinkler Raspberry Pi…
03 de junho 21:13:20 ospi systemd [1]: OpenSprinkler.service iniciado - LSB: Open Sprinkler Raspberry Pi.Reinicie apenas com sudo /etc/init.d/OpenSprinkler.sh
O OpenSprinkler WebPortal também pode ser acessado.
Infelizmente, após cada reinicialização recebo a mensagem do navegador: A solicitação era muito grande
Existe uma solução para isso também?
Obrigado e cumprimentos de Viena
Willy
4 de junho de 2024 às 23h37 #32230Administrador
Administrador“A solicitação era muito grande” no navegador: Ela tenta acessar a página via https, mas não funciona. Utilize http!
Então http://endereço IP:8080
Onde endereço IP é o endereço do seu Raspberry Pi.
https só funciona com um certificado válido usando um servidor web/proxy.
Isso foi descrito aqui:
https://OpenSprinklerShop.de/forums/topic/trick-nr-3-https-mit-ospi-und-raspberry-pi/14 de junho de 2024 às 18h27 #32290www.strapetz
ParticipanteOlá,
Problema: “A solicitação era muito grande”
resolvido da seguinte forma:
Comece com o usuário root - isso elimina a necessidade de especificar sudo para todos os comandos!
> sudo su
moveu o antigo script de inicialização
> mv /etc/init.d/OpenSprinkler.sh /home/Nome-Usuário
Baixe/compile o software OpensSprinkler no diretório /root
> apt-get install build essencial
> clone do git https://github.com/OpenSprinkler/OpenSprinkler-Firmware.git
> CD de firmware do OpenSprinkler
> ./build.sh ospi
-> Questione se o OpenSprinkler.sh também deve ser instalado: y
>reiniciar
Agora funciona 🙂
Atenciosamente de Viena Willy
-
autorArtigos
- Tem de iniciar sessão para responder sobre este tema.
