AVRISP MKII AVRDUDE unter Linux

      Keine Kommentare zu AVRISP MKII AVRDUDE unter Linux

Gerade unter Linux sind noch einige Dinge zu konfigurieren, bevor der AVRISP MKII auch gut  läuft. Da AVRDUDE fast von jeder IDE wie z.b. von platform.io genutzt wird, ist dies auch für andere Entwicklungsumgebungen hilfreich.

Als erstes wird eine Datei erstellt  /etc/udev/avrisp.rules

mit dem Inhalt
SUBSYSTEM!="usb", ACTION!="add", GOTO="avrisp_end"
# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="dialout"
LABEL="avrisp_end"

Nun wird noch ein symlink angelegt
cd /etc/udev/rules.d
sudo ln ../avrisp.rules 60-avrisp.rules

..noch prüfen, ob man auch in der dialout Gruppe ist.
groups

udev neu starten…
sudo service udev restart

USB Device einmal reconnecten und dann sollte alles funktionieren.

rdesktop Problem von Ubuntu auf Windows

      Keine Kommentare zu rdesktop Problem von Ubuntu auf Windows

Möchte man mit rdesktop auf einen Windows 10 Client zugreifen, wird man ganz gerne mit einer Fehlermeldung  “ERROR: CredSSP: Initialize failed, do you have correct kerberos tgt initialized ?” abgewiesen. Entweder man schaltet auf Serverseite (Windows) die “Authentifizierung auf Netzwerkebene” aus oder man passt sich mit anderen rdp-client an die neue sichere Welt an. Remmina: The GTK+ Remote Desktop Client wäre ein Alternative, aber mit Boardmitteln geht es natürlich auch.
sudo apt-get install freerdp2-x11
Gestartet wird dann mit einem validen Benutzer
xfreerdp /u:"username" /v:192.168.100.100:3389.

Zugriff auf USB-Geräte unter Ubuntu

      Keine Kommentare zu Zugriff auf USB-Geräte unter Ubuntu

Auch heute gibt es wieder einen kleinen Tipp für eine Situation, die sich nach einer Neuinstallation immer wieder ereignet. Per Default hat man als Nutzer keinen Zugriff auf bestimmte USB-Geräte. Dies wird dann gerne mit der Fehlermeldung : [Errno 13] Permission denied: angezeigt.
Die mögliche Lösung wäre, dass man sich selbst in die Gruppe dialout aufnimmt.

sudo usermod -a -G dialout $USER

 

Neues Jahr, neuer Müllkalender, *.ics Export am Beispiel von abfallplus

Jedes Jahr kurz vor Weihnachten beginnt die Suche nach einer *.ics Datei mit den Leerungen der Abfallwirtschaft, um die Termine in diverse Kalender oder digitale Assistenten zu importieren.
Seit diesem Jahr gibt es aber auf der Webseite des regionalen Anbieters nur noch einen schicken Kalender als PDF. Was soll man damit machen? Ausdrucken? Weiterhin bietet man mir an eine APP zum Installieren, um mit direktem Zugriff popup-Nachrichten aufs Gerät zu pushen. Auch nicht die Lösung! Wer will schon eine APP für ein paar Termine? Welchen Mehrwert soll diese App dem Nutzer geben? Viele regionale Betriebe nutzen den Service von abfallplus, deren Widget in die eigenen Webseiten eingebaut werden kann. Leider hat man wohl das Feature “export” als csv und ics vergessen zu aktivieren, obwohl es der Anbieter in seinem Portfolio anbietet. Sehr schade. Eine Anfrage per Mail wurde nicht beantwortet.

Glücklicherweise ist dies nur ausgeblendet und nicht ausgebaut. Am Beispiel von Chrome werde ich die generelle Vorgehensweise erklären, wie der Export dennoch funktioniert.

1.) Webseite des örtlichen Betriebes öffnen (muss abfallplus nutzen)

Dort kann man für sich die persönlichen Einstellungen tätigen, um sich ein schönes pdf zu generieren.

2.) Bevor man nun aber “Datei exportieren” drückt, öffnet man im Chrome mit F12 den Entwicklermodus und sucht mit STRG+F nach “_pdf” in den Elementen.


Nun findet man genau die Stelle und ändert mit einem Rechtsklick -> edit attribute

