Błąd kompilatora
Strona główna › Fora › OSPi › Błąd kompilatora
- Ten temat ma 4 różne kolory, 2 kolory i został ostatnio zaktualizowany 2 lata, 1 miesiąc 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: w funkcji `flow_poll()':
/home/wilhelm/OpenSprinkler-Firmware/main.cpp:109: niezdefiniowane odwołanie do `digitalRead(int)'
/usr/bin/ld: /tmp/ccGGSA5l.o: w funkcji `OpenSprinkler::begin()':
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:944: niezdefiniowane odwołanie do `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:946: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:947: niezdefiniowane odwołanie do `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:948: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:950: niezdefiniowane odwołanie do `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:959: niezdefiniowane odwołanie do `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:977: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:979: niezdefiniowane odwołanie do `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:981: niezdefiniowane odwołanie do `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1002: niezdefiniowane odwołanie do `pinMode(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1003: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
/usr/bin/ld: /tmp/ccGGSA5l.o: w funkcji `OpenSprinkler::apply_all_station_bits()”:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1311: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1323: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1325: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1329: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
/usr/bin/ld: /tmp/ccGGSA5l.o:/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1348: więcej niezdefiniowanych odniesień do `digitalWrite(int, unsigned char)' podążaj
/usr/bin/ld: /tmp/ccGGSA5l.o: w funkcji `OpenSprinkler::detect_binarysensor_status(unsigned long)’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1385: niezdefiniowane odwołanie do `pinMode(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1386: niezdefiniowane odniesienie do `digitalRead(int)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1415: niezdefiniowane odwołanie do `pinMode(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1416: niezdefiniowane odniesienie do `digitalRead(int)'
/usr/bin/ld: /tmp/ccGGSA5l.o: w funkcji `OpenSprinkler::detect_programswitch_status(unsigned long)’:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1450: niezdefiniowane odwołanie do `pinMode(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1451: niezdefiniowane odniesienie do `digitalRead(int)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1462: niezdefiniowane odwołanie do `pinMode(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1463: niezdefiniowane odniesienie do `digitalRead(int)'
/usr/bin/ld: /tmp/ccGGSA5l.o: w funkcji `transmit_rfbit(długi bez znaku, długi bez znaku)”:
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1859: niezdefiniowane odwołanie do `gpio_write(int, unsigned char)’
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1861: niezdefiniowane odwołanie do `gpio_write(int, unsigned char)’
/usr/bin/ld: /tmp/ccGGSA5l.o: w funkcji `OpenSprinkler::switch_rfstation(RFStationData*, bool)':
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1908: niezdefiniowane odwołanie do `gpio_fd_open(int, int)”
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1910: niezdefiniowane odwołanie do `gpio_fd_close(int)'
/usr/bin/ld: /tmp/ccGGSA5l.o: w funkcji `OpenSprinkler::switch_gpiostation(GPIOStationData*, bool)':
/home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1925: niezdefiniowane odwołanie do `pinMode(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1927: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
/usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1929: niezdefiniowane odwołanie do `digitalWrite(int, unsigned char)'
Collect2: błąd: ld zwrócił 1 status wyjścia
Zrobione!
./updater.sh: linia 5: /etc/init.d/OpenSprinkler.sh: Nie ma takiego pliku ani kataloguCzy istnieje na to rozwiązanie?
Dziękuję i pozdrawiam z Wiednia
Willy'ego
31. maja 2024 o 4:03 #32198Admin
Klucznik3. czerwca 2024 o 21:23 #32220ww.strapetz
UczestnikWitaj administratorze,
Zrobiłem to następnego dnia:
- Ponowna instalacja z Debian bookworm x32
- Następnie aktywowano i2c
- Załadowano źródło GitHub
- Można teraz skompilować OpenSprinkler
- Na pytanie czy plik init powinien zostać utworzony odpowiadam twierdząco
Jednak po pierwszym uruchomieniu zawsze otrzymuję w przeglądarce następujący komunikat:
Żądanie było zbyt duże
sprawdzenie statusu Sudo /etc/init.d/OpenSprinkler.sh pokazuje:
● OpenSprinkler.service – LSB: Open Sprinkler Raspberry Pi
Załadowano: załadowano (/etc/init.d/OpenSprinkler.sh; wygenerowano)
Aktywny: aktywny (działa) od pon. 2024-06-03 21:13:20 CEST; 1 minutę 45 sekund temu
Dokumenty: man:systemd-sysv-generator(8)
Proces: 1569 ExecStart=/etc/init.d/OpenSprinkler.sh start (kod=zakończono, status=0/SUCCESS)
Zadania: 1 (limit: 1556)
Procesor: 574 ms
Grupa C: /system.slice/OpenSprinkler.service
└─1581 /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler03 czerwca 21:13:20 ospi systemd[1]: Uruchamianie OpenSprinkler.service – LSB: Open Sprinkler Raspberry Pi…
3 czerwca 21:13:20 ospi systemd[1]: Uruchomiono OpenSprinkler.service - LSB: Open Sprinkler Raspberry Pi.Uruchom ponownie tylko za pomocą Sudo /etc/init.d/OpenSprinkler.sh
Można również uzyskać dostęp do portalu internetowego OpenSprinkler.
Niestety po każdym ponownym uruchomieniu pojawia się komunikat przeglądarki: Żądanie było zbyt duże
Czy na to również istnieje rozwiązanie?
Dziękuję i pozdrawiam z Wiednia
Willy'ego
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 to adres 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ę określania 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.
