<?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>rpi - Hard Wired</title>
	<atom:link href="https://www.hardwired.dev/tag/rpi/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hardwired.dev</link>
	<description></description>
	<lastBuildDate>Sat, 13 Apr 2024 09:20:35 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://www.hardwired.dev/wp-content/uploads/2022/10/android-chrome-256x256-1-150x150.png</url>
	<title>rpi - Hard Wired</title>
	<link>https://www.hardwired.dev</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ROCK Pi Penta SATA HAT</title>
		<link>https://www.hardwired.dev/2024/04/13/rock-pi-penta-sata-hat/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Sat, 13 Apr 2024 08:28:33 +0000</pubDate>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[Různé]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[hat]]></category>
		<category><![CDATA[hdd]]></category>
		<category><![CDATA[nas server]]></category>
		<category><![CDATA[penta]]></category>
		<category><![CDATA[ROCK Pi Penta SATA HAT]]></category>
		<category><![CDATA[rockpi]]></category>
		<category><![CDATA[rpi]]></category>
		<category><![CDATA[SBC]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[uloziste]]></category>
		<guid isPermaLink="false">https://www.hardwired.dev/?p=2132</guid>

					<description><![CDATA[<p>Radxa prodává aktualizovanou verzi jejich Penta SATA HAT za 45 dolarů a obsahuje čtyři konektory pro SATA disk, plus jeden okrajový &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2024/04/13/rock-pi-penta-sata-hat/">ROCK Pi Penta SATA HAT</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p dir="auto">Radxa prodává aktualizovanou verzi jejich <a href="https://radxa.com/products/accessories/penta-sata-hat/" rel="nofollow">Penta SATA HAT</a> za 45 dolarů a obsahuje čtyři konektory pro SATA disk, plus jeden okrajový konektor pro 5. disk, 12V napájecí vstupy (molex nebo barel jack) pro napájení disků i Pi 5 přes GPIO. , kabel pro 5. disk, kabel FFC pro připojení HAT k Pi 5 a šrouby pro upevnění. Vypadá to, že řadič SATA je řadič SATA JMB585 PCIe Gen 3x2, takže by mohl těžit z provozu linky PCIe Pi 5 při rychlostech Gen 3.0</p>
<p dir="auto"><a href="https://www.hardwired.dev/2024/04/13/rock-pi-penta-sata-hat/penta_w/" rel="attachment wp-att-2145"><img fetchpriority="high" decoding="async" class="aligncenter size-large wp-image-2145" src="https://www.hardwired.dev/wp-content/uploads/2024/04/penta_w-1024x455.png" alt="" width="800" height="355" srcset="https://www.hardwired.dev/wp-content/uploads/2024/04/penta_w-1024x455.png 1024w, https://www.hardwired.dev/wp-content/uploads/2024/04/penta_w-300x133.png 300w, https://www.hardwired.dev/wp-content/uploads/2024/04/penta_w-768x341.png 768w, https://www.hardwired.dev/wp-content/uploads/2024/04/penta_w.png 1107w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p dir="auto">ROCK Pi Penta SATA HAT je addon HAT navržený pro ROCK Pi 4. Využívá vysokorychlostní sběrnice PCIe na ROCK Pi 4 a poskytuje kompletní řešení NAS založené na ROCK Pi 4. Má následující vlastnosti:</p>
<ul>
<li>Až 5x HDD/SSD, podpora 2,5" nebo 3,5" SSD, až <b>100T</b> úložiště</li>
<li>4x SATA + 1x eSATA s napájením</li>
<li>Využijte dvoupruhové autobusy PCIe 2.1 na ROCK Pi 4</li>
<li>Podpora externího standardního ATX zdroje pro HDD a ROCK Pi 4</li>
<li>Vstup 12V DC pro napájení 2,5/3,5 HDD a ROCK Pi 4</li>
<li>Podpora režimu pozastavení HDD</li>
<li>Podpora softwaru RAID 0/1/5</li>
<li>Volitelný PWM řídicí ventilátor pro odvod tepla HDD</li>
<li>Volitelný OLED displej pro informace o IP/úložišti</li>
</ul>
<h3><span id="Software_support" class="mw-headline">Softwarová podpora</span></h3>
<p>Poskytujeme instalační skript, který vám pomůže získat software Penta SATA, který funguje v ROCK Pi 4.</p>
<p><a href="https://www.hardwired.dev/wp-content/uploads/2024/04/720px-Get-rockpi-penta.png" rel="attachment wp-att-2136"><img decoding="async" class="wp-image-2136 size-full alignnone" src="https://www.hardwired.dev/wp-content/uploads/2024/04/720px-Get-rockpi-penta.png" alt="" width="720" height="599" srcset="https://www.hardwired.dev/wp-content/uploads/2024/04/720px-Get-rockpi-penta.png 720w, https://www.hardwired.dev/wp-content/uploads/2024/04/720px-Get-rockpi-penta-300x250.png 300w" sizes="(max-width: 720px) 100vw, 720px" /></a></p>
<div class="my-syntax-highlighter">
<pre><textarea id="mshighlighter" class="mshighlighter" language="shell" name="mshighlighter" > curl -sL https://rock.sh/get-rockpi-penta | sudo -E bash -</textarea></pre>
</div>
<p><a href="https://www.hardwired.dev/2024/04/13/rock-pi-penta-sata-hat/penta_raid/" rel="attachment wp-att-2147"><img decoding="async" class="aligncenter size-large wp-image-2147" src="https://www.hardwired.dev/wp-content/uploads/2024/04/penta_raid-1024x533.png" alt="" width="800" height="416" srcset="https://www.hardwired.dev/wp-content/uploads/2024/04/penta_raid-1024x533.png 1024w, https://www.hardwired.dev/wp-content/uploads/2024/04/penta_raid-300x156.png 300w, https://www.hardwired.dev/wp-content/uploads/2024/04/penta_raid-768x399.png 768w, https://www.hardwired.dev/wp-content/uploads/2024/04/penta_raid.png 1396w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<h3><span id="Software_configuration" class="mw-headline">Konfigurace<br />
</span></h3>
<p>Stačí upravit <strong>/etc/rockpi-penta.conf<br />
</strong></p>
<div class="my-syntax-highlighter">
<pre><textarea id="mshighlighter" class="mshighlighter" language="shell" name="mshighlighter" > sudo systemctl restart rockpi-penta.service</textarea></pre>
</div>
<p>[fan]<br />
# When the temperature is above lv0 (35'C), the fan at 25% power,<br />
# and lv1 at 50% power, lv2 at 75% power, and lv3 at 100% power.<br />
# When the temperature is below lv0, the fan is turned off.<br />
# You can change these values if necessary.<br />
lv0 = 35<br />
lv1 = 40<br />
lv2 = 45<br />
lv3 = 50</p>
<p>[key]<br />
# You can customize the function of the key, currently available functions are<br />
# slider: oled display next page<br />
# switch: fan turn on/off switch<br />
# reboot, poweroff<br />
# If you have any good suggestions for key functions,<br />
# please add an issue on https://rock.sh/rockpi-sata<br />
click = slider<br />
twice = switch<br />
press = none</p>
<p>[time]<br />
# twice: maximum time between double clicking (seconds)<br />
# press: long press time (seconds)<br />
twice = 0.7<br />
press = 1.8</p>
<p>[slider]<br />
# Whether the oled auto display next page and the time interval (seconds)<br />
auto = true<br />
time = 10</p>
<p>[oled]<br />
# Whether rotate the text of oled 180 degrees, whether use Fahrenheit<br />
rotate = false<br />
f-temp = false</p>
<h2 data-sourcepos="1:1-1:85">Závěr: Radxa Penta SATA HAT - skvělá volba pro rozšíření úložiště Vašeho ROCK Pi 4</h2>
<p data-sourcepos="3:1-3:333">Aktualizovaná verze Penta SATA HAT od Radxa je skvělou volbou pro ty, kteří chtějí rozšířit úložiště svého ROCK Pi 4. Nabízí až 5 SATA konektorů pro připojení HDD/SSD disků, 12V napájecí vstupy pro napájení disků i Pi 5, kabeláž a šrouby pro montáž. Díky řadiči SATA JMB585 PCIe Gen 3x2 může dosahovat vysokých rychlostí přenosu dat.</p>
<p data-sourcepos="5:1-5:23"><strong>Klíčové vlastnosti:</strong></p>
<ul data-sourcepos="7:1-16:0">
<li data-sourcepos="7:1-7:61">Až 5x HDD/SSD, podpora 2,5" nebo 3,5" SSD, až 100T úložiště</li>
<li data-sourcepos="8:1-8:32">4x SATA + 1x eSATA s napájením</li>
<li data-sourcepos="9:1-9:52">Využití dvoupruhové sběrnice PCIe 2.1 na ROCK Pi 4</li>
<li data-sourcepos="10:1-10:63">Podpora externího standardního ATX zdroje pro HDD a ROCK Pi 4</li>
<li data-sourcepos="11:1-11:51">12V DC vstup pro napájení 2,5/3,5 HDD a ROCK Pi 4</li>
<li data-sourcepos="12:1-12:32">Podpora režimu pozastavení HDD</li>
<li data-sourcepos="13:1-13:33">Podpora softwarového RAID 0/1/5</li>
<li data-sourcepos="14:1-14:46">Volitelný PWM ventilátor pro odvod tepla HDD</li>
<li data-sourcepos="15:1-16:0">Volitelný OLED displej pro informace o IP/úložišti</li>
</ul>
<p data-sourcepos="17:1-17:22"><strong>Cena a dostupnost:</strong></p>
<p data-sourcepos="19:1-19:117">Radxa Penta SATA HAT je dostupná za 45 USD a lze ji zakoupit na webových stránkách Radxa a u autorizovaných prodejců.</p>
<p data-sourcepos="21:1-21:181"><strong>Celkově je Radxa Penta SATA HAT vynikající volbou pro uživatele ROCK Pi 4, kteří chtějí rozšířit úložiště a vytvořit si tak vlastní síťové úložiště (NAS) nebo mediální centrum.</strong></p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2024%2F04%2F13%2Frock-pi-penta-sata-hat%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2024/04/13/rock-pi-penta-sata-hat/">ROCK Pi Penta SATA HAT</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Self hosted Matrix server</title>
		<link>https://www.hardwired.dev/2022/09/15/self-hosted-matrix-server/</link>
		
		<dc:creator><![CDATA[John Doe]]></dc:creator>
		<pubDate>Thu, 15 Sep 2022 15:19:19 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[end-to-end]]></category>
		<category><![CDATA[fediverse]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[matrix]]></category>
		<category><![CDATA[portainer]]></category>
		<category><![CDATA[postgre]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[raspberry]]></category>
		<category><![CDATA[rpi]]></category>
		<category><![CDATA[synapse]]></category>
		<guid isPermaLink="false">https://hessevalentino.cz/?p=297</guid>

					<description><![CDATA[<p>Těžko by jste asi hledali někoho, kdo nikdy neposlal ani jednu zprávu přes Messenger nebo podobnou službu. Asi můžeme říct, &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2022/09/15/self-hosted-matrix-server/">Self hosted Matrix server</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>Těžko by jste asi hledali někoho, kdo nikdy neposlal ani jednu zprávu přes Messenger nebo podobnou službu. Asi můžeme říct, že je to jeden z nejrozšířenějších komunikačních prostředků současnosti.</p>
<p>S rostoucím podílem těchto služeb v oblasti všeobecné komunikace vyvstal i takový nešvar. Hovorově bychom mohli říct &quot;fízlování&quot;. V reálu to bude nějaká sada algoritmů, která se snaží na základě klíčových slov, frází nebo nějaké sofistikovanější analýzy rozpoznat závadný či protiprávní obsah. Tyto praktiky se většinou zaštiťují ochranou dětí před XYZ a podobné zavádějící důvody. Ale o problematice svobody slova a práva na soukromí tento příspěvek není.</p>
<p>Klasické textové komunikační služby ukládají vaše zprávy v nešifrované podobě. Nemáte vůbec tušení jak dlouho se vaše data uchovávají a za jakým účelem (většinou marketing) mohou být přeprodávána. A už vůbec nevíte, kdy a kdo, to může použít proti vám. (byť třeba vytržené z kontextu)</p>
<p>Situaci si můžete vylepšit tím, že používáte &quot;end-to-end&quot; šifrované komunikátory. Telegram, Signal, Threema a podobně. Při této metodě komunikace by v ideálním případě zprostředkovatel neměl být schopný zprávy jakkoliv dešifrovat.</p>
<p>Tak je to možná v ideálním světě. V tom našem můžeme narazit na pár úskalí. Musíme zprostředkovateli věřit, že dodává takovou službu jakou inzeruje. I když nemusí vidět přímo obsah zpráv, stále si může uchovávat kdo, kdy a s kým komunikoval. Nepříjemností taky je registrace podmíněná poskytnutím telefonního čísla. Telefonní číslo za určitých podmínek dává smysl a používání aplikace je díky němu komfortnější, ale taky je to další vektor útoku na vaši identitu.</p>
<p>Alternativní možností je zprovoznit vlastní Matrix server. Pokud o tom slyšíte poprvé, můžete prozkoumat <a href="https://fediverse.party/" title="Fediverse ekosystém">Fediverse ekosystém</a> a pořádně se ponořit do králičí nory.</p>
<p>Jen ve zkratce popis na wikipedii.</p>
<blockquote>
<p>The fediverse (a portmanteau of federation and universe) is an ensemble of federated (i.e. interconnected) servers that are used for web publishing (i.e. social networking, microblogging, blogging, or websites) and file hosting, but which, while independently hosted, can communicate with each other. On different servers (instances), users can create so-called identities. These identities are able to communicate over the boundaries of the instances because the software running on the servers supports one or more communication protocols which follow an open standard.[1] As an identity on the fediverse, users are able to post text and other media, or to follow posts by other identities.[2] In some cases, users can show or share data (video, audio, text, and other files) publicly or to a selected group of identities and allow other identities to edit other users\' data (such as a calendar or an address book). from <a href="https://en.wikipedia.org/wiki/Fediverse">https://en.wikipedia.org/wiki/Fediverse</a> </p>
</blockquote>
<p>Pro naše účely není tento aspekt úplně klíčový.</p>
<p>Co vlastně získáme tím, že zprovozníme vlastní Matrix server?</p>
<ul>
<li>Komunikace používá end-to-end šifrování. Nikdo kromě příjemce by neměl být schopný zprávu vidět.</li>
<li>Data leží na našem &quot;železe&quot; a v námi kontrolovaném operačním systému. Sami si můžete překontrolovat jak a jaká data jsou v databázi ukládána.</li>
<li>Starou dobrou registraci s uživatelským jménem a heslem. Nejsou potřeba žádné emaily nebo telefonní čísla.</li>
<li>Nikdo probíhající komunikaci &quot;nefízluje&quot;.</li>
<li>Kód je open source. Každý do něho může nahlédnout. Možnost úmyslného zanešení nějakého škodlivého kusu kódu je hodně malá. Komunita by jim to brzy omlátila o hlavu.</li>
<li>Máte na výběr z vícero klientů. I když tohle může být někdy i negativum než pozitivum.</li>
<li>Moderní klienti moc nezaostávají za předními hráči na trhu. Ano jde poznat, že do toho nebylo nasypáno tolik peněz a „user experience“ není tak „smooth“. To ale nic nemění na tom, že můžete posílat zprávy, fotky, videa, emoji, nálepky, gify nebo provádět video telefonáty. Všechno je technicky funkční.</li>
<li>Je možné provozovat komunikaci s jednotlivými lidmi, skupinové komunikace nebo vytvářet místnosti.</li>
</ul>
<p>Výhod se najde asi ještě více, ale tou nejdůležitější vlastní kontrola.</p>
<p>Nevýhod se najde taky dost. Vůbec samotné rozeběhnutí vyžaduje lehce technický „skill“. Plus věci okolo jako domény, reverzní proxy atd.</p>
<p>Tak a teď teda k tomu co a jak je potřeba rozeběhnout.</p>
<p>Rozeběhnout to můžete skoro na čemkoliv, ale já pro naše účely použil RPi 3B+ s SSD diskem. Pro běh jednotlivých služeb použijeme Docker a Docker-Compose. Jak nainstalovat Docker <a href="http://wordpress.hardwired.dev/instalace-dockeru/" title="je popsáno v jiném článku">je popsáno v jiném článku</a> na tomto blogu.</p>
<p>Náš stack obsahje následující Docker obrazy.</p>
<ul>
<li>portainer/portainer-ce:latest</li>
<li>matrixdotorg/synapse:latest</li>
<li>postgres:14</li>
<li>vectorim/element-web:latest</li>
</ul>
<p><a href="https://www.portainer.io/" title="Portainer">Portainer</a> slouží jen pro pohodlnější správu Docker kontejnerů.</p>
<p>Jako <a href="https://matrix.org/" title="Matrix">Matrix</a> server použijeme <a href="https://github.com/matrix-org/synapse" title="Synapse">Synapse</a>. Je to implementace Matrix serveru v Pythonu.</p>
<p>Postgres 14 bude naše databáze. V základu používá Synapse Sqlite3, ale pokud máme tu možnost, bude lepší použít Postgres.</p>
<p><a href="https://element.io/" title="Element">Element</a> je webový klient pro Matrix server.</p>
<p>V domovském adresáři si vytvoříme složku matrix-stack a začneme skládat Docker-Compose soubor.</p>
<pre><code class="language-shell">cd ~
mkdir matrix-stack
nano ./matix-stack/docker-compose.yml</code></pre>
<pre><code class="language-yaml">version: &#039;3.3&#039;

services:
  portainer:
    container_name: portainer
    image: portainer/portainer-ce:latest
    restart: always
    ports:
      - &quot;9000:9000&quot;
    volumes:
      - portainer_data:/data
      - /var/run/docker.sock:/var/run/docker.sock

  synapse:
    container_name: synapse
    image: matrixdotorg/synapse:latest
    restart: always
    ports:
      - 8008:8008
    volumes:
      - /var/docker_data/matrix:/data

  postgres:
    container_name: postgres
    image: postgres:14
    restart: unless-stopped
    ports:
      - &quot;5432:5432&quot;
    volumes:
     - /var/docker_data/postgresdata:/var/lib/postgresql/data

    environment:
     - POSTGRES_DB=synapse
     - POSTGRES_USER=synapse
     - POSTGRES_PASSWORD=SUPERSECRETLONGPASSWORD
     - POSTGRES_INITDB_ARGS=--lc-collate C --lc-ctype C --encoding UTF8

  element:
    container_name: element
    image: vectorim/element-web:latest
    restart: unless-stopped
    ports:
      - &quot;80:80&quot;
    volumes:
      - /var/docker_data/element-config.json:/app/config.json

volumes:
  portainer_data:</code></pre>
<p>Pro Synapse místo Sqlite3 použijeme Postgre databázi. Víceméně se standardním nastavením kromě jedné věci.</p>
<pre><code class="language-yaml">POSTGRES_INITDB_ARGS=--lc-collate C --lc-ctype C --encoding UTF8</code></pre>
<p>Matrix vyžaduje aby <strong>LC_COLLATE</strong> a <strong>LC_TYPE</strong> nastaveny na <strong>C</strong>. Má to co do činění s akceptováním různých znakových sad.</p>
<blockquote>
<p>When LC_CTYPE is C or POSIX, any character set is allowed, but for other settings of LC_CTYPE there is only one character set that will work correctly. Since the LC_CTYPE setting is frozen by initdb, the apparent flexibility to use different encodings in different databases of a cluster is more theoretical than real, except when you select C or POSIX locale (thus disabling any real locale awareness).</p>
</blockquote>
<p>Před tím, než pustíme <strong>docker-compose</strong>, je potřeba udělat ještě pár věcí.</p>
<p>Potřebujeme vygenerovat konfigurační soubor pro <strong>Synapse</strong> server.</p>
<pre><code class="language-bash">docker run -it --rm \
    -v &quot;/var/docker_data/matrix:/data&quot; \
    -e SYNAPSE_SERVER_NAME=matrix.YOUR_DOMAIN.com \
    -e SYNAPSE_REPORT_STATS=no \
    matrixdotorg/synapse:latest generate</code></pre>
<p>A v nově vygenerovaném souboru předělat Sqlite3 na Postgre. Stačí zakomentovat sekci s Sqlite3 a vložit novou.</p>
<pre><code class="language-yaml">database:
  name: psycopg2
  args:
    user: synapse
    password: SUPERSECRETLONGPASSWORD
    database: synapse
    host: postgres
    cp_min: 5
    cp_max: 10</code></pre>
<p>Potom je potřeba vytořit konfigurační soubor pro Element.</p>
<pre><code class="language-bash">sudo nano /etc/docker_data/element-config.yaml</code></pre>
<pre><code class="language-json">{
    &quot;default_server_config&quot;: {
        &quot;m.homeserver&quot;: {
            &quot;base_url&quot;: &quot;https://matrix.YOUR_DOMAIN.com&quot;,
            &quot;server_name&quot;: &quot;matrix.YOUR_DOMAIN.com&quot;
        },
        &quot;m.identity_server&quot;: {
            &quot;base_url&quot;: &quot;https://vector.im&quot;
        }
    },
    &quot;brand&quot;: &quot;Element&quot;,
    &quot;integrations_ui_url&quot;: &quot;https://scalar.vector.im/&quot;,
    &quot;integrations_rest_url&quot;: &quot;https://scalar.vector.im/api&quot;,
    &quot;integrations_widgets_urls&quot;: [
        &quot;https://scalar.vector.im/_matrix/integrations/v1&quot;,
        &quot;https://scalar.vector.im/api&quot;,
        &quot;https://scalar-staging.vector.im/_matrix/integrations/v1&quot;,
        &quot;https://scalar-staging.vector.im/api&quot;,
        &quot;https://scalar-staging.riot.im/scalar/api&quot;
    ],
    &quot;hosting_signup_link&quot;: &quot;https://element.io/matrix-services?utm_source=element-web&amp;utm_medium=web&quot;,
    &quot;bug_report_endpoint_url&quot;: &quot;https://element.io/bugreports/submit&quot;,
    &quot;uisi_autorageshake_app&quot;: &quot;element-auto-uisi&quot;,
    &quot;showLabsSettings&quot;: true,
    &quot;piwik&quot;: {
        &quot;url&quot;: &quot;https://piwik.riot.im/&quot;,
        &quot;siteId&quot;: 1,
        &quot;policyUrl&quot;: &quot;https://element.io/cookie-policy&quot;
    },
    &quot;roomDirectory&quot;: {
        &quot;servers&quot;: [
            &quot;matrix.org&quot;,
            &quot;gitter.im&quot;,
            &quot;libera.chat&quot;
        ]
    },
    &quot;enable_presence_by_hs_url&quot;: {
        &quot;https://matrix.org&quot;: false,
        &quot;https://matrix-client.matrix.org&quot;: false
    },
    &quot;terms_and_conditions_links&quot;: [
        {
            &quot;url&quot;: &quot;https://element.io/privacy&quot;,
            &quot;text&quot;: &quot;Privacy Policy&quot;
        },
        {
            &quot;url&quot;: &quot;https://element.io/cookie-policy&quot;,
            &quot;text&quot;: &quot;Cookie Policy&quot;
        }
    ],
    &quot;hostSignup&quot;: {
      &quot;brand&quot;: &quot;Element Home&quot;,
      &quot;cookiePolicyUrl&quot;: &quot;https://element.io/cookie-policy&quot;,
      &quot;domains&quot;: [
          &quot;matrix.org&quot;
      ],
      &quot;privacyPolicyUrl&quot;: &quot;https://element.io/privacy&quot;,
      &quot;termsOfServiceUrl&quot;: &quot;https://element.io/terms-of-service&quot;,
      &quot;url&quot;: &quot;https://ems.element.io/element-home/in-app-loader&quot;
    },
    &quot;sentry&quot;: {
        &quot;dsn&quot;: &quot;https://029a0eb289f942508ae0fb17935bd8c5@sentry.matrix.org/6&quot;,
        &quot;environment&quot;: &quot;develop&quot;
    },
    &quot;posthog&quot;: {
        &quot;projectApiKey&quot;: &quot;phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO&quot;,
        &quot;apiHost&quot;: &quot;https://posthog.element.io&quot;
    },
    &quot;features&quot;: {
        &quot;feature_spotlight&quot;: true
    },
    &quot;map_style_url&quot;: &quot;https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx&quot;
}</code></pre>
<p>V horní části souboru upravte pro vaši doménu.</p>
<pre><code class="language-json">&quot;default_server_config&quot;: {
        &quot;m.homeserver&quot;: {
            &quot;base_url&quot;: &quot;https://matrix.YOUR_DOMAIN.com&quot;,
            &quot;server_name&quot;: &quot;matrix.YOUR_DOMAIN.com&quot;
        },
        &quot;m.identity_server&quot;: {
            &quot;base_url&quot;: &quot;https://vector.im&quot;
        }
    }</code></pre>
<p>Tak a teď už můžeme pustit ten docker. Přesuneme se do složky s Docker-Compose souborem a spustíme příkaz docker-compose.</p>
<pre><code class="language-bash">cd ~/matrix-stack
docker-compose up -d</code></pre>
<p>Pokud všechno proběhne dle plánu, tak se můžete zkusit přihlásit do Portaineru a měli byste vidět něco takového.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/09/matrix-containers.jpg" alt="" /></p>
<p>Teď se potřebujeme připojit do docker kontejneru kde beží Synapse odkud budeme přes příkaz <code>register_new_matrix_user</code> přidávat uživatele.</p>
<pre><code class="language-bash">docker exec -it synapse /bin/bash</code></pre>
<pre><code class="language-bash">register_new_matrix_user -c /data/homeserver.yaml http://127.0.0.1:8008</code></pre>
<p>Příkaz vás následně navede co vyplnit.</p>
<p>V tomto bodě nám už vše běží a máme vytvořeného prvního uživatele. Pokud se přes prohlížeč podíváte na <code>http://&lt;ip-adresa-vaseho-stroje&gt;:8008</code> uvidíte že Matrix server běži.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/09/matirx-is-running.jpg" alt="" /></p>
<p>Určitě se nechceme vždy připojovat na <code>http://&lt;ip-adresa-vaseho-stroje&gt;:8008</code>. To by bylo poněkud nepohodlné a pravděpodobně by to fungovalo jen v lokální síti. Ještě bychom mohli přesměrovat porty na router, ale to je prašť jako uhoď.</p>
<p>Lepší bude použít doménu jako <code>matrix.nasedomena.eu</code> a samozřejmě <code>https</code> protokol, aby naše data po internetu nelítala jen tak. </p>
<p>Bude to chtít zařídit několik věcí. </p>
<ul>
<li>Je potřeba mít veřejnou statickou IP.</li>
<li>Koupit nějakou doménu.</li>
<li>Vyřídit si certifikát. Například přes službu <a href="https://letsencrypt.org/" title="Let&#039;s Encrypt">Let's Encrypt</a>.</li>
<li>Zprovoznit reverzní proxy, která bude zpracovávat příchozí požadavky. Pro tento článek použijeme webový server <a href="https://www.nginx.com/" title="Nginx">Nginx</a> jako reverzní proxy. Jak zprovoznit Nginx jako reverzní proxy najdete v <a href="http://wordpress.hardwired.dev/nginx-jako-reverzni-proxy/" title="článku na tomto webu">článku na tomto webu</a>.</li>
</ul>
<p>Budeme chtít používat <code>https://matrix.nasedomena.eu</code> a <code>https://element.nasedomena.eu</code>.</p>
<p>Pro <code>element.nasedomena.eu</code> bude konfigurační soubor pro Nginx vypadat nějak takhle.</p>
<pre><code> server {
    listen 80;
    server_name element.nasedomena.eu;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name element.nasedomena.eu;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/nasedomena.eu/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/nasedomena.eu/privkey.pem; # managed by Certbot

    location / {
        proxy_pass http://192.168.1.111:80;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &#039;upgrade&#039;;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}</code></pre>
<p>Veškerý nešifrovaný provoz směrující na <code>element.nasedomena.eu</code> bude přesměrován na šifrovaný.</p>
<p>Pro samotný Matrix server je nutné do konfigurace přidat ještě pár věcí.</p>
<pre><code>server {
    listen 80;
    server_name matrix.nasedomena.eu;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    listen 8448 ssl http2 default_server;
    listen [::]:8448 ssl http2 default_server;

    server_name matrix.nasedomena.eu;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/nasedomena.eu/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/nasedomena.eu/privkey.pem; # managed by Certbot

     location /.well-known/matrix/client {
                return 200 &#039;{&quot;m.server&quot;: {&quot;base_url&quot;: &quot;matrix.nasedomena.eu:443&quot;}}&#039;;
                default_type application/json;
                add_header Access-Control-Allow-Origin *;
        }

    location /.well-known/matrix/server {
                default_type application/json;
                add_header Access-Control-Allow-Origin *;
                return 200 &#039;{&quot;m.server&quot;:&quot;matrix.nasedomena.eu:443&quot;}&#039;;
        }

    location / {
        proxy_pass http://192.168.1.111:8008;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &#039;upgrade&#039;;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}</code></pre>
<p>Jestli máme všechno dobře nakonfigurováno, můžeme zkusit <code>https://element.nasedomena.eu</code>. Poběží tu webový klient pro Matrix. Budeme muset upravit domovský server na náš <code>matrix.nasedomena.eu</code>, protože v základu je tam nastavený <code>matrix.org</code>. Poté se můžeme přihlásit jako uživatel, kterého jsme vytvořili v jednom z předchozích kroků.</p>
<p><img decoding="async" src="http://wordpress.hardwired.dev/wp-content/uploads/2022/09/element-login.jpg" alt="" /></p>
<p>K připojení můžete samozřejmě využít jakéhokoliv klienta Matrixu. Přidejte další další uživatele pomocí kroků výše a můžete začít komunikovat naprosto soukromě. Komunikace s dalšími uživateli v rámci Fediverse je také možná. Samotný Synapse jde různě nakonfigurovat. Můžete například povolit registraci uživatelů přes klienty a další možnosti. Konfigurace Synapse ale není náplní tohoto článku.</p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2022%2F09%2F15%2Fself-hosted-matrix-server%2F&#038;via=hessevalentino" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2022/09/15/self-hosted-matrix-server/">Self hosted Matrix server</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Nginx jako reverzní proxy</title>
		<link>https://www.hardwired.dev/2022/09/12/nginx-jako-reverzni-proxy/</link>
		
		<dc:creator><![CDATA[John Doe]]></dc:creator>
		<pubDate>Mon, 12 Sep 2022 10:14:55 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[raspberry]]></category>
		<category><![CDATA[reverse-proxy]]></category>
		<category><![CDATA[rpi]]></category>
		<guid isPermaLink="false">https://hessevalentino.cz/?p=273</guid>

					<description><![CDATA[<p>Máme ve vnitřní síti několik služeb, ke kterým chceme přistupovat z internetu nebo někomu chceme umožnit přístup. Máme koupenou doménu &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2022/09/12/nginx-jako-reverzni-proxy/">Nginx jako reverzní proxy</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>Máme ve vnitřní síti několik služeb, ke kterým chceme přistupovat z internetu nebo někomu chceme umožnit přístup. Máme koupenou doménu a nechceme zadávat<strong> example.com/xyz</strong> nebo <strong>example.com:63268</strong> pro přístup ke službě běžící na lokální síti.</p>
<p><span id="more-273"></span></p>
<p>Jedno z možných řešení je použití Nginx jako reverzní proxy. To nám umožní používat sub domény pro přístup k lokálním službám. Například ke Grafaně zobrazující měření z meteostanice můžeme přistupovat pomocí <strong>grafana.example.com</strong>.</p>
<p>Na většině linuxových systémů lze jednoduše nainstalovat Nginx. Například na Ubuntu pomocí balíčkovacího systému APT.</p>
<pre><code class="language-bash">sudo apt install nginx</code></pre>
<p>Po úspěšné instalaci bude Nginx naslouchat na portu 80. Když zadáte do prohlížeče adresu stroje na kterém běží, měli byste vidět klasickou <em>Welcome to nginx!</em> stránku.</p>
<p>Konfigurační soubory Nginx se nacházejí v <strong>/etc/nginx</strong>. Nás budou zajímat dvě složky <strong>/etc/nginx/sites-available</strong> a <strong>/etc/nginx/sites-enabled</strong>. <strong>sites-available</strong> obsahuje konfigurační soubory  a <strong>sites-enabled</strong> symlinky na soubory v <strong>sites-available</strong>.  To co je v <strong>sites-enabled</strong> je to, co je používáno.</p>
<p>Mějme stroj na kterém běží <strong>Nginx</strong> na <strong>192.168.1.2</strong> a stroj na kterém běží <strong>Grafana</strong> na <strong>192.168.1.22</strong>. Předpokládejme, že jsme <strong>Grafanu</strong> úspěšně rozeběhli na <strong>192.168.1.22:8080</strong>. Náš předpoklad je, že chceme na službu přistupovat přes <strong>grafana.example.com</strong>.</p>
<p>K tomu budeme muset vytvořit konfigurační soubor v <strong>/etc/nginx/sites-available</strong>. Jméno toho souboru je libovolné, ale zpravidla se používá název domény.</p>
<pre><code class="language-bash">sudo nano /etc/nginx/sites-available/grafana.example.com</code></pre>
<p>V konfiguračním souboru budeme mít dvě sekce. Jedna pro obsluhu nešifrované komunikace na portu <strong>80</strong> a druhou šifrovanou na portu <strong>443</strong>. Předpokládáme, že nechceme nešifrovanou verzi komunikace. V dnešní době je už možné jednoduše získat certifikát, například přes službu <strong>LetsEncrypt</strong>.</p>
<p>První sekce pro obsluhu požadavku na port <strong>80</strong> řeší pouze přesměrování na port <strong>443</strong>.</p>
<pre><code>server {
    listen 80;
    server_name grafana.example.com;
    return 301 https://$host$request_uri;
}</code></pre>
<p>Druhá sekce řeší požadavek na portu <strong>443</strong> a samotné vyřízení požadavku s <strong>Grafanou</strong> na stroji <strong>192.168.1.22</strong>.</p>
<pre><code>server {
    listen 443;

    server_name grafana.example.com;

    ssl on;
    ssl_certificate /etc/nginx/ssl/example.com.cert;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;

    location / {
        proxy_pass http://192.168.1.22:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &#039;upgrade&#039;;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}</code></pre>
<p>Protože se jedná o šifrovanou komunikaci přes <strong>HTTPS</strong> protokol je nutné přidat cesty k certifikátům.</p>
<p>Kompletní soubor by mohl vypadat nějak takto.</p>
<pre><code>server {
    listen 80;
    server_name grafana.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;

    server_name grafana.example.com;

    ssl on;
    ssl_certificate /etc/nginx/ssl/example.com.cert;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;

    location / {
        proxy_pass http://192.168.1.22:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection &#039;upgrade&#039;;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}</code></pre>
<p>Poté co máme konfiguraci uloženou v <strong>sites-available</strong> potřebujeme udělat symlink do adresáře<strong> sites-enabled</strong>. Tím konfiguraci aktivujeme a po restartu ji Nginx bude brát v potaz.</p>
<pre><code class="language-shell">sudo ln -s /etc/nginx/sites-available/grafana.example.com /etc/nginx/sites-enabled/</code></pre>
<p>Předtím než restartujeme Nginx je dobré nechat Nginx zkontrolovat jestli je konfigurace OK.</p>
<pre><code class="language-shell">nginx -t</code></pre>
<p>Pokud je vše v pořádku stačí Nginx restartovat.</p>
<pre><code class="language-bash">sudo systemctl restart nginx</code></pre>
<p>Od této chvíle <strong>Nginx</strong> na <strong>192.168.1.2</strong> přijímá požadavky a pokud dojde požadavek na<strong> grafana.example.com</strong>, začne komunikovat s <strong>Grafanou</strong> na <strong>192.168.1.22:8080</strong>.</p>
<hr />
<p>Pokud to rozjíždíte doma, tak se s pravděpodobně nacházíte za domácím routerem. (pravděpodobnost hraničící s jistotou <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> ) Tam je nutné přesměrovat porty 80 a 443 na stroj s Nginx. A další nutná věc je samozřejmě veřejná IP. Bez té to bude docela naprd. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2022%2F09%2F12%2Fnginx-jako-reverzni-proxy%2F&#038;via=hessevalentino" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2022/09/12/nginx-jako-reverzni-proxy/">Nginx jako reverzní proxy</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Instalace Dockeru</title>
		<link>https://www.hardwired.dev/2022/09/11/instalace-dockeru/</link>
		
		<dc:creator><![CDATA[John Doe]]></dc:creator>
		<pubDate>Sun, 11 Sep 2022 17:50:48 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[docker-compose]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[raspberry]]></category>
		<category><![CDATA[rpi]]></category>
		<guid isPermaLink="false">https://hessevalentino.cz/?p=263</guid>

					<description><![CDATA[<p>Rychlý přehled jak nainstalovat Docker a Docker-Compose. Vždy je dobré systém aktualizovat. sudo apt update &#38;&#38; sudo apt upgrade -y &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2022/09/11/instalace-dockeru/">Instalace Dockeru</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><p>Rychlý přehled jak nainstalovat Docker a Docker-Compose.</p>
<p>Vždy je dobré systém aktualizovat.</p>
<pre><code class="language-shell">sudo apt update &amp;&amp; sudo apt upgrade -y</code></pre>
<p>Instalace dockeru.</p>
<pre><code class="language-shell">curl -sSL https://get.docker.com | sh</code></pre>
<p>Povolíme uživateli používat Docker. V opačném případě je nutné používat docker jako root. Přidáme uživatele do skupiny docker.</p>
<pre><code class="language-shell">sudo usermod -aG docker &lt;user_name&gt;</code></pre>
<p>Nainstalujeme Docker-Compose.</p>
<pre><code class="language-shell">sudo apt install libffi-dev libssl-dev python3-dev python3 python3-pip -y
sudo pip3 install docker-compose</code></pre>
<p>Zapneme docker po startu systému.</p>
<pre><code class="language-shell">sudo systemctl enable docker</code></pre>
<p>Tadá, je možné používat Docker a Docker-Compose.</p>
<hr />
<p>Pokud vám nedělá dobře spouštět &quot;on demand&quot; stažené skripty, můžete vše udělat pěkně postupně.</p>
<pre><code class="language-bash">curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo &quot;deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&quot; | sudo tee /etc/apt/sources.list.d/docker.list &gt; /dev/null

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io -y

sudo usermod -aG docker $USER</code></pre>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2022%2F09%2F11%2Finstalace-dockeru%2F&#038;via=hessevalentino" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2022/09/11/instalace-dockeru/">Instalace Dockeru</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Automatické ovládání ventilátoru Raspberry</title>
		<link>https://www.hardwired.dev/2022/06/10/automaticke-ovladani-ventilatoru-raspberry/</link>
		
		<dc:creator><![CDATA[Valentino Hesse OK2HSS]]></dc:creator>
		<pubDate>Fri, 10 Jun 2022 13:09:48 +0000</pubDate>
				<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[Raspberry web server]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rpi]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ventilátor]]></category>
		<guid isPermaLink="false">https://hessevalentino.cz/?p=104</guid>

					<description><![CDATA[<p>Dnes se podíváme na automatické zapínání ventilátoru který nám bude chladit naše Raspberry pouze v případě že CPU dosáhne určité &#62;&#62;&#62;</p>
<p>The post <a href="https://www.hardwired.dev/2022/06/10/automaticke-ovladani-ventilatoru-raspberry/">Automatické ovládání ventilátoru Raspberry</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></description>
										<content:encoded><![CDATA[<div id="bsf_rt_marker"></div><section class="g-s column ui grid">
<div class="stretched five wide computer sixteen wide mobile five wide tablet column g-s__sidebar">
<p>Dnes se podíváme na automatické zapínání ventilátoru který nám bude chladit naše Raspberry pouze v případě že CPU dosáhne určité nastavené teploty.</p>
<h3 class="g-s__sidebar-content g-s__sidebar-content--sticky">Zapojení</h3>
<div></div>
</div>
</section>
<section class="g-s column ui grid">
<div class="eleven wide computer sixteen wide mobile eleven wide tablet column">
<div class="ui one column grid">
<figure class="g-s__image column">
<div class="g-s__image-trigger">
<div class="lz "><img loading="lazy" decoding="async" class="ui image g-s__image-img" src="https://howchoo.com/media/ot/mx/ot/raspberry-pi-fan-controller-schematic.png?width=900&amp;auto=webp&amp;quality=70" sizes="auto, (max-width: 200px) 200px, (max-width: 360px) 360px,(max-width: 414px) 414px, (max-width: 768px) 768px,(max-width: 900px) 900px, (max-width: 1272px) 1272px, 900px" srcset="https://howchoo.com/media/ot/mx/ot/raspberry-pi-fan-controller-schematic.png?width=200&amp;auto=webp&amp;quality=70 200w, https://howchoo.com/media/ot/mx/ot/raspberry-pi-fan-controller-schematic.png?width=360&amp;auto=webp&amp;quality=70 360w, https://howchoo.com/media/ot/mx/ot/raspberry-pi-fan-controller-schematic.png?width=414&amp;auto=webp&amp;quality=70 414w, https://howchoo.com/media/ot/mx/ot/raspberry-pi-fan-controller-schematic.png?width=768&amp;auto=webp&amp;quality=70 768w, https://howchoo.com/media/ot/mx/ot/raspberry-pi-fan-controller-schematic.png?width=900&amp;auto=webp&amp;quality=70 900w, https://howchoo.com/media/ot/mx/ot/raspberry-pi-fan-controller-schematic.png?width=1440&amp;auto=webp&amp;quality=70 1272w" alt="Schéma ovladače ventilátoru Raspberry Pi" width="414" height="322" /></div>
</div>
</figure>
<div class="g-s__content column ">
<p><span class="">Budeme potřebovat: 5V ventilátor (představovaný velkým stejnosměrným motorem na obrázku), odpor 680Ω a tranzistor NPN (2N2222).</span></p>
<h2>Zapojení tranzistoru</h2>
<p>Tranzistor je zajímavá elektrická součástka sloužící ke spínání nebo zesilování výkonu. V našem případě jej používáme jako přepínač. Existuje mnoho typů tranzistorů, ale my používáme tranzistor NPN. <span class="">Takže „základní“ kolík tranzistoru je připojen k BCM 17 (vývod GPIO) s odporem 680Ω mezi nimi. </span>Kladný vodič na ventilátoru je připojen k 5V kolíku a zem je připojena ke kolíku "kolektoru" v našem tranzistoru. Nakonec je "emitor" tranzistoru spojen se zemí.</p>
<p><span class="">Takže když je pin 17 přepnut na HIGH, pošle nějaké napětí do báze tranzistoru, což uzavře obvod a zapne ventilátor.</span></p>
</div>
</div>
</div>
</section>
<section class="g-s column ui grid">
<div class="eleven wide computer sixteen wide mobile eleven wide tablet column">
<div class="ui one column grid">
<div class="g-s__header column">
<h2 id="use-the-install-script" class="ui huge header header--no-margin">Použijte instalační skript</h2>
</div>
<div class="g-s__content column ">
<p><strong>Howchoo</strong> vytvořil skript pro ventilátor a publikoval jej do veřejného repozitáře Howchoo s názvem pi-fan-controller .</p>
<p>Nejjednodušší způsob, jak nainstalovat skripty ovladače ventilátoru, je použití jeho instalačního skriptu.</p>
<div class="my-syntax-highlighter">
<pre><textarea id="mshighlighter" class="mshighlighter" language="shell" name="mshighlighter" >git clone https://github.com/Howchoo/pi-fan-controller.git</textarea></pre>
</div>
<p><em><span class="">Pokud ještě nemáte nainstalovaný git, budete muset nejprve nainstalovat git pomocí</span></em></p>
<div class="my-syntax-highlighter">
<pre><textarea id="mshighlighter" class="mshighlighter" language="shell" name="mshighlighter" >sudo apt-get install git</textarea></pre>
</div>
<p>Nainstaluje se tento skript <code>fancontrol.py</code>, který sleduje teplotu jádra a řídí ventilátor. Také přidá skript volaný <code>fancontrol.sh</code>a <code>/etc/init.d</code>nakonfiguruje skript tak, aby se spouštěl při spuštění systému.</p>
<p>Ve skriptu ktery naleznete v <strong>usr/local/bin/</strong> uvidíte tyto hodnoty:</p>
<p class=" language-python"><code class=" language-python">ON_THRESHOLD <span class="token operator">=</span> <span class="token number">65</span> </code></p>
<p class=" language-python"><code class=" language-python">OFF_THRESHOLD <span class="token operator">=</span> <span class="token number">55</span><br />
</code></p>
<p class=" language-python"><code class=" language-python">SLEEP_INTERVAL <span class="token operator">=</span> <span class="token number">5</span><br />
</code></p>
<p class=" language-python"><code class=" language-python">GPIO_PIN <span class="token operator">=</span> <span class="token number">17</span> </code></p>
<p>Které můžete upravit na vaše vlastní hodnoty ve kterých si přejete aby se ventilátor spustil a ve kterých se má deaktivovat.</p>
</div>
</div>
</div>
</section>

<div class="twitter-share"><a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.hardwired.dev%2F2022%2F06%2F10%2Fautomaticke-ovladani-ventilatoru-raspberry%2F&#038;via=hessevalentino&#038;related=hessevalentino%3AValentino%20Hesse%20OK2HSS" class="twitter-share-button">Tweet</a></div><p>The post <a href="https://www.hardwired.dev/2022/06/10/automaticke-ovladani-ventilatoru-raspberry/">Automatické ovládání ventilátoru Raspberry</a> first appeared on <a href="https://www.hardwired.dev">Hard Wired</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
