Archiv der Kategorie: PC-Kram

Meine Lieblingsbeschäftigung :)

BitNotice #132 – Mailbag: TFT, SSR, MAX6675

BitNotice #132 - Mailbag: TFT, SSR, MAX6675

(56 MB) 00:04:00

2018-08-02 18:15 🛈

Wieder mal ein kurzer Kleinkram zwischendrin. Und eventuell eine kleine Vorschau aufs Wochenende.

BitBastelei #294 – EFTPOS – Was steckt in einem (alten) EC-Karten-Terminal?

BitBastelei #294 - EFTPOS - Was steckt in einem (alten) EC-Karten-Terminal?

(2 GB) 00:56:17

2018-07-29 10:00 🛈

Wenn Dinge, die man eher selten in den Händen hat, für wenig Geld bei Auktionsplattformen auftauchen, dann kann ich nur schwer Nein sagen. Dieses mal schauen wir uns ein EFTPOS an – ein Gerät, welches an Kassen dafür genutzt wird um EC-Karten & Co zu verarbeiten. OK, das hier hat schon ein paar Jahre hinter sich, aber trotzdem gibt es ein paar interessante Einblicke und Bauteile, die man sicher wiederverwerten kann.

BitBastelei #293 – Samsung Galaxy Tab 3: USB-Reparatur

BitBastelei #293 - Samsung Galaxy Tab 3: USB-Reparatur

(479 MB) 00:20:07

2018-07-22 10:00 🛈

Ach ja, der Klassiker: Abgebrochene USB-Buchsen an Geräten wie Handys oder Tablets sind ein nicht unbedingt seltenes Problem. Diesmal habe ich ein Galaxy Tab vor der Nase – das habe ich bereits unterwegs kurz analysiert, da der Fehler schnell zu beheben ist schauen wir uns das mal an. So weit die Theorie…

BitBastelei #292 – TS100 – Portabler Lötkolben mit direkter Beheizung

BitBastelei #292 - TS100 - Portabler Lötkolben mit direkter Beheizung

(2 GB) 00:48:21

2018-07-15 10:00 🛈

Auch ich bin nun unter die „Elektronik-Hipster“ gegangen und habe mit einen TS100 zugelegt. Dieser Lötkolben der chinesischen „Guangzhou e-Design Intelligent Technology Co., Ltd.“ (aka Miniware) ist in den letzten Monaten immer wieder von diversen Bastlern gelobt worden. Handlich, Mobil, direkt beheizte Lötspitzen – alles technisch sehr interessant, mit ca. 60€ aber auch nicht ganz preiswert. Da ich ohnehin auf der Suche nach einem neuen Lötkolben für Unterwegs war habe ich es trotzdem mal riskiert…

Inhalt

  • 00:00 Warum habe ich mir den TS100 geholt?
  • 01:41 Aufbau klassischer Lötkolben
  • 03:53 Erster Blick aufs TS100
  • 08:36 Stromversorgung des TS100
  • 10:20 Inbetriebnahme und Originalfirmware
  • 13:46 Konfiguration per USB
  • 16:49 Open-Source-Firmware „Ralim“ – Installation
  • 21:10 Ralim – Menüs und Bedienung
  • 24:46 Eigenes Logo
  • 26:32 Lötspitzen
  • 28:33 Aufheizvergleich: TS100, ZD-415 und 3€-Lötkolben
  • 33:04 Heizvergleich: Nachregelung bei Erdfläche
  • 35:45 Teardown, Aufbau und vermutete Funktionsweise
  • 44:15 Fazit

Produktlinks

Disclaimer

Das Produkt wurde selbst gekauft. Es werden Affiliate-Links zu Amazon und Aliexpress verwendet. Dies bedeutet, dass bei Käufen eurerseits ein Anteil des Amazon-Gewinns an mich ausgezahlt wird. Die Preise bleiben für euch natürlich gleich.

BitBastelei #291 – Festplattenreparatur: Ab und an hab ich auch mal Glück…

BitBastelei #291 - Festplattenreparatur: Ab und an hab ich auch mal Glück…

(545 MB) 00:20:05

2018-07-08 10:00 🛈

Eigentlich kann man Festplatten nur selten reparieren. Vor Allem wenn der Kopf Probleme macht heißt das: Backup suchen bzw. eine professionelle Datenrettung beauftragen. Meine Platte hat keine Daten, also was gibt’s zu verlieren?

