DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Subskrybuj, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu

A nawet inne odpady rolnicze.

Okazuje się, że opcjonalnie można uzyskać darmową energię elektryczną z silnika niepotrzebnego skanera. W tym artykule porozmawiamy o tym, jak zrobić generator wiatrowy z silnika krokowego.

Tutaj najciekawszy jest sposób wykonania ostrzy. Poniżej znajduje się przewodnik, który pomoże Ci „przetworzyć” stary skaner w imponujący generator prądu. Będziemy potrzebować:

  • Stary skaner;
  • Diody prostownicze (w projekcie wykorzystano 8 diod 1N4007);
  • Kondensator 1000uF;
  • Stabilizator LM7805;
  • Rury PCV;
  • Części z tworzyw sztucznych (patrz poniżej);
  • Płyty aluminiowe (możesz użyć dowolnych innych).

Oprócz świetlówki i części elektroniczne, skaner ma silnik krokowy, dokładnie tego potrzebujemy. Na zdjęciu czterofazowy silnik krokowy.

Teraz, gdy mamy już wszystkie niezbędne elementy, możemy przystąpić do montażu prostownika.

Na każdą fazę potrzebujemy 2 diod, tj. tylko 8 diod. Napięcie wyjściowe będzie stabilizowane za pomocą układu scalonego LM7805 i kondensatora 1000uF.

Ten generator może swobodnie generować napięcia powyżej 5 woltów, jednak w ramach tego projektu do ładowania urządzenia mobilne, wystarczyło 5 woltów.

Do ładowania przez Port USB Na obu magistralach danych wymagane są dwa rezystory 15 kΩ. Szczegóły techniczne można znaleźć w specyfikacji magistrali USB.


Zbieranie ostrzy.

To wszystko!

Teraz pozostaje poczekać na wietrzny dzień i wypróbować urządzenie, jak widać na zdjęciu - urządzenie generuje stabilne napięcie 4,95 V.

Dzięki temu możesz teraz bezpłatnie naładować swój odtwarzacz MP3 lub telefon.


Artykuł o tym, jak zrobić domowy aparat ze starego płaskiego skanera.

Na Wired.com znajduje się artykuł opisujący, jak zrobić aparat cyfrowy ze zwykłego skanera firmy Canon w domu. Facet mówi (i pokazuje proces na zdjęciach), że robiąc taki aparat w końcu dostał nie do końca to, czego oczekiwał - brzydki rozmazany blask światła na czarnym tle, zamiast zdjęcia (na zdjęciu poniżej).

Krótkie zasady budowy i działania takiej kamery.

Zasada działania.

Aparat działa jak każdy inny aparat. Obiektyw wyświetla obraz na elemencie światłoczułym. Możesz znaleźć mnóstwo informacji na ten temat. W ta opcja jedna różnica - rolę elementu światłoczułego pełni konwencjonalny skaner płaski. Najprostszy i super tani aparat, jak się okazało, składa się z czarnej płyty piankowej, tekturowej tuby, plastikowego obiektywu i właściwie dowolnego skanera.


Ale ta opcja nie jest idealna - ma wiele wad wyrażających się małym kątem widzenia, stałą ostrością, słabą głębią ostrości i wszystkimi wadami związanymi z niezmodyfikowanym skanerem (aby uzyskać dobre wyniki, skaner wymaga modyfikacji).

Ujęcie z tak super taniego aparatu.

Jak poprawić jakość.

Alternatywnie możesz kupić i zmodyfikować starożytny aparat z lat 30., zmieniając go w dziką hybrydę starej i nowoczesnej technologii.


Taki aparat, jak mówią, znacznie różni się jakością na lepsze od bardziej prymitywnych opcji.


„Cyfrowy aparat”, którego nigdy nie kupisz w „Eldorado” :)


Obraz z takiej hybrydy jest znacznie lepszy niż z prymitywnej wersji.


Możesz zdobyć te aparaty znacznie łatwiej niż śmieci z lat 30-tych. Kamery prawie nie wymagają modyfikacji, są najbardziej w prosty sposób zamień się w aparat cyfrowy :)


Ujęcie z takiego aparatu typu "brownie".

Nowoczesna konstrukcja skanera-foto-kamery.

Film przedstawiający tworzenie domowej kamery.

O tym, jak skaner widzi czas.

Skaner płaski nie rejestruje od razu całego obrazu sceny. Skaner odbiera obraz, odczytując go linia po linii. Na zeskanowanie jednego zdjęcia zwykle poświęca się od 15 sekund do 5 minut, ten czas zależy od wybranej rozdzielczości. Każda linia obrazu jest uzyskiwana przez skaner w ciągu milisekund.

Oto przykład, który jeszcze bardziej ułatwia zrozumienie. Na przykład musimy zeskanować obraz, który jest kwadratowym obrazem o szerokości 15 000 pikseli (odpowiednio obraz zawiera tylko 225 000 000 pikseli). Skanowanie trwa 90 sekund. Każda linia obrazu jest odczytywana jedna po drugiej, każda po około 6 milisekund. Dzieje się to 15 000 razy, gdy głowica skanera przesuwa się od początku obrazu do końca. Ale kiedy skaner odczytuje obraz, może się poruszać. W ten sposób obiekt może się poruszać, a skaner, pozostawiając wcześniej przechwycony obraz obiektu, będzie kontynuował przechwytywanie jego nowej pozycji (ponadto co 6 milisekund).

