Beiträge von ThomasH

    Anbei ein einfaches WEB-Interface, welches ohne PHP-[font="Times New Roman"]Kenntnisse [/font]erweitert werden kann.

    Die Lösungen wie raspcontrol sind zwar viel eleganter - leider sind die für mich zu komplex, um Anpassungen vorzunehmen.

    Mein Raspberry läuft ohne Monitor und Tastatur, nur mit einem WLAN Stick.
    Damit ich vor Ort mit dem iPad Kommandos ausführen und Meldungen lesen kann, hat mir mein Sohn ein php-Gerüst angelegt.
    In einer separaten Datei kann man recht einfach System-Befehle einfügen, welche dynamisch eingebunden werden.

    Das Dashboard besteht aus drei Dateien:

    • index.php - Diese ist die Hauptseite mit HTMLcode und Hyperlinks auf andere Web-Seiten
    • services.php - Hier werden die System Befehle eingebunden und aufgerufen
    • services.json - Die Datei mit System Kommandos


    Es gibt jedoch die Begrenzung, dass der die Benutzer-Rechte nicht ausreichen, um Kommandos mit "sudo" auszuführen.

    dashboard.jpg


    Hier die Konfigurationsdatei, in der man die Befehle definiert: services.json

    Hinweis: Meine python-Scripts sind ausführbar, daher können sie direkt ausgeführt werden.

    Es gibt eine große Anzahl von Motoren, aber ich habe mich für folgendes Modell entschieden: 28BJY-48 mit ULN2003 control board.
    Die Gründe für diesen Schrittmotor

    • Er is billig - ca. 2,50 inkl. Versand
    • Es bei vielen Anbietern erhätlich
    • hat einen Controller board
    • klein aber relativ stark
    • funktioniert mit 5V
    • einfaches Interface

    Ich habe ihn bei eBay im Chip_Partner_Store gekauft (1pcs Stepper Motor+ Driver Board ULN2003 5V 4-phase 5 line)
    Hier gibt es weitere Details: Stepper-Motor-28BJY-48-Datasheet
    28BJY-48-Stepper-Motor.jpg




    Der Motor und das Contoller Board werden mit dem Stecker vebunden.
    Die Verbindung zum PI erfolgt über 2 Pins für die Stromversorgung und 4 Pins für die Steuerleitungen.
    Raspberry-Schrittmotor-1.jpg


    Referenz
    http://www.raspberrypi-spy.co.uk/2012/07/steppe…trol-in-python/
    Hier wird der Schrittmotor direkt über die GPIO Pins angesprochen - nicht über I2C.

    Python Script
    Das folgende Script habe ich für die Steuerung erstellt.
    Es gibt zwei Sequenzen mit 4- und 8 Schritten.
    Die Sequenz mit 4 Schritten ist schneller hat aber weniger Kraft.

    Heinz60
    Vielen Dank für den Hinweis - da wäre ich nicht drauf gekommen.

    In Pythyon habe ich dies wie folgt umgesetzt:


    Hallo f.hien

    Falls Du noch Probleme mit der Datenbank hast, kannst Du Dir mein Program ansehen:

    ThomasH
    3. März 2013 um 20:01


    Ich habe einen cronjob, der das Program alle 15min aufruft somit die Temperatur der Sensoren ausliest und in die Datenbank schreibt.

    Gruß,
    Thomas

    Mein erstes Projekt mit dem Raspberry und der Programmiersprache Python:

    Die Temperaturen von mehreren Sensoren soll in eine Datenbank geschrieben werden.
    Da mein raspberry headless läuft (also ohne Bildschirm, Tastatur) sollen die Daten über einen WEB-Server präsentiert werden.

    Die Anregung für dies Projekt habe ich hier gefunden:
    Keine Ausgabe auf Webpage mit Linux

    Für Leute, die sich noch nicht so gut mit Python, MySQL oder Datenbanken auskennen, kann dies vielleicht hilfreich sein.

    Voraussetzung:

    • Webserver
    • PhP5
    • MySQL Datenbank
    • phpMyAdmin
    • Für die Grafik: JPGRAPH
    • Ich emppfehle MobaXterm für den Zugriff von Windows auf den raspberry
      wesentlich komfortabler als Putty
    • 1-Wire Sensoren


    Die Software wurde in Python geschrieben.
    In dem Paket sind folgende Dateien enthalten:

    • avrio.py Das Hauptprogram
    • avrio_database.py Ein Modul mit den Funktionen für die Datenbank
    • avrio_html.py Ein Modul, um eine HTML Datei zu erzeugen
    • avr-graph.php Ein PHP-Script, welches, den Temperaturverlauf als Grafik zeigt
    • avrio-writedb.sh Des kleines shell script, welches von cron aufgerufen wird


    Wenn avrio.py das erste Mal gestartet wird, werden die Parameter abgefragt und eine Konfigurationsdatei erzeugt (avrio-config.txt).
    Z.b. User/Pw für MySQL und die Datenbank-Parameter.
    Anschließend erzeugt das Programm die Datenbank und die Datenbank-Tabelle.
    Die bei der Installation angeschlossenen 1-Wire Sensoren werden automatisch erkannt und in die Konfigurations-Datei geschrieben.

    avrio-1.png

    Mit einem Editor (z.B. nano) erfolgt in der Datei die Zuordnung zu den Datenbankfeldern.
    avrio-2.png

    Als nächstes wird das Hauptprogram gestartet, welches ohne die Angabe von Parametern die Sensoren ausliest und die Daten in die Datenbank schreibt:
    > python avrio.py

    avrio-3.png

    Die Daten können auf mehrere Arten angezeigt werden:
    Über die Kommandozeile die letzten 3 Einträge aufrufen
    > python avrio.py -r 3

    avrio-4.png

    Über den Webserver kann man eine Seite aufrufen, die das Programm erzeugt:
    > python avrio.py -w
    Dann im Browser: http://192.168.178.60/avrweb/avr-single.html

    avrio-5.png

    Über den Webserver kann man eine Seite aufrufen, die eine Grafik erzeugt:
    http://192.168.178.60/avrweb/avr-graph.php

    avrio-6.png


    Falls jemand Fehler findet oder Anregung hat, bitte melden.