BitBastelei #290 – MQTT (Protokoll, Mosquitto, ESP8266, HomeAssistant, TLS)

BitBastelei #290 - MQTT (Protokoll, Mosquitto, ESP8266, HomeAssistant, TLS)

(265 MB) 00:38:36

2018-07-01 10:00 🛈

In den letzten Jahren hat sich im Bereich der herstellerübergreifenden Hausautomation MQTT als Protokoll verbreitet. Schauen wir mal wie das Protokoll funktioniert, wie wir selbst einen Server aufsetzen und diesen absichern und letztentlich wie wir mit ESP8266 und HomeAssistant einen eigenen Sensor implementieren können.

Inhalt:

  • 00:00 Das Protokoll
  • 05:17 Installation von Mosquitto
  • 07:52 TLS und Passwörter mit Mosquitto
  • 22:28 MQTT mit HomeAssistant
  • 25:03 MQTT mit ESP8266/Arduino

Links:

  • Anleitung von Auxnet
  • Fingerprint-Befehl: echo | openssl s_client -connect localhost:1883 | openssl x509 -fingerprint -noout

Demo-Quellcode:
https://gist.github.com/adlerweb/807aee4a79a8dee043113d86172e7792
BitBastelei #290 – MQTT (Protokoll, Mosquitto, ESP8266, HomeAssistant, TLS) weiterlesen

BitBastelei #289 – Container vs. VMs: Ein Blick auf Docker

BitBastelei #289 - Container vs. VMs: Ein Blick auf Docker

(458 MB) 00:52:09

2018-06-24 10:00 🛈

Containersysteme wie Docker versprechen nach der Virtualisierung den nächsten großen Schritt bei der zusammenführung von IT-Ressourcen zu sein. Im Gegensatz zu einer VM wird auf das Betriebssystem verzichtet, stattdessen laufen Programme in einem abgesperrten Bereich.
Also werfen wir mal einen groben Blick darauf was diese Container sind, wie man sie mit Docker nutzt und was es alles so drumherum gibt.

BitNotice #131 – Mailbag: USB-Monitor BY58U

BitNotice #131 - Mailbag: USB-Monitor BY58U

(104 MB) 00:07:51

2018-06-21 16:14 🛈

Flattert doch glatt ein günstiger, neuer USB-Monitor durch die Angebote… Der BY58U sieht auf den ersten Blick aus wie ein Typischer USB-Doctor/Charger Monitor, kann aber USB3, QuickCharge und zeigt mit einer Auflösung von 100µV/100µA auf seinem OLED an.

BitBastelei #288 – Gasdetektorzentrale: Reinigung, Inbetriebnahme & Test

BitBastelei #288 - Gasdetektorzentrale: Reinigung, Inbetriebnahme & Test

(1 GB) 00:46:03

2018-06-17 10:00 🛈

In #285 hatte ich den Aufbau einer Gasdetektorzentrale gezeigt, welche ich für wenig Geld geschossen hatte. Dieses mal zeige ich, wie man die Verschmutzungen durch die ausgelaufene Batterie entfernt bekommt, werde versuchen die technischen Auffälligkeiten zu beheben, die Anlage in Betrieb zu nehmen und durch Einleitung der entsprechenden Gase versuchen die Sensoren zu testen.

  • 00:59 Reinigung: Batteriefoo
  • 06:42 Erster Start
  • 11:45 Test CO-Sensor
  • 20:20 Elektrolyse: Wasserstoff Herstellen
  • 26:48 Test H2-Sensor
  • 28:30 Serielle Schnittstelle
  • 36:45 Der Alarmgeber (Sirene)
  • 42:38 Echtbetrieb

BitBastelei #287 – HD44780 LCDs mit Arduino

BitBastelei #287 - HD44780 LCDs mit Arduino

(529 MB) 00:29:36

2018-06-10 10:00 🛈

Displays mit HD44780-Controller sind so ziemlich die einfachste Möglichkeit eine Bildschirmausgabe mit Mikrocontrollern zu bewerkstelligen. Zwar können diese Module nur wenige Zeichen zeigen, da sie allerdings überall günstig zu haben und sehr einfach anzusteuern sind findet man sie auch heute noch in vielen Projekten.

#include <LiquidCrystal.h>

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

const char *ssid = "freifunk-myk.de";
const char *password = "";
const char *netname = "esp-lcd";

ESP8266WebServer server ( 80 );