{'action':'https://api.abfallplus.de/?key=8b676a84.......&amp;modus=d6c5855a62cf........&amp;waction=export_pdf','target':''}" selected="">PDF</option>

Ersetzt man nun das export_pdf durch export_csv oder export_ics
und drückt dann auf “Datei export” auf der linken Seite des Browsers, wird einem die passende Datei zum Download angeboten.

Abfallkalender im ioBroker

      Keine Kommentare zu Abfallkalender im ioBroker
Mein Ziel war es, im ioBroker VIS einen Auszug aus dem Abfallkalender darzustellen, der mit Symbolen die nächsten vier Termine anzeigt. Ich realisiere das, indem ein Skript die Termine aus einer ical-Instanz liest und dann zusammen mit den Symbolen im VIS dargstellt.

Voraussetzungen

  • Eine eigene “ical”-Instanz für den Abfallkalender
  • Abfallsymbole
  • einen Google-Kalender für die Abfalltermine

Verbinden der ical-Instanz mit dem Google-Kalender

Zunächst erstellt ihr euch einen Google-Kalender, der nur für die Abfalltermine verwendet wird. Im Idealfall stellt euer Abfallunternehmen eine ics-Datei bereit, die in den Kalender importiert wird. Wichtig! Bei mir funktioniert das nur korrekt, wenn die Termine “ganztags”-Termine sind. Die ical-Instanz benötigt einen URL auf den Kalender. Den bekommt man, wenn man in der Webansicht des Google-Kalenders auf die drei Punkte, dann Einstellungen und Freigabe klickt. Ziemlich weit unten findet sich dann der URL mit der Beschriftung Privatadresse im ical-Format. Diese Adresse wird für die ical-Instanz benötigt.

Adapterkonfiguration Haupteinstellungen

Konfiguration der Kalender-Adresse

  Unter dem Menüpunkt Ereignisse habe ich Vacation deaktiviert. Der Adapter wird nun neugestartet. In der Objekt-Ansicht von ioBroker kann nun geprüft werden, ob die Schritte erfolgreich waren. Dazu geht ihr mit der Maus über den Wert in der Zeile html und solltet dann im Popup schon ein paar Termine sehen.

ioBroker/Objekte/ical-Instanz

VIS vorbereiten

Damit VIS Bilder anzeigen kann, werden diese mit dem Dateimanager, der im VIS-Editor über Setup erreicht wird, hochgeladen. Ich habe denen folgende Namen gegeben
  • bt.png für Blaue Tonne
  • gt.png für Gelbe Tonne
  • st.png für Schwarze Tonne
Weitere Abfallereignisse sind für mich nicht relevant.

Die Bilder habe ich im Ordner /vis.0/main/bilder/abfall abgelegt.

Im VIS-Editor wird Anzeige des Abfall-Kalenders lediglich ein HTML-Widget angelegt, in die Eigenschaft HTML des Widgets schreiben wir {javascript.0.vis.Abfall}. Das ist ein Verweis auf einen State des Unterhalb des Objektes javascript.0. Dieser State muss zunächst angelegt werden. Dazu wird under ioBroker/Objekte die Zeile javascript.0 markiert, dann ganz oben auf das Plussymbol Ein Tochterobjekt… klicken.

Den State javascript.0.vis.Abfall als Zeichenkette hinzufügen

Zur Formatierung verwende ich etwas CSS, das im VIS-Editor in der CSS-Eigenschaft einfügt wird.
table.Abfall {
    color: white;
}

td.Abfallimage {
    background-color: gray;
    padding:5px;
}

td.AbfallText {
    text-align: center;
    padding: 5px 10px;
    color: lightblue;
}

Skriptdatei erstellen

Unter ioBroker/Skripte wird ein neues Skript erstellt. Als Typ ins Javascript zu wählen. Dort wird folgender Skripttext eingefügt.
on('ical.0.data.table', function(theObj) {
   var obj = theObj.state.val;
   MakeAbfallHTML(obj);
  
}); 

