Erro do compilador
Página inicial › Fóruns › OSPi › Erro do compilador
Hinweis: Beiträge im Forum sind nur für angemeldete Kunden mit mindestens einem Kauf möglich. Bitte melde dich mit dem Kundenkonto an, über das du bestellt hast.
- Este tópico contém 4 respostas, 2 usuários e foi atualizado pela última vez Já se passaram 2 anos, 2 meses por
ww.strapetz.
-
AutorArtigos
-
30. Maio 2024 às 0:17 #32193
ww.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: undefined reference to `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1323: undefined reference to `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1325: undefined reference to `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1329: undefined reference to `digitalWrite(int, unsigned char)’
/usr/bin/ld: /tmp/ccGGSA5l.o:/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1348: more undefined references to `digitalWrite(int, unsigned char)’ follow
/usr/bin/ld: /tmp/ccGGSA5l.o: in function `OpenSprinkler::detect_binarysensor_status(unsigned long)’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1385: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1386: undefined reference to `digitalRead(int)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1415: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1416: undefined reference to `digitalRead(int)’
/usr/bin/ld: /tmp/ccGGSA5l.o: in function `OpenSprinkler::detect_programswitch_status(unsigned long)’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1450: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1451: undefined reference to `digitalRead(int)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1462: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1463: undefined reference to `digitalRead(int)’
/usr/bin/ld: /tmp/ccGGSA5l.o: in function `transmit_rfbit(unsigned long, unsigned long)’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1859: undefined reference to `gpio_write(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1861: undefined reference to `gpio_write(int, unsigned char)’
/usr/bin/ld: /tmp/ccGGSA5l.o: in function `OpenSprinkler::switch_rfstation(RFStationData*, bool)’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1908: undefined reference to `gpio_fd_open(int, int)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1910: undefined reference to `gpio_fd_close(int)’
/usr/bin/ld: /tmp/ccGGSA5l.o: in function `OpenSprinkler::switch_gpiostation(GPIOStationData*, bool)’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1925: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1927: undefined reference to `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1929: undefined reference to `digitalWrite(int, unsigned char)’
collect2: error: ld returned 1 exit status
Done!
./updater.sh: line 5: /etc/init.d/OpenSprinkler.sh: No such file or directoryGibt es dafür eine Lösung?
Danke und liebe Grüsse aus Wien
Willy
31. Maio 2024 às 4:03 #32198Admin
Administrador3. Junho 2024 às 21:23 #32220ww.strapetz
ParticipanteHallo Admin,
ich bin am Folgetag so vorgegangen:
- Neuinstallation mit Debian bookworm x32
- Danach i2c aktiviert
- GitHub Quelle geladen
- Jetzt lässt sich OpenSprinkler compilieren
- Die Frage, ob die Init Datei angelegt werden soll, beantworte ich mit Ja
Nach dem ersten Start erhalte ich im Browser jedoch immer folgende Meldung:
The request was to large
eine Überprüfung von sudo /etc/init.d/OpenSprinkler.sh status zeigt:
● OpenSprinkler.service – LSB: Open Sprinkler Raspberry Pi
Loaded: loaded (/etc/init.d/OpenSprinkler.sh; generated)
Active: active (running) since Mon 2024-06-03 21:13:20 CEST; 1min 45s ago
Docs: man:systemd-sysv-generator(8)
Process: 1569 ExecStart=/etc/init.d/OpenSprinkler.sh start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 1556)
CPU: 574ms
CGroup: /system.slice/OpenSprinkler.service
└─1581 /home/wilhelm/OpenSprinkler-Firmware/OpenSprinklerJun 03 21:13:20 ospi systemd[1]: Starting OpenSprinkler.service – LSB: Open Sprinkler Raspberry Pi…
Jun 03 21:13:20 ospi systemd[1]: Started OpenSprinkler.service – LSB: Open Sprinkler Raspberry Pi.Erst mit Neustart von sudo /etc/init.d/OpenSprinkler.sh restart
kann auch auf das OpenSprinkler WebPortal zugegriffen werden.
Leider erhalte ich nach jedem Neustart die Browsermeldung: The request was to large
Gibt es dafür ebenfalls eine Lösung?
Danke und liebe Grüsse aus Wien
Willy
4. Junho 2024 às 23:37 #32230Admin
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. Junho 2024 às 18:27 #32290ww.strapetz
ParticipanteOlá,
Problem: “The request was to large”
wie folgt gelöst:
Einstieg mit root user – damit fällt die Angabe von sudo bei allen Comands weg!
> sudo su
altes init Script verschoben
> mv /etc/init.d/OpenSprinkler.sh /home/Name-User
Download/Compile der OpensSprinkler-Software im Verzeichnis /root
> apt-get install build-essential
> git clone https://github.com/OpenSprinkler/OpenSprinkler-Firmware.git
> cd OpenSprinkler-Firmware
> ./build.sh ospi
–> Frage ob das OpenSprinkler.sh ebenfalls installiert werden soll: y
> reboot
Agora funciona
Atenciosamente de Viena Willy
-
AutorArtigos
- Tem de iniciar sessão para responder sobre este tema.
