Schlagwort-Archive: JSON

BitBastelei #511 – LED-Signalsäule für OctoPrint mit ESP8266/Arduino

BitBastelei #511 - LED-Signalsäule für OctoPrint mit ESP8266/Arduino

(2 GB) 00:18:21

2022-10-30 11:00 🛈

An professionellen Anlagen finden man häufig Signalsäulen um auch aus der Ferne den aktuellen Betriebszustand schnell erkennen zu können. Solche Signalsäulen hatte ich in Folge #433 bereits gezeigt, bis auf eine kleine „Mute/Unmute-Anzeige“ für Videokonferenzen (#438) aber nicht weiter genutzt. Dabei habe ich auch eine Anlage, die lange Zeit läuft und besser im Blick gehalten werden sollte: Der 3D-Drucker. Dank OctoPrint ist dieser auch im Netz verfügbar und der Status dank offener API einfach abzufragen. Also kombinieren wir mal Ampel und OctoPrint um den aktuellen Zustand des 3D-Druckers immer im Auge behalten zu können.

Inhalt

  • 00:00 Rückblick: Signalsäulen + Ansteuerung
  • 03:46 Plan
  • 06:07 Testaufbau
  • 08:01 Anzeigen
  • 11:20 ESP12 statt NodeMCU?
  • 14:18 Software: Konfiguration und API-Keys
  • 15:39 Software: Interne Funktion
  • 17:46 Fazit

Links zum Thema:

Transparenz

Die gezeigten Geräte wurden selbst gekauft und bezahlt.

BitBastelei #335 – ESP8266 Webserver (AJAX/SPIFFS) für China-Fliegenfänger

BitBastelei #335 - ESP8266 Webserver (AJAX/SPIFFS) für China-Fliegenfänger

(619 MB) 00:49:02

2019-05-26 10:00 🛈

Vor einigen Wochen hatten wir uns einen „Fliegenfänger“ angesehen, der sich technisch nicht sonderlich anspruchsvoll darstellte. In IoT-Zeiten natürlich völlig indiskutabel, also darf das Teil nun als Übungswiese für den ESP8266 dienen. Auf dem Programm also – nach dem nötigen Hardware-Umbau – eine Runde ESP8266-Webserver mit AJAX und SPIFFS – und das ganze ausführlich erklärt.

Inhalt

  • 08:00 Beginn Programmierung
  • 08:23 ESP8266 mit dem WLAN verbinden
  • 13:35 Einfacher Zugriff auf den ESP8266: MDNS
  • 15:44 ESP8266 als Webserver
  • 17:50 Texte im Browser anzeigen
  • 19:39 Mehrere Webseiten per URL, Variablen ausgeben
  • 21:29 Unbekannte URLs abfangen
  • 22:50 Browserausgabe mit HTML formatieren
  • 25:12 Webseiten und Bilder per SPIFFS
  • 31:52 Live-Werte mit Javascript, AJAX und JSON
  • 40:31 Programmbeispiel auf Basis der gezeigten Codes mit JQuery und Bootstrap

Links zum Thema

OSTicket: Ticketerstellung über Python

OSTicket ist ein freies Ticketsystem, also System zur Sammlung und Dokumentation von Aufgaben. Ab und an kann es praktisch sein solche Aufgaben auch per Software zu generieren, z.B. für wiederkehrende Aufgaben oder wenn Systeme Störungen automatisiert erkennen. Da die Doku bisher eher dünn ist anbei ein kleines Python-Script, welches über die API Tickets erstellen kann. Hierzu muss erst im Admin-Bereich ein passender API-Zugang angelegt werden. Zu beachten ist, dass ein solcher API-Zugang auf eine IP limitiert ist.

import requests
import json

headers = {'X-API-Key': '12345ENTERHERE12345'}
subject = "12345"

ostdata = {
    "alert": True,
    "autorespond": False,
    "source": "API",
    "name": "GenervterUser",
    "email": "genervter@us.er",
    "phone": "",
    "subject": str(subject),
    "ip": "::1",
    "message": "data:text/plain,Ich bin ein Ticket",
}

json_data = json.dumps(ostdata)

r =
requests.post("https://helpdesk.meinefirma.local/api/tickets.json", data=json_data, verify = '/usr/local/share/ca-certificates/meineca.crt', headers=headers)
print(r)

Hinweise:

  • Der verify-Parameter ist nur nötig, wenn man HTTPS mit einer im System unbekannten CA nutzt
  • Die Telefonnummer wird bei source=API wohl nicht angezeigt
  • Der Name wird bei erster Nutzung mit der E-Mail-Adresse verknüpft, wenn man weitere Tickets mit der selben E-Mail anlegt scheinen diese alle den zuerst genutzten Namen anzuzeigen

Weitere Doku