function MakeAbfallHTML(obj) {
    var html = "<table class=Abfall><tr>";
    
    for (i=0; i<4; i++) {
        if (obj[i]) {
            if (obj[i].event.indexOf("Gelber Sack") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120 src=/vis.0/main/bilder/abfall/gt.png></td>";
            }
            
            if (obj[i].event.indexOf("Papier") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120  src=/vis.0/main/bilder/abfall/bt.png></td>";
            }
            
            if (obj[i].event.indexOf("Haus") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120  src=/vis.0/main/bilder/abfall/st.png></td>";
            }
        }
    }
    
    html = html + "</tr><tr>";
 
    for (i=0; i<4; i++) {
        if (obj[i]) {
            html = html + "<td class=AbfallText>"+obj[i].date+"</td>"   ;
        }
    }
   html = html + "</tr></table>";
   console.log(html);
   setState('javascript.0.vis.Abfall', html); 
}
Das Skript reagiert auf drei Ereignisse, bei denen im Text die Begriffe
  • Gelber Sack
  • Papier
  • Haus
vorkommen und ordnet diesen Ereignissen die jeweiligen Bilder zu. Vergleiche dazu im Skript die Zeilen 12, 16 und 20 (siehe Bild). Diese Begriffe müssen gegebenenfalls an die Texte die in eurem Abfallkalender stehen, angepasst werden. Ebenfalls könnte dies leicht zum Beispiel um Biotonne erweitert werden, wenn nach Zeile 22 folgender Code eingefügt wird und ein zusätzliches Bild bit.png hochgeladen wird.
if (obj[i].event.indexOf("Bio") > -1) {
                html = html + "<td class=Abfallimage><img width=120 height=120  src=/vis.0/main/bilder/abfall/bit.png></td>";
            }
     

mc versteckte dateien ausblenden

      Keine Kommentare zu mc versteckte dateien ausblenden

Es ist 2018 und ja ich nutze immer noch den midnight commander. Ab und zu finde ich auch noch eine Optimierung in der Funktionsweise des beliebten Zwei-Fenster-Dateimanagers.
Mit der Tastenkombination

Alt + .
kann man schnell zwischen “hidden” Files hin und her schalten. Die ist ab und zu sehr hilfreich, wenn man den Punkt nicht übers Menü aktivieren will.

Noch eine wichtige Tastenkombination ist das Beenden über eine ssh session.

ESC + 0

ermöglicht Euch ein schnelles Beenden ohne Zeitverlust.

 

Citrix Reciver Problem Ununtu – Verbindung mit 0.0.0.2 Desktop kann nicht hergestellt….

Wenn die Fehlermeldung

Verbindung mit 0.0.0.2 Desktop kann nicht hergestellt werden. Datei oder Verzeichnis nicht gefunden. Überprüfen Sie die Verbindungseinstellungen und versuchen Sie es erneut….

beim Login auf eine Citrix Instanz erscheint, ist dies nicht gerade hilfreich.
Der Hinweis auf ein Problem mit den SSL Zertifikaten hätte da einiges an Zeit gespart.

Eine Lösung wären die beiden Befehle im Terminal

sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts/

und dann

sudo c_rehash /opt/Citrix/ICAClient/keystore/cacerts/

Danach muss die ICA Datei noch einmal geladen werden, damit die Einstellungen aktiv werden.

Sonoff S26 WiFi Smart Plug mit alternativer Firmware flashen

Die Produktpalette von Sonoff wächst von Monat zu Monat. Das liegt sicher auch an dem Umstand, dass man die originale Firmware durch alternative ersetzen kann. Es spielt dabei keine Rolle, ob es Tasmota, ESPEasy oder irgend etwas anderes werden soll. In meinem Fall ist es espurna, da ich ich eine stabile Funktionalität der Firmware gewohnt bin und dies gerne beibehalten möchte.

Leider wurde auf der Platine des Sonoff S26 WiFi Smart Plug auf Pins zum Flashen verzichtet, sodass man sich etwas einfallen lassen muss, wenn man nicht unbedingt Kabel anlöten will.  Gelöst wurde das ganze mittels Adapter, der mit Federstiften Druck auf die Kontakte bringt und somit sicheren  Kontakt hergestellt.


Ein paar Anmerkungen zum Flashen:
Wie üblich nutze ich  VSC. Dabei braucht man nur “Open Folder” und das Verzeichnis, welches per “git clone” angelegt wurde, anzuwählen und in der platformio.ini das richtige device eintragen.


env_default = itead-s20

