Archiv der Kategorie: Linux

Raspberry PI – SMS senden mit smsd

Nach fast einem Jahr Laufzeit habe ich mich da zu entschieden nun auch das Senden auf smsd umzustellen. Der Weg über gsmsendsms hat bei etwas höherer Last doch zu oft zu Problemen geführt, welche nur mit einem Neustart behoben werden konnten. Schließlich gelingt es mir in einem anderen raspberry-Projekt (Heizungssteuerung) quasi eine unendliche Uptime zu erreichen. Mein Ziel ist es das auch für den SMS-Gateway zu erreichen. Bis jetzt habe ich ca. 50.000 SMS gesendet und 5.000 empfangen. Die Probephase für das Senden über smsd (ca. 1000 SMS) ist bis jetzt ohne Probleme verlaufen.

raspberry pi sms-gateway
raspberry pi sms-gateway

Zum Senden mittels smsd muss einfach pro SMS eine Textdatei mit belibigen Namen im Ausgangsverzeichnis erstellt werden. Ich habe als Namen die Id des Datensatzes benutzt, wodurch ich dann einfach nach der Verarbeitung den Status in der SQL Datenbank aktualisieren kann.
Raspberry PI – SMS senden mit smsd weiterlesen

Raspberry PI – SMS empfangen

Für den Empfang habe ich mich für den smsd entschieden. Das Program gehört zu den SMS Server Tools. Mit diesem kann man senden und empfangen. Ich benutze es aber nur zum Empfangen. Damit sich gsmsendsms und smsd nicht in die Quere kommen beende ich den Daemon während des Sendens.

<?php
system("pkill smsd");
...
...
system("/usr/sbin/smsd &");
?>

Die Einrichtung des Deamons läuft ein ein config File im etc Verzeichnis. Ich habe dazu am Ende der Datei smsd.conf folgende Zeilen hinzugefügt: Raspberry PI – SMS empfangen weiterlesen

Raspberry PI – Projekt SMS Gateway

Heute habe ich mit einem neuen Projekt für den Raspberry Pi begonnen. Ein Raspberry Pi soll per Webservice Inhalt und Empfänger für eine SMS empfangen und diese dann per UMTS Stick an einen Mobilfunkprovider übermitteln. Die SMS Nachrichten werden in einer MySQL Datenbank zwischengespeichert und nach erfolgreicher Übergabe als erledigt gekennzeichnet. Ein Cronjob wird dann die Datenbank regelmäßig aufräumen, um Datenmüll zu vermeiden. Mit diesem System sollen im Monat ca. 5000 SMS versendet werden.

Hardware

  • Raspberry Pi – Model B 512 MB
  • SD Karte 8 GB Sandisk Ultra
  • Huawei E173 Umts Stick
  • Edimax WLan Stick
  • 2A 5V Netzteil

Software

  • Debian
  • MySQL + PhpMyAdmin
  • Apache Webserver
  • gsm-utils
  • smstools
  • PHP

Temerpaturüberwachung – Erfahrungsbericht nach zwei Monaten

Als erstes möchte ich gleich vornweg stellen, das Projekt Temperaturüberwachung ist ein voller Erfolg. Das System läuft absolut stabil, ohne jeglichen Aussetzter. Selbst die Installation einer neuen Fritzbox war kein Problem für das System. Als ich nach über einer Woche die defekte FritzBox durch eine neue ersetzt hatte, begann der Raspberry ohne Neustart nach ca. 5 Minuten mit der Übertragung der in der Zwischenzeit gesammelten Daten an den Webserver. Ich habe schon lange kein System mehr gesehen, welches ab dem ersten Tag so stabil gelaufen ist. Vor der Inbetriebnahem habe ich mehrere Versuche zum Thema Stromausfall und Abruch der WLAN- bzw. Internetverbindung gemacht. Das ganze System verhält sich wie fast ein Föhn. Rein in die Steckdose eine Minute warten und alles läuft wie gewollt. Macht keine Geräuche, Gerüche und der Stromverbrauch hält sich wirklich in Grenzen.

Raspberry PI – System – Software installieren

Für die hier beschriebene Projekte müssen auf auf dem raspberry pi einige Software Pakete installiert werden. Im Schritt eins (sudo bash) erst einmal eine neue shell mit root Rechten öffnen, danach könne dann die einzelnen Packete installiert werden. Vorausetztung ist natührlich eine Verbindung zum Internet.

#sudo bash

#apt-get install mc

#apt-get install apache2

#apt-get install php5

#apt-get install libapache2-mod-php5 libapache2-mod-perl2 php5 php5-cli php5-common php5-curl php5-dev php5-domxml php5-gd php5-imap php5-mysql

#apt-get install mysql-server mysql-client php5-mysql
 

Die installierten Pakete sollten auch von Zeit zu Zeit mal aktualisiert werden. Mit update wird die Liste der vorhandenen Pakete erneuert. Die Funktion upgrade installiert dann die neuste im Paket verfügbare Version  für bereits installierte Pakete. Dieser Vorgang kann je nach Anzahl und Größe einige Zeit in Anspruch nehmen. Bei meinen Systemen hat das zwischen 30 Minuten und einer Stunde gedauert.

#sudo bash

#apt-get update

#apt-get upgrade

Raspberry PI – Temperaturüberwachung – Software anpassen

Download der Software von http://www.emsystech.de/raspi-sht21/   Nach dem Entpacken muss zuerst mal ein neues Binary des Programms erstellt werden.  Dazu habe ich mir als erstes ein Verzeichnis Namens „temper“ erstellt und in dieses das ZIP-File entpackt. Dann noch schnell die Sourcen neu kompilieren.

>sudo bash

#cd temper

#cd source

#make

Danach das neu erstellte File sht21 in das temper Verzeichnis kopieren.

#cp sht21 ../

Nun kann man das Programm schon mal testen. Einfach über den Startscript start-sht21-service.sh aufrufen. Damit der Service aber bei jeden Neustart des RaspberryPI automatisch gestartet wird, muss noch ein Eintrag in der /etc/rc.local gemacht werden.

cd /home/pi/temper
./start-sht21-service.sh
cd /

Nun werden alle Messdaten in der Datei sht21-data.csv gepeichert. Um diese per Browser in einem Diagramm darzustellen sind die Dateien aus dem temper/www Verzeichnis nach /var/www zu kopieren. Dann noch die JavaScript Bibliotheken von http://www.flotcharts.org/ downloaden und im Verzeichnis /var/www/js speichern.

Jetzt muss noch in der Datei index.php die Lage der CSV-Datei angepasst werden.

alt   –   $lines = file(„sht21-data.csv“);
neu –   $lines = file(„/home/pi/temper/sht21-data.csv“);

Im Moment überarbeite ich die PHP-Seite und den Service etwas, so das diese Einstellungen dann per Konfig-Datei vorgenommen werden können. Sobald ich damit fertig bin, werde ich die Änderungen veröffentlichen.