Błąd kompilatora
Strona główna › Fora › OSPi › Błąd kompilatora
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.
- Ten temat ma 4 różne kolory, 2 kolory i został ostatnio zaktualizowany 2 lata, 2 miesiące temu prz
ww.strapetz.
-
AutorWpisy
-
30. maja 2024 o 0:17 #32193
ww.strapetz
UczestnikCześć,
po ponownej instalacji Raspian Buster i po aktualizacji
> Sudo apt update && Sudo apt upgrade
od tego czasu
> sudo apt raspi-config
W interfejsach aktywowany jest i2c.
Instrukcje stamtąd: https://developer-blog.net/raspberry-pi-i2c-activate/ następnie następujące polecenie cmd pokazuje następujące informacje (uwaga widoczna tylko z 1)
> sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d mi f
00: — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — 48 49 — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —niestety widać
> sudo ./updater.sh
…
Kompiluję oprogramowanie sprzętowe OSPi…
znalazłem ADS1115
/usr/bin/ld: /tmp/ccY778qj.o: in function `flow_poll()’:
/home/wilhelm/OpenSprinkler-Firmware/main.cpp:109: undefined reference to `digitalRead(int)’
/usr/bin/ld: /tmp/ccGGSA5l.o: in function `OpenSprinkler::begin()’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:944: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:946: undefined reference to `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:947: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:948: undefined reference to `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:950: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:959: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:977: undefined reference to `digitalWrite(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:979: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:981: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1002: undefined reference to `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1003: undefined reference to `digitalWrite(int, unsigned char)’
/usr/bin/ld: /tmp/ccGGSA5l.o: in function `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. maja 2024 o 4:03 #32198Admin
Klucznik3. czerwca 2024 o 21:23 #32220ww.strapetz
UczestnikWitaj administratorze,
Zrobiłem to następnego dnia:
- 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. czerwca 2024 o 23:37 #32230Admin
Klucznik„Żądanie było zbyt duże” w przeglądarce: Próbuje uzyskać dostęp do strony przez https, ale to nie działa. Użyj http!
Więc http://adres-ip:8080
Gdzie adres IP jest adresem Twojego Raspberry Pi.
https działa tylko z ważnym certyfikatem przy użyciu serwera WWW/proxy.
Zostało to opisane tutaj:
https://OpenSprinklerShop.de/forums/topic/trick-nr-3-https-mit-ospi-und-raspberry-pi/14. czerwca 2024 o 18:27 #32290ww.strapetz
UczestnikCześć,
Problem: „Żądanie było zbyt duże”
rozwiązać w następujący sposób:
Zacznij od użytkownika root - eliminuje to potrzebę podawania sudo dla wszystkich poleceń!
> sudo su
przeniesiono stary skrypt inicjujący
> mv /etc/init.d/OpenSprinkler.sh /home/Nazwa-Użytkownik
Pobierz/skompiluj oprogramowanie OpensSprinkler w katalogu /root
> apt-get install build-essential
> Git klon https://github.com/OpenSprinkler/OpenSprinkler-Firmware.git
> Płyta CD z oprogramowaniem OpenSprinkler
> ./build.sh ospi
–> Pytanie, czy należy również zainstalować OpenSprinkler.sh: y
> uruchom ponownie
Teraz to działa
Pozdrawiam z Wiednia Willy
-
AutorWpisy
- Trzeba się znaleźć przez rozwiązanie w tym temacie.
