Skocz do zawartości

spook

Użytkownicy
  • Zawartość

    38
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    5

Wszystko napisane przez spook

  1. I kolejny update. Ponieważ napisałem dla Macro Numpada edytor, a 80% jego funkcjonalności pokrywało się z tym, czego potrzebowałem do edytora dla klawiatury makro, przepisałem go na potrzeby tego projektu. Teraz można edytować ekrany przy pomocy wygodnego edytora (poprzednia funkcjonalność generowania definicji binarnej przy pomocy aplikacji konsolowej wciąż działa). Edytor wygląda tak: Przypomnę, że projekt jest otwarty - zarówno część hardware'owa, obudowa, jak i software (edytor, generator i satelita). Całość do ściągnięcia z https://gitlab.com/spook/MacroKeyboard . Poz
  2. No i napisane, oprogramowane i działa Na chwilę obecną: Każdy klawisz może mieć swoją ikonę i opis Aplikacja obsługuje dowolną liczbę ekranów przełączanych w dowolny sposób Każdy klawisz może wywołać jedną lub więcej spośród akcji: Wciśnięcie sekwencji klawiszy Uruchomienie zadanej aplikacji Przywołanie zadanego procesu na pierwszy plan Przełączenie aktywnego ekranu Zainteresowanych źródłami zapraszam na https://gitlab.com/spook/MacroNumpad/ Pozdrawiam -- Spook.
  3. Mały postęp: napisałem już edytor ekranów i akcji dla klawiszy, wygląda mniej więcej tak: Projekt niedługo zopensource'uję, co będzie dobrą wiadomością dla wszystkich, którzy chcieliby zrobić własny macro numpad, bo mój program będzie można dosyć łatwo zintegrować z takim projektem. Bez modyfikacji będzie działał, gdy z numpada będą przychodziły informacje przez port szeregowy: bajt akcji (wciśnięcie / puszczenie klawisza) i bajt kodu klawisza. Ale program jest też bardzo modularny, więc z pewną znajomością C# można po prostu podmienić mechanizm detekcji wciśnięć klawiszy na dowolny
  4. W jaki sposób niskopoziomowa obsługa HID (plus implementacja obsługi klawiatury jako konkretnego urządzenia HID, bo nie znalazłem w tej bibliotece takowej) jest przekombinowana w stosunku do przeczytania raptem kilku bajtów przez port szeregowy? Do tego ostatniego mam nawet gotową bibliotekę w C# - nie muszę pisać żadnych wrapperów z C++ do C#...
  5. Przy założeniu, że mówimy o .NET, zainteresowałbym się jakimś mechanizmem szablonów, na przykład Mustache albo Razor (a jeśli nie .NET, to Mustache ma implementację bodaj w każdym szanującym się języku programowania) . Działa to tak, że wsadzamy do zasobów szablony zawierające zmienne (np. {{NAME}}), a potem można je z zasobów wysiorbać, i wygenerować na ich bazie tekst, wypełniając zmienne w locie. W Visual Studio funkcjonuje też wbudowany mechanizm T4 (Text Templating Transformation Toolkit) i jeśli mnie pamięć nie myli, można też z niego korzystać w runtime, tylko nigdy tego nie robiłe
  6. Po zakończeniu poprzedniego projektu - klawiatury makro - zacząłem się zastanawiać, czy zwykły, kupny numpad można przerobić w łatwy sposób na klawiaturę-makro. Założenia sa takie: Minimalizacja kosztów Zwykły, dowolny, tani numpad na USB Maksymalizacja funkcjonalności (skróty klawiaturowe, wpisywanie tekstu, uruchamianie programów etc.) Przełączanie ekranów a'la Stream Deck (w ten sposób można zdefiniować kilka funkcji dla klawisza) Na początku rozważyłem rozwiązanie czysto programowe. Byłoby to dla mnie o tyle łatwiejsze, że w kwestiach programistycznych mam o
  7. Dochodzą nowe funkcjonalności, na przykład mogę teraz uruchomić dowolne polecenie po wciśnięciu przycisku. Napisałem też na mojej stronie domowej obszerny wpis, jak zbudować moją klawiaturę samodzielnie. Na GitLab wrzuciłem płytkę w formacie Eagle wraz z Gerberami, archiwum Fusion360 z obudową i wszystkie potrzebne kody źródłowe. Wpis na mojej stronie jest na razie tylko po angielsku: https://spooksoft.pl/macro-keyboard Pozdrawiam -- Spook.
  8. I jeszcze jeden update. Ponieważ mam nadmiar płytek i jeden zapasowy Teensy, przygotowałem wersję bez ekranu. Kontroler ma nieco zmodyfikowane oprogramowanie i wymagane jest uruchomienie na komputerze aplikacji-satelity. Tym sposobem obraz, który normalnie wyświetlony zostałby na ekranie e-papierowym, pojawia się nad systemowym trayem. W ten sposób można normalnie używać nieco bardziej kompaktowej, ale jednak wciąż w pełni funkcjonalnej wersji klawiatury.
  9. Dotarły płytki! Nareszcie! W trakcie oczekiwania zrobiłem chyba wszystko, co tylko było bez nich możliwe (napisałem kod, zaprojektowałem i wydrukowałem obudowę, zamówiłem części), więc na koniec pozostało mi tylko przylutowanie wszystkiego i zamontowanie w obudowie. Wyglądało to tak: Nie projektowałem na razie żadnej osłony dla Teensy, więc jest na wierzchu, ale dorobię niedługo jakąś małą pokrywkę. Co ciekawe, większość funkcjonalności zadziałała od razu; musiałem trochę zmodyfikować kod dla obsługi enkodera, ale zajęło to raptem jakieś 10 minut. Klawia
  10. W czasie, gdy czekam na przyjście tych nieszczęsnych płytek, wydrukowałem już całą obudowę. Będzie wyglądać mniej więcej tak (wersja z pochylonym ekranem): A kolega elektronik - jak się okazało, student, wysłał moje płytki... pocztą. Także czeka mnie chyba trochę więcej czekania niż bym sobie tego życzył. Ale co poradzić.
  11. No więc wydarzenia przybrały bardzo ciekawy obrót. Zamówiłem w JLCPCB nowe płytki i miały dojść w poniedziałek, ale doszły dziś. Czyli generalnie dobra wiadomość. Gdyby nie to, że to nie są moje płytki. Skontaktowałem się z JLCPCB i obiecali wydrukować je ponownie i wysłać ekspresem, ale trochę później na StackOverflow (ale między innymi dzięki temu wątkowi) skontaktował się ze mną właściciel płytek, który z kolei dostał moje. Kolega elektronik siedzi w UK, więc się najprawdopodobniej płytkami wymienimy - być może dzięki temu uda mi się wznowić projekt w przyszłym tygodniu. Wszystko
  12. Doszły pierwsze płytki (te zbyt ciasne). Najprawdopodobniej ich nie wykorzystam, więc jeśli ktoś ma ochotę zbudować własną klawiaturę makro według mojego projektu (lub podobną, np. bez ekranu), to dajcie znać, mogę sprzedać po kosztach. Pozdrawiam -- Spook.
  13. Wymierzyłem sobie wszystko i rozrysowałem na kartce. W efekcie mamy nową (i już zamówioną) płytkę z większymi odstępami, wyrównanym enkoderem i kilkoma pomocniczymi prowadnicami: Dzięki temu mogłem przygotować nową obudowę. Kontroler jest wciąż odsłonięty, ale pokrywkę do niego chcę zrobić w formie opcjonalnej klapki, którą będzie można przykręcić na dwie skrajne śruby M3. Bez reweli, ale nie mam już lepszych pomysłów. Zależało mi bardzo na schowaniu przewodów z ekranu do płytki głównej oraz na tym, żeby ekran był nachylony pod kątem. Chciałem też, żeby był równo nad przy
  14. Wrzucam wpis tu, bo technicznie jest to jeszcze work in progress, ale w praktyce czeka tylko na przyjście części i zlutowanie i skręcenie w jedną całość. Zainspirowany różnymi urządzeniami pokroju Stream Deck, postanowiłem skonstruować własną klawiaturę makro. Przyjąłem kilka założeń. 1. Zwykłe klawisze (tzn. Cherry MX). Po prostu są wygodne. 2. Maksymalna modularność. Zależy mi na tym, by na małej powierzchni otrzymać dużą funkcjonalność. W konsekwencji każdy klawisz będzie miał wiele funkcji. 3. Opisy klawiszy. Przyklejone etykietki nie wchodzą w grę. Klawisze bez
  15. spook

    Robot inspekcyjny

    Uchwyt jest wydrukowany na drukarce 3D pod wymiar, niestety Ale wbrew pozorom to może być sensowna opcja nawet, jeżeli nie masz drukarki 3D, bo wydruki można już zamawiać i nie jest to dramatycznie drogie. Fusion360 do ręki i jechane Pozdrawiam -- Spook.
  16. Jeżeli dobrze zrozumiałem, to jeden Raspberry przesyła dane do wyświetlenia dla drugiego? Wiem, że RPi Zero jest wolniejsze od RPi4, ale czy naprawdę aż tak? W moim przypadku prawie cały development robiłem na pececie, a jedynie deployowałem na RPi Zero, co sprowadzało się z grubsza do ssh, git pull i sudo reboot (albo python3 raspberrydisplay żeby uruchomić skrypt na szybko do testów). Użycie aż dwóch komputerów wydaje mi się strasznym overkillem - na upartego taką stację można byłoby zrobić spokojnie na jakimś ESP32 - jeżeli pomiędzy odświeżeniami jest minimum minuta, to nawet Arduino Uno w
  17. spook

    E-papierowa prognoza pogody

    Nie mam pojęcia niestety, ale jedna jest dostarczona wraz z kontrolerem, więc można z niej spokojnie skorzystać. Kończy się żeńskimi, prostymi, pojedynczymi wtyczkami goldpinowymi.
  18. spook

    E-papierowa prognoza pogody

    Tak naprawdę trudno ocenić, bo to zależy np. od rodzaju akumulatora. E-papier jest bardzo oszczędny jeśli chodzi o energię elektryczną, ale Raspberry to mały komputerek i trochę prądu będzie siorbał nawet wtedy, gdy nie będzie nic robił - w końcu na pokładzie jest pełnoprawny Linux. Ogólnie nie rozważałem nawet użycia akumulatora, bo wbrew pozorom powodowałoby to chyba więcej problemów niż pożytku. Akumulator tak czy kwak trzeba ładować co jakiś czas, więc trzeba byłoby co jakiś czas podłączać kabel. Ja mam wpięte urządzenie w gniazdko i nie muszę się za bardzo niczym przejmować. Ogó
  19. spook

    E-papierowa prognoza pogody

    Tu miałem mniejszą ochotę wynajdywać koło na nowo, ale nie mogłem jak na złość znaleźć biblioteki, która jest w stanie wyrenderować wykres na zadanym obszarze już istniejącego obrazka (w sensie, w pamięci). Jedyną opcją było renderowanie do pliku, ale tego chciałem uniknąć, bo docelowo będę przerabiał obie Raspberki na system plików R/O, a poza tym sytuacja, w której dwie części programu komunikują się ze sobą przez pliki jes taka bardzo '70. Więc już wolałem napisać własny mechanizm, bo pisałem już takich setki i nie było to jakieś wielkie wyzwanie (a poza tym mogłem wprowadzić np. ditherowan
  20. spook

    E-papierowa prognoza pogody

    Trochę tak, a trochę nie. Mój edytor czcionek powstał w pierwotnej wersji do generowania czcionek w formacie ILI9341-t3 dla Teensy. Napisałem go jednak dosyć modularnie, więc wystarczyło dodać tylko eksport do odpowiedniego formatu. W ten sposób niewielkim kosztem mogłem skorzystać z dowolnych czcionek TTF, robiąc tylko trochę niewielkich, ręcznych korekt. Ostatnio na przykład jestem sporym fanem czcionki Saira Condensed i mogłem tym sposobem użyć jej w moim projekcie, bez konieczności poświęcenia jakości wynikowego obrazu.
  21. spook

    E-papierowa prognoza pogody

    Tak naprawdę użyłem bitmapowych, tyle że własnej produkcji Pozdrawiam -- Spook.
  22. spook

    E-papierowa prognoza pogody

    Większość czcionek typu TrueType jest przygotowanych pod ekrany obsługujące antyaliasing. Zrób zrzut ekranu dowolnego tekstu i powiększ go mocno w dowolnym edytorze grafiki, to będziesz wiedział, o co chodzi. Monochromatyczne ekrany typu e-paper nie obsługują antyaliasingu, ponieważ nie są w stanie (z definicji) wyświetlić pikseli w odcieniach szarości. Dlatego czcionki wyświetlane standardowymi mechanizmami wyglądają często bardzo nienaturalnie. Przygotowałem własny mechanizm renderowania czcionek - najpierw trzeba przygotować czcionkę w moim programiku (wygenerować na podstawie czc
  23. Zainteresowany technologią e-papierową i w oczekiwaniu na większy wyświetlacz, postanowiłem zbudować sobie małą stację informacyjną na biurko. Idea polegała na tym, by kolekcjonować przy pomocy Raspberry Pi dane z Internetu i wyświetlać je na e-papierze. W tym celu kupiłem sobie niewielki wyświetlacz dwukolorowy, będący hatem dla Raspberry. Pierwotnie pomysł zakładał zastosowanie Raspberry Pi Zero. Niestety okazało się, że nawet niewielki wyświetlacz ma podobne problemy, jak jego większy odpowiednik i wpięty bezpośrednio w mały komputerek destabilizuje jego pracę. Nie daje to tak dr
  24. Zainspirowany projektem TPInk, postanowiłem zbudować własną prognozę pogody bazowaną na Raspberry Pi oraz wyświetlaczu e-papierowym. Przyjąłem kilka założeń. Pierwszym z nich było zachowanie przynajmniej podstawowych zasad estetyki - zależało mi bowiem na tym, by zbudowane przeze mnie urządzenie było aktywnie użytkowane. Zdecydowałem się na wyświetlacz e-papierowy z uwagi na jego trwałość (zwykły wyświetlacz musiałby prezentować 24h na dobę bardzo podobne obrazy, co z pewnością skończyłoby się jego szybkim zużyciem), niskie zużycie prądu oraz - właściwe dla tego rodzaju wyświ
  25. @TPReal, też się trochę zdziwiłem, ale tak pisze ekipa z Waveshare. Może ekran powoduje chwilowy przysiad, który destabilizuje RPi? Nawet w przypadku tego małego ekraniku wystarczyło, żeby położyć sesję zdalną. Skończyłem używając RPi 3. I jeszcze jedna wskazówka dla tych, którzy chcą skonstruować podobną ramkę. Warto rozważyć, czy nie warto poświęcić 3 kolorów na rzecz szybszego odświeżania: mam tu na myśli fakt, że trójkolorowe ekrany potrzebują na to mnóstwo czasu. Mały ekranik, z którego korzystam, wykonuje pełny cykl odświeżania 16 sekund (z zegarkiem w ręku). Dla porównania dwukolor
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.