const int rs = D0, en = D2, d4 = D3, d5 = D4, d6 = D5, d7 = D6, rw = D1, blight = D7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

const char INDEX_HTML[] =
"<!DOCTYPE HTML>"
"<html>"
"<head>"
"<meta name = \"viewport\" content = \"width = device-width, initial-scale = 1.0, maximum-scale = 1.0, user-scalable=0\">"
"<title>ESP8266 LCD Demo</title>"
"<style>"
"\"body { background-color: #808080; font-family: Arial, Helvetica, Sans-Serif; Color: #000000; }\""
"</style>"
"</head>"
"<body>"
"<h1>ESP8266 LCD Demo</h1>"
"<FORM action=\"/\" method=\"post\">"
"<P>"
"Text:<br>"
"1: <INPUT type=\"text\" name=\"text1\" value=\"\"><BR>"
"2: <INPUT type=\"text\" name=\"text2\" value=\"\"><BR>"
"Hintergrund:<br>"
"<INPUT type=\"radio\" name=\"LED\" value=\"1\">On<BR>"
"<INPUT type=\"radio\" name=\"LED\" value=\"0\">Off<BR>"
"<INPUT type=\"submit\" value=\"Send\"> <INPUT type=\"reset\">"
"</P>"
"</FORM>"
"</body>"
"</html>";

void handleRoot()
{
  if (server.hasArg("text1")) {
    handleSubmit();
  }
  else {
    server.send(200, "text/html", INDEX_HTML);
  }
}

void returnFail(String msg)
{
  server.sendHeader("Connection", "close");
  server.sendHeader("Access-Control-Allow-Origin", "*");
  server.send(500, "text/plain", msg + "\r\n");
}

void handleSubmit()
{
  String LEDvalue;

  if (server.hasArg("LED")) {
    LEDvalue = server.arg("LED");
    if (LEDvalue == "1") {
      digitalWrite(blight, LOW);
    }
    else if (LEDvalue == "0") {
      digitalWrite(blight, HIGH);
    }
    else {
      Serial.print("Arg LED failed: ");
      Serial.println(LEDvalue);
    }
  }
  
  if (server.hasArg("text1") || server.hasArg("text2")) {
    lcd.clear();
  }

  if (server.hasArg("text1")) {
    lcd.setCursor(0, 0);
    lcd.print(server.arg("text1"));
  }
  if (server.hasArg("text2")) {
    lcd.setCursor(0, 1);
    lcd.print(server.arg("text2"));
  }
  
  server.send(200, "text/html", INDEX_HTML);
}

void returnOK()
{
  server.sendHeader("Connection", "close");
  server.sendHeader("Access-Control-Allow-Origin", "*");
  server.send(200, "text/plain", "OK\r\n");
}

void handleNotFound()
{
  String message = "File Not Found\n\n";
  message += "URI: ";
  message += server.uri();
  message += "\nMethod: ";
  message += (server.method() == HTTP_GET)?"GET":"POST";
  message += "\nArguments: ";
  message += server.args();
  message += "\n";
  for (uint8_t i=0; i<server.args(); i++){
    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  }
  server.send(404, "text/plain", message);
}

void setup() {
  Serial.begin(115200);
  
  //RW - always GND
  pinMode(rw, OUTPUT);
  digitalWrite(rw, LOW);
  
  //Backlight - default GND/ON
  pinMode(blight, OUTPUT);
  digitalWrite(blight, LOW);
  
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print(ssid);
  lcd.setCursor(0, 1);
  lcd.print("Connect...");
  lcd.setCursor(0, 1);
  WiFi.mode ( WIFI_STA );
  WiFi.begin ( ssid, password );
  
  // Wait for connection
  while ( WiFi.status() != WL_CONNECTED ) {
    delay ( 500 );
    Serial.print ( "." );
  }
  
  Serial.println ( "" );
  Serial.print ( "Connected to " );
  Serial.println ( ssid );
  Serial.print ( "IP address: " );
  Serial.println ( WiFi.localIP() );
  lcd.print(WiFi.localIP());

  if ( MDNS.begin ( netname ) ) {
    Serial.println ( "MDNS responder started" );
  }

  server.on("/", handleRoot);
  server.onNotFound(handleNotFound);
  server.begin();

  delay(1500);
}

void loop() {
  server.handleClient();
  if(Serial.available()) {
    char in = Serial.read();
    if(in == '~') {
      lcd.setCursor(0, 0);
    }else{
      lcd.print(in);
    }
  }
}