guggenbergertobias-blog
guggenbergertobias-blog
Unbetitelt
15 posts
Don't wanna be here? Send us removal request.
guggenbergertobias-blog · 6 years ago
Text
Nikola Tesla
Tumblr media
* 10. Juli 1856 in Smiljan, Kroatische Militärgrenze, Kaisertum Österreich † 7. Januar 1943 in New York, USA) war ein österreichisch-US-amerikanischer Erfinder, Physiker und Elektroingenieur. Sein Lebenswerk ist geprägt durch zahlreiche Neuerungen auf dem Gebiet der Elektrotechnik, insbesondere der elektrischen Energietechnik, wie die Entwicklung des heute als Zweiphasenwechselstrom bezeichneten Systems zur elektrischen Energieübertragung. Wer sich gerne mal ein Bild von seinen Ideen machen möchte, findet unter dem nachfolgendem Link knapp 500 Seiten zum studieren. Alle Patente (bipolarplanet.wordpress.com)Herunterladen Read the full article
0 notes
guggenbergertobias-blog · 6 years ago
Text
TVHeadEnd konfigurieren
Zum Konfigurieren von TVHeadEnd rufen wir das WebFrontend auf. http://:9981 Beim ersten Aufruf startet ein Wizard zum Setup. Diesen nutzen wir an der stelle.
Tumblr media
Unter Web interface wählen wir die Sprache "German" . Ich verwende bei EPG Language 1 ebenfalls "German".
Tumblr media
Unter Admin und User trage ich in diesem Moment nicht sein und klicke auf Save und Next. Eine Admin Kennung und ein Passwort wurde bereits bei der Installation angegeben.
Tumblr media
Im Bereich Network settings wähle ich bei Network 2 im PullDown Menu "DVB-S Network". Dies gibt der Wizard vor da er bereits meinen SAT IP Server im Netzwerk erkannt hat.
Tumblr media
"Muxes" wählen Im nachfolgendem Dialog wird nun das entsprechende "Mux" ausgewählt. In meinem Fall durch die Ausrichtung der Satellitenschüssel 19,2 Ost Astra.
Tumblr media
Nach klicken auf Save & Next startet der Scan Vorgang.
Tumblr media
Anschließend aktiviere ich noch die nachfolgenden Kontrollkästchen.
Tumblr media
Hiermit ist das Wizard beendet.
Tumblr media
In meinem Beispiel (DVB-S2 Empfang) finden nun leider die Muxes Einstellung leider keinen Transponter. Dies scheint an einer falsch konigurierten MUX Vorlage zu liegen.
Tumblr media
Markiert man nun den Mux und klickt auf Edit/Bearbeiten. Kann man auch erkennen warum keine Trasponter gefunden werden. Hier sind falsche Angaben vorgegeben.
Tumblr media
Hier nehme ich mit meiner Konfiguration folgende Abänderung vor. Frequency: 11953500 Symbol rate: 27500000FEC: 3/4Polarisation: H"Modulation: QPSK Jetzt noch Position 1 bis 4 meines Tuner #1 unter Configuration/DVB Inputs/TV adapters aktivieren.
Tumblr media
Und siehe da. Es Muxst!
Tumblr media
Nun können noch unter Service bequem per WebFrontend die Sender ausgewählt werden. Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
6. Spieleabend am 10.11.2018
Tumblr media
Die wilden@13 laden euch gerne zu unserem nächsten Spielabend am 10.11.2018 ein.  Wo? Wie immer im Gasthof Schwarzer Adler! GC Code Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
E-Mails versenden mit sSMTP
Tumblr media
Es gib immer mal wieder die Situation mit einem Linux System E-Mails zu versenden. Das können zu hohe Temperaturen der Festplatte, störungen von Cronjob oder eine IP, die aufgrund von falschen Login versuchen auffällt. Natürlich ist dieser Service auch bei anderen Diensten wie FHEM interessant.  Man könnte sich eine E-Mail senden lassen wenn ein bestimmter Bewegungsmelder aktiv wird.  Oder die Temperatur der Gefriertruhe steigt wegen einem defekt. Hier kann auch sSMTP einspringen und eine E-Mail versenden. Die Einsatzmöglichkeiten sind unglaublich vielfältig. Und diese Möglichkeiten gibt es mit sSMTP mit relativ wenig Aufwand.
Installation von sSMTP
Wie immer, wer sein Linux liebt der updatet als erstes :) apt-get update && apt-get upgrade -V Nun kann man die beiden Pakete von sSMTP installieren apt-get install ssmtp mailutils Nun wird als erster Schritt die generelle Einrichtung von sSMTP vorgenommen nano /etc/ssmtp/ssmtp.conf Gebt in diesem File euer E-Mail Konto sowie die entsprechenden Ports eures E-Mail Anbieters an. [email protected] mailhub=DEIN-EMAIL.SERVER.DE:PORT(ist bei jedem Anbieter anders!) hostname=localhost UseTLS=Yes UseSTARTTLS=Yes AuthUser=DEIN-EMAIL-LOGIN-BENUTZER AuthPass=DEIN-EMAIL-PASSWORT FromLineOverride=yes Wer mehr zu den einzelnen Eintragen wissen möchte kann sich gerne mal die man von sSMTP ansehen.  Linux versteht man nur durch lesen :). man ssmtp Nun müssen wir Linux nur noch mitteilen welche Benutzer eigentlich sSMTP nutzen dürfen. Dazu öffnen wir das Benutzer File des sSMTP nano /etc/ssmtp/revaliases In diesem File müssen alle Benutzer des jeweiligen Linux System eingetragen werden die gerne eine Email versenden möchten. Bitte achtet drauf auch hier die richtigen PORTs mit anzugeben. root:[email protected]:smtp.EMAIL-ADRESSE.de:587 (Je nach Anbeiter) www-data:[email protected]:smtp.IRGENDWAS.DE:PORT Zum Schluss schicken wir nun mal eine Test E-Mail :D echo "Mail-Inhalt" | mail -s "Betreff" [email protected] So das waren die Grundlagen. Nun ist dein Linux System in der Lage E-Mails zu versenden. War ja eigentlich gar nicht so viel Aufwand! Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
DHT22 / AM2302-Luftfeuchte und Temperatursensor
Dieser Sensor dient zum Messen der Luftfeuchtigkeit und der Temperatur. Durch seinen günstigen Preis bietet sich der AM2302 fuer diese Aufgabe an. Da er sowohl mit 3,3V oder 5V betrieben werden kann eignet er sich zum Betrieb an einem Raspberry oder Arduino.
Tumblr media
Durch seine OneWire Technologie reicht ein PIN am Board um Luftfeuchtigkeit und Temperatur zu ermitteln. Die Abfrage der Messwerte erfolgt somit seriell als Bitreihenfolge.
Tumblr media
Technische Daten: Betriebsspannung: DC 3.3-5.5VLuftfeuchtigkeitsmessbereich : 0 bis 100% relative LuftfeuchteFeuchtemessgenauigkeit: ±2% RHTemperaturbereich: -40 bis +80 CTemperaturmessgenauigkeit ±0.5OneWire Ausgang an Pin 2 Maße: 28mm x 12mm x 10mm Beispielprogramm fuer einen Arduino Uno // Example testing sketch for various DHT humidity/temperature sensors // Written by ladyada, public domain #include "DHT.h" #define DHTPIN 2 // what digital pin we're connected to // Uncomment whatever type you're using! //#define DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 //#define DHTTYPE DHT21 // DHT 21 (AM2301) // Connect pin 1 (on the left) of the sensor to +5V // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1 // to 3.3V instead of 5V! // Connect pin 2 of the sensor to whatever your DHTPIN is // Connect pin 4 (on the right) of the sensor to GROUND // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor // Initialize DHT sensor. // Note that older versions of this library took an optional third parameter to // tweak the timings for faster processors. This parameter is no longer needed // as the current DHT reading algorithm adjusts itself to work on faster procs. DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); Serial.println("DHTxx test!"); dht.begin(); } void loop() { // Wait a few seconds between measurements. delay(2000); // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Failed to read from DHT sensor!"); return; } // Compute heat index in Fahrenheit (the default) float hif = dht.computeHeatIndex(f, h); // Compute heat index in Celsius (isFahreheit = false) float hic = dht.computeHeatIndex(t, h, false); Serial.print("Humidity: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(t); Serial.print(" *C "); Serial.print(f); Serial.print(" *F\t"); Serial.print("Heat index: "); Serial.print(hic); Serial.print(" *C "); Serial.print(hif); Serial.println(" *F"); } Quelle ladyada, public domain Mehr infos unter Github. Adafruit_Sensor-masterDownload DHT-sensor-library-masterDownload Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
esp8266 als AP deaktivieren
Tumblr media
Im Betrieb des esp8266 ist es oft störend und auch eine Sicherheitslücke wenn das WiFi Board im AP Modus arbeitet. Dies kann man durch einfügen der folgenden Codezeile abändern. WiFi.softAPdisconnect(true);
Tumblr media
Damit sollte das Melden als AccessPoint beendet sein. Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
Arduino Relaiskarte per MQTT Befehl steuern
Die Hausautomatisierung benötigt sehr viele Aktoren. In diesem Bereich gibt es sehr viele Produkte der großen Hersteller. Leider auch entsprechend teuer. Hier möchte ich ein Projekt vorstellen das über einen Arduino (WeMos D1) eine Relaiskarte ansteuert. zur Steuerung verwende ich das MQTT Protokoll. Natürlich alles per WiFi. Es wird nur noch die Versorgungsspannung und der Laststromkreis benötig.
Tumblr media
5 Minuten Probeaufbau Gesteuert wird nun das Relais A mit folgendem Befehl:
Tumblr media
Ebenso einfach geht das Aus schalten des Relais
Tumblr media
Das Relais ist nun im kompletten Heimnetzwerk erreichbar.
Tumblr media
Code Snipes
Tumblr media Tumblr media
Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
WeMos D1 per WiFI Daten in mySQL schreiben
Mit dem nachfolgendem Sketch ist der WeMos D1 in der Lage Messdaten in eine mySQL Datenbank zu senden.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Das eigentliche schreiben der Daten erfolgt mit dem Aufrufen einer PHP Datei in Form eines GET Befehls. Der passende Sketch sieht so aus: #include const char* ssid = "SSID"; // SSID const char* password = "PASS"; // Password const char* host = "SERVER_DB"; // IP ServeP const int port = 80; // Port const int watchdog = 5000; // Schreibefruenz unsigned long previousMillis = millis(); void setup() { Serial.begin(115200); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void loop() { delay(5000); unsigned long currentMillis = millis(); if ( currentMillis - previousMillis > watchdog ) { previousMillis = currentMillis; WiFiClient client; if (!client.connect(host, port)) { Serial.println("connection failed"); return; } String url = "/arduino/FILE_zum-SCHREIBEN.php?wert1=wer1&usw"; url += String(millis()); url += "&ip="; url += WiFi.localIP().toString(); // Envoi la requete au serveur - This will send the request to the server client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); unsigned long timeout = millis(); while (client.available() == 0) { if (millis() - timeout > 5000) { Serial.println(">>> Client Timeout !"); client.stop(); return; } } while(client.available()){ String line = client.readStringUntil('\r'); Serial.print(line); } } } Projektdatein zum Download File_wifi_mysql.tarDownload Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
DS18s20 parallel messen
Der DS18s20 bietet dank der "1-Wire" Technologie die Möglichkeit mehrer Sensoren an einem PIN abzufragen. Dazu werden alle DS18s20 einfach parallel geschalten. Unterscheiden kann der Arduino die einzelneren Sensoren dank der HEX Adressen.  Wie kann man die Adressen auslesen?
Tumblr media Tumblr media Tumblr media
Der Sketch zum auslesen der Daten ist auch sehr übersichtlich. #include #include float wert_sensor_1; float wert_sensor_2; float wert_sensor_3; long vorhermillis = millis(); #define ONE_WIRE_BUS 3 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); /* Sensoradressen eingeben */ DeviceAddress Adresse_Sensor1 = { 0x28, 0xFF, 0xFE, 0x3E, 0xA1, 0x16, 0x04, 0x6B }; DeviceAddress Adresse_Sensor2 = { 0x28, 0xFF, 0x3B, 0x91, 0xA1, 0x16, 0x05, 0xF6 }; DeviceAddress Adresse_Sensor3 = { 0x28, 0xFF, 0x7F, 0x77, 0xA1, 0x16, 0x05, 0x40 }; void setup () { Serial.begin(9600); sensors.begin(); sensors.setResolution(Adresse_Sensor1, 12); // set the resolution sensors.setResolution(Adresse_Sensor2, 12); // set the resolution sensors.setResolution(Adresse_Sensor3, 12); // set the resolution } void loop () { if (millis() - vorhermillis > 1000) { vorhermillis = millis(); sensors.requestTemperatures(); wert_sensor_1 = sensors.getTempC(Adresse_Sensor1); wert_sensor_2 = sensors.getTempC(Adresse_Sensor2); wert_sensor_3 = sensors.getTempC(Adresse_Sensor3); Serial.print("Sensor 1 : "); Serial.println(wert_sensor_1); Serial.print("Sensor 2 : "); Serial.println(wert_sensor_2); Serial.print("Sensor 3 : "); Serial.println(wert_sensor_3); } } DallasTemperature.hDownload OneWireDownload Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
Weihnachtsmarkt in Sondernohe am 01.12.2018
Tumblr media
am 01.12.2018 ab 16.30 Uhr Wennn sich Geocacher treffen, reden sie meist übers Cachen. Genau das ist die Idee zu diesem Event. Reden übers Cachen und einen Glühwein nebenbei … Wir freuen uns auf euer Geschichten und Erlebnisse. Wann, wo und wie? am 01.12.2018 in Sondernohe Geimeinsamer Austausch von "Geocaching Geschichten" und Coins ab 16.30 Uhr - Dauer 30 Minuten GC Link Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
Der Arduino und das Ethernet Shield
Tumblr media
Von Haus aus kommt der Arduino Uno ohne eine Netzwerklösung daher. Dies kann man recht einfach mit einem Arduino Ethernet Shield aendern. Einfach aufstecken und der Arduino hat eine LAN Anschluss.
Tumblr media
Damit nun der Arduino in deinem Netzwerk funktioniert bedarf es noch einem Sketch. Dank dem gut Dokumentierten Arduino Projekt gibt es auch gute Ethernet Libray's. Arduino LAN Sketch /* Web Server */ // Diese beide Libraries sind erforderlich #include #include /* Hier die MAC Adresse des Shields eingeben Meistens gibt es einen Aufkleber auf der Rückseite des Shields */ byte mac = { 0x90, 0xA2, 0xDA, 0x00, 0xFB, 0x80 }; /* Nun noch eine freie IP auf aus deinem Netzwerk angeben. Dazu ist es am einfachsten die IP des Rechners auszulesen. ifconfig ist hier das Stichwort. */ IPAddress ip(192,168,1,177); // Ethernet Library als Server initialisieren // Verwendet IPAdress und den Port 80 für http EthernetServer server(80); void setup() { /* Serielle Kommunikation starten */ Serial.begin(9600); // Ethernet Verbindung und Server starten Ethernet.begin(mac, ip); server.begin(); Serial.print("Server gestartet. IP: "); // IP des Arduino-Servers ausgeben Serial.println(Ethernet.localIP()); } void loop() { /* server.available() schaut, ob ein Client verfügbar ist und Daten an den Server schicken möchte. Gibt dann eine Client-Objekt zurück, sonst false */ EthernetClient client = server.available(); // Wenn es einen Client gibt, dann... if (client) { Serial.println("Neuer Client"); /* Jetzt solange Zeichen lesen, bis eine leere Zeile empfangen wurde HTTP Requests enden immer mit einer leeren Zeile */ boolean currentLineIsBlank = true; // Solange Client verbunden while (client.connected()) { // client.available() gibt die Anzahl der Zeichen zurück, die zum Lesen // verfügbar sind if (client.available()) { // Ein Zeichen lesen und am seriellen Monitor ausgeben char c = client.read(); Serial.write(c); // In currentLineIsBlank merken wir uns, ob diese Zeile bisher leer war. /* Wenn die Zeile leer ist und ein Zeilenwechsel (das \n) kommt, dann ist die Anfrage zu Ende und wir können antworten */ if (c == '\n' && currentLineIsBlank) { // HTTP Header 200 an den Browser schicken client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); // Verbindung wird nach Antwort beendet client.println("Refresh: 2"); // Seite alle 25 Sekunden neu abfragen client.println(); // Ab hier berginnt der HTML-Code, der an den Browser geschickt wird client.println(""); client.println(""); client.print("Analogpin 0: "); client.print(analogRead(A0)); client.println(" "); client.println(""); break; } if (c == '\n') { // Zeilenwechsel, also currentLineIsBlack erstmal auf True setzen currentLineIsBlank = true; } else if (c != '\r') { // Zeile enthält Zeichen, also currentLineIsBlack auf False setzen currentLineIsBlank = false; } } } // Kleine Pause delay(1); // Verbindung schliessen client.stop(); Serial.println("Verbindung mit Client beendet."); Serial.println(""); } } Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
Shell Scripting
Gehen Sie davon aus sie müssten verschiedene Befehle mehrmals täglich in der Shell ausführen. Da ist es natürlich nicht schön diese immer wieder von Hand neu in die Shell einzugeben. Genau um dies zu vereinfachen gibt es Shell Scripte. Lassen Sie uns mal gleich starten und das erste Script erstellen. Nutzen Sie hierfür den Shell Editor nano.  sudo nano erstes_script.sh
Tumblr media
nano Editor Sollte der nano Editor nicht installiert sein koennen Sie das gleich in der Shell nachholen. sudo apt-get install nano Lassen Sie uns nun die Befehle aus dem Beitrag "BASH Grundlagen..." einfügen. Nach jedem Befehl einen Zeilenumbruch!
Tumblr media
Jetzt die Datei Speichern mit "^O Speichern". Das ^ steht für die Taste STRG! Nun muss die neue Datei ausführbar gemacht werden: sudo chmod +x erstes_script.sh Nun kann das Script in der Shell ausgeführt werden. ./erstes_script.sh Folgende Ausgabe sollte nun bei Ihnen erscheinen:
Tumblr media
Das war es. So schnell erstellen Sie Ihr erstes Shell Script. Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
Wechselblinker mir Blink LED
Die Blink LED arbeitet in dieser Schaltung als Taktgeber. Leuchtet die LED sperrt der Transistor und umgekehrt. Die LED's können auch durch Triacs oder Halbleiterrelais ersetzt werden.
Tumblr media
Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
DynDNS Verbindung zu einer Fritz!Box 7490
In diesem Tutorial möchte ich einen Fernzugriff auf einen Apache Server einrichten der sich in meinem Heimnetzwerk befindet. Da sich die IP meines Routers (Fritz!Box) immer wieder ändert, benötigt man einen Dienst der bei einer Anfrage aus dem www auf die aktuelle IP des Routers weiterleitet. Im Prinzip gibt meine Fritz!Box jede Änderung der Provider IP an diesen Dienst weiter. Dieser stellt eine www Adresse zur Verfügung die nun immer auf die aktuelle Router IP weiterleitet.  Aktuell verwende ich für diesen Dienst den kostenlosen Service von www.noip.com.
Tumblr media
www.noip.com
Tumblr media
Einfach auf Sign Up klicken und einen kostenlosen Account anlegen. Das dauert nicht länger als 3 Minuten.
Tumblr media
Gib nun im Eingabefeld deine E Mail Adresse und ein Passwort ein. Bei Hostname kannst du dir eine Domain überlegen, von der in Zukunft der Dienst auf deinen Router weiterleiten soll. Nun kommt die Fritzbox an die Reihe.  Stelle als erstes die erweiterte Ansicht der Fritzbox an. Bei meinem Modell der 7490 findet man diese Funktion rechts oben bei den drei (Blinden- ) Punkten.
Tumblr media
Geh nun in den Bereich Internet / Freigaben.
Tumblr media
Nun müssen wir ein Gerät im Netzwerk aussuchen das in Zukunft "Ferngewartet" werden soll. Klicke dafür auf "Gerät für Freigabe hinzufügen"
Tumblr media
Nun das entsprechende Netzwerkgerät auswählen.
Tumblr media
Nun fehlt nur noch die Portfreigabe.Klick dazu auf "Neue Freigabe".
Tumblr media
In meinem Fall benötige ich nur die Portfreigabe für HTTP. Hier musst du die Freigaben an dein Projekt anpassen.
Tumblr media
Nachdem nun alle Eingaben abgespeichert sind ist das entsprechende Netzwerkgerät uber das www zu erreichen.
Tumblr media
Read the full article
0 notes
guggenbergertobias-blog · 7 years ago
Text
Tumblr media
😂
0 notes