Rysunek pokazuje, jak skaner widzi scenę w każdym przedziale czasu skanowania.


A oto zdjęcie, które uzyskuje się na końcu skanu.

Taki efekt jest po prostu niemożliwy do uzyskania przy użyciu tradycyjnych narzędzi. W zasadzie można to zrobić za pomocą konwencjonalnej kamery wideo (obraz będzie składał się z około 750 linii i będzie miał niską rozdzielczość), ale obraz nie będzie nawet bliski „zeskanowania”.

A co z kolorem?

Głównym pytaniem na temat „kamera ze skanera” jest „gdzie podziały się kolory i dlaczego wszystkie zdjęcia są tylko czarno-białe?”. Odpowiedź na to pytanie wiąże się z samą procedurą przechwytywania kolorowego obrazu przez skaner. W celu uchwycenia obrazu kolorowego skaner dzieli obraz na trzy kanały - czerwony, zielony i niebieski, kanały te uzyskuje się poprzez oświetlanie obrazu lampą, skaner wychwytuje każdą linię każdego kanału osobno za pomocą czujnika światłoczułego który postrzega tylko odcienie szarości, a następnie łączy te trzy kanały w jeden kolorowy obraz. Kamera zmontowana ze skanera nie korzysta z tej lampy, wykorzystuje odpowiednio światło rzucane przez obiektyw, wszystkie trzy kanały są identyczne, a końcowy obraz jest czarno-biały (skala szarości). Istnieje prawdziwy wyjątek, gdy kamera skanuje scenę, w której kolory zmieniają się szybciej niż następuje skanowanie, dotyczy to szybka aktualizacja Ekran telewizyjny lub monitorze, okazuje się, że na czarno-białym obrazie pojawia się rodzaj kolorowego rozprysku.


Rozbłysk kolorów na tym zdjęciu jest tworzony przez wysoką częstotliwość odświeżania ekranu monitora komputerowego. Wyświetlacz zmienia kolory szybciej niż skaner jest w stanie odczytać linię obrazu, więc na monitorze pojawiają się fale kolorów.

Galeria zdjęć.

Zdjęcia tutaj pokazane zostały zrobione głównie takim aparatem ze skanerem:

Ten aparat jest oparty na skanerze Canon Lide 20 wykorzystującym czujnik CIS. Maksymalna rozdzielczość tego aparatu to 115 200 000 pikseli na zdjęcie, co odpowiada 115,2 megapikseli. :)


Tutaj Reanna Walker okazała się niezwykła, zwróć uwagę na jej oczy - mrugnęła podczas procesu skanowania (ugh, fotografowanie :)).


Koncert z punktu widzenia kamery skanera.

Christian Nold ziewa większość zdjęcia :)

Samochody przejeżdżające na drodze za przystankiem autobusowym.


Notting Hill.

Ujęcie z dachu Royal College of Art, ukazujące ruch uliczny poniżej.

Powiększony fragment obrazu przedstawiający zniekształcenia poruszających się samochodów.


Kolejne zdjęcie z tego samego dachu, samochody poruszające się z większą prędkością są na zdjęciu bardziej zniekształcone.


Autobus najlepszy na zdjęciu :)


Kamera nadała autobusowi piętrowemu niemal architektoniczną formę.

Trzy ujęcia z uczelnianego studia artystycznego.


Dziewczyna na zdjęciu okazała się mieć dwie twarze. Zdjęcie zostało wyreżyserowane.

Twój skaner nie działa z najnowszą wersją system operacyjny? Nie spiesz się do sklepu po nowy: CHIP zaoferuje uniwersalny darmowe rozwiązanie dla dowolnych urządzeń. CHIP pokaże Ci, jak używać VueScan do używania przestarzałego skanera do pracy z nowym systemem operacyjnym. Problemy z używaniem przestarzałych skanerów są często związane z brakiem najnowszych wersji odpowiednich sterowników zarówno w systemie Windows, jak i od producentów. Jednak w większości przypadków rozdzielczość i jakość takich urządzeń jest nadal całkiem akceptowalna. Oczywiście możesz utworzyć drugi wirtualny system operacyjny i stamtąd uruchamiać skanowanie, ale VueScan oferuje bardziej praktyczne rozwiązanie. Bezpłatna podstawowa wersja tego oprogramowania o ograniczonej funkcjonalności umożliwia przywrócenie starego skanera do użytku w razie potrzeby. Jednocześnie nawet standardowe i profesjonalne wersje tego narzędzia, które kosztują odpowiednio około 1200 i 2500 rubli, z dodatkowymi profesjonalnymi funkcjami, takimi jak kalibracja, będą kosztować mniej niż nowy skaner znanej marki.

