Posts by Tastenknecht

    Ich habe den Sensor im Einsatz und habe ihn genau so angeschlossen, analog (MCP3008) und digital (GPIO). Es ist natürlich kein Präzisionsmeßinstrument und die Haltbarkeit im Außeneinsatz ist auch fraglich aber für eine Aussage ob und wie stark es regnet ist er durchaus brauchbar.

    Hallo,
    ist es möglich beim RPi3 mit aktuellem Raspbian Image die Bootpriorität zu ändern? Gegenwärtig ist es so, daß bei gleichzeitig eingesteckter SD Karte und USB Stick, die beide für sich bootfähig sind, die SD Karte immer bevorzugt wird. Man muß also zum Booten von USB immer vorher die SD Karte entfernen, was natürlich schlecht ist, wenn diese nicht zugänglich ist, wie z.B. in einem Displaygehäuse. Natürlich könnte man das Image der SD Karte auch auf einen anderen USB Stick schreiben und diese dann weglassen, aber ginge es auch anders?

    [font="Courier New"]Das geht relativ einfach mit folgendem php Script, du mußt nur dein Passwort anpassen. Klappt bei mit mit der 7390 und der 7490 mit relativ aktuller Firmware. Ältere Lösungen funktionieren nicht mehr, da AVM das Zugriffsverfahren geändert hat. Das Script habe ich ergoogelt (Dank dem unbekannten Autor) und alles für mich unnötige rausgeschmissen.[/font]



    [font="Courier New"]<?php
    [/font]
    [font="Courier New"]//****************************************************[/font]
    [font="Courier New"]//** Fritzbox steuern und auslesen (Ab Fritz OS 5.5 !)[/font]
    [font="Courier New"]//****************************************************[/font]



    [font="Courier New"] $FritzBox['Host'] ='fritz.box';[/font]
    [font="Courier New"] $FritzBox['Passwort'] ='password';[/font]
    [font="Courier New"] $FritzBox['webcm'] ='/cgi-bin/webcm';[/font]


    [font="Courier New"]//An der Fritrz Box anmelden, liefert eine Session ID oder false[/font]
    [font="Courier New"]function FritzLogin()[/font]
    [font="Courier New"]{[/font]
    [font="Courier New"] global $FritzBox;[/font]
    [font="Courier New"] $fritzpage ='http://'.$FritzBox['Host'].'/login_sid.lua';[/font]
    [font="Courier New"] $xml = new SimpleXMLElement(file_get_contents($fritzpage));[/font]
    [font="Courier New"] $challange = $xml->Challenge; //Wert von Challenge abrufen[/font]
    [font="Courier New"] $response = file_get_contents($fritzpage.'?username=&response='.$challange . '-' . md5( iconv('ISO8859-1', 'UTF-16LE', $challange . '-' . $FritzBox['Passwort']) )); //Login[/font]
    [font="Courier New"] $xml = new SimpleXMLElement($response);[/font]
    [font="Courier New"] $sid = $xml->SID; //SID abrufen die für alle weiteren Aktionen gebraucht wird[/font]
    [font="Courier New"] if ($sid=='0000000000000000')[/font]
    [font="Courier New"] {[/font]
    [font="Courier New"] echo 'Keine gültige SSID - sind die Login (Passwort:"'.$FritzBox['Passwort'].'") und Hostdaten ("'.$FritzBox['Host'].'") richtig?';[/font]
    [font="Courier New"] return false;[/font]
    [font="Courier New"] }[/font]
    [font="Courier New"] unset($xml);[/font]
    [font="Courier New"] return $sid;[/font]
    [font="Courier New"]}[/font]


    [font="Courier New"]//***************************************[/font]
    [font="Courier New"]//FB anmelden SID holen[/font]
    [font="Courier New"] $sid=FritzLogin(); //Bei der Fritzbox anmelden und die Sessionid holen[/font]


    [font="Courier New"] if ($sid==false)[/font]
    [font="Courier New"] {[/font]
    [font="Courier New"] echo "Fehler beim login";[/font]
    [font="Courier New"] exit;[/font]
    [font="Courier New"] }[/font]
    [font="Courier New"] $datei = fopen("anrufer.tmp","w");[/font]
    [font="Courier New"] //Anruferliste auslesen und als Tabelle darstellen[/font]
    [font="Courier New"] $csv = file_get_contents('http://' . $FritzBox['Host'] .'/fon_num/foncalls_list.lua?sid='.$sid.'&csv='); //Anrufliste abrufen[/font]
    [font="Courier New"] fwrite($datei,$csv);[/font]
    [font="Courier New"] fclose($datei);[/font]
    [font="Courier New"]?>[/font]


    Du kannst den Zeitpunkt der Zwangstrennung selber festlegen:
    Internet -> Zugangadaten -> Verbindungseinstellungen -> Verbindungseinstellungen ändern -> Internetverbindung
    Dauerhaft halten (empfohlen für Flatrate-Tarife)
    Zwangstrennung durch den Anbieter verschieben in die Zeit zwischen x-y Uhr


    setzt das vorübergehend z.B auf aktuell 21.00 Uhr und setz dich ab 21.00 Uhr vor den Lautsprecher, alternativ kannst du natürlich den Reconnect auch durch
    Internet -> Online Monitor -> Neu verbinden
    jederzeit auslösen. Dann weißt du, ob der Reconnect Schuld ist.
    Natürlich kannst du den Pi auch neu booten oder einfach den mpd neu starten.


    schon alleine das dein Inetanbieter die Leitung 1x pro Tag kappt lässt ein pures 24/7 nicht zu. Du musst regelmäßig prüfen ob der dienst noch läuft und ihn dann ggf neustarten (den dienst, nicht den Pi)


    Die Zwangstrennung bewirkt bei mir nicht, daß die mpd Wiedergabe dadurch dauerhaft gestoppt wird. Ich habe schon öfter abends vergessen die Wiedergabe zu beenden und der mpd lief am nächsten Morgen dennoch, trotz selbstbestimmter Zwangstrennung gegen 02:00 Uhr. Vielleicht hat ja auch der Sender ein Zeitlimit.
    Ich würde mal den Zeitpunkt der Zwangstrennung verschieben und dann direkt prüfen ob es daran liegt oder mal testweise den Sender wechseln.

    • Zeile bearbeiten sodass diese dann so aussieht:

      Code
      dwc_otg.lpm_enable=0 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet console=tty3 loglevel=3 vt.global_cursor_default=0 logo.nologo


      Ich konnte 10x rebooten und habe keine "Raspberry Bilder" mehr gesehen. Der Bootvorgang ist bei mir vollständig Silent - das einzige was man nach einschalten des Pi's sieht ist ganz kurz am Anfang das Regenbogen Bild aber das lässt sich wie bereits im anderen Beitrag beschrieben mithilfe der disable_splash=1 Einstellung in /boot/config.txt ausschalten.


    Das scheint aber seit der letzten oder vorletzen Version zumindest bei Jessie Lite nicht mehr zu funktionieren. Es erscheinen trotzdem wieder Bootemeldungen, wenn auch nicht so viele wie ohne diese Einstellungen.
    Ich wollte einen RPi neu installieren habe ein aktuelles Jessie Lite Image und meine alten Konfigurationsdateien genommen, mit obigem Ergebnis. Danach habe ich nur das Image eingespielt und lediglich die cmdline.txt geändert. Keine Änderung.

    Das Script lief im Hintergrund und hat auf das Eintreffen eines Datentelegramms gewartet. Das ist bei dir ja nicht der Fall. Entweder du startest es zyklisch per cron oder direkt durch den Zugriff auf die Website und fragst dann den Sensor ab. Das Template ist eine von dir erstellte html Datei die deiner Website entspricht aber statt der tatsächliechen Werte Platzahltervaribalen enthält. Das Script erstzt dann die Platzhaltervariablen durch die Werte des DHT22. Die Werte werden bei der cron Version entsprechend der Parametrierung zyklisch neu eingeslen. Per Webaufruf sollte das auch gehen, das habe ich aber mit dem DHT22 noch nicht gemacht. Ich habe einen RPi, der beim Aufruf einer URL, und nur dann, das Bild seiner Webcam bereitstellt. Das könnte man ggf. so anpassen, daß er den DHT22 ausliest.

    Ich habe das mal als Shellscript geschrieben und später mit Lazarus realisiert. Angestoßen wurde das durch die eingehenden Telegramme einer ELV Wetterstation. In den Räumen, in denen sich ohnehin ein Raspberry befindet, nehme ich einen DHT22 oder auch einen BMP085 für den Luftdruck. Als Webserver habe ich lighthttpd genommen, mit Apache sollte das aber auch gehen. Die Scriptversion funktionierte in etwa so:


    DHT22 auslesen und Werte in ein Script einlesen:


    # Sensor dht22 auslesen
    sudo /home/pi/lol_dht22/loldht 7 >$quelle2
    ta=$(grep "Humidity" $quelle2 | cut -c 34-37)
    ha=$(grep "Humidity" $quelle2 | cut -c 12-15)


    Das Script ersetzt in der Datei eines statischem Template mit dem Befehl:


    sed -e "s/#ta#/$ta/" |\
    sed -e "s/#ha#/$ha/" |\


    Die Platzahltervaribalen in der index.tmpl durch die tatsächlichen Werte und schreibt diese in die index.html des Webservers


    <td>#ta#</td>
    <td>#ha#</td>


    Vielleicht nicht sehr elegant, hat aber problemlos finktioniert. Vielleicht hilft dir das schon.

    So ganz genau habe ich nicht verstanden was du vorhast bzw. wo genau dein Problem ist. Einen DHT22 lese ich auch aus und gebe seine Werte auf einer html Seite aus und schreiben sie in eine Datenbank, so daß ich den Temperaturverlauf der letzten 24 Stunden und der letzten 7 Tage grafisch darstellen kann. Die Ausgabe schreibe ich, wie auf der auf der Seite von sweetpi gezeigt, in eine Datei, aus der ich die Werte auslese und einer html Template Datei ersetze. Außerdem schreibe ich sie über rrdtool in eine Datenbank. Per Befehl werden dann aus der Datenbank direkt Grafiken erzeugt, die ich wiederum in einer anderen Website eingebunden habe. Den DHT22 ausschließlich beim Zugriff auf die Website auszulesen würde ja beim Befüllen einer Datenbank keinen Sinn machen.
    Oder habe ich dich falsch verstnden?

    ip a


    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet6 fe80::5737:641c:f446:7e60/64 scope link tentative
    valid_lft forever preferred_lft forever
    3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.78/8 brd 10.255.255.255 scope global wlan0
    valid_lft forever preferred_lft forever
    inet6 fe80::ba27:ebff:fe06:371b/64 scope link
    valid_lft forever preferred_lft forever
    4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.201/24 brd 10.0.1.255 scope global wlan1
    valid_lft forever preferred_lft forever
    inet 169.254.48.128/16 brd 169.254.255.255 scope global wlan1
    valid_lft forever preferred_lft forever
    inet6 fe80::306a:c1bc:98f:eb28/64 scope link
    valid_lft forever preferred_lft forever



    ip r
    default via 10.0.0.20 dev wlan0 metric 303
    10.0.0.0/8 dev wlan0 proto kernel scope link src 10.0.0.78 metric 303
    10.0.1.0/24 dev wlan1 proto kernel scope link src 10.0.1.201
    169.254.0.0/16 dev wlan1 proto kernel scope link src 169.254.48.128 metric 304


    Liefere ich nach. Ich werde jetzt nochmal Schritt für Schritt, beginnend mit einem jeweils unebrührtem Image, die Schritte nachvollziehen und schauen ab wann was nicht mehr geht. Geht aber erst am Wochenende.


    Ich habe das Problem weiter eingekreist und es scheint die Parametrierung für wlan1 zu sein. Ausgehend von folgender etc/network/interfaces:


    # interfaces(5) file used by ifup(8) and ifdown(8)


    # Please note that this file is written to be used with dhcpcd
    # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'


    # Include files from /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d


    auto lo
    iface lo inet loopback


    iface eth0 inet manual


    auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


    auto wlan1
    allow-hotplug wlan1
    iface wlan1 inet static
    address 10.0.1.201
    netmask 255.255.255.0
    wireless-channel 1
    wireless-essid PiAdHocNetwork
    wireless-mode ad-hoc


    und /etc/dhcpcd.conf:


    interface eth0
    static ip_address=10.0.0.88
    static routers=10.0.0.20
    static domain_name_servers=10.0.0.20


    interface wlan0
    static ip_address=10.0.0.78
    static routers=10.0.0.20
    static domain_name_servers=10.0.0.20


    stelle ich fest, daß wlan0 immer funktioniert und wlan1 nie. Das heißt, wenn ich in der interfaces wlan0 in wlan1 ändere und umgekehrt, funktioniert entweder die Infrasturktur- oder die Ad-Hoc Verbindung, je nachdem was gerade wlan0 ist aber nie die jeweilige wlan1 Verbindung, die zuvor als wlan0 noch funktionierte. Es scheint also kein ad-hoc/Infrastruktur sondern ein gleichzeit wlan0/wlan1 Problem unter Jessie zu sein.
    Die Ad-hoc Verbindung möchte ich nutzen, weil ich den zugehörigen Netzwertraffic eigentlich nicht über die Fb laufen lassen will und deren wlan bisher auch nicht permanent aktiv ist. Außerdem stehen die beiden Komponeten so dicht beieinander, daß ein Umweg über die Fb nicht nötig ist. Wenn es nicht geht mache ich es natürlich weiterhin über die Fb, aber warum sollte es grundsätzlich nicht funktionieren? Die Konfigurationsaufteilung unter Jessie auf dhcpdc.conf, interfaces und wpa_supplicant.conf finde ich persönlich allerdings auch nicht so gelungen, gerade wenn man ohnehin feste IP-Adressen verwendet.

    Hallo,
    ich habe mit zwei RPi ein Multiroomsystem Musiksystem über Wlan gebastelt. Ein RPi ist Server und gleichzeitig Client, der andere nur Client. Beide sind über eine Fritzbox miteinander verbunden. Nun kam ich auf den Gedanken die beiden nicht über die Fb sondern direkt über ein Ad-hoc Netzwerk miteinander zu verbinden. Die Ad-hoc Verbindung habe ich bereits eingerichtet, was dabei allerdings stört, ist die komplett fehlende Zugriffsmöglichkeit über die Fb auf den Server, z.B. um gelegentlich neue Musik einzuspielen oder zu kontrollieren.
    Ich habe also in den Server einen weiteren USB Wlan Stick gesteckt und die Ad-hoc Parametrierung einfach in die /etc/network/interfaces hinzugefügt, mit dem Ergebnis, daß jetzt beides nicht mehr funktioniert, also kein ping.


    Die bisherige Netzwerkonfiguration bestand eigentlich nur aus der angepaßten wpa_supplicant.conf und der Ergänzung der /etc/dhcpcd.conf mit den festen IP-Adresse für lan und das bisherige wlan:


    interface eth0
    static ip_address=10.0.0.88
    static routers=10.0.0.20
    static domain_name_servers=10.0.0.20


    interface wlan0
    static ip_address=10.0.0.78
    static routers=10.0.0.20
    static domain_name_servers=10.0.0.20


    Das funktioniert problemlos. Der Ad-hoc Modus läuft über die nachfolgenden Parameter in der /etc/network/interfaces auch problemlos, wenn auf dem Server netzwerktechnisch nur dieser parametriert ist, auf dem Client sowieso:


    allow-hotplug wlan0
    iface wlan0 inet static
    address 10.0.0.201
    netmask 255.255.255.0
    wireless-channel 1
    wireless-essid PiAdHocNetwork
    wireless-mode ad-hoc


    Füge ich nun diese Parametrierung, natürlich mit Anpassung an wlan1, nach dem Einstecken des Wlan Sticks einfach in die bisher funktioneren Netzwerkonfiguration in die bis dahin unberührte /etc/network/interfaces hinzu und boote ist komplett Ruhe.
    Ich habe auch den Kniff mit der /lib/udev/rules.d/75-persistent-net-generator.rules durchgeführt, geholfen hat es nicht. Das ganze läuft unter 2016-09-23-raspbian-jessie-lite.


    iwlist wlan0 scan und iwlist wlan1 scan zeigen ohne Probleme die Gegenstellen an, am wlan und der eingebundenen HW liegt es also nicht.
    Wo ist der Fehler?


    Fehler Nummer 1: Gleiches Subnetz, nach Änderung geht immerhin der Ping ins Infrastukturnetz, Ad-hoc geht noch nicht