Dziś troszkę rozwiniemy ten temat – ostatnio znajomy prosił mnie o pomoc, w uruchomieniu dostępu do drukarki podłączonej do Raspberry Pi w ramach Google Cloud Print, i właśnie tym się teraz zajmiemy… :-)
I mimo, że poradnik będzie na Raspberry Pi (Debian/Raspbian), to powinien działać na innych systemach Linux, choć czasem może być konieczna odpowiednia modyfikacja poleceń (dotyczy to głównie poleceń odpowiedzialnych za ew. instalację dodatkowych pakietów/aplikacji).
Spis treści w artykule
CUPS @ Raspberry Pi
Google Cloud Print
Google Cloud Print to nowa technologia łącząca drukarki z internetem. Za jej pomocą możesz z dowolnego miejsca drukować na drukarkach w domu i w pracy, a także udostępniać je wybranym osobom. Google Cloud Print działa na telefonach, tabletach, Chromebookach, komputerach i dowolnych innych urządzeniach połączonych z siecią, z których chcesz coś wydrukować.
Więcej na temat Google Cloud Print przeczytasz na tej stronie…
Najpierw dodamy drukarki „chmurowe” do Raspberry Pi, a następnie drukarki lokalne dodamy „do chmury”.
CUPS Cloud Print, czyli drukarki z Google Cloud Print dostępne w Raspberry Pi
Dzięki CUPS Cloud Print dodacie swoje drukarki dostępne w ramach usługi Google Cloud Print do Raspberry Pi – czasem może się przydać, np. do zapisu dokumentów z Pi bezpośrednio na Dysk Google. Ale oczywiście nie tylko…
server-error-internal-error
Opis „jak” jednak postanowiłem zostawić, może u kogoś z Was zadziała. A i ja będę miał motywacje, by kiedyś do tematu jeszcze powrócić…
Podejrzewam, że błąd wynika z tego, że Pi „nie wyrabia” – czyli brakuje mocy obliczeniowej, bo taki sam błąd czasem pojawiał się przy dodawaniu drukarek lokalnych do CUPSa. Może wystarczy zwolnić trochę dodatkowej pamięci RAM na czas instalacji. A może trzeba by podnieść częstotliwość procesora na 1000MHz/1GHz by dać Pi większy zapas mocy…
Dodatkowo – opisana metoda powinna działać na innych urządzeniach/komputerach z systemem Linux, a tam problem z „brakiem mocy” raczej nie powinien występować.
Zaczynamy od instalacji wymaganych bibliotek/pakietów, których możecie nie mieć w systemie:
sudo apt-get install python-httplib2 python-cups
Teraz można przystąpić do instalacji CUPS Cloud Print:
wget http://niftyrepo.niftiestsoftware.com/cups-cloud-print/packages/cupscloudprint_20131013-1_all.deb
sudo dpkg -i cupscloudprint_20131013-1_all.deb
Gdy instalacja się zakończy, przechodzimy do konfiguracji:
sudo python /usr/lib/cloudprint-cups/setupcloudprint.py
Gdy podacie login do konta Google (adres e-mail) otrzymacie link za pomocą którego trzeba autoryzować usługę:
https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloudprint&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&client_id=[WPISZ_TU_SWOJE_ID].apps.googleusercontent.com&access_type=offline
Z racji tego, że z konsoli może być ciężko skopiować link – możecie skorzystać z gotowca powyżej. Wstawcie tylko zamiast „[WPISZ_TU_SWOJE_ID]” 12 cyfr które pojawią się w Waszym linku.
W zamian otrzymacie kod, który trzeba wpisać w oknie konsoli.
Teraz wystarczy odpowiedzieć na kilka pytań, i jeśli Waszemu urządzeniu pójdzie lepiej niż mojej „testowej Malince” to na liście drukarek w usłudze CUPS powinny pojawić się Wasze drukarki dostępne w ramach Google Cloud Print.
Kasowanie drukarek:
Skasować „lokalnie” dodane drukarki można z poziomu CUPSa (np. WWW). Dodatkowo można skasować plik /etc/cloudprint.conf
sudo rm /etc/cloudprint.conf
Więcej o CUPS Cloud Print znajdziecie na stronie projektu…
Drukarki „z chmury” – przynajmniej teoretycznie – mamy już dostępne lokalnie, teraz pora dodać drukarki lokalne (CUPS) do naszego konta Google Cloud Print…
Dodawanie drukarki lokalnej (Linux/Raspberry Pi/CUPS) do Google Cloud Print
Tu mamy mamy 2 różne drogi:
- Sterownik/łącznik między Google Cloud Print a usługa CUPS (Python)
- Instalacja i konfiguracja aplikacji Chromium (Chrome)
Zaczniemy od pierwszego wariantu, czyli:
Cloudprint – łącznik do usługi
Najpierw instalujemy skrypt:
sudo pip install cloudprint
Wcześniej może być konieczne zainstalowanie wymaganych składników/komponentów:
sudo apt-get install python python-pip
Gdy mamy to już za sobą, przystępujemy do konfiguracji:
sudo /usr/local/bin/cloudprint
Musimy podać login i hasło do konta:
Drukarka (drukarki) dostępna w usłudze CUPS zostanie automatycznie dodana do konta Google Cloud Print – co można sprawdzić logując się do usługi.
Więcej o Cloudprint znajdziecie na stronie projektu…
Inna metoda, to instalacja Chromium (Chrome) i skorzystanie z wbudowanej w przeglądarkę integracji z usługami w ramach konta Google:
Konfiguracja Google Cloud Print za pomocą przeglądarki Chromium/Chrome
Wprawdzie można skorzystać z poradnika przygotowanego przez Google – to nie wiem czy na Raspberry Pi to zadziała… Co niekoniecznie stanowi akurat problem – dla wielu początkujących wręcz może być to zaletą – bo oznacza, że trzeba to zrobić inaczej, w tym wypadku chyba nawet prościej…
Zaczynamy od instalacji Chromium:
sudo apt-get install chromium-browser
Po instalacji chyba najtrudniejsza część, ale nie ze względu na poziom skomplikowania, co bardziej ze względu na komfort pracy – z przeglądarki w formie graficznej (GUI) będziemy korzystać tylko przez chwilę, zwłaszcza że w przypadku Raspberry Pi (Model B, 512 MB RAM, CPU@800MHz) korzysta się z niej zdecydowanie niekomfortowo – i to delikatnie pisząc.
Przeglądarkę uruchamiamy w trybie graficznym, możemy tu skorzystać z:
Następnie przechodzimy do ustawień Chromium i podłączamy przeglądarkę pod swoje konto Google:
Teraz idziemy do „zaawansowanych ustawień” i tam przy pozycji „Google Cloud Print” klikamy na przycisk „Add printers”/”Dodaj drukarki”:
Autoryzujemy dostęp:
I to wszystko:
Na wszelki wypadek dodam, że ani okna/GUI, ani Chromium nie muszą być uruchomione na Raspberry Pi by dało się korzystać z usługi (istotne, zważywszy na obciążenie systemu jakie generuje działająca przeglądarka Chromium)
Zarządzanie i korzystanie z drukarek w ramach Google Cloud Print
Drukarkami dostępnymi w ramach usługi można zarządzać z poziomu tej strony internetowej.
Sam korzystam z tej usługi np. by wydrukować jakiś dokument z poziomu telefonu z systemem Android, i to niezależnie od miejsca w którym w danej chwili fizycznie się znajduje…
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
A mnie udało się uruchomić GoogleCloudPrint korzystając z poradnika http://blog.onslow-web.co.uk/?p=71 i z Twojego bloga :-). To co nie działało wg Twojego opisu zadziałało z tamtego poradnika… i na odwrót. Może przejrzysz tamten poradnik i z tego zredagujesz jakiś działający i kompletny wpis, bo ja nie mam pojęcia, co tak właściwie zrobiłem krok po kroku, że zadziałało.
Zacznę od tego, że wpis do którego linkujesz jest całkiem świeży, mój ma trochę ponad rok – a w tym czasie w świecie Raspberry Pi zmieniło się sporo…
Każdy swój poradnik – już opublikowany, jak i każdy z całkiem pokaźnej liczby oczekujących – pisze wykonując każdy krok na jednym ze swoich urządzeń, tak by mieć pewność, że to działa i niczego nie pominąłem. Oczywiście nie oznacza to, że u każdego będzie tak samo to działało, choć staram się wyłapać jakieś „rozbieżności” przez testy na urządzeniach znajomych – ale nie zawsze wszystko da się wyłapać, czasem wystarczy minimalna rozbieżność w konfiguracji systemu… Czasem wystarczy, że pojawią się jakieś aktualizacje wykorzystywanych bibliotek, i to wystarczy by pojawił się jakiś problem.
Sam obecnie na swoim głównym Pi mam drukarkę dodaną za pomocą metody związanej z Chrome/Chromium – i działa.
Szkoda, że nie wiesz, co konkretnie pomogło u Ciebie – to bym dodał taką informację do opisu… Jest też szansa, że za kilka dni będę na jednej Malinie dodawał taką funkcję, to przy okazji będzie okazja zweryfikować każdy krok…
Z tego co pamiętam, to początek był z tamtego bloga , czyli instalacja
sudo apt-get install build-essential python-dev libcups2-dev
Zainstalowałem też, to co w Twoim blogu na początku napisane
sudo apt-get install python-httplib2 python-cups
Pamiętam, że python-pip instalowałem, tak jak w komentażach na tamtym blogu
sudo apt-get install python-setuptools &&
sudo easy_install pip
No i tutaj już dokładnie nie pamiętam kolejności, bo z uruchomieniem któregośś skryptu miałem kilka godzin walki, bo nie mogłem zalogowaćć sięę do usług google mimo poprawnych loginu i hasła; cosśś zmieniałem w ustawieniach konta google i w pewnym momencie zaskoczyło i dodało drukarki ( tak jak w Twoim przypadku skrypt cały czas działał w tle). Wszystko działało, ale po restarcie odmówiło współpracy. To dodałem skrypt z tamtego bloga do autouruchamiania (z modyfikacją głównej komendyęę tak jak w komentarzach sudo -u pi /usr/local/bin/cloudprint >> /var/log/cloudprint.log i do dzisiaj działa :-)
Widzisz, to tylko potwierdza, że niestety tu nie ma zwykłej instalki i ma działać… Czasem trzeba „pokombinować” ;-)
Jeszcze tylko jedno pytanie: jak podłączyć kilka kont google. W help cloudprint jest opcja
cloudprint -a /ścieżka_do_pliku_account_file
, ale niewiem, czy to jest od dodawania kilku kont, bo nie mogę spreparować poprawnie działającego pliku account_file. Próbowałem w pliku account_filei różne warjacje, ale zawsze wyskakuje błąd autoryzacji; Nie działa też
cloudprint -c -a /ścieżka_do_pliku_account_file
. Muszę ręcznie przełączać konta:
cloudprint -l
i wpisywać nowe konto.Brak mi już pomysłów :-(cloudprint
Takie imprezy to nie tylko na Androidzie są możliwe, nawet na Symbianie poprzez aplikację 3rdparty „FilesPlus” (http://www.meeki.mobi/products/filesplus). Ciekawy artykuł, dobra robota!