W każdym razie warto spróbować. Najpierw upewnij się, że aplikacja VueScan obsługuje Twój model skanera. Listę urządzeń można znaleźć na stronie programu (krótki link: b23.ru/hc4t). Strona dla konkretny model zawiera informacje o obsługiwanych funkcjach i funkcjach. Ma nawet link do pobrania. Ostatnia wersja programy. Ponieważ często pojawiają się drobne poprawki, zalecamy pobranie VueScan bezpośrednio z hamrick.com/#download. Różnica w wersjach będzie zauważalna później, w zależności od tego, czy posiadasz klucz licencyjny. Program można kupić w dowolnym momencie, jednak wszystkie opisane poniżej
akcje dostępne są również w wersji podstawowej.

VueScan automatycznie rozpozna działający skaner i użyje dostarczonego sterownika. Jeśli urządzenie jeszcze nie działa, naciśnij kombinację klawiszy „Win + Pause” i uruchom Menedżera urządzeń. W nim znajdź swój skaner w kategorii Urządzenia do przetwarzania obrazu. Kliknij na to kliknij prawym przyciskiem myszy myszy i uruchom polecenie „Aktualizuj sterowniki”. Teraz musisz wybrać opcję „Wyszukaj sterowniki na tym komputerze”. Ustaw lokalizację na „C:VueScan” i kliknij „Dalej”. Możesz nawet wymienić sterownik w ten sposób: najpierw odinstaluj stary, uruchom ponownie system Windows i podłącz sterownik VueScan.

Na etapach 2 i 3 w przewodnik krok po kroku Poniżej zobaczysz, jak łatwe i szybkie jest skanowanie w VueScan za pomocą niestandardowej procedury. Utworzone pliki przyzwoitej jakości nie będą zawierać znaków wodnych. Ponadto program pozwoli Ci wybrać rozdzielczość skanowanego obrazu, typ (rozszerzenie) zapisanego pliku, a także wcześniej ustawić balans bieli. Możesz także ręcznie dostroić kolory, oceniając je szczegółowo na histogramie krzywych, aby od razu poprawić odwzorowanie kolorów. Ponadto możesz później dostosować jasność, kontrast i kolory w edytor graficzny.

Jak to zrobić?

1 NOWY STEROWNIK VueScan współpracuje z tysiącami nawet przestarzałych modeli skanerów, w razie potrzeby korzystając z własnych sterowników i pozwala uzyskać wyniki za pomocą kilku kliknięć dzięki standardowym opcjom. Interfejs programu jest całkowicie zlokalizowany.

2 SZYBKI START Wybierz "Skanuj do pliku" w elemencie "Zadanie", ustaw "Media" - na przykład "Obraz" - i jakość skanu (typy "Do edycji" i "Do archiwum" mają najwyższa jakość). Opcja „Do druku” spowoduje powstanie plików JPEG, a jakość „Do edycji” — obrazy TIFF.

3 ELASTYCZNA RAMA W trybie przeglądania możesz ustawić ramkę na karcie „Przytnij” tryb automatyczny przy użyciu wielu formatów domyślnych lub instrukcji - „Instalacja użytkownika”.

4 ZAAWANSOWANA PERSONALIZACJA Kliknij przycisk „Więcej” w dolnym menu. Otworzy się przed tobą dodatkowe funkcje ustawienia skanowania.

5 ZAKŁADKA WYJŚCIA» Tutaj wybierasz lokalizację zapisu, typ pliku (np. TIFF, PDF, tekst OCR lub RAW) oraz dodatkowe opcje zapisywania. Plik OCR działa nawet w podstawowej wersji programu.

6 REGULACJA KOLORÓW Na karcie Kolor możesz zmienić opcję Balans kolorów z Balans bieli na Żarowe lub Fluorescencyjne. Podczas optymalizacji pomocne będą ustawienia punktu czerni, punktu bieli, krzywej i jasności, które zobaczysz po kliknięciu przycisku „Więcej”.

7 PRACA Z KRZYWYMI Z menu Obraz wybierz Wykres obrazu, aby wyświetlić analizę obrazu i wpływ wprowadzonych zmian. Jest to bardzo przydatne przy dostrajaniu.

8 POŁĄCZENIE BEZPRZEWODOWE Właściciele skanerów sieciowych używają Aplikacje VueScan Mobile może skanować obrazy bezpośrednio na iPada lub iPhone'a. Wersja komercyjna Program komputerowy oferuje jeszcze więcej opcji ustawień i formatów, a także możliwość wysyłania wyników bezpośrednio przez e-mail.

Na początek małe wprowadzenie.

Kiedyś przyszedł czas na sprzątanie w pracy, odgruzowywanie starych pudełek spod monitorów, drukarek, etui itp. I rozwiązując te blokady, mój wzrok przykuły dwa stare skanery UMAX 1200S i moim zdaniem 600S.
I nadszedł czas, by się z nich kpić, tak jak kiedyś szydzili ze mnie.

Po szybkim zdemontowaniu pierwszego 1200 wyjąłem stamtąd wszystko, co mniej lub bardziej przydatne, a mianowicie: rozpaloną do czerwoności szpilkę, wzdłuż której przemieszczał się kompleks skanera z lampą, mikroukład i sam czujnik skanujący z systemem luster. Po wyjęciu wszystkich podrobów postanowiłem dowiedzieć się, co jest tam cenne. Nie znam technologii z tamtych lat, ale czujnik skanujący okazał się pozłacany zarówno na zewnątrz, jak i wewnątrz. Gold mnie nie uwiódł, trwała analiza skanera.
Oprócz systemów luster w głównej ruchomej części skanera i obiektywu, była tam lampa bardzo podobna do świetlówki, ale o grubości zaledwie kilku milimetrów.