Nun wird der Adapter aufgesetzt, aber noch nicht mit USB verbunden. Wenn das geschehen ist muss der RESET Button am Gerät gehalten werden und dann erst mit 3,3 V über den USB-Seriell-Adapter versorgt werden. Damit befindet sich das Gerät im Bootmodus und kann neu bespielt werden. Hat dies bis dahin nicht geklappt, wird die blaue LED blinken. Somit ist zumindest Strom vorhanden, aber nicht im Bootmodus. Hier den Vorgang solange wiederholen, bis die blaue LED NICHT blinkt !
Erhält man nun beimFflashen diese oder eine ähnliche Fehlermeldung


Uploading .pioenvs/itead-s20/firmware.bin
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
*** [upload] Error 255

könnte ein verdrehter TX, RX dies verursachen. Bitte TX-RX und RX-TX verbinden. Das unbedingt noch einmal prüfen. Stimmt alles, sollte der upload funktionieren.
Danach kann man alles wieder abklemmen und ins Gehäuse bauen.
Warnung !!! Niemals das Gerät bei geöffneten Gehäuse mit 230V versorgen !!! LEBENSGEFAHR !!!
Zum Flashen ist ausschließlich USB nötig!

Das STL des Adapters findet Ihr zum Nachdrucken auf Thikiverse.

 

ESPEasy – Let’s Control It – mal wirklich easy

Wenn Ihr schon diesen Beitrag abgearbeitet habt, wird es Euch nicht schwer fallen, die komplette Firmware für ESPEasy zu kompilieren und auf einen D1 Mini zu flashen. Im Anschluss wird prototypisch ein BME280 mit einem OLED und dem D1 mini verbunden. Und das Schönste ist, alles funktioniert ohne programmieren. Es wird alles nur zusammengeklickt. Alternativ kann man auch ein fertiges HEX für seine Hardware flashen.
Benötigt werden:
1x OLED
1x BME 280
1x D1 mini

ESPEasy muss erst heruntergeladen geladen werden und dann kompiliert werden.
Dazu ist ein git repository zu ESPEasy zu clonen.

git clone https://github.com/letscontrolit/ESPEasy.git

In der platform.ini muss noch das passende device auskommentiert werden.

env_default = normal_ESP8266_4096 

oder
env_default = normal_ESP8266_1024

entweder für die 1MB oder 4MB Variante.

Das 1. Icon im platform.io ist “Build” und generiert das HEX File, welches mit dem 3. Icon auf den D1 mini “Upload” kopiert wird. Mehr ist nicht einzustellen. Das Image ist sehr generisch.
Wenn alles soweit geklappt hat, sollte der d1 mini rebooten und ein eigenes WLAN erstellt haben. Hier kann man connecten. Dazu nutze ich immer ein Telefon, damit man nicht am Rechner konfigurieren muss.  Dann kann man unter 192.168.4.1 die nötigen Einstellungen des eigenen WLANs erledigen. SSID und Key sind einzustellen. Danach holt er sich eine IP aus dem eigenen Netz und ist zur Konfiguration bereit.

Unter Hardware sieht es bei mir so aus und passt dann auch zu der Verkabelung der Bauteile.

Unter Devices habe ich zwei Geräte angelegt: 1x den BME Sensor und 1x das OLED Display.

Beim Display habe ich noch ein paar weitere Systemwerte hinterlegt, weil noch genug Platz war.

Wenn alles geklappt hat, sollten die Umgebungswerte des BME auf dem Display erscheinen. Nun kann man diese Werte natürlich auch über MQTT oder andere Technologien versenden. Das Prinzip mit dem kleinen Beispiel sollte euch zeigen, wie es generell geht. Es sind aber noch viele andere Funktionen möglich. Gerade der Bereich Regeln und Tools ist sehr interessant.

Viel Spaß bei den ersten Versuchen mit ESPEasy.

 

Ubuntu Nemo – Alternative zu Nautilus

      Keine Kommentare zu Ubuntu Nemo – Alternative zu Nautilus

Auch in der aktuellen Ubuntu Version ist nautilus kaum noch nutzbar. Von Version zu Version werden Funktionen raus genommen. Will oder kann man nicht auf einen zwei Fenster Manager wie Gnome-Comander, Krusader oder Double-Commander zurückgreifen, ist Nemo eine optisch recht ähnliche Alternative zum Systemstandard. Auch wenn Nemo ein Fork ist, gibt es wenigstens noch ein paar mehr Funktionen die man noch nutzen kann. Schaut es euch einfach mal an und  testet selber.