Compiler fejl

Hjemmeside Fora OSPi Compiler fejl

Viser 5 indlæg - 1 til 5 (af 5 i alt)
  • Author
    Indlæg
  • #32193
    ww.strapetz
    Participant

    Hej,

    efter geninstallation af Raspian Buster og efter en opdatering

    > sudo apt opdatering && sudo apt opgradering

    derefter

    > sudo apt raspi-config

    i2c er aktiveret i interfaces.

    Instruktioner derfra: https://developer-blog.net/raspberry-pi-i2c-activate/ fulgt og følgende cmd viser derefter følgende (opmærksomhed er kun synlig med 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: — — — — — — — —

    viser desværre

    > sudo ./updater.sh

    Kompilerer OSPi-firmware...
    fundet ADS1115
    /usr/bin/ld: /tmp/ccY778qj.o: i funktionen 'flow_poll()':
    /home/wilhelm/OpenSprinkler-Firmware/main.cpp:109: udefineret reference til `digitalRead(int)'
    /usr/bin/ld: /tmp/ccGGSA5l.o: i funktionen `OpenSprinkler::begin()':
    /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:944: udefineret reference til `pinMode(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:946: udefineret reference til `digitalWrite(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:947: udefineret reference til `pinMode(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:948: udefineret reference til `digitalWrite(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:950: udefineret reference til `pinMode(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:959: udefineret reference til `pinMode(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:977: udefineret reference til `digitalWrite(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:979: udefineret reference til `pinMode(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:981: udefineret reference til `pinMode(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1002: udefineret reference til `pinMode(int, unsigned char)'
    /usr/bin/ld: /home/wilhelm/OpenSprinkler-Firmware/OpenSprinkler.cpp:1003: udefineret reference til `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 directory

    Gibt es dafür eine Lösung?

    Danke und liebe Grüsse aus Wien

    Willy

    #32198
    Admin
    Keymaster

    Hej,

    Her er den anbefalede procedure:

    OpenSprinkler OSPI – Instruktioner

    Eller

    OSPi med ny kerne

     

    #32220
    ww.strapetz
    Participant

    Hej admin,

    Jeg gjorde dette dagen efter:

    • Geninstallation med Debian bookworm x32
    • Så blev i2c aktiveret
    • GitHub-kilden er indlæst
    • OpenSprinkler kan nu kompileres
    • Spørgsmålet om init-filen skal oprettes svarer jeg med ja

    Men efter den første start får jeg altid følgende besked i browseren:

    Anmodningen var for stor

    en kontrol af sudo /etc/init.d/OpenSprinkler.sh status viser:

    ● OpenSprinkler.service – LSB: Open Sprinkler Raspberry Pi
    Indlæst: indlæst (/etc/init.d/OpenSprinkler.sh; genereret)
    Aktiv: aktiv (kører) siden man 2024-06-03 21:13:20 CEST; 1 min 45 s siden
    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/OpenSprinkler

    Jun 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: Anmodningen var for stor

    Gibt es dafür ebenfalls eine Lösung?

    Danke und liebe Grüsse aus Wien

    Willy

    #32230
    Admin
    Keymaster

    "Forespørgslen var for stor" i browseren: Hun forsøger at få adgang til siden via https, men det virker ikke. Brug http!

    http://ip-adresse:8080

    Hvor IP-adressen er adressen på din Raspberry Pi.

    https fungerer kun med et gyldigt certifikat ved hjælp af en webserver/proxy.

    Dette blev beskrevet her:
    https://OpenSprinklerShop.de/forums/topic/trick-nr-3-https-mit-ospi-und-raspberry-pi/

     

    #32290
    ww.strapetz
    Participant

    Hej,

    Problem: "Anmodningen var for stor"

    løst som følger:

    Start med root-bruger - dette eliminerer behovet for at specificere sudo for alle kommandoer!

    > sudo su

    flyttet gammelt init-script

    > mv /etc/init.d/OpenSprinkler.sh /home/Name-User

    Download/kompilér OpensSprinkler-softwaren i /root-mappen

    > apt-get install build-essential

    > git klon https://github.com/OpenSprinkler/OpenSprinkler-Firmware.git

    > cd OpenSprinkler firmware

    > ./build.sh ospi

    –> Spørgsmål om OpenSprinkler.sh også skal installeres: y

    > genstart

    Nu virker det 🙂

    Venlig hilsen fra Wien Willy

Viser 5 indlæg - 1 til 5 (af 5 i alt)
  • Du skal være logget ind for at svare på dette emne.