Do lampy podłączono obwód zasilający, z którego na złączu wyszły dwa przewody, co bardzo skusiło mnie do podłączenia go do jakiegoś źródła prąd stały. Na szczęście w poprzednim pudełku było kilka zasilaczy od przełączników, monitorów, a FIG wie co jeszcze.

Po uporządkowaniu wszystkich śmieci i wyrzuceniu nadmiaru przystąpiłem do testów.

Na początek wybrano zasilacz 5 woltów i 2 amperów. Gdy podłączyłem lampę, zobaczyłem, że się zapaliła, ale nie do końca. Kilka centymetrów na drugim końcu lampy było ciemno. Pora na zasilacz 9 V z 2,2 amperami. (ten powyżej)
Jednocześnie lampa świeciła dość jasno i całkowicie.

Wiedząc, że skaner pracował z zasilacza 12v 2a i znając gorący charakter lampy, a także fakt, że nie jest przeznaczona do pracy ciągłej, nie wybrałem pz. więcej mocy, zwłaszcza że jasność mi wystarczała.

I tak po powrocie do domu znalazłam zastosowanie dla tych lamp - do oświetlania przestrzeni pod stołem.

Przez długi czas denerwowało mnie to, że pod stołem, czołgając się do komputera, musiałem wziąć latarkę i jednocześnie było kilka problemów zarówno z bateriami do niej, jak i z tym, że jedna ręka jest zajęty i muszę być rozproszony, obserwując, gdzie świeci latarka. Postanowiono zawiesić lampę pod stołem, zaznaczyć miejsce i rozłożyć narzędzia.

Bardzo wygodne okazało się, że zwykły reflektor lampy ze skanera był zdejmowany i posiadał własne mocowanie.

Nadszedł czas, aby stworzyć pudełko na obwód zasilania lampy, aby nie wisieć nago i brzydko. Aby to zrobić, wzięliśmy plakat z białego plastiku o grubości 6 mm i dolny blankiet z rolki z blankami.

Z narzędzi, które zabrał: Dremel z tarczą tnącą, okrągłym pilnikiem, dwoma małymi wiertłami (w moim przypadku na sześciokąt), nożykiem do papieru z wymiennymi ostrzami, lutownicą i śrubokrętami.

Z dostępnych było: złącze do pożądanego zasilacza, taśma dwustronna, dwie małe śrubki i długa śruba z nakrętką.
Ostrożnie odetnij nożem dwa w przybliżeniu identyczne kawałki plastiku i przyklej je małym kawałkiem dwustronnej taśmy, aby dopasować je do Dremela.

Nie zapomnij założyć gogli i najlepiej respiratora, do roboty.

Trochę dygresję, okulary są jasne po co, ale trochę wyjaśnię przeznaczenie respiratora. Faktem jest, że Dremel pracuje z obrotem do 33 tys. obrotów na minutę i pył z pracy z nim jest całkiem drobny. A żeby nie wdychać, nie wiadomo, z czego składa się kurz, potrzebujesz respiratora

Wszystko dobrze odgadłem Miejsce pracy i zrobiwszy takie same dwa kawałki plastiku, przystąpimy do wycinania nożem i ołówkiem otworu na złącze zasilania.
Dość nabazgrane ołówkiem Górna część złącze zasilania, oraz mocowanie w odpowiednim miejscu na plastiku – otrzymujemy przybliżony szablon do wycięcia.
Po wycięciu nakładamy oba tworzywa sztuczne na obwód, wkładając wcześniej złącze zasilania. Następnie przyglądamy się, jak główna śruba mocująca przechodzi przez całą konstrukcję, najpierw z jednej strony zarysowujemy otwór, a po włożeniu go do już wywierconego otworu, zarysowujemy i wykonujemy drugi otwór.
Następnie weź drugi talerz, na którym będzie nakrętka. Wkręcamy i dokręcamy śrubę z nakrętką. Następnie z niewielkim wysiłkiem za pomocą gorącej lutownicy wciskamy nakrętkę w plastik, aż przestanie wystawać. Schłodzić i odkręcić śrubę.
Bierzemy obie osłony naszego pudełka i od wewnątrz robimy małe paski około milimetra na milimetr, tam zostaną wstawione żebra usztywniające, które są jednocześnie ozdobnymi zaślepkami zakrywającymi krawędzie obwodu zasilającego.
Ogólnie rzecz biorąc, prawie wszystko jest gotowe, pozostaje tylko wykonać mocowania do samej lampy.

Aby to zrobić, bierzemy ten sam biały plastik i wycinamy dwa małe prostokąty, robimy otwory wiertłami, najpierw małymi, potem większymi, ale otwory nie powinny znajdować się dokładnie pośrodku. wtedy mocowania nie pozwolą na obrót lampy, należy je wykonać z lekkim przesunięciem w dół. Następnie skręcamy śrubami i naklejamy taśmę dwustronną na zewnętrzną podstawę powstałych płaszczyzn montażowych.

Wkładamy złącze lampy do jego obwodu zasilania, a obwód do naszego samodzielnie wykonanego pudełka i powoli przekręcamy, ale nie do końca.
Teraz zacznijmy robić ściany boczne. Aby to zrobić, obrysowujemy miejsce cięcia w już przygotowanej „pustej uszczelce” i trochę wcześniej wycinamy ścianę większy rozmiar. Kładziemy go na pudełku i sprawdzamy, jak pasuje. Jeśli podoba Ci się rozmiar, możesz zrobić drugą ścianę.
Po dołączeniu gotowej pierwszej ściany jako szablonu dopasowujemy rozmiar drugiej.
Gdy wszystko jest gotowe i wszystkie zadziory usunięte, przystępujemy do montażu.
Bierzemy obwód zasilania, odcinamy złącze dla połączenie zewnętrzne zasilanie i przylutuj nasze złącze do zasilania do niego. Całość składamy ponownie, po uprzednim odizolowaniu wszystkich gołych styków i oczyszczeniu wszelkich śladów zamieszania. Przekręcamy, a na koniec wkładamy usztywnienia, po czym przekręcamy do takiego stanu, aby pudełko się nie rozpadło. Jeśli nie wszystko trzyma się dobrze, można przykleić żebra usztywniające wzdłuż krawędzi dodatkowym superklejem, aby nie rozpadło się ani od upadku, ani z rąk.


Nie wszystko wyszło mi dobrze, a mianowicie: śruba była poza pokrywą, więc trzeba ją było wyciąć.

Następnie z boku nakrętki przyklejamy cztery małe kawałki taśmy dwustronnej, aby później można było ją szybko i łatwo usunąć. Nie znalazłem też przycisku włącznika, będzie przylutowany do przewodu bp. później.

Jeśli ktoś nie chce się tak zadzierać (po prostu musiałem zrozumieć pracę Dremel z różne materiały), może znaleźć odpowiednie pudełko i naprawić w nim schemat.

Kto chce mieć podświetlenie w etui radzę podpiąć pod dowolną linię 12v o odpowiedniej rezystancji.

Można też spróbować zastosować lampę bez odbłyśnika (poza tym nie jest to do końca odbłyśnik, a raczej pochłaniacz, bo nie jest lustrzany, a biało-czarny). Ale w tym celu należy bardzo uważać na końce lampy, ponieważ druty wlutowane w szkło są wystarczająco grube i można je odłamać, w przeciwnym razie szkło może pęknąć w tych miejscach. Na krawędziach lampy znajdują się gumowane specjalne uchwyty, polecam wyposażyć w nie kilka własnych mocowań. Lampa działała przez około 40 minut z moim b.p. praktycznie nie nagrzewał się ani reflektor, ani gumki po bokach. Jeśli napięcie dostarczane do lampy jest wyższe niż 9V, lampa najprawdopodobniej przegrzeje się i prawdopodobnie ulegnie awarii. Jeśli zdecydujesz się na użycie go bez odblasku, mimo że oświetli wszystko dookoła, zabłyśnie też w oczy, co jakoś mi nie wystarczało.

Chcę również ostrzec o transformatorze w obwodzie zasilania lampy. Nie wiem jaki prąd oddaje i jaki to jest, ale jeśli zbliżysz palec lub inną część ciała do jego styków, powstaje łuk elektryczny, który np. wypalił wzór na moim palec. W takim przypadku odległość do styków może wynosić do dwóch milimetrów.
Prąd oczywiście nie zabije, ale możesz się trochę poparzyć.

Oto gotowa wersja..

Jak używać starego skanera wraz z serwerem Debiana do skanowania jednym kliknięciem, a nawet z automatycznym sortowaniem.
Dlaczego jest to potrzebne?
Jest to odpowiednie dla każdego, kto nie jest zadowolony ze stosów papieru w miejscu pracy. Na przykład:
  • Uczniowie i studenci, ci, którzy mają odpowiedni temat, stosy nagromadzonych materiałów informacyjnych w szkole, na uczelni lub na uniwersytecie.
  • Pracownicy w biurze, którzy mają bardzo dużo takich samych dokumentów i listów
  • Zwykli ludzie - do skanowania wszystkich przychodzących listów, faktur i czeków (jak wiadomo czeki mają tendencję do blaknięcia, to jest właśnie mój problem - będziesz musiał zeskanować dużą liczbę czeków, a to nie jest zbyt wygodne)
Jak to sobie wyobrażam?
Tak, bardzo proste. Włożyłem papier do skanera, wcisnąłem przycisk, czekałem sygnał dźwiękowy o zakończeniu skanowania i obróbki, wyjąłem kartkę papieru, ew. GOTO 10.
A co dostałem?
Nieprzerwanie działający system, który umożliwia również skanowanie wsadowe i automatyczne sortowanie do folderów, logowanie i inne problemy - to, co napiszesz do skryptu, będzie.

Dali mi skaner Epson Perfection 1200U. Prosty skaner podłączony przez USB jest dość stary, ale z dobra rozdzielczość. Chciałem podłączyć go do komputera - a potem zasadzka, jest przeznaczony na 110 woltów. Dobra, później wyjąłem transformator, podłączyłem. Działa, ale tylko pod Windows XP - nie ma sterowników dla Windows 7 i nie są oczekiwane. W pracy Komputer z systemem Windows 7 x64 - i oto jak głupiec uruchamiałem maszynę wirtualną za każdym razem, gdy musiałem coś przeskanować, a w pobliżu nie było żadnego innego skanera.
*Miejsce na gorzki żal z powodu pozbawionych skrupułów producentów*

Z biegiem czasu działający komputer zmieniał się na żądanie nieostrożnego kubka herbaty, matkując ją za nogę. Zdecydowałem się nowy komputer umieścić Debiana, ponieważ jest bardziej znajomy. I znowu nadszedł moment, kiedy trzeba było coś zeskanować i to w trybie pilnym. Podłączam skaner - i działa, aczkolwiek jakieś napięcie z profilami ICM. Najwyraźniej ktoś był chciwy, aby przekazać je na open source, albo wystarczyło, że po prostu je znalazłem i zainstalowałem - nie rozumiałem, byłem zbyt śpiący. Co najważniejsze, stało się możliwe wygodne skanowanie wszystkiego. Poczekaj, co jeśli połączysz się z serwerem bez GUI i uruchomisz scanimage? Hm, to działa. Klasa!

Tak więc na obudowie skanera znajduje się przycisk. Nigdy nie potrafiła korzystać z Windowsa, zero emocji. Tutaj jednak też. Wyszukiwarka Google znalazła dwa projekty, scanbuttond i scanbd. Pierwszy jest stary, ostatni commit miał miejsce w 2006 roku, ale od razu został znaleziony w repozytoriach. Postanowiłem zostawić drugi na później, powód jest prosty - podczas kompilacji ciągle wychodziły różne problemy i chociaż każdy z nich był rozwiązywany w kilku linijkach w konsoli, było ich całkiem sporo ich, więc strzeliłem i chciałem spać. Ja będę używał scanbuttond, ale jeśli jest to istotne, to myślę, że wszystkie skrypty nie stanowią problemu, żeby się lekko dobić pod scanbd. Pytanie oczywiście jak nie problem... Ale na razie - scanbuttond.

Pierwsze kroki ze scanbuttond
Instaluję scanbuttond z repozytoriów, uruchamiam scanbuttond, zaglądam do /var/log/daemon.log, wciskam przycisk, sleepbuttond radośnie informuje, że przycisk jest wciśnięty, a następnie zwolniony. Chłodny!
I co wtedy? Dalej wszystko jest proste. Przede wszystkim edytuj /etc/default/scanbuttond i włącz demona, aby uruchamiał się z systemem, a następnie uruchom go za pomocą polecenia service scanbuttond start. Jakie skrypty zostaną nazwane?
Pierwszy z nich to initscanner.sh.example (zmieńmy nazwę, obywatele, możesz usunąć ten.example), jest wywoływany za każdym razem, gdy podłączony jest dowolny skaner, i w zasadzie (o ile wiem) jest interfejsem do łączenia różnych kule, no a czasem - powiadomienia i logowanie.
Drugi skrypt jest ciekawszy, jest już wywoływany bezpośrednio po naciśnięciu przycisku. Nazywa się buttonpressed.sh.example, a ostatnia część nazwy jest tutaj ponownie zbędna. Ten skrypt jest wywoływany po każdym kliknięciu przycisku. To w nim musisz umieścić wszystkie te różne polecenia skanowania i tak dalej.
Cóż, zrobiłem dwa skrypty, aby przetworzyć kliknięcie przycisku. Pierwsza jest w BASH. Po naciśnięciu przycisku scanbuttond przekazuje kontrolę do tego skryptu, określając numer przycisku i nazwę skanera jako $1 i $2. Jest tylko jeden skaner, jeden przycisk - mogę zignorować argumenty (nadal chcę spać), ale zapamiętałem to na później. Pierwszy skrypt - buttonpressed.sh - wywołuje scanimage z wyprzedzeniem podane parametry, przenosi gotowy obraz TIFF do folderu w katalogu domowym, konwertuje plik tiff na jpg, a następnie wywołuje drugi skrypt. Drugi skrypt Pythona wybiera nazwę obrazu na podstawie pobranych nazw.

Pierwszy skrypt - buttonpressed.sh

#!/bin/sh #Większość skryptu jest bezczelnie skradziona od kogoś #Jednak na bębnie # nazwa demona DAEMON=scanbuttond # bezpiecznie utwórz plik tymczasowy, aby uniknąć ataków wyścigu i trochę spać TMPFILE=`mktemp / tmp/$DAEMON.XXXXXX` # lock file LOCKFILE="/tmp/$DAEMON.lock" # miejsce docelowe końcowego pliku obrazu (zmodyfikuj, aby dopasować je do konfiguracji) DESTFOLDER="/home/user/Scans/" DESTINATION=$ DESFOLDER "image.tiff" # usuń plik tymczasowy przy przerwaniu pułapki "rm -f $TMPFILE" 0 1 15 # funkcja: utwórz plik blokady z PID-em scanbuttond mk_lock() ( pidof $DAEMON > $LOCKFILE ) # funkcja: usuń tymczasowy and lock files clean_up () ( test -e $LOCKFILE && rm -f $LOCKFILE rm -f $TMPFILE ) # funkcja: sprawdź, czy plik blokady istnieje i wypisz komunikat o błędzie za pomocą loggera chk_lock() ( if [ -e $LOCKFILE ] ;następnie #Kolejna operacja skanowania w toku logger "scanbuttond: próba rozpoczęcia operacji skanowania, podczas gdy inna jest w toku" exit 1 fi ) # funkcja: aktualne polecenie skanowania (zmodyfikuj, aby dopasować sleep) scan() ( #parametry skanowania są wybierane przeze mnie dla mojego skanera przez wpisanie w celu lepszego skanowania czarno-białych dokumentów scanimage --format=tiff --resolution 300 --mode Szary --gamma-correction "Wysoki kontrast drukowanie "> $ DESTINATION konwertuj $ DESTINATION $ DESTFOLDER "image.jpg" logger "Nazwa pliku: " `python /etc/scanbuttond/convert_scan.py` rm $DESTINATION ) chk_lock mk_lock scan clean_up


Drugi skrypt to convert_scan.py

import os filename = "image.jpg" directory = "/home/user/Scans" os.chdir(katalog) try: filenames = z wyjątkiem KeyError: filenames = counter = 1 new_filename = "scan_000.jpg" while new_filename w nazwach plików: new_filename = "scan_"+str(licznik).zfill(3)+.jpg" licznik += 1 print nowa_nazwa_pliku os.rename(nazwa_pliku, nowa_nazwa_pliku)


Aby z niego skorzystać, zmieniamy zmienną DESTFOLDER w pierwszym skrypcie i katalog w drugim.
Zacząłem to wszystko prowadzić. Ręczny start pierwszego skryptu kończy się z hukiem. Ale jeśli przycisk - to figi z olejem. Nie od razu zorientowałem się w mojej zaspanej głowie, że to kwestia uprawnień, podobno faktem jest, że wyjście skryptów nie było nigdzie pokazywane, a domyśliłem się uruchomić scanbuttond na pierwszym planie i zobaczyć wyjście dopiero o 5 rankiem. Krótko mówiąc, problem polega na tym, że w trybie demona wszystkie skrypty są uruchamiane jako użytkownik saned, podobnie jak ogólnie sam demon. Jakie kroki należy podjąć?
Załóżmy, że scanbuttond jest uruchamiany jako użytkownik saned, folder do przechowywania zdjęć to /home/user/Scans, a użytkownik musi między innymi mieć dostęp do tego folderu.
usermod -aG użytkownik saned #dodaj użytkownika do istniejącej grupy saned chown -R user:saned /home/user/Scans #Przypisz właściciela folderu do grupy saned chmod -R 770 /home/user/Scans# Ustaw niezbędne uprawnienia do folderu
Wynik - skaner działa na przycisku, umieszcza wszystkie zdjęcia w katalogu domowym, ale to, co trzeba zeskanować, nie zostało zeskanowane. Krótko mówiąc, jak zawsze, zamiast rozwiązać problem, napisałem narzędzie do automatycznego rozwiązywania. Jak zawsze chcę spać.
Ale chcesz czegoś więcej!

Mianowicie:
Automatyczne sortowanie skanów według katalogów. Jak to sobie wyobrażam?

>domyślna lista pybssort /home/user/Scans/ >pybssort dodaj math Math >domyślna lista pybssort /home/user/Scans/ math /home/user/Scans/Math/ >pybssort ustaw math Domyślnym katalogiem skanowania jest teraz /home/user /Scans/Math/ >pybssort katalog /home/user/scans/Math/ >pybssort dodaj phys Physics Domyślnym katalogiem skanowania jest teraz /home/user/Scans/Physics/ >pybssort ustaw phys Domyślnym katalogiem skanowania jest teraz /home/user/ Scans/Physics/ >pybssort dir /home/user/Scans/Physics/ >pybssort list default /home/user/Scans/ math /home/user/Scans/Math/ phys /home/user/Scans/Physics/ >pybssort sleep OK, pozwalam ci spać... Nie, czekaj, skończ artykuł! >pybssort del matematyki OK >pybssortuj listę domyślną /home/user/Scans/ phys /home/user/Scans/Physics/

Polecenia list, add, del, set służą do zmiany folderu skanowania. Polecenie dir służy do wyświetlania folderu, używanego bezpośrednio w skryptach.

Jaki jest sens?
W dowolnym momencie możesz zmienić folder do skanowania za pomocą jednego polecenia w konsoli. Co więcej, każdy użytkownik może to zrobić - jeśli jest to niepożądane, wystarczy zmienić uprawnienia do folderu bazy danych. Możesz tworzyć konteksty, przeglądać je – a wszystko to za pomocą jednego polecenia.
  • Najpierw posortowaliśmy gazety w stosy na podłodze według tematu, zabieramy archiwa z zapisami z fizyki.
  • W konsoli wpisujemy pybssort dodaj phys Fizyka.
  • Wkładamy kartkę, naciskamy przycisk, czekamy na koniec skanu, wyrzucamy zeskanowaną kartkę i wkładamy następną.
  • Wszystkie skany znajdują się w folderze /home/user/Scans/Physics.
  • Dostajemy się do rekordów matematycznych, wpisujemy pybssort add math Math, skanujemy dalej - i wszystkie kolejne skany w /home/user/Scans/Math.
  • Znaleźliśmy kolejną ulotkę z zapisem dotyczącym fizyki, wpisujemy pybssort set phys - i znowu wszystko leci do /home/user/Scans/Physics.

