<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CathyProductions</title>
	<atom:link href="https://www.cathyprod.de/blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cathyprod.de/blog/</link>
	<description>von kleinen Himbeeren und großen Daten</description>
	<lastBuildDate>Sat, 14 Nov 2020 17:08:32 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.5</generator>
<site xmlns="com-wordpress:feed-additions:1">133914313</site>	<item>
		<title>Joy-IT 3.2 Touch-Display am Raspberry Pi</title>
		<link>https://www.cathyprod.de/blog/2018/06/11/joy-it-3-2-touch-display-am-raspberry-pi/</link>
					<comments>https://www.cathyprod.de/blog/2018/06/11/joy-it-3-2-touch-display-am-raspberry-pi/#respond</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Mon, 11 Jun 2018 13:14:38 +0000</pubDate>
				<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[3.2]]></category>
		<category><![CDATA[Display]]></category>
		<category><![CDATA[Joy-IT]]></category>
		<category><![CDATA[LCD]]></category>
		<category><![CDATA[Waveshare]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=596</guid>

					<description><![CDATA[<p>Um nicht immer einen großen Monitor anschließen zu müssen und um Prozesse auf dem Raspberry Pi auch während der Laufzeit grafisch beobachten zu können hatte ich mir kürzlich das kleine, nur 3,2 Zoll große Touch-Display von Joy-IT zugelegt. Zum Betrieb wird das Display direkt auf die GPIO-Leiste des Raspberry Pi aufgesteckt. Vorab müssen aber für <a class="more-link" href="https://www.cathyprod.de/blog/2018/06/11/joy-it-3-2-touch-display-am-raspberry-pi/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/06/11/joy-it-3-2-touch-display-am-raspberry-pi/">Joy-IT 3.2 Touch-Display am Raspberry Pi</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Um nicht immer einen großen Monitor anschließen zu müssen und um Prozesse auf dem Raspberry Pi auch während der Laufzeit grafisch beobachten zu können hatte ich mir kürzlich das kleine, nur 3,2 Zoll große Touch-Display von Joy-IT zugelegt. Zum Betrieb wird das Display direkt auf die GPIO-Leiste des Raspberry Pi aufgesteckt. Vorab müssen aber für den Wechsel von HDMI auf das GPIO-Display noch einige Einstellungen im Betriebssystem abgeändert werden. Drei unterschiedliche Ansätze habe ich dazu ausprobiert, erst der dritte Weg führte zum Erfolg.</p>
<h3>1. Aufsatz auf ein laufendes Raspbian-System</h3>
<p>Der Betrieb des Displays auf einem Standard-Raspbian ist laut Joy-IT möglich, allerdings müssen einige Systemdateien angepasst werden.&nbsp;Auf der <a href="http://downloads.joy-it.net">Download-Seite von Joy-IT</a> wird unter &#8222;Raspberry Zubehör&#8220; eine PDF-Anleitung, die alle Einzelschritte beschreibt, angeboten. Unter anderem müssen die /boot/config.txt und die /boot/cmdline.txt angepasst werden, es muss ein Grafiktreiber von Joy-IT heruntergeladen werden und die X11-Konfiguration entsprechend erstellt werden.</p>
<p>Die Anleitung ist gut und ausführlich beschrieben, ich habe alle Schritte einzeln und sorgfältig ausgeführt &#8211; wie auch immer, nach allen Änderungen am System blieb das aufgesteckte Display weiterhin schwarz und das Raspbian warf, auch bei mehrmaligem Nacharbeiten und Experimentieren, immer weiter- und tiefergehende Systemfehler im Grafik-X11-Bereich aus.</p>
<p>Vielleicht hätte ich diese Fehler tatsächlich noch Schritt für Schritt weiter debuggen und auflösen können, aber zunächst entschied ich mich für das Ausprobieren der zweiten Option.</p>
<h3>2. Betrieb auf einem Image von Joy-IT</h3>
<p>Ebenfalls auf der Joy-IT-Webseite wird unter dem oben genannten Download-Link auch ein vollständiges Raspbian-Image angeboten, welches bereits korrekt für den Betrieb des Touch-Displays konfiguriert sein soll. Die Downloadgröße des Images ist rund 1,9 GB. Mit dem <a href="https://www.sdcard.org/downloads/">SD Memory Card Formatter der SD Foundation</a> bereitet ich eine SD-Karte für das Image vor, spielte es über das <a href="https://de.wikipedia.org/wiki/Dd_(Unix)">&#8222;dd&#8220;-Kommando</a> auf die Karte und startete mit großer Hoffnung den Raspberry Pi mit dem aufgesteckten Display.</p>
<p>Doch auch hier folgte bald die Enttäuschung. Das Display blieb weiterhin dunkel, das Image wurde vom Raspberry Pi, so wie es zumindest die rote Status-LED andeutete, überhaupt nicht erkannt. Auch nach erneutem Download und weiteren Versuchen, das Image auf die SD-Karte zu kopieren und wieder zu starten, stellte sich kein Erfolg ein.</p>
<p>Also stürzte ich mich, nun doch schon recht genervt von meinem vermutlich nutzlosen Einkauf, wieder ins Internet und entdeckte bald daraufhin die Option Nummer 3 für den Betrieb des Touch-Displays.</p>
<h3>3. Betrieb auf einem Waveshare-Image</h3>
<p>Joy-IT scheint nur der Zwischenhändler zu sein, der eigentliche Hersteller des LCD-Displays ist die Firma Waveshare aus China. Auch Waveshare bietet auf ihrer <a href="https://www.waveshare.com/wiki/3.2inch_RPi_LCD_(B)">Webseite</a> ein bereits vollständig für das Display konfiguriertes Image zum Download an (RPi-2.8inch_32inch-LCD-Raspbian-180326.img.7z, 1,4 GB).</p>
<p>Also musste ich zwar einen weiteren großen Download abwarten, aber mit diesem Image stellte sich bald darauf Freude bei mir ein. Nachdem ich diese, ebenfalls über den dd-Befehl, auf eine vorfomatierte SD-Karte kopiert hatte, startete der Raspberry Pi klaglos mit dem aufgesteckten Display und zeigte auf dem kleinen Touch den bekannten Raspian-Desktop. In diesem Desktop lässt sich dann, mit reichlich Fingerspitzen- und Feingefühl, zum Beispiel der WLAN- und SSH-Zugang konfigurieren. Eine angeschlossene Maus und Tastatur helfen bei der Eingabe aber ganz ungemein.</p>
<p>Das Display scheint für einen alltäglichen und bequemen Betrieb des Systems mit seiner Auflösung von 320&#215;240 Pixeln dann aber doch etwas zu klein. Für einen Überblick und Einblick in das System kann das Display jedoch ganz gute Dienste erweisen. Ebenfalls vorstellbar wäre eine Status-Webseite, die entsprechend passend im 320&#215;240-Pixel-Bereich des Displays angezeigt wird.</p>
<h3>Fazit</h3>
<p>Der Betrieb über die von Joy-IT vorgeschlagene Konfiguration oder auch deren Image führte bei mir nicht zum Erfolg, die genaue Ursache dafür bleibt mir weiterhin unklar, auch nachdem ich einige Zeit in die unterschiedlichsten Versuche investiert hatte. Der Betrieb über das Waveshare-Image führt aber zu direktem Erfolg. Das Display ist ok für seine Größe, die Anzeige auch farblich gut, ob die Arbeit in dieser Auflösung aber Spass macht oder überhaupt möglich ist, bezweifele ich stark. Als wortwörtlich kleines Gadget, auch zu diesem Preis, ist das kleine LCD aber auf jeden Fall eine Empfehlung!</p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/06/11/joy-it-3-2-touch-display-am-raspberry-pi/">Joy-IT 3.2 Touch-Display am Raspberry Pi</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2018/06/11/joy-it-3-2-touch-display-am-raspberry-pi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">596</post-id>	</item>
		<item>
		<title>Mac Bildschirmschoner ausbremsen</title>
		<link>https://www.cathyprod.de/blog/2018/02/08/mac-bildschirmschoner-ausbremsen/</link>
					<comments>https://www.cathyprod.de/blog/2018/02/08/mac-bildschirmschoner-ausbremsen/#respond</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Thu, 08 Feb 2018 17:08:39 +0000</pubDate>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Bildschirmschoner]]></category>
		<category><![CDATA[csrutil]]></category>
		<category><![CDATA[origami]]></category>
		<category><![CDATA[plist]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=572</guid>

					<description><![CDATA[<p>Origami als Digitaler Bilderrahmen In den Freizeitstunden nutze ich auf meinem Mac Book gerne den Apple Origami Screensaver als &#8222;Digitalen Bilderrahmen&#8220;, indem ich als Quelle einfach meine eigenen Urlaubsfotos auswähle. Allerdings störte mich schon recht bald die sehr hektisch wirkende, zügige Abfolge der Fotos und ich machte mich auf die Suche nach einer Einstellmöglichkeit der <a class="more-link" href="https://www.cathyprod.de/blog/2018/02/08/mac-bildschirmschoner-ausbremsen/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/02/08/mac-bildschirmschoner-ausbremsen/">Mac Bildschirmschoner ausbremsen</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Origami als Digitaler Bilderrahmen</h3>
<p>In den Freizeitstunden nutze ich auf meinem Mac Book gerne den Apple <em>Origami</em> Screensaver als &#8222;Digitalen Bilderrahmen&#8220;, indem ich als Quelle einfach meine eigenen Urlaubsfotos auswähle. Allerdings störte mich schon recht bald die sehr hektisch wirkende, zügige Abfolge der Fotos und ich machte mich auf die Suche nach einer Einstellmöglichkeit der Anzeigedauer der einzelnen Fotos.</p>
<p>Unter Mac OS klappt entweder alles sehr schnell, benutzerfreundlich und einfach &#8211; oder wie in diesem Fall nur sehr schwierig bis überhaupt nicht. Eine Einstellmöglichkeit für die Anzeigedauer wird im Menü &#8222;Schreibtisch &amp; Bildschirmschoner&#8220; unter Mac OS 10.x leider nicht angeboten. Dann musste ich wohl in den Maschinenraum &nbsp;meines Mac Books abtauchen&#8230;</p>
<h3>Konfiguration im Dateisystem bearbeiten</h3>
<pre>Achtung: Die nachstehenden Arbeiten am Dateisystem sollten nur von erfahrenen Benutzern und mit großer Sorgfalt durchgeführt werden.
Falls ihr unsicher seid, fragt vorab nochmals nach!
Macht vor den Änderungen ein Backup eures Systems!</pre>
<p>In Mac OS werden Konfigurationen im Dateisystem in <em>PList</em>-Dateien (&#8222;Preferences List&#8220;) gespeichert. Um diese Dateien öffnen und bearbeiten zu können, benutzt man am besten einen speziell dazu geeigneten Editor. Ich habe mich für den &#8222;TextWrangler&#8220; entschieden und das Programm aus dem App Store heruntergeladen und installiert.</p>
<h4>SPI deaktivieren</h4>
<p>Diese PList-Dateien sind als Systemdateien unter Mac OS durch die <em>System Integrity Protection&nbsp;</em>(&#8222;SPI&#8220;) vor jeglicher Bearbeitung und Veränderung geschützt. Die SPI muss daher zunächst für den Zeitraum unserer Arbeiten deaktiviert werden. Dazu startet ihr zunächst euer Mac Book neu in den <em>Recovery Mode</em>, indem ihr während eines Neustarts die Tasten &#8222;cmd&#8220; und &#8222;R&#8220; gedrückt haltet. Im Recovery Menü, welches nach diesem Neustart erscheint, ignoriert ihr die angezeigte Tool-Box und wählt oben aus der Menüleiste unter &#8222;Dienstprogramme&#8220; das &#8222;Terminal&#8220; aus. Im Terminal-Fenster gebt ihr dann den Befehl</p>
<pre>&gt; csrutil disable</pre>
<p>ein, der mit einem &#8222;Successfully disabled&#8230;&#8220; bestätigt werden sollte. Über den Befehl &#8222;reboot&#8220; oder über die Power-Taste des Computers startet ihr dann euren Mac wieder in den normalen Modus.</p>
<h4>PList-Datei bearbeiten</h4>
<p>Nun öffnet ihr im normalen Modus wieder ein Terminal und wechselt in folgenden Ordner, in dem sich die Datei <em>StyleDescription.plist&nbsp;</em>befindet.</p>
<pre>&gt; cd /System/Library/PrivateFrameworks/Slideshows.framework/Versions/A/Resources/Content/Styles/Origami.mrbStyle/Contents/Resources</pre>
<p>Mit den beiden folgenden Befehlen kann nun diese Datei zunächst entsperrt und dann für alle Benutzer schreibbar gesetzt werden:</p>
<pre>&gt; sudo chflags nouchg StyleDescription.plist
&gt; sudo chmod go+w StyleDescription.plist</pre>
<p>Nun startet ihr <em>TextWrangler</em> und öffnet auch dort die <em>StyleDescription.plist</em>. Recht weit unten in der Datei befindet sich ein XML-Block, in dem unter anderem die key-Werte <em>maximumTransitionDuration</em>, <em>minimumEffectDuration</em> und <em>recommendedTransitionDuration</em> festgelegt werden. Diese Zahlen beeinflussen das Verhalten und die Anzeigedauer des Bildschirmschoners.</p>
<p><img fetchpriority="high" decoding="async" data-attachment-id="573" data-permalink="https://www.cathyprod.de/blog/2018/02/08/mac-bildschirmschoner-ausbremsen/mac_ori_tw/#main" data-orig-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/mac_ori_tw.jpg" data-orig-size="1200,629" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Mac Origami PList TextWrangler" data-image-description="&lt;p&gt;Mac Origami-PList im TextWrangler&lt;/p&gt;
" data-image-caption="" data-medium-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/mac_ori_tw-300x157.jpg" data-large-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/mac_ori_tw-1024x537.jpg" class="alignnone size-large wp-image-573" src="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/mac_ori_tw-1024x537.jpg" alt="Mac Origami PList TextWrangler" width="780" height="409" srcset="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/mac_ori_tw-1024x537.jpg 1024w, https://www.cathyprod.de/blog/wp-content/uploads/2018/02/mac_ori_tw-300x157.jpg 300w, https://www.cathyprod.de/blog/wp-content/uploads/2018/02/mac_ori_tw-768x403.jpg 768w, https://www.cathyprod.de/blog/wp-content/uploads/2018/02/mac_ori_tw.jpg 1200w" sizes="(max-width: 780px) 100vw, 780px" /></p>
<p>Ihr könnt hier mit eigenen Werten experimentieren, offen gesagt habe ich das genaue Zusammenspiel der integer-Zahlwerte noch nicht endgültig durchschaut. Höhere Werte erhöhen die Anzeigedauer, aber häufig werden auch die Übergangseffekte durch einen schwarzen Bildschirm überschrieben. Gute Erfahrungen habe ich aber mit diesen abgeänderten Einstellungen gemacht:</p>
<pre>...
&lt;key&gt;maximumTransitionDuration&lt;/key&gt;
&lt;integer&gt;20&lt;/integer&gt;
&lt;key&gt;minimumEffectDuration&lt;/key&gt;
&lt;integer&gt;40&lt;/integer&gt;
...
&lt;key&gt;recommendedTransitionDuration&lt;/key&gt; 
&lt;integer&gt;5&lt;/integer&gt;
...</pre>
<p>Nach dem Speichern der PList-Datei im TextWrangler könnt ihr den Effekt auf die Anzeigedauer und die Übergangseffekte im Origami-Bildschirmschoner direkt unter Mac OS überprüfen.</p>
<h4>Aufräumen</h4>
<p>Sobald ihr zufrieden mit der abgeänderten Anzeigedauer seid, solltet ihr im Terminal zuerst die Dateirechte wieder zurücksetzen und dann die Datei auch wieder sperren:</p>
<pre>&gt; sudo chmod go-w StyleDescription.plist&nbsp;
&gt; sudo chflags uchg StyleDescription.plist</pre>
<p>Und zum Abschluss auch nochmals in den <em>Recovery-Modus</em> starten und dort über den Terminal-Befehl <em>csrutil enable</em>&nbsp;den SPI-Schutz wieder aktivieren.</p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/02/08/mac-bildschirmschoner-ausbremsen/">Mac Bildschirmschoner ausbremsen</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2018/02/08/mac-bildschirmschoner-ausbremsen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">572</post-id>	</item>
		<item>
		<title>Funksteckdosen am Raspberry Pi</title>
		<link>https://www.cathyprod.de/blog/2018/02/01/433-mhz-funksteckdosen-am-raspberry-pi/</link>
					<comments>https://www.cathyprod.de/blog/2018/02/01/433-mhz-funksteckdosen-am-raspberry-pi/#respond</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Thu, 01 Feb 2018 16:37:42 +0000</pubDate>
				<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[433 MHz]]></category>
		<category><![CDATA[Fernbedienung]]></category>
		<category><![CDATA[Funksteckdose]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[Transistor]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=557</guid>

					<description><![CDATA[<p>Ich hatte im Elektronikhandel günstig einen Satz dreier Funksteckdosen erstanden und am gleichen Tag in einer Drogeriekette auch ein Set per Fernsteuerung schaltbarer LED-Spots eingekauft. Funksteckdosen werden üblicherweise auf der 433-MHz-Frequenz angesteuert, meine Hoffnung war, dass die LED-Spots mit der gleichen Frequenz geschaltet werden. &#160; Der erste Ansatz Meine ursprüngliche Idee war, einen 433-MHz-Empfänger und <a class="more-link" href="https://www.cathyprod.de/blog/2018/02/01/433-mhz-funksteckdosen-am-raspberry-pi/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/02/01/433-mhz-funksteckdosen-am-raspberry-pi/">Funksteckdosen am Raspberry Pi</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ich hatte im Elektronikhandel günstig einen Satz dreier Funksteckdosen erstanden und am gleichen Tag in einer Drogeriekette auch ein Set per Fernsteuerung schaltbarer LED-Spots eingekauft. Funksteckdosen werden üblicherweise auf der 433-MHz-Frequenz angesteuert, meine Hoffnung war, dass die LED-Spots mit der gleichen Frequenz geschaltet werden.</p>
<p>&nbsp;</p>
<h3>Der erste Ansatz</h3>
<p>Meine ursprüngliche Idee war, einen 433-MHz-Empfänger und ein passendes Sendemodul für den Raspberry zu besorgen (zum Beispiel&nbsp;<a href="https://www.conrad.de/de/funk-sender-empfaenger-set-433-mhz-am-130428.html">hier</a> oder <a href="https://eckstein-shop.de/433Mhz-RF-Wireless-Sender-Empfaenger-Modul-Transmitter-Receiver-Kit-Arduino">hier</a>), damit&nbsp;<a href="https://tutorials-raspberrypi.de/raspberry-pi-funksteckdosen-433-mhz-steuern/">(so wie beispielsweise hier sehr schön beschrieben)</a>&nbsp;einmalig die verwendeten Funk-Codes meiner Fernbedienungen auszulesen und in Software nachzubilden, um dann den Raspberry Pi und das Sendemodul als neue Fernbedienung für beide Geräte nutzen zu können. Da ich aber an diesem Tag weder Sender noch Empfänger zur Hand hatte, begann ich zunächst die Geräte aufzuschrauben in der Hoffnung, irgendwo eines dieser Teile auslöten zu können.</p>
<p>&nbsp;</p>
<h3>Ein zweiter Plan entsteht</h3>
<p>Zunächst fiel mir auf, dass zu beiden Fernbedienungen je eine CR-2032-Batterie mitgeliefert wurde, die Schaltungen also auf 3 Volt, ähnlich der GPIO-Spannung des Raspberry Pi, ausgelegt sind. Weiterhin beinhalteten die Geräte einige integrierte Schaltungen, über die gewisse &#8222;Komfortfunktionen&#8220;, wie eine 30-minütige Zeitschaltung oder das Dimmen der LED-Spots, bereits realisiert sind. Auf der Platine der Fernbedienungen war ausserdem gut zu erkennen, dass sämtliche Mikroschalter, über die alle Funktionen angesprochen wurden, jeweils immer den Erde-/Ground-Kontakt zum Batteriefach herstellten.</p>
<p>Ich beschloss daher, die ICs und die Logik der Fernbedienungen als &#8222;Black Box&#8220; zu betrachten und beizubehalten und im Gegenzug die Funktion der Mikroschalter mit dem Raspberry Pi nachzubilden. Mit diesem Ansatz würden alle Komfortfunktionen erhalten bleiben, ich würde keinen zusätzlichen 433-MHz-Sender benötigen und auch nicht die Funk-Codes der Fernbedienungen ausspähen und nachbilden müssen.</p>
<p>&nbsp;</p>
<h3>Die Umsetzung</h3>
<p>Gesagt, getan: An jeden der von mir benötigten Mikroschalter-Kontakte (On, Off, Zeitschaltung etc.) lötete ich, direkt auf der Platine der Fernbedienung, jeweils einen NPN-<a href="https://www.cathyprod.de/blog/2016/09/13/was-ist-eigentlich-ein-transistor/">Transistor</a> (BC-337 mit 10 kOhm Widerstand an der Basis) parallel als zusätzlichen elektronischen Schalter an. Die Batterie wird entfernt, den Plus-Pol des Batteriefachs verband ich mit einem 3,3-Volt-<a href="https://www.cathyprod.de/gpio.html">GPIO-Pin</a> des Raspberry Pi, den Minuspol des Batteriefachs und die Emitter der Transistoren mit einem der Ground-GPIO-Pins des Raspberry. Die Basis-Widerstände jedes Transistors wurden jeweils mit einzelnen weiteren GPIO-Pins verbunden.</p>
<p><img decoding="async" data-attachment-id="563" data-permalink="https://www.cathyprod.de/blog/2018/02/01/433-mhz-funksteckdosen-am-raspberry-pi/rp_funk_fern/#main" data-orig-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern.jpg" data-orig-size="800,450" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.4&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;SM-G800F&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1510426497&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;3.3&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Funk-Fernbedienung" data-image-description="&lt;p&gt;Platine der Funk-Fernbedienung&lt;/p&gt;
" data-image-caption="" data-medium-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern-300x169.jpg" data-large-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern.jpg" class="alignnone size-full wp-image-563" src="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern.jpg" alt="Funk-Fernbedienung Platine" width="800" height="450" srcset="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern.jpg 800w, https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern-300x169.jpg 300w, https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern-768x432.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p>Um die Fernbedienung nutzen zu können, wird nun zunächst auf den &#8222;Plus-Pol&#8220;-GPIO <a href="https://www.cathyprod.de/blog/2017/07/21/raspberry-pi-gpio-ports-ansteuern/">eine Spannung angelegt</a>, um die Schaltung unter Strom zu setzen. Ein weiterer, kurzer Impuls auf einer der Transistor-Basis-GPIO-Verbindungen simuliert dann den Tastendruck auf der Fernbedienung und die Geräte werden wie gewünscht durch die Fernbedienung geschaltet.</p>
<p>Die Platinen der Fernbedienungen und die einfach auf ein Stück Pappkarton aufgelöteten Transistorschaltungen ließ ich später noch in einer nicht mehr benötigten, aber dekorativen Pappschachtel neben dem Raspberry Pi verschwinden (auf dem Foto ist links auch die IR-LED zur Fernbedienung von Fernseher und LED-Beleuchtung aus dem <a href="https://www.cathyprod.de/blog/2017/07/30/ein-dibob-fuer-die-raspberry-gpio-schnittstelle/">DiBOB</a> zu sehen). &nbsp;Die Verbindung zu den GPIO-Pins des Raspberry stellte ich über ein altes IDE-Kabel aus der Bastelkiste her.</p>
<p>Diese &#8222;Simulation des Tastendrucks einer Fernbedienung&#8220; über eine Transistor-Schaltung und einen GPIO-Impuls gelang schnell und war unproblematisch, darüberhinaus auch kostengünstig, da kein eigener Sender beschafft werden musste &#8211; und sie funktioniert bis heute einwandfrei!</p>
<p><img decoding="async" data-attachment-id="567" data-permalink="https://www.cathyprod.de/blog/2018/02/01/433-mhz-funksteckdosen-am-raspberry-pi/rp_funk_fern_box/#main" data-orig-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern_box.jpg" data-orig-size="800,450" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.4&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;SM-G800F&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1517507263&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;3.3&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="Funk-Fernbedienung Box" data-image-description="&lt;p&gt;Funk-Fernbedienung in Box verpackt&lt;/p&gt;
" data-image-caption="" data-medium-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern_box-300x169.jpg" data-large-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern_box.jpg" class="alignnone size-full wp-image-567" src="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern_box.jpg" alt="Funk-Fernbedienung Box" width="800" height="450" srcset="https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern_box.jpg 800w, https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern_box-300x169.jpg 300w, https://www.cathyprod.de/blog/wp-content/uploads/2018/02/rp_funk_fern_box-768x432.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/02/01/433-mhz-funksteckdosen-am-raspberry-pi/">Funksteckdosen am Raspberry Pi</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2018/02/01/433-mhz-funksteckdosen-am-raspberry-pi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">557</post-id>	</item>
		<item>
		<title>WordPress: Plugin &#8222;Hello World&#8220; selbst erstellen</title>
		<link>https://www.cathyprod.de/blog/2018/01/27/wordpress-plugin-hello-world-selbst-erstellen/</link>
					<comments>https://www.cathyprod.de/blog/2018/01/27/wordpress-plugin-hello-world-selbst-erstellen/#respond</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Sat, 27 Jan 2018 16:23:08 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[add_action]]></category>
		<category><![CDATA[Hello World]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=513</guid>

					<description><![CDATA[<p>Mit Plugins kann die Funktionalität einer WordPress-Installation auf vielfältige Weise erweitert werden. In diesem Beitrag wird beschrieben, wie ihr die Grundstruktur für ein erstes eigenes Plugin erstellen könnt. Das Plugin-Grundgerüst Ein WordPress-Plugin besteht letztendlich aus PHP-Methoden, die in den &#8222;/plugins&#8220;-Ordner unserer WordPress-Installation hinzugefügt und dort dann automatisch ausgeführt werden. Daher legen wir für unser Plugin <a class="more-link" href="https://www.cathyprod.de/blog/2018/01/27/wordpress-plugin-hello-world-selbst-erstellen/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/27/wordpress-plugin-hello-world-selbst-erstellen/">WordPress: Plugin &#8222;Hello World&#8220; selbst erstellen</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Mit Plugins kann die Funktionalität einer WordPress-Installation auf vielfältige Weise erweitert werden. In diesem Beitrag wird beschrieben, wie ihr die Grundstruktur für ein erstes eigenes Plugin erstellen könnt.</p>
<h3>Das Plugin-Grundgerüst</h3>
<p>Ein WordPress-Plugin besteht letztendlich aus PHP-Methoden, die in den &#8222;/plugins&#8220;-Ordner unserer WordPress-Installation hinzugefügt und dort dann automatisch ausgeführt werden. Daher legen wir für unser Plugin zunächst eine passende PHP-Datei im &#8222;/plugins&#8220;-Ordner an, am besten bereits in einem zugehörigen Unterordner organisiert. Die Dateinamen können jeweils relativ frei gewählt werden, hier nutze ich beispielsweise &#8222;cathy-plugin-demo&#8220;:</p>
<pre>   [wordpress]/wp-content/plugins/cathy-plugin-demo/cathy-plugin-demo.php
</pre>
<p>Die Eigenschaften eines Plugins, wie Name, Beschreibung, Autor und Version, müssen in dieser PHP-Datei in feste vorgegebenen Meta-Tags, innerhalb eines PHP-Kommentar-Blocks, angegeben werden. Für die erste Version unseres eigenen Plugins könnte dieser Kommentar-Block in der <em>cathy-plugin-demo.php</em> beispielsweise folgendermaßen aussehen:</p>
<pre>&lt;?php
/*
Plugin Name: Cathy Plugin Demo
Description: WordPress "Hello World"-Plugin-Demo
Version: 0.1
Author: CathyProductions
Author URI: https://www.cathyprod.de
License: GPL
*/
?&gt;
</pre>
<p>Sobald wir diese PHP-Datei im oben genannten Ordner abspeichern, zeigt uns WordPress im Plugin-Bereich der Administration das neu gefundene Plugin auch schon an, und wir könnten es auch schon aktivieren:</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" data-attachment-id="522" data-permalink="https://www.cathyprod.de/blog/2018/01/27/wordpress-plugin-hello-world-selbst-erstellen/wppl_admin/#main" data-orig-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_admin.jpg" data-orig-size="800,159" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="wppl_admin" data-image-description="" data-image-caption="" data-medium-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_admin-300x60.jpg" data-large-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_admin.jpg" class="alignnone size-full wp-image-522" src="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_admin.jpg" alt="Wordpress Plugin Administration" width="600" height="119" srcset="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_admin.jpg 800w, https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_admin-300x60.jpg 300w, https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_admin-768x153.jpg 768w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>&nbsp;</p>
<h3>Die erste Funktion</h3>
<p>Noch hat unser selbsterstelltes Plugin allerdings keinerlei Funktion. Ein WordPress-Plugin erhält seine Funktionalität, indem es sich an die festgelegten internen Methoden, die beim Aufbau jeder WordPress-Seite aufgerufen werden, dranhängt und dazu entweder zusätzlichen Code ausführt oder die zu verarbeitenden Daten filtert und ändert. Dies geschieht durch die Befehle <em>add_action()</em> und <em>add_filter()</em>.</p>
<p>Zur Demonstration fügen wir in die&nbsp;<em>cathy-plugin-demo.php</em> je eine <em>action</em> und einen <em>filter</em> hinzu, einmal auf den Aufbau des <em>footers</em> und einmal auf das Lesen jedes c<em>ontents </em>eines Blogeintrags. Dann programmieren wir die von uns dazu gewünschte HTML-Erweiterung jeweils in einer gleichnamigen&nbsp;<em>function</em> aus:</p>
<pre>&lt;?php
/*
Plugin Name: Cathy Plugin Demo
Description: WordPress "Hello World"-Plugin-Demo
Version: 0.1
Author: CathyProductions
Author URI: https://www.cathyprod.de
License: GPL
*/

add_action('wp_footer', 'cathy_plugin_demo_action_footer');
function cathy_plugin_demo_action_footer() {
  echo '&lt;div&gt;Plugin Demo Add Footer "Hello World"&lt;/div&gt;';
}

add_filter('the_content', 'cathy_plugin_demo_filter_content');
function cathy_plugin_demo_filter_content($content) {
  $content .= '&lt;p&gt;Plugin Demo Add One Line - "Hello World"&lt;/p&gt;';
  return $content;
}

?&gt;</pre>
<p>Wenn wir unser selbsterstelltes Plugin nun in der Administration aktivieren, wird durch die am <em>wp_footer</em> angehängte <em>action</em> am Seitenende eures Blogs die Zeile&nbsp;<em>Plugin Demo Add Footer &#8222;Hello World&#8220;</em> automatisch über die echo-Funktion mit ausgegeben.</p>
<p>Ausserdem wird über die <em>filter</em>-Methode auf <em>the_content</em> am Ende jedes eurer Blog-Einträge die Zeile <em>Plugin Demo Add One Line &#8211; &#8222;Hello World&#8220;</em> hinzugefügt. Der Filter hängt diesen Text jeweils an die WordPress-Variable $content an, wie dieser Screenshot eines Blogeintrags zeigt:</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" data-attachment-id="524" data-permalink="https://www.cathyprod.de/blog/2018/01/27/wordpress-plugin-hello-world-selbst-erstellen/wppl_result/#main" data-orig-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_result.jpg" data-orig-size="800,437" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="wppl_result" data-image-description="" data-image-caption="" data-medium-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_result-300x164.jpg" data-large-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_result.jpg" class="alignnone size-full wp-image-524" src="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_result.jpg" alt="Wordpress Plugin Hello World Ergebnis" width="800" height="437" srcset="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_result.jpg 800w, https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_result-300x164.jpg 300w, https://www.cathyprod.de/blog/wp-content/uploads/2018/01/wppl_result-768x420.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /></p>
<p>&nbsp;</p>
<p>Source-Code in GitHub</p>
<ul>
<li><a href="https://github.com/CathyProductions/WPHelloWorldPlugin">github.com/CathyProductions/WPHelloWorldPlugin</a></li>
</ul>
<p>Weiterführende Links:</p>
<ul>
<li><a href="https://mainwp.com/creating-a-wordpress-plugin/">Weiterentwicklung als konfigurierbares Plugin</a></li>
<li><a href="https://codex.wordpress.org/Plugin_API/Action_Reference">API aller verwendbaren WordPress-Actions</a></li>
</ul>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/27/wordpress-plugin-hello-world-selbst-erstellen/">WordPress: Plugin &#8222;Hello World&#8220; selbst erstellen</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2018/01/27/wordpress-plugin-hello-world-selbst-erstellen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">513</post-id>	</item>
		<item>
		<title>Precious Pi Projects (IV)</title>
		<link>https://www.cathyprod.de/blog/2018/01/20/precious-pi-projects-iv/</link>
					<comments>https://www.cathyprod.de/blog/2018/01/20/precious-pi-projects-iv/#respond</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Sat, 20 Jan 2018 18:25:56 +0000</pubDate>
				<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Binary Clock]]></category>
		<category><![CDATA[Lauflicht]]></category>
		<category><![CDATA[PPP]]></category>
		<category><![CDATA[Precious Pi Projects]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=505</guid>

					<description><![CDATA[<p>Heute mit &#8211; haltet euch fest &#8211; gleich zwei wunderbaren Raspberry-Pi-Projekten, da ich mich zwischen beiden nicht entscheiden konnte. 1. Die Binary-Clock YouTuber engineerish baut aus 3 WS2812B-LED-Streifen eine sehr schön anzuschauende Uhr, die die Zeit in binärer Darstellung anzeigt. Für die bis zu 60 Minuten und Sekunden genügen je 6 LEDs als &#8222;Bits&#8220;. Das <a class="more-link" href="https://www.cathyprod.de/blog/2018/01/20/precious-pi-projects-iv/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/20/precious-pi-projects-iv/">Precious Pi Projects (IV)</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Heute mit &#8211; haltet euch fest &#8211; gleich <strong>zwei</strong> wunderbaren Raspberry-Pi-Projekten, da ich mich zwischen beiden nicht entscheiden konnte.</p>
<h3>1. Die Binary-Clock</h3>
<p>YouTuber <em>engineerish</em> baut aus 3 WS2812B-LED-Streifen eine sehr schön anzuschauende Uhr, die die Zeit in <a href="https://www.cathyprod.de/blog/2018/01/20/was-ist-eigentlich-das-binaersystem/">binärer Darstellung</a> anzeigt. Für die bis zu 60 Minuten und Sekunden genügen je 6 LEDs als &#8222;Bits&#8220;. Das Gehäuse scheint mit einem 3D-Drucker selbst hergestellt zu sein. Ich könnte mir, neben der Uhrzeit, in der Anzeige auch noch eine farbliche Darstellung für den Wochentag oder auch die Aussentemperatur in blau bis rot vorstellen.</p>
<p>Link zum <strong>Video</strong>: <a href="https://www.youtube.com/watch?v=DCfZKKyb3XM">www.youtube.com/watch?v=DCfZKKyb3XM</a></p>
<h3>2. Das LED-Treppen-Lauflicht</h3>
<p>An diesem Projekt von Craig Richardson mag ich vor allem die Nützlichkeit und wie gut sich die Elektronik am Ende in die Wohnungseinrichtung einfügt. Ausserdem werden einige interessante Schaltungsideen umgesetzt.</p>
<p>Ein Raspberry Pi Zero wird zunächst nur in der Dunkelheit, über einen Lichtsensor gesteuert, eingeschaltet. Ein weiterer PIR-Sensor (Passive Infrared) erkennt dann im Betrieb, wann sich ein Mensch der Treppe nähert. Über 11 <a href="https://www.cathyprod.de/blog/2017/07/21/raspberry-pi-gpio-ports-ansteuern/">GPIO-Ausgänge</a> und dahinterliegende <a href="https://www.cathyprod.de/blog/2016/09/13/was-ist-eigentlich-ein-transistor/">Transistor-Schaltungen</a> werden dann alle Treppenstufen einzeln mit einem Lauflicht-Effekt ausgeleuchtet. Als kleines Schmankerl wird den LED noch ein Fade-In-Effekt über Kondensatoren mitgegeben.</p>
<p>Link zum <strong>Projekt</strong> inkl. Video, Einkaufsliste und ausführlicher Bauanleitung:: <a href="https://www.hackster.io/ukcraigrich/automatic-stair-lights-ff4e36">www.hackster.io/ukcraigrich/automatic-stair-lights-ff4e36</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/20/precious-pi-projects-iv/">Precious Pi Projects (IV)</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2018/01/20/precious-pi-projects-iv/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">505</post-id>	</item>
		<item>
		<title>Was ist eigentlich&#8230; das Binärsystem?</title>
		<link>https://www.cathyprod.de/blog/2018/01/20/was-ist-eigentlich-das-binaersystem/</link>
					<comments>https://www.cathyprod.de/blog/2018/01/20/was-ist-eigentlich-das-binaersystem/#respond</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Sat, 20 Jan 2018 14:51:42 +0000</pubDate>
				<category><![CDATA[Grundlagen]]></category>
		<category><![CDATA[Binärsystem]]></category>
		<category><![CDATA[Dualsystem]]></category>
		<category><![CDATA[Hexadezimalsystem]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=491</guid>

					<description><![CDATA[<p>In der IT und Elektronik wird häufig vom Binärsystem oder auch Dualsystem gesprochen. Jetzt stellen wir uns mal ganz dumm und fragen uns: Was ist das überhaupt? Altbekanntes Im Alltag benutzen wir fast immer das Dezimalsystem. Wir haben also 10 Ziffern zur Verfügung (die Zahlen 0 bis 9), mit denen wir 10 verschiedene Zahlen darstellen <a class="more-link" href="https://www.cathyprod.de/blog/2018/01/20/was-ist-eigentlich-das-binaersystem/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/20/was-ist-eigentlich-das-binaersystem/">Was ist eigentlich&#8230; das Binärsystem?</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In der IT und Elektronik wird häufig vom <em>Binärsystem</em> oder auch <em>Dualsystem</em> gesprochen. Jetzt stellen wir uns mal ganz dumm und fragen uns: Was ist das überhaupt?</p>
<h3>Altbekanntes</h3>
<p>Im Alltag benutzen wir fast immer das <em>Dezimalsystem</em>. Wir haben also 10 Ziffern zur Verfügung (die Zahlen 0 bis 9), mit denen wir 10 verschiedene Zahlen darstellen können. Für größere Zahlen, wie die &#8222;10&#8220; oder die &#8222;534&#8220;, nutzen wir die gleichen, bereits bekannten 10 Ziffern, verschieben diese aber einfach um weitere Stellen nach links und verzehnfachen dadurch ihren Wert. Die &#8222;534&#8220; hat also im Zehnersystem den Wert &#8222;5&#8220; * (10*10) + &#8222;3&#8220; * (10) + &#8222;4&#8220; &#8230;  und das ergibt wiederum 534, soweit keine Überraschung für uns, da wir mit dem Dezimalsystem täglich umgehen.</p>
<h3>Das Binärsystem / Dualsystem</h3>
<p>Im Binärsystem können dagegen nur zwei Ziffern genutzt werden, die &#8222;0&#8220; und die &#8222;1&#8220;. Für den nächsthöheren Wert, die &#8222;2&#8220;, müssen die verfügbaren Ziffern bereits um eine Stelle weiter vorgerückt werden, die &#8222;2&#8220; ist im Binärsystem also nach der &#8222;0-1&#8220; die &#8222;1-0&#8220;. In der gleichen Weise wird weiter hochgezählt, wenn die höchste verfügbare Ziffer, die &#8222;1&#8220;, jeweils auf einer Stelle erreicht ist:</p>
<pre>
1 =       1
2 =     1 0
3 =     1 1
4 =   1 0 0
5 =   1 0 1
6 =   1 1 0
7 = 1 1 1 1
8 = 1 0 0 0
9 = 1 0 0 1 usw.
</pre>
<h3>Wertbestimmung</h3>
<p>Durch das Verschieben der Stellen nach links wird im Binärsystem der Wert einer Zahl nicht verzehnfacht, sondern verzweifacht. Der Wert einer Zahl im Binärsystem lässt sich dadurch in der gleichen Form wie oben im Zehnersystem errechnen:</p>
<pre>
       0 0 1 0 = 0  +  0   +   1 * (2)  +     0  = 2
       1 0 0 0 = 1 * (2*2*2)   +  0  +  0  +  0  = 8
 1 0 0 0 0 1 1 = 1 * (2*2*2*2*2*2) + 1 * (2) + 1 = 64 + 2 + 1 = 67
</pre>
<p>Wie wir sehen, werden im Binärsystem deutlich mehr Stellen für die Abbildung einer Zahl benötigt als im Dezimalsystem. Die Zahl &#8222;5000&#8220; ist im Dualsystem beispielsweise die &#8222;1001110001000&#8220;, die &#8222;500.000&#8220; bereits die &#8222;1111010000100100000&#8220;. </p>
<p>Aber das Binärsystem hat einen entscheidenden Vorteil, der in der IT und Elektronik genutzt wird: Die beiden verfügbaren Ziffern &#8222;0&#8220; und &#8222;1&#8220; lassen sich wunderbar darstellen durch &#8222;Strom fließt nicht&#8220; und &#8222;Strom fließt&#8220;. Einige Kabel nebeneinander, von denen einige Strom führen und andere nicht, können somit bereits die Abbildung einer binären Zahl darstellen.</p>
<h3>Hexadezimal, Oktal, what?</h3>
<p>Noch als Exkurs: In gleicher Weise lassen sich auch beliebige andere Zahlensysteme erstellen. Im &#8222;8&#8220;-er System (<em>Oktalsystem</em>) werden nur die 8 Ziffern 0 bis 7 genutzt. Nach der &#8222;0007&#8220; ist also die nächsthöhere Zahl die &#8222;0010&#8220;. </p>
<p>Im <em>Hexadezimalsystem</em> (&#8222;16&#8220;-er System) werden neben den Ziffern 0-9 auch noch die Buchstaben A-F genutzt, zur Darstellung von insgesamt 16 Werten auf einer einzigen Stelle. Eine hexadezimale Zahl kann also auch &#8222;8C83&#8220; oder &#8222;FFF1&#8220; lauten. Der Wert einer hexadezimalen Zahl lässt sich wieder, wie oben schon durchgeführt, einfach bestimmen:</p>
<pre>
 0 0 2 0 = 2 *  (16)       = 32
 0 0 F F = 15 * 16 + 15    = 255
 2 0 0 0 = 2 *  (16*16*16) = 8.192  
 A 8 C A = 10 * (16*16*16) + 8 * (16*16) + 12 * (16) + 10 = 43210
</pre>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/20/was-ist-eigentlich-das-binaersystem/">Was ist eigentlich&#8230; das Binärsystem?</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2018/01/20/was-ist-eigentlich-das-binaersystem/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">491</post-id>	</item>
		<item>
		<title>Raspberry Pi GPIO in C &#8211; WiringPi</title>
		<link>https://www.cathyprod.de/blog/2018/01/13/raspberry-pi-gpio-in-c-wiringpi/</link>
					<comments>https://www.cathyprod.de/blog/2018/01/13/raspberry-pi-gpio-in-c-wiringpi/#respond</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Sat, 13 Jan 2018 12:08:30 +0000</pubDate>
				<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[wiringPi]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=461</guid>

					<description><![CDATA[<p>Bisher hatte ich die GPIO-Pins des Raspberry Pi über dash-Skripte und das Dateisystem angesteuert (&#8222;echo 0 / 1 &#62; /sys/class/gpio/gpioX/value&#8230;&#8220;), zum Ein- und Ausschalten von LED, Funksteckdosen und ähnlichem ist dieses Vorgehen auch absolut zufriedenstellend. Da ich nun aber eine LED-Matrix multiplexen und über ein Schieberegister steuern wollte, benötigte ich für die Ansteuerung jeder einzelnen <a class="more-link" href="https://www.cathyprod.de/blog/2018/01/13/raspberry-pi-gpio-in-c-wiringpi/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/13/raspberry-pi-gpio-in-c-wiringpi/">Raspberry Pi GPIO in C &#8211; WiringPi</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Bisher hatte ich die GPIO-Pins des Raspberry Pi über <a href="https://www.cathyprod.de/blog/2017/07/21/raspberry-pi-gpio-ports-ansteuern/">dash-Skripte und das Dateisystem</a> angesteuert (&#8222;echo 0 / 1 &gt; /sys/class/gpio/gpioX/value&#8230;&#8220;), zum Ein- und Ausschalten von LED, Funksteckdosen und ähnlichem ist dieses Vorgehen auch absolut zufriedenstellend. Da ich nun aber eine LED-Matrix <a href="https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-schieberegister/">multiplexen und über ein Schieberegister</a> steuern wollte, benötigte ich für die Ansteuerung jeder einzelnen LED-Zeile eine entsprechend hohe Schaltfrequenz auf den GPIO-Pins.</p>
<h3>GPIO Schaltfrequenz</h3>
<p>Über eine dash-for-Schleife</p>
<pre>for i in `seq 1 10000`; do ... echo 0 / 1 &gt; /gpioX/value ... done</pre>
<p>prüfte ich die maximale Schaltfrequenz, die über das Dateisystem erreicht werden kann. Auf einem <a href="https://www.cathyprod.de/blog/2016/02/09/raspberry-pi-modelluebersicht/">Pi 1 Modell B</a> lag das Maximum bei rund 2.000 Schaltvorgängen pro Sekunde. Das erscheint durchaus noch ausreichend für die Ansteuerung einer LED-Matrix, lässt für Erweiterungen aber im Zweifelsfall wenig Spielraum nach oben. Die Frage tauchte daher auf, ob die GPIOs auch in einer maschinennäheren Programmiersprache wie C, C++ oder Assembler in einer höheren Frequenz angesteuert werden können.</p>
<h3>Ansteuerung in C</h3>
<p>Glücklicherweise ist die Ansteuerung der GPIO-Pins über die Programmiersprache C auf dem Raspberry Pi ganz einfach über die bereits vorinstallierte <a href="http://wiringpi.com">wiringPi-Bibliothek</a> möglich. Folgendes C-Fragment bindet als Beispiel die wiringPi-Bibliothek ein und schaltet dann darüber den GPIO-Pin 12 einmal an und aus:</p>
<pre>#include &lt;wiringPi.h&gt;
int main (void)
{
  wiringPiSetup();
  pinMode(12, OUTPUT) ;
  digitalWrite(12, HIGH);
  // delay(x), sleep(x) etc.
  digitalWrite(12, LOW);  
}
</pre>
<p>Diese C-Quellcode-Datei, abgelegt beispielsweise als <em>gpio.c</em>, wird mit dem Gnu C-Compiler, unter Einbindung der wiringPi-Schnittstelle, in ein ausführbares Programm kompiliert. Das erstellte Programm <em>gpio</em> kann dann auf der Kommandozeile ausgeführt werden:</p>
<pre>&gt; gcc  -o gpio  gpio.c  -lwiringPi
&gt; ./gpio
</pre>
<p>Die höchstmögliche Schaltfrequenz der GPIO-Pins ist über eine solche GPIO-Ansteuerung in C ungleich höher als über das Dateisystem. Beim analog zu oben wiederholten Test über eine for-Schleife in C werden rund 3 Mio. Schaltvorgänge pro Sekunde auf dem gleichen Raspberry-System wie oben erreicht, ein über den Faktor 100 höherer Wert.</p>
<h3>Hinweis zur Pin-Belegung</h3>
<p>Bei der Benutzung der wiringPi-Bibliothek müsst ihr beachten, dass die <a href="https://www.cathyprod.de/gpio.html">interne Nummerierung der GPIO-Pins</a> vom häufig genutzten BCM-Schema abweicht. GPIO 2 entspricht in wiringPi beispielsweise der internen Nr. 8, GPIO 3 ist die 9, GPIO 4 entspricht der Nummer 7 etc. (<a href="http://wiringpi.com/pins/">warum denn das&#8230;?</a>).</p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/13/raspberry-pi-gpio-in-c-wiringpi/">Raspberry Pi GPIO in C &#8211; WiringPi</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2018/01/13/raspberry-pi-gpio-in-c-wiringpi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">461</post-id>	</item>
		<item>
		<title>Was ist eigentlich&#8230; ein Schieberegister?</title>
		<link>https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-schieberegister/</link>
					<comments>https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-schieberegister/#respond</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Mon, 08 Jan 2018 11:51:02 +0000</pubDate>
				<category><![CDATA[Grundlagen]]></category>
		<category><![CDATA[Flip-Flop]]></category>
		<category><![CDATA[Schieberegister]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=443</guid>

					<description><![CDATA[<p>Ein Schieberegister ist ein elektronisches Bauteil aus mehreren (meist 4, 8 oder 16) hintereinander geschalteten Flip-Flops. Wird am CLOCK oder SHIFT genannten Eingang des Schieberegisters ein kurzer Spannungswechsel angelegt (eine sogenannte Flanke), dann wird der Inhalt jedes Flip-Flops in das jeweils dahinterliegende Flip-Flop übergeben. Ein Schieberegister speichert somit mehrere Signalzustände in einer Kette von Flip-Flops. <a class="more-link" href="https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-schieberegister/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-schieberegister/">Was ist eigentlich&#8230; ein Schieberegister?</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ein Schieberegister ist ein elektronisches Bauteil aus mehreren (meist 4, 8 oder 16) hintereinander geschalteten <a href="https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-flip-flop/">Flip-Flops</a>. Wird am <em>CLOCK</em> oder <em>SHIFT</em> genannten Eingang des Schieberegisters ein kurzer Spannungswechsel angelegt (eine sogenannte Flanke), dann wird der Inhalt jedes Flip-Flops in das jeweils dahinterliegende Flip-Flop übergeben. Ein Schieberegister speichert somit mehrere Signalzustände in einer Kette von Flip-Flops.</p>
<p>In das <strong>erste</strong> Flip-Flop der Kette wird bei einer Flanke jeweils das aktuell am Dateneingang des Schieberegisters anliegende Signal (Spannung vorhanden oder nicht vorhanden) neu übernommen. Der Zustand des <strong>letzten</strong> Flip-Flops in der Kette wird überschrieben und verworfen. Ein 8-Bit-Schieberegister kann somit  &#8211; nach acht eingehenden Flanken, also in acht einzelnen Schritten &#8211; seriell die acht zuletzt am Dateneingang anliegenden Signalzustände speichern. Jedes Flip-Flop im Schieberegister verfügt weiterhin über einen parallel gelegten Ausgang, so dass die aktuell im Schieberegister gespeicherten <em>Bits</em> jederzeit parallel abgefragt und ausgegeben werden können.</p>
<div id="attachment_458" style="width: 810px" class="wp-caption alignnone"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-458" data-attachment-id="458" data-permalink="https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-schieberegister/schieberegister_sn74hc595n_small/#main" data-orig-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/Schieberegister_SN74HC595N_small.jpg" data-orig-size="800,459" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Schieberegister SN74HC595N" data-image-description="&lt;p&gt;8-Bit Schieberegister SN74HC595N (PIN-Belegung vereinfacht dargestellt)&lt;/p&gt;
" data-image-caption="&lt;p&gt;Schieberegister SN74HC595N&lt;/p&gt;
" data-medium-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/Schieberegister_SN74HC595N_small-300x172.jpg" data-large-file="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/Schieberegister_SN74HC595N_small.jpg" src="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/Schieberegister_SN74HC595N_small.jpg" alt="Schieberegister IC" class="size-full wp-image-458" width="800" height="459" srcset="https://www.cathyprod.de/blog/wp-content/uploads/2018/01/Schieberegister_SN74HC595N_small.jpg 800w, https://www.cathyprod.de/blog/wp-content/uploads/2018/01/Schieberegister_SN74HC595N_small-300x172.jpg 300w, https://www.cathyprod.de/blog/wp-content/uploads/2018/01/Schieberegister_SN74HC595N_small-768x441.jpg 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /><p id="caption-attachment-458" class="wp-caption-text">8-Bit-Schieberegister SN74HC595N</p></div>
<p>Meist werden Schieberegister noch um weitere Ein- und Ausgänge erweitert, beispielsweise ein RESET-Eingang, der den Zustand aller Flip-Flops zurücksetzt, ein zweiter CLOCK-Eingang, der die Ausgabe-Pins aktivieren und deaktivieren kann oder ein weiterer Datenausgang, der den überschriebenen Zustand des <strong>letzten</strong> Flip-Flops ausgeben und etwa an ein weiteres, seriell nachgeschaltetes, Schieberegister weitergeben könnte.</p>
<h3>Einsatz / Anwendung</h3>
<p>Ein Schieberegister wandelt einen seriellen Datenstrom in eine parallele Ausgabe und wird in der Datenübertragung entsprechend als Seriell-Parallel-Wandler eingesetzt. Durch die dauerhafte Speichermöglichkeit in den Flip-Flops kann ein Schieberegister auch als Datenpuffer eingesetzt werden.</p>
<p>Bei der Beschaltung einer LED-Matrix wird auch häufig über ein Schieberegister der jeweilige Schaltzustand der einzelnen LED der jeweils angesteuerten Matrix-Zeile angesteuert.</p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-schieberegister/">Was ist eigentlich&#8230; ein Schieberegister?</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-schieberegister/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">443</post-id>	</item>
		<item>
		<title>Was ist eigentlich&#8230; ein Flip-Flop?</title>
		<link>https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-flip-flop/</link>
					<comments>https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-flip-flop/#comments</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Mon, 08 Jan 2018 11:42:07 +0000</pubDate>
				<category><![CDATA[Grundlagen]]></category>
		<category><![CDATA[Flip-Flop]]></category>
		<category><![CDATA[Flipflop]]></category>
		<category><![CDATA[Kippschaltung]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=434</guid>

					<description><![CDATA[<p>Ein Flip-Flop ist ein aus mehreren Transistoren zusammengesetztes elektronisches Bauteil, welches nach Anlegen einer Spannung am Eingang in einen bestimmten Zustand &#8222;kippt&#8220; (daher auch Kippschaltung genannt) und in diesem Zustand dann dauerhaft verbleibt &#8211; ähnlich einer Wippe auf dem Spielplatz, deren eine Seite zu Boden kippt. Die Transistoren werden zu diesem Zweck so miteinander verschaltet, <a class="more-link" href="https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-flip-flop/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-flip-flop/">Was ist eigentlich&#8230; ein Flip-Flop?</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ein <em>Flip-Flop</em> ist ein aus mehreren <a href="https://www.cathyprod.de/blog/2016/09/13/was-ist-eigentlich-ein-transistor/">Transistoren</a> zusammengesetztes elektronisches Bauteil, welches nach Anlegen einer Spannung am Eingang in einen bestimmten Zustand &#8222;kippt&#8220; (daher auch <em>Kippschaltung</em> genannt) und in diesem Zustand dann dauerhaft verbleibt &#8211; ähnlich einer Wippe auf dem Spielplatz, deren eine Seite zu Boden kippt. Die Transistoren werden zu diesem Zweck so miteinander verschaltet, dass ihre Ausgänge sich gegenseitig rückkoppeln. Ein Flip-Flop ist somit das kleinste Bauteil, welches ein ankommendes Signal (Spannung lag an / lag nicht an) dauerhaft speichern und an seinem Ausgang auch wieder ausgeben kann. Ein Flip-Flop ist somit in der Lage, ein einzelnes <em>Bit</em> zu speichern.</p>
<p>Für die technische Umsetzung eines Flip-Flops gibt es unterschiedliche Möglichkeiten, gängig sind beispielsweise das <em>RS-Flip-Flop</em> (&#8222;Reset&#8220;/&#8220;Set&#8220;), bestehend aus zwei <a href="https://www.cathyprod.de/blog/2016/09/13/was-ist-eigentlich-eine-logische-schaltung/">NAND-Gattern</a>, und darauf aufbauend das <em>JK-Flip-Flop</em> oder das <em>D-Flip-Flop</em> (&#8222;Delay&#8220;).</p>
<p><em>Quelle und weitere Informationen:</em></p>
<ul>
<li><a href="https://www.elektronik-kompendium.de/sites/dig/0209302.htm">www.elektronik-kompendium.de</a></li>
<li><a href="https://de.wikipedia.org/wiki/Flipflop">de.wikipedia.org/wiki/Flipflop</a></li>
</ul>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-flip-flop/">Was ist eigentlich&#8230; ein Flip-Flop?</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2018/01/08/was-ist-eigentlich-ein-flip-flop/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">434</post-id>	</item>
		<item>
		<title>Weihnachtsgrüße</title>
		<link>https://www.cathyprod.de/blog/2017/12/22/weihnachtsgruesse/</link>
					<comments>https://www.cathyprod.de/blog/2017/12/22/weihnachtsgruesse/#respond</comments>
		
		<dc:creator><![CDATA[cpmaja]]></dc:creator>
		<pubDate>Fri, 22 Dec 2017 12:47:38 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<guid isPermaLink="false">https://www.cathyprod.de/blog/?p=423</guid>

					<description><![CDATA[<p>Die CathyProductions schaut zurück auf ein sehr ereignisreiches und auch erfolgreiches Jahr 2017. Nun lehnen wir uns aber zurück, genießen die bevorstehenden Feiertage, und gehen in eine kurze Winterpause. Allen Kunden und allen Lesern des Blogs wünschen wir von Herzen besinnliche Feiertage und einen guten Start ins neue Jahr 2018! Maja Kessler &#8212; CathyProductions &#8211; <a class="more-link" href="https://www.cathyprod.de/blog/2017/12/22/weihnachtsgruesse/">weiterlesen...</a></p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2017/12/22/weihnachtsgruesse/">Weihnachtsgrüße</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Die CathyProductions schaut zurück auf ein sehr ereignisreiches und auch erfolgreiches Jahr 2017.</p>
<p>Nun lehnen wir uns aber zurück, genießen die bevorstehenden Feiertage, und gehen in eine kurze Winterpause.</p>
<p>Allen Kunden und allen Lesern des Blogs wünschen wir von Herzen besinnliche Feiertage und einen guten Start ins neue Jahr 2018!</p>
<p>Maja Kessler<br />
&#8212;<br />
<a href="https://www.cathyprod.de">CathyProductions</a> &#8211; EDV Beratung und Konzeption</p>
<p>Der Beitrag <a href="https://www.cathyprod.de/blog/2017/12/22/weihnachtsgruesse/">Weihnachtsgrüße</a> erschien zuerst auf <a href="https://www.cathyprod.de/blog">CathyProductions</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cathyprod.de/blog/2017/12/22/weihnachtsgruesse/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">423</post-id>	</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/


Served from: www.cathyprod.de @ 2026-03-30 02:40:58 by W3 Total Cache
-->