{"id":6778,"date":"2026-02-06T16:59:42","date_gmt":"2026-02-06T15:59:42","guid":{"rendered":"https:\/\/arduino.net.pl\/?p=6778"},"modified":"2026-02-21T13:25:47","modified_gmt":"2026-02-21T12:25:47","slug":"kulturalne-zamykanie-malinki-przez-ssh-i-fizycznie","status":"publish","type":"post","link":"https:\/\/arduino.net.pl\/index.php\/kulturalne-zamykanie-malinki-przez-ssh-i-fizycznie\/","title":{"rendered":"Kulturalne zamykanie malinki. Przez ssh i fizycznie."},"content":{"rendered":"\n<h4 class=\"wp-block-heading\"><strong>Pytanie do ChatGPT:<\/strong> Jak kulturalnie wy\u0142\u0105czy\u0107 Raspberry Pi Zero 2 W?<\/h4>\n\n\n\n<div id=\"model-response-message-contentr_9fbb1602ff488f20\" class=\"markdown markdown-main-panel stronger enable-updated-hr-color\" dir=\"ltr\" aria-live=\"off\" aria-busy=\"false\">\n<p data-path-to-node=\"0\"><strong>ChatGPT:<\/strong> Wy\u0142\u0105czanie \u201ekulturalne\u201d to klucz do d\u0142ugiego \u017cycia Twojej karty SD. Nag\u0142e odci\u0119cie pr\u0105du to dla systemu operacyjnego jak gwa\u0142towne zatrzymanie samochodu przez uderzenie w mur \u2013 niby stoi, ale co\u015b mog\u0142o si\u0119 zepsu\u0107.<\/p>\n<p data-path-to-node=\"1\">Oto jak podej\u015b\u0107 do tematu profesjonalnie:<\/p>\n<h3 data-path-to-node=\"2\">1. Wy\u0142\u0105czanie przez SSH (Najbezpieczniejsza droga)<\/h3>\n<p data-path-to-node=\"3\">Najlepsze komendy to:<\/p>\n<ul data-path-to-node=\"4\">\n<li>\n<p data-path-to-node=\"4,0,0\"><code data-path-to-node=\"4,0,0\" data-index-in-node=\"0\">sudo poweroff<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"4,1,0\"><code data-path-to-node=\"4,1,0\" data-index-in-node=\"0\">sudo shutdown -h now<\/code><\/p>\n<\/li>\n<\/ul>\n<p data-path-to-node=\"5\">Obie komendy daj\u0105 systemowi czas na zapisanie danych z pami\u0119ci RAM na kart\u0119 SD i poprawne zamkni\u0119cie bazy danych (co jest kluczowe dla <b data-path-to-node=\"5\" data-index-in-node=\"135\">Mosquitto<\/b> i <b data-path-to-node=\"5\" data-index-in-node=\"147\">Node-RED<\/b>).<\/p>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Sprawd\u017amy czy plik <code>config.txt<\/code> jest poprawnie przygotowany pod ten przycisk.<\/h4>\n\n\n\n<div id=\"model-response-message-contentr_b208e2f5377de4c6\" class=\"markdown markdown-main-panel stronger enable-updated-hr-color\" dir=\"ltr\" aria-live=\"polite\" aria-busy=\"false\">\n<h3 data-path-to-node=\"2\">2. Podejrzenie obecnej konfiguracji<\/h3>\n<p data-path-to-node=\"3\">Wpisz w terminalu poni\u017csz\u0105 komend\u0119, aby wy\u015bwietli\u0107 zawarto\u015b\u0107 pliku bez ryzyka edycji:<\/p>\n<div class=\"code-block ng-tns-c178037635-74 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahcKEwjNjJazjMWSAxUAAAAAHQAAAAAQUg\">\n<div class=\"formatted-code-block-internal-container ng-tns-c178037635-74\">\n<div class=\"animated-opacity ng-tns-c178037635-74\">\n<pre class=\"ng-tns-c178037635-74\"><code class=\"code-container formatted ng-tns-c178037635-74\" role=\"text\" data-test-id=\"code-content\">cat \/boot\/firmware\/config.txt\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<p data-path-to-node=\"5\"><i data-path-to-node=\"5\" data-index-in-node=\"0\">(Je\u015bli system krzyknie, \u017ce plik nie istnieje, spr\u00f3buj starszej \u015bcie\u017cki: <code data-path-to-node=\"5\" data-index-in-node=\"72\">cat \/boot\/config.txt<\/code>)<\/i>.<\/p>\n<h3 data-path-to-node=\"6\">3. Edycja pliku<\/h3>\n<p data-path-to-node=\"7\">Je\u015bli na li\u015bcie nie widzisz linii <code data-path-to-node=\"7\" data-index-in-node=\"34\">dtoverlay=gpio-shutdown<\/code>, musimy j\u0105 dopisa\u0107:<\/p>\n<ol start=\"1\" data-path-to-node=\"8\">\n<li>\n<p data-path-to-node=\"8,0,0\">Otw\u00f3rz edytor:<\/p>\n<div class=\"code-block ng-tns-c178037635-75 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahcKEwjNjJazjMWSAxUAAAAAHQAAAAAQUw\">\n<div class=\"formatted-code-block-internal-container ng-tns-c178037635-75\">\n<div class=\"animated-opacity ng-tns-c178037635-75\">\n<pre class=\"ng-tns-c178037635-75\"><code class=\"code-container formatted ng-tns-c178037635-75\" role=\"text\" data-test-id=\"code-content\">sudo nano \/boot\/firmware\/config.txt\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/li>\n<li>\n<p data-path-to-node=\"8,1,0\">Zjed\u017a na sam d\u00f3\u0142 pliku.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"8,2,0\">Dopisz now\u0105 lini\u0119:<\/p>\n<p data-path-to-node=\"8,2,0\"><code data-path-to-node=\"8,2,0\" data-index-in-node=\"19\">dtoverlay=gpio-shutdown<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"8,3,0\">Zapisz i wyjd\u017a: naci\u015bnij <b data-path-to-node=\"8,3,0\" data-index-in-node=\"25\">Ctrl + O<\/b>, potem <b data-path-to-node=\"8,3,0\" data-index-in-node=\"41\">Enter<\/b>, a na koniec <b data-path-to-node=\"8,3,0\" data-index-in-node=\"60\">Ctrl + X<\/b>.<\/p>\n<\/li>\n<li>Zrestartuj Malink\u0119: <code data-path-to-node=\"12,0,0\" data-index-in-node=\"20\">sudo reboot<\/code><\/li>\n<\/ol>\n<hr data-path-to-node=\"9\" \/>\n<h3 data-path-to-node=\"10\">Jak sprawdzi\u0107, czy to dzia\u0142a?<\/h3>\n<p data-path-to-node=\"11\">Nie potrzebujesz od razu lutowa\u0107 przycisku. Mo\u017cesz to przetestowa\u0107 kawa\u0142kiem przewodu lub nawet metalow\u0105 p\u0119set\u0105:<\/p>\n<ol start=\"1\" data-path-to-node=\"12\">\n<li>\n<p data-path-to-node=\"12,1,0\">Po ponownym uruchomieniu, je\u015bli na RPZ(2)W masz zainstalowane, upewnij si\u0119, \u017ce serwer MQTT i Node-RED dzia\u0142aj\u0105.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"12,2,0\">Na w\u0142\u0105czonym urz\u0105dzeniu <b data-path-to-node=\"12,2,0\" data-index-in-node=\"24\">na u\u0142amek sekundy<\/b> zewrzyj <b data-path-to-node=\"12,2,0\" data-index-in-node=\"50\">Pin 5 (GPIO 3)<\/b> z <b data-path-to-node=\"12,2,0\" data-index-in-node=\"67\">Pinem 6 (GND)<\/b>.<\/p>\n<\/li>\n<\/ol>\n<p data-path-to-node=\"13\"><b data-path-to-node=\"13\" data-index-in-node=\"0\">Co powinno si\u0119 sta\u0107?<\/b><\/p>\n<ul data-path-to-node=\"14\">\n<li>\n<p data-path-to-node=\"14,0,0\">System otrzyma sygna\u0142 &#8222;Shutdown&#8221;.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"14,1,0\">Node-RED i Mosquitto zostan\u0105 bezpiecznie zamkni\u0119te.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"14,2,0\">Dioda na RPZ(2)W mignie 10 razy w r\u00f3wnych odst\u0119pach (to sygna\u0142 zamkni\u0119cia systemu w Debianie), a potem zga\u015bnie.<\/p>\n<\/li>\n<\/ul>\n<h3 data-path-to-node=\"15\">Dlaczego to jest &#8222;kulturalne&#8221;?<\/h3>\n<p data-path-to-node=\"16\">Bo system nie &#8222;umiera&#8221; nagle. Je\u015bli w Terminalu Maca masz otwart\u0105 sesj\u0119 SSH, zobaczysz komunikat:<\/p>\n<p data-path-to-node=\"17,0\"><code data-path-to-node=\"17,0\" data-index-in-node=\"0\">Shared connection to [IP] closed by remote host.<\/code><\/p>\n<p data-path-to-node=\"18\">To znak, \u017ce Malinka sama grzecznie zamkn\u0119\u0142a po\u0142\u0105czenie przed wy\u0142\u0105czeniem procesora.<\/p>\n<hr data-path-to-node=\"19\" \/>\n<h3 data-path-to-node=\"20\">Wa\u017cne: Pin 5 to &#8222;Magiczny Pin&#8221;<\/h3>\n<p data-path-to-node=\"21\">U\u017cyli\u015bmy Pinu 5 (GPIO 3), poniewa\u017c jako jedyny posiada on funkcj\u0119 <b data-path-to-node=\"21\" data-index-in-node=\"66\">Wake-up<\/b>.<\/p>\n<ul data-path-to-node=\"22\">\n<li>\n<p data-path-to-node=\"22,0,0\">Je\u015bli Twoja Malinka jest wy\u0142\u0105czona (ale podpi\u0119ta do zasilacza), ponowne zwarcie Pinu 5 do masy <b data-path-to-node=\"22,0,0\" data-index-in-node=\"95\">uruchomi j\u0105 ponownie<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"22,1,0\">Dzi\u0119ki temu jeden przycisk s\u0142u\u017cy do w\u0142\u0105czania i bezpiecznego wy\u0142\u0105czania.<\/p>\n<\/li>\n<\/ul>\n<p data-path-to-node=\"23\">Czy uda\u0142o Ci si\u0119 dopisa\u0107 t\u0119 lini\u0119 do pliku i chcesz, \u017cebym pom\u00f3g\u0142 Ci teraz zweryfikowa\u0107, czy system poprawnie interpretuje ten pin?<\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<p><strong>UWAGA!:<\/strong> U mnie na ko\u0144cu pliku <code>config.txt<\/code> po dodaniu linijki jest teraz tak:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>......\n&#91;all]\nenable_uart=1\ndtoverlay=gpio-shutdown<\/code><\/pre>\n\n\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Pytanie do ChatGPT: Jak kulturalnie wy\u0142\u0105czy\u0107 Raspberry Pi Zero 2 W? ChatGPT: Wy\u0142\u0105czanie \u201ekulturalne\u201d to klucz do d\u0142ugiego \u017cycia Twojej karty SD. Nag\u0142e odci\u0119cie pr\u0105du to dla systemu operacyjnego jak&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[65,114],"tags":[],"class_list":["post-6778","post","type-post","status-publish","format-standard","hentry","category-programowanie","category-raspberry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/6778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/comments?post=6778"}],"version-history":[{"count":14,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/6778\/revisions"}],"predecessor-version":[{"id":6822,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/posts\/6778\/revisions\/6822"}],"wp:attachment":[{"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/media?parent=6778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/categories?post=6778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduino.net.pl\/index.php\/wp-json\/wp\/v2\/tags?post=6778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}