Hmm, jak nazwać te wszystkie domyślne, fizyka, matematyka? Postanowiłem nazwać je kontekstami, bo skan kontrola pracy w algebrze ma to sens tylko w folderze o nazwie Math, artykuły o zdrowym śnie najlepiej spać w kontekście folderu Sleep i tak dalej.

Co zdarzyło się na końcu?

Prosty program w Pythonie. Najważniejsze jest to, że wszystkie konteksty są przechowywane w Baza danych SQLite, są one stamtąd pobierane przez program w razie potrzeby. Aktywny w ten moment kontekst jest zwykle przechowywany w osobnym pliku w postaci zwykłego tekstu, moim zdaniem było to jakoś głupie, aby utworzyć tabelę z jedną kolumną i bawić się nią. Jest zestaw podstawowy funkcje do pracy z tymi kontekstami, funkcja do rozpoczęcia pracy od zera (tworzy tabelę i foldery), możesz okradać krowy... możesz wreszcie spać... Funkcje do pracy z bazą biorę z web.py framework, na którym rozwijam swoje małe projekty.
Dlaczego nie skorzystać z wbudowanego modułu sqlite3 sleeplite3? Dlaczego biorę cały framework sieciowy tylko po to, aby pobrać z niego tylko web.database? Odpowiedź jest prosta – to banalne lenistwo. Piszę program skupiający się na podstawach i nie chcę zagłębiać się w zapytania SQLite i pisać wartości insertu w kontekście (nazwa, folder); konkatenacji, chcę db.insert("konteksty", nazwa=nazwa, folder=folder) i spać. Tak, dlatego mój program wymaga python-webpy, jeśli ktoś może zaproponować coś tak łatwego w użyciu (mówię o pracy z bazami danych), będę wdzięczny.

Co należy zrobić, aby zainstalować?
wget https://gist.github.com/CRImier/7330722/raw/pybssort.py #Zmień katalog startowy do skanowania nano pybssort.py chmod +x pybssort.py mv pybssort.py /usr/local/bin/pybssort

Zwracam uwagę - musi być uruchomiony jako root za pierwszym razem, ponieważ konieczne jest utworzenie folderów w /var/lib, aby przechowywać tam bazę danych. Po pierwszym uruchomieniu root nie jest wymagany. Możesz edytować ścieżkę do folderu na początku skryptu, ale uważaj na uprawnienia — osoby o słabym zdrowym rozsądku będą płakać gorzkie łzy z powodu braku dostępu do folderu. Nie chcesz go zdenerwować, prawda?

A jak połączyć go z już istniejącymi skryptami? Tak, tylko w pierwszym skrypcie musisz wstawić "pybssort dir" zamiast zakodowanego na stałe DESTINATION i przekazać tę samą zmienną jako argument wiersza poleceń do drugiego skryptu.
Coś takiego:

Pierwszy skrypt

... # miejsce docelowe końcowego pliku obrazu (zmodyfikuj, aby dopasować do ustawień) DESTFOLDER=`pybssort dir` DESTINATION=$DESTFOLDER"image.tiff" ... # funkcja: aktualne polecenie skanowania (zmodyfikuj, aby dopasować do ustawień) skanowanie () ( scanimage --format=tiff --rozdzielczość 300 --mode Szary --gamma-correction "Drukowanie z wysokim kontrastem" > $DESTINATION konwertuj $DESTINATION $DESFOLDER"image.jpg" logger "Nazwa pliku:" `python /etc/ scanbuttond/convert_scan.py $DESTFOLDER` rm $DESTINATION) ...


Drugi skrypt

import os import sys #potrzebne do pobrania argumentu... directory = sys.argv

Aby debugować własne skrypty, radzę uruchomić następującą sekwencję poleceń w środowisku roboczym: service scanbuttond stop sudo -u saned scanbuttond -f & tail -f /var/log/messages & tail -f /var/log/ demon.log &
I używaj w skryptach echo, logger i print (dla Pythona).

Mile widziana jest krytyka wszystkich trzech skryptów, wykonania, piękna kodu, wcięć, pisowni, projektowania tematu, złych praktyk w kodzie i logice, trafności rozwiązania, możliwych dodatków, adekwatności autora i innych rzeczy.

Po pewnym czasie ten skrypt BASH'a załatwił mi kolejność - nie mogłem w żaden sposób wejść w normalną obsługę błędów. Spat, przepisałem skrypt w Pythonie. W końcu działa jeszcze lepiej. Z plusów - obsługa błędów + normalne logi, alarmy dźwiękowe i coś w rodzaju pięknego kodu =) Dostępne Readme zawiera informacje o instalacji. U mnie wszystko działa sprawnie... No jak coś nie działa to proszę o informację =)

DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Subskrybuj, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu