{"id":346,"date":"2018-11-14T16:17:00","date_gmt":"2018-11-14T15:17:00","guid":{"rendered":"http:\/\/blog.botland.com.pl\/?p=346"},"modified":"2023-05-24T09:48:21","modified_gmt":"2023-05-24T07:48:21","slug":"auto-uruchamianie-programow-na-raspberry-pi","status":"publish","type":"post","link":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/","title":{"rendered":"Auto-uruchamianie program\u00f3w na Raspberry Pi"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Czas czytania:<\/span> <span class=\"rt-time\"> 3<\/span> <span class=\"rt-label rt-postfix\">min.<\/span><\/span>\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"346\" class=\"elementor elementor-346\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-19b08c77 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"19b08c77\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4eb1785e\" data-id=\"4eb1785e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-56300cb elementor-align-center elementor-widget elementor-widget-button\" data-id=\"56300cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/botland.com.pl\/399-raspberry-pi\" data-wpel-link=\"internal\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Ceny Raspberry Pi<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-532fa491 elementor-widget elementor-widget-text-editor\" data-id=\"532fa491\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><strong>Raspberry Pi &#8211; autostart <\/strong>i ponowne uruchamianie<\/h2><p>Istnieje wiele sposob\u00f3w na auto-uruchamianie program\u00f3w podczas \u0142adowania systemu lub logowania si\u0119. Mi\u0119dzy innymi \u2018cron\u2019, \u2018init\u2019, Gnome Scheduler, jednak w najnowszej wersji <strong><a href=\"https:\/\/www.raspberrypi.org\/downloads\/raspbian\/\" data-wpel-link=\"external\" target=\"_blank\" rel=\"nofollow external noopener noreferrer\">Raspbian<\/a><\/strong> dodano now\u0105, o nazwie <strong>\u2018systemd\u2019.<\/strong><\/p><p><strong><span style=\"color: green;\">systemd<\/span><\/strong><\/p><p>Jest to w rzeczywisto\u015bci pakiet aplikacji u\u017cywanych do zarz\u0105dzania systemem operacyjnym. W tej funkcji mo\u017cna skonfigurowa\u0107 \u2018service\u2019 (program), kt\u00f3rym systemd b\u0119dzie automatycznie zarz\u0105dza\u0142. Wi\u0119c je\u017celi np. program przestanie odpowiada\u0107, systemd zapewni <strong>RPI autostart<\/strong>. Funkcja ta jest szczeg\u00f3lnie przydatna, je\u015bli <strong><a href=\"https:\/\/botland.com.pl\/399-raspberry-pi\" data-wpel-link=\"internal\">Raspberry Pi<\/a><\/strong> jest u\u017cywane do monitorowania czego\u015b lub do rejestrowania pomiar\u00f3w i nie chcesz niczego przeoczy\u0107, lub u\u017cywasz <strong><a href=\"https:\/\/botland.com.pl\/345-roboty\" data-wpel-link=\"internal\">robota<\/a><\/strong> opartego na <a href=\"https:\/\/botland.com.pl\/399-raspberry-pi\" data-wpel-link=\"internal\">Raspberry Pi<\/a>, a awaria programu steruj\u0105cego oznacza\u0142aby utrat\u0119 kontroli. <strong>Autostart Raspberry<\/strong> to spos\u00f3b na \u0142atwy i szybki reset programu, kt\u00f3ry nie spowoduje utraty danych czy zamkni\u0119cia programu. Z kolei <strong>Raspberry Pi autorun<\/strong> to mo\u017cliwo\u015b\u0107 automatycznego rozpocz\u0119cia dzia\u0142ania programu wraz ze startem systemu, co pozwala na optymalizacj\u0119 czasu, kt\u00f3rego ju\u017c nie trzeba przeznacza\u0107 na manualne otwieranie ka\u017cdej aplikacji z osobna.<\/p><h3><strong>Konfiguracja<\/strong><\/h3><p>W tym przyk\u0142adzie uruchomimy skrypt napisany w pythonie uruchamiany za ka\u017cdym razem podczas startu systemu w Raspberry Pi. Ten skrypt s\u0142u\u017cy do sterowania robotem, kt\u00f3ry nie ma wej\u015bcia na <a href=\"https:\/\/botland.com.pl\/69-wyswietlacze-i-ekrany\" data-wpel-link=\"internal\"><b>ekran<\/b><\/a>, czy <a href=\"https:\/\/botland.com.pl\/484-klawiatury-usb\" data-wpel-link=\"internal\"><b>klawiatur\u0119<\/b><\/a>, wi\u0119c uruchomienie programu przy starcie systemu jest niezb\u0119dne. Umie\u015bci\u0142em skrypt w katalogu domowym u\u017cytkownik\u00f3w \u2018pi\u2019:<\/p><p><strong><span style=\"color: green;\">\/home\/pi\/DriveRobot.py<\/span><\/strong><\/p><p>systemd u\u017cywa plik\u00f3w konfiguracyjnych zwanych \u2018unit\u2019, aby powiedzie\u0107 im co maj\u0105 robi\u0107. Stw\u00f3rzmy jeden dla naszego robota. Otw\u00f3rz okno terminala i wpisz nast\u0119puj\u0105ce komendy:<\/p><p><strong><span style=\"color: green;\">sudo nano \/lib\/systemd\/system\/driverobot.service<\/span><\/strong><\/p><p>Teraz wpisz to:<br \/><span style=\"color: green;\"><br \/><strong>[Unit]<\/strong><br \/><strong>Description=DriveRobot Service<\/strong><br \/><strong>After=multi-user.target<\/strong><\/span><strong><span style=\"color: green;\"><br \/>[Service]<br \/>Type=idle<\/span><span style=\"color: green;\"><br \/>User=pi<br \/>ExecStart=\/usr\/bin\/python3 \/home\/pi\/DriveRobot.py<\/span><span style=\"color: green;\"><br \/>Restart=always<br \/>RestartSec=0<\/span><\/strong><\/p><p><span style=\"color: green;\"><strong>[Install]<\/strong><br \/><strong>WantedBy=multi-user.target<\/strong><br \/><\/span><br \/>W tym pliku unit znajduj\u0105 si\u0119 3 sekcje:<\/p><ul><li>Sekcja <strong>[Unit] <\/strong>zawiera dwie warto\u015bci:<ul><li>nazw\u0119 warto\u015bci us\u0142ugi (\u201eDescription\u201d)<\/li><li>Kiedy system si\u0119 \u0142aduje, us\u0142uga powinna wystartowa\u0107 (\u2018After\u2019). W tym przypadku b\u0119dzie ona uruchamiana po zako\u0144czeniu procesu systemd \u2018multi-user\u2019, tj. na etapie, w kt\u00f3rym konta u\u017cytkownik\u00f3w s\u0105 dost\u0119pne w systemie. To jest przed za\u0142adowaniem Raspbian Desktop, wi\u0119c je\u017celi twoje Raspberry \u0142aduje si\u0119 w trybie Desktop i chcesz \u017ceby tw\u00f3j program \u0142adowa\u0142 si\u0119 w interfejsie u\u017cytkownika na pulpicie, musisz zmieni\u0107 to na \u201egraphical.target\u201d.<\/li><\/ul><\/li><li>Sekcja<strong> [Service] <\/strong>konfiguruje to co b\u0119dzie uruchamiane i co ma zrobi\u0107 je\u017celi program przestanie odpowiada\u0107 lub si\u0119 wy\u0142\u0105czy.<ul><li>Opcja \u2018Type\u2019 i \u2018idle\u2019 m\u00f3wi\u0105 systemd, \u017ceby czeka\u0142 a\u017c wszystkie inne us\u0142ugi zostan\u0105 wykonane. Nie spowalnia to rozruchu systemu.<\/li><li>\u2018User\u2019 definiuje, kt\u00f3rego u\u017cytkownika program b\u0119dzie dzia\u0142a\u0142. W tym przypadku, standardowo u\u017cytkownik \u2018pi\u2019.<\/li><li>\u2018ExecStart\u2019 jest plikiem wykonywalnym. W tym przypadku python3 uruchamia skrypt DriverRobot.py. Zwr\u00f3\u0107 uwag\u0119 na to, \u017ce musisz poda\u0107 pe\u0142n\u0105 \u015bcie\u017ck\u0119 programu, kt\u00f3ry uruchamiasz (python3) oraz skryptu.<\/li><li>\u2018Restart\u2019 ustawione na \u2018always\u2019 m\u00f3wi systemd, \u017ceby monitorowa\u0142 proces startu i je\u017celi si\u0119 wy\u0142\u0105czy, zresetowa\u0142 go.<\/li><li>\u2018RestartSec\u2019 m\u00f3wi systemd, \u017ceby zaczeka\u0142 0 sekund przed restartem program\u00f3w, je\u017celi si\u0119 wy\u0142\u0105czy.<\/li><\/ul><\/li><li>Finalna sekcja <strong>[Install] <\/strong>posiada dyrektyw\u0119 \u2018WantedBy\u2019. Oznacza to, \u017ce us\u0142uga driverobot b\u0119dzie lu\u017ano powi\u0105zana z us\u0142ug\u0105 dla wielu u\u017cytkownik\u00f3w \u2013 zostanie uruchomiona po pomy\u015blnym uruchomieniu us\u0142ug wielu u\u017cytkownik\u00f3w.<\/li><\/ul><p>Po zapisaniu nale\u017cy zmieni\u0107 uprawnienia pliku:<\/p><p><strong><span style=\"color: green;\">sudo chmod 644 \/lib\/systemd\/system\/driverobot.service<\/span><\/strong><\/p><p>Co sprawi, \u017ce b\u0119dzie mog\u0142a by\u0107 odczytana przez wszystkich, ale zapisywana tylko przez w\u0142a\u015bciciela.<\/p><h3><strong>Konfigurowanie systemd<\/strong><\/h3><p>Po utworzeniu pliku nale\u017cy poinformowa\u0107 o tym systemd i uruchomi\u0107 go, aby us\u0142uga driverobot by\u0142a uruchamiana za ka\u017cdym razem podczas uruchamiania Raspberry Pi. Wprowad\u017a poni\u017csze instrukcje:<\/p><p><span style=\"color: green;\"><strong>sudo systemctl daemon-reload<\/strong><\/span><strong><span style=\"color: green;\"><br \/>sudo systemctl enable driverobot.service<\/span><\/strong><\/p><p>Nast\u0119pnie uruchom ponownie <a href=\"https:\/\/botland.com.pl\/399-raspberry-pi\" data-wpel-link=\"internal\"><b>Raspberry Pi<\/b><\/a>.<\/p><h3><strong>Sprawdzanie statusu us\u0142ugi driverobot<\/strong><\/h3><p>Kiedy Raspberry Pi uruchomi si\u0119 ponownie, tw\u00f3j skrypt si\u0119 uruchomi. Mo\u017cesz to sprawdzi\u0107 u\u017cywaj\u0105c komendy systemctl:<\/p><p><span style=\"color: green;\"><strong>sudo systemctl status driverobot.service<\/strong><\/span><\/p><p>Powinna ona zwr\u00f3ci\u0107 co\u015b takiego:<\/p><center><img decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0176\/3274\/files\/systemctl_status.png?v=1541411945\" alt=\"systemctl status\" \/><\/center><h3><strong>Testowanie \u2018Crash\u2019<\/strong><\/h3><p>Warto sprawdzi\u0107 czy systemd b\u0119dzie obs\u0142ugiwa\u0142 awari\u0119 kodu. Do zasymulowania tego nale\u017cy wy\u0142\u0105czy\u0107 (\u2018kill\u2019) proces pythona, kt\u00f3ry uruchamia tw\u00f3j skrypt. Aby znale\u017a\u0107 identyfikator procesu, uruchom to:<\/p><p><span style=\"color: green;\"><strong>ps -ax | grep driverobot<\/strong><\/span><\/p><p>Komenda powinna zwr\u00f3ci\u0107 dwie linijki \u2013 jedna dla procesu python3 i jedna \u2018grep\u2019, kt\u00f3r\u0105 w\u0142a\u015bnie uruchomi\u0142e\u015b. Identyfikatorem (pid) procesu jest pierwsza cyfra w linii.<\/p><center><img decoding=\"async\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0176\/3274\/files\/pid.png?v=1541411968\" alt=\"Obtaining the Process identity (pid)\" \/><\/center><p>Do zatrzymania twojego kodu, wpisz:<span style=\"color: green;\"><br \/><strong>kill -9 xxx<\/strong><\/span><\/p><p>Gdzie xxx to identyfikator procesu, kt\u00f3ry w\u0142a\u015bnie znalaz\u0142e\u015b.<\/p><p>Teraz sprawd\u017a czy tw\u00f3j program zosta\u0142 zrestartowany, uruchamiaj\u0105c ponownie:<span style=\"color: green;\"><br \/><strong>ps -ax | grep driverobot<\/strong><br \/><\/span><\/p><center><img decoding=\"async\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0176\/3274\/files\/pid2.png?v=1541411993\" alt=\"Checking the service has restarted\" \/><\/center><p>Je\u015bli systemd wykonuje swoje zadanie poprawnie, powiniene\u015b zobaczy\u0107 wci\u0105\u017c dzia\u0142aj\u0105cy proces python3, ale tym razem z innym identyfikatorem procesu.<\/p><p>Teraz mo\u017cesz uruchamia\u0107 sw\u00f3j kod lub dowolny program za ka\u017cdym razem, podczas uruchamiania Rasberry Pi, i pozostawi\u0107 go uruchomionym przez ca\u0142y czas!<\/p><h2>Jakie dodatkowe <strong>programy na Raspberry Pi <\/strong>warto zainstalowa\u0107?<\/h2><ul><li>Iceweasel (Firefox) &#8211; Przegl\u0105darka<\/li><li>Chromium (Chrome) &#8211; Przegl\u0105darka<\/li><li>Midori &#8211; Przegl\u0105darka<\/li><li>LibreOffice &#8211; Pakiet biurowy<\/li><li>Inkscape &#8211; Program graficzny<\/li><li>GIMP &#8211; Program graficzny<\/li><li>Pinta &#8211; Program graficzny<\/li><li>scrot &#8211; Zrzut ekranu<\/li><li>mc &#8211; Midnight Commander \u2013 zarz\u0105dzanie plikami<\/li><li>7zip &#8211; Kompresja danych<\/li><li>Gparted &#8211; Program do zarz\u0105dzania partycjami<\/li><\/ul><h2>Podstawowe <strong>komendy Raspberry Pi<\/strong><\/h2><p>Poznaj najpotrzebniejsze <strong>komendy<\/strong> na <strong>Raspberry Pi<\/strong>, dzi\u0119ki kt\u00f3rym Twoje urz\u0105dzenie b\u0119dzie dzia\u0142a\u0142o jeszcze sprawniej. S\u0105 to mi\u0119dzy innym takie polecenia, jaki:<\/p><ul><li>df \/ -h &#8211; ilo\u015b\u0107 miejsca na dysku dost\u0119pn\u0105 na karcie SD<\/li><li>free -h &#8211; informacje o u\u017cyciu pami\u0119ci<\/li><li>date &#8211; aktualny czas<\/li><li>sudo su &#8211; u\u017cytkownik root<\/li><li>sudo raspi-config &#8211; uruchomienie programu Raspi-config, kt\u00f3ry umo\u017cliwia rekonfiguracj\u0119 systemu.<\/li><li>sudo reboot &#8211; ponowne uruchomienie RPI<\/li><li>sudo shutdown -h now &#8211; przygotowanie do wy\u0142\u0105czenia<\/li><li>exit &#8211; wylogowuje z bie\u017c\u0105cej pow\u0142oki systemowej\/sesji SSH<\/li><\/ul><p>Jak zacz\u0105\u0107 wi\u0119c przygod\u0119 z RPI? Aby umo\u017cliwi\u0107 <strong>Raspberry Pi start<\/strong>, nale\u017cy wgra\u0107 system operacyjny na USB lub kart\u0119 SD. Nie trzeba robi\u0107 tego manualnie, bo powsta\u0142y specjalne programy, kt\u00f3re zrobi\u0105 to za nas. Dodatkowo uprzednio sformatuj\u0105 one kart\u0119, tak aby nic si\u0119 na niej nie znajdowa\u0142o. Nie jest to zaawansowana procedura, dlatego z pewno\u015bci\u0105 poradzi z ni\u0105 sobie nawet amator. Powodzenia!<\/p><p><em>\u0179r\u00f3d\u0142o: <a href=\"https:\/\/thepihut.com\/blogs\/raspberry-pi-tutorials\/auto-starting-programs-on-the-raspberry-pi\" data-wpel-link=\"external\" target=\"_blank\" rel=\"nofollow external noopener noreferrer\"><b>https:\/\/thepihut.com\/blogs\/raspberry-pi-tutorials\/auto-starting-programs-on-the-raspberry-pi<\/b><\/a><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Sprawa o tyle wa\u017cna, co \u0142atwa, ale niekoniecznie oczywista. Przydatne fragmenty kodu i porady. <\/p>\n","protected":false},"author":6,"featured_media":59821,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[21,134],"tags":[38,95,100],"class_list":["post-346","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programowanie","category-raspberry-pi","tag-autouruchamianie","tag-python","tag-raspberry-pi-tag"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Auto-uruchamianie program\u00f3w na Raspberry Pi - Botland<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Auto-uruchamianie program\u00f3w na Raspberry Pi - Botland\" \/>\n<meta property=\"og:description\" content=\"Sprawa o tyle wa\u017cna, co \u0142atwa, ale niekoniecznie oczywista. Przydatne fragmenty kodu i porady.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/\" \/>\n<meta property=\"og:site_name\" content=\"Botland\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/Botland\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-14T15:17:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-24T07:48:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-123-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1510\" \/>\n\t<meta property=\"og:image:height\" content=\"755\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Maciej Chmiel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Maciej Chmiel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/\"},\"author\":{\"name\":\"Maciej Chmiel\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#\\\/schema\\\/person\\\/7dc2a9884b42767fa40ffc62d97e81a4\"},\"headline\":\"Auto-uruchamianie program\u00f3w na Raspberry Pi\",\"datePublished\":\"2018-11-14T15:17:00+00:00\",\"dateModified\":\"2023-05-24T07:48:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/\"},\"wordCount\":1078,\"publisher\":{\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-123-1.png\",\"keywords\":[\"autouruchamianie\",\"Python\",\"Raspberry Pi\"],\"articleSection\":[\"Programowanie\",\"Raspberry Pi\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/\",\"name\":\"Auto-uruchamianie program\u00f3w na Raspberry Pi - Botland\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-123-1.png\",\"datePublished\":\"2018-11-14T15:17:00+00:00\",\"dateModified\":\"2023-05-24T07:48:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/#primaryimage\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-123-1.png\",\"contentUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/new2023-123-1.png\",\"width\":1510,\"height\":755},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/auto-uruchamianie-programow-na-raspberry-pi\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Auto-uruchamianie program\u00f3w na&nbsp;Raspberry Pi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/botland.de\\\/blog\\\/\",\"name\":\"Botland\",\"description\":\"Blog Raspberry Pi, Arduino, elektronika i robotyka - Botland\",\"publisher\":{\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/botland.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#organization\",\"name\":\"Botland\",\"url\":\"https:\\\/\\\/botland.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/botland.store\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/logo_kolor_WP_2-1.png\",\"contentUrl\":\"https:\\\/\\\/botland.store\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/logo_kolor_WP_2-1.png\",\"width\":250,\"height\":57,\"caption\":\"Botland\"},\"image\":{\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/facebook.com\\\/Botland\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/botland.de\\\/blog\\\/#\\\/schema\\\/person\\\/7dc2a9884b42767fa40ffc62d97e81a4\",\"name\":\"Maciej Chmiel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/logo_kolor_WP_3-1-150x150.png\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/logo_kolor_WP_3-1-150x150.png\",\"contentUrl\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/logo_kolor_WP_3-1-150x150.png\",\"caption\":\"Maciej Chmiel\"},\"description\":\"Specjalista od Arduino i szeroko rozumianej elektroniki. Cz\u0142owiek-orkiestra, dy\u017curny od wszystkiego - nie ma dla niego rzeczy niemo\u017cliwych, a czas ich realizacji jest zwykle prawie natychmiastowy. Po pracy mi\u0142o\u015bnik kresk\u00f3wek z Pepe Panem Dziobakiem. Jego bezcenne memy wspomagaj\u0105 dzia\u0142 kreatywny.\",\"url\":\"https:\\\/\\\/botland.com.pl\\\/blog\\\/author\\\/maciek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Auto-uruchamianie program\u00f3w na Raspberry Pi - Botland","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/","og_locale":"pl_PL","og_type":"article","og_title":"Auto-uruchamianie program\u00f3w na Raspberry Pi - Botland","og_description":"Sprawa o tyle wa\u017cna, co \u0142atwa, ale niekoniecznie oczywista. Przydatne fragmenty kodu i porady.","og_url":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/","og_site_name":"Botland","article_publisher":"https:\/\/facebook.com\/Botland\/","article_published_time":"2018-11-14T15:17:00+00:00","article_modified_time":"2023-05-24T07:48:21+00:00","og_image":[{"width":1510,"height":755,"url":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-123-1.png","type":"image\/png"}],"author":"Maciej Chmiel","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Maciej Chmiel","Szacowany czas czytania":"6 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/#article","isPartOf":{"@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/"},"author":{"name":"Maciej Chmiel","@id":"https:\/\/botland.de\/blog\/#\/schema\/person\/7dc2a9884b42767fa40ffc62d97e81a4"},"headline":"Auto-uruchamianie program\u00f3w na Raspberry Pi","datePublished":"2018-11-14T15:17:00+00:00","dateModified":"2023-05-24T07:48:21+00:00","mainEntityOfPage":{"@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/"},"wordCount":1078,"publisher":{"@id":"https:\/\/botland.de\/blog\/#organization"},"image":{"@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/#primaryimage"},"thumbnailUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-123-1.png","keywords":["autouruchamianie","Python","Raspberry Pi"],"articleSection":["Programowanie","Raspberry Pi"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/","url":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/","name":"Auto-uruchamianie program\u00f3w na Raspberry Pi - Botland","isPartOf":{"@id":"https:\/\/botland.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/#primaryimage"},"image":{"@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/#primaryimage"},"thumbnailUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-123-1.png","datePublished":"2018-11-14T15:17:00+00:00","dateModified":"2023-05-24T07:48:21+00:00","breadcrumb":{"@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/#primaryimage","url":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-123-1.png","contentUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2023\/05\/new2023-123-1.png","width":1510,"height":755},{"@type":"BreadcrumbList","@id":"https:\/\/botland.com.pl\/blog\/auto-uruchamianie-programow-na-raspberry-pi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/botland.com.pl\/blog\/"},{"@type":"ListItem","position":2,"name":"Auto-uruchamianie program\u00f3w na&nbsp;Raspberry Pi"}]},{"@type":"WebSite","@id":"https:\/\/botland.de\/blog\/#website","url":"https:\/\/botland.de\/blog\/","name":"Botland","description":"Blog Raspberry Pi, Arduino, elektronika i robotyka - Botland","publisher":{"@id":"https:\/\/botland.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/botland.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/botland.de\/blog\/#organization","name":"Botland","url":"https:\/\/botland.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/botland.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/botland.store\/blog\/wp-content\/uploads\/2018\/04\/logo_kolor_WP_2-1.png","contentUrl":"https:\/\/botland.store\/blog\/wp-content\/uploads\/2018\/04\/logo_kolor_WP_2-1.png","width":250,"height":57,"caption":"Botland"},"image":{"@id":"https:\/\/botland.de\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/Botland\/"]},{"@type":"Person","@id":"https:\/\/botland.de\/blog\/#\/schema\/person\/7dc2a9884b42767fa40ffc62d97e81a4","name":"Maciej Chmiel","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2019\/03\/logo_kolor_WP_3-1-150x150.png","url":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2019\/03\/logo_kolor_WP_3-1-150x150.png","contentUrl":"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2019\/03\/logo_kolor_WP_3-1-150x150.png","caption":"Maciej Chmiel"},"description":"Specjalista od Arduino i szeroko rozumianej elektroniki. Cz\u0142owiek-orkiestra, dy\u017curny od wszystkiego - nie ma dla niego rzeczy niemo\u017cliwych, a czas ich realizacji jest zwykle prawie natychmiastowy. Po pracy mi\u0142o\u015bnik kresk\u00f3wek z Pepe Panem Dziobakiem. Jego bezcenne memy wspomagaj\u0105 dzia\u0142 kreatywny.","url":"https:\/\/botland.com.pl\/blog\/author\/maciek\/"}]}},"_links":{"self":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/posts\/346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/comments?post=346"}],"version-history":[{"count":0,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/posts\/346\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/media\/59821"}],"wp:attachment":[{"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/media?parent=346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/categories?post=346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/botland.com.pl\/blog\/wp-json\/wp\/v2\/tags?post=346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}