Archiwa autora: netmaniac

Wyświetlacz LCD i Arduino

Daaawno temu pisaliśmy tutaj jak podłączyć LCD znakowe do Arduino. To było 6 lat temu… Metoda dalej działa, ale teraz można zrobić to zdecydowanie prościej. Jak? Korzystając z konwertera I2C do takich wyświetlaczy.

Taki konwerter to nic innego jak dobrze znany nam PCF8574 i dodatkowa biblioteka. Zacznijmy od niej. Najprostsza droga to zainstalowanie biblioteki LiquidCrystal_PCF8574. Wybierz menu Sketch/Include Library/Manage Libraries a następnie w pole wyszukiwania wpisz nazwę biblioteki. Kliknij szare pole z nazwą i opisem i pojawi się przycisk Install. Gotowe!

Przetestuj całość – w menu Files/Examples/LiquidCrystal_PCF8574/LiquidCrystal_PCF8574_Test masz gotowy szkic pokazujący wszystkie możliwości. Po otwarciu tego szkicu, pozostaje podłączyć wyświetlacz. May dwie opcje – można użyć płytki stykowej – konwerter ma fabrycznie wlutowane goldpiny, wtedy LCD też potrzebuje takowe i można wtedy połączyć całość tymczasowo. Na stałe można połączyć lutując cały konwerter na plecach LCD:

Konwerter I2C wlutowany z tyłu wyświetlacza

Bez dwóch zdań opcja z lutowaniem jest trwalsza i wygodniejsza w większości wypadków.

Podłączenie do Arduino

Prosta sprawa. Dwa przewody do zasilania (5V i GND na Arduino) podłączamy do VCC i GND na konwerterze. Port A4 na Arduino do SDA na konwerterze, A5 na UNO do SCL na konwerterze. W wypadku UNO R3 możesz skorzystać z portów SDA i SCL łącząc je z odpowiednikiem na konwerterze.

LCD 2×16 z konwerterem I2C podłączony po Arduino. Prościej się nie da!

Wgrać szkic i cieszyć się wyświetlanym obrazem. No dobra, pewnie kontrast trzeba będzie poprawić (niebieski potencjometr na konwerterze).  Proste, nie?

A żeby było jeszcze prościej w ofercie Nettigo znajdziesz także fabrycznie zlutowane wyświetlacze z konwerterami w kolorze zielonym i niebieskim.

Zielony wyświetlacz LCD z fabrycznie przylutowanym konwerterem I2C na PCF8574A

Linux Magazine 152

lm152

Dotarła do nas informacja od wydawcy o kolejnym numerze Linux Magazine:

Artykuły wiodące październikowego wydania „Linux Magazine” poświęcone są Raspberry Pi i opisują porównanie z alternatywnymi szybkimi i mocnymi płytkami Banana Pi M3 i LeMaker HiKey, samodzielną budowę optymalnego klastra HPC oraz czujnik temperatury i wilgotności z Arduino, Raspberry Pi i programem w Pythonie.

Na dołączonym DVD znajduje się elastyczny i łatwy w użytkowaniu Arch Linux 2016.09.03.

Wewnątrz wydania również: mniej znane alternatywne menedżery plików na Linuksa, którym warto przyjrzeć się bliżej: XFE, Sunflower, Vifm oraz Double Commander, monitorowanie linuksowego systemu serwerowego w klasycznym interfejsie zarządzania Webmin, alternatywy dla HipChata i Slacka do rozmów sieciowych: InspIRCd, Mattermost i Rocket.Chat, bezpieczny dostęp do serwerów przy użyciu Magic URL, tworzenie aplikacji do przechowywania metadanych w plikach z Python XMP Toolkitem, szybki test Htopa 2.0.1, Metastore’a 1.1.0, Fgallery 1.8.1, UniversalCodeGrepa 0.2.1, Hpinga 3.0.0 oraz NitroShare’a 0.3.1, bezpieczna komunikacja cyfrowa z dystrybucją Mofo Linux zawierającą narzędzia wymagane do obejścia zapór sieciowych, Open365 – webowy LibreOffice połączony z Kontactem i Jitsi, edycja obrazów i retusz cyfrowy z dopracowanym i przyjaznym interfejsem Pixeluvo oraz inne tematy: http://linuxmagazine.pl/index.php/issues/152

Wydanie jest na allegro (bezpłatna dostawa): http://allegro.pl/show_item.php?item=6533633572

e-wydanie „Linux Magazine” 9/2016 na allegro (poprzedni numer, bez płyty DVD): http://allegro.pl/show_item.php?item=6530446190

pakiety Linux Magazine na allegro: http://allegro.pl/show_item.php?item=6368163954

NOWOŚĆ

megapakiety Linux Magazine na allegro: http://allegro.pl/megapakiet-wydan-linux-magazine-z-dvd-i6404755490.html i http://allegro.pl/megapakiet-e-wydan-linux-magazine-i6403798011.html

TMP006 – bezdotykowy czujnik temperatury

Moduł adaptera z TMP006

Moduł adaptera z TMP006

Od długiego już czasu w naszej ofercie mamy moduł z układem TMP006, który to jest czujnikiem temperatury, ale działającym na podczerwień. Znaczy to, że nie jest wymagany fizyczny kontakt z mierzonym obiektem.

Niewielki rozmiar, zasilanie do 3.3V do 5V, mały pobór prądu podłączenie po I2C (tylko dwa kabelki) – wszystko to sprawia, że można znaleźć kilka scenariuszy użycia. Jeśli przeszukasz fora Arduino pod kątem tego modułu, wówczas możesz znaleźć opisy sytuacji w której czujnik zwraca zawsze 2.39 stopnia Celsjusza. Skąd się to wzięło?

Zdarza się to korzystającym z opisu podłączenia umieszczonego na SparkFun Learn. Przykładowy kod, który tam jest do ściągnięcia jest mocno przykładowy i nie zakłada problemów z komunikacją z czujnikiem. Jeżeli coś jest nie tak i nie zostanie nawiązana komunikacja, kod próbuje i tak obliczać temperaturę. I stąd pewnie się bierze wartość 2.39.

Wystarczy zmienić kod na przykład udostępniony przez Adafruit by przekonać się czy problem nie leży po stronie komunikacji z modułem. W tym celu zainstaluj w Arduino IDE odpowiednią bibliotekę. W menu Sketch/Include Library/Manage Libararies, w search wpisać TMP006 i zainstalować bibliotekę od Adafruit.

Jeśli to pierwsza biblioteka do sensorów do Adafruit nie masz jeszcze zainstalowanej Adafruit Unified Sensor. Biblioteki zawierającej wspólny kod dla wielu z bibliotek od Adafruit. W search wpisz ‚adafruit unified’ i powinien to  być ostatni wynik – zainstaluj jeśli jeszcze nie masz biblioteki.

Podłącz moduł do Arduino – zasilanie, masa i SDA/SCL. Jak na tym zdjęciu:

TMP006 podłączony do Arduino

TMP006 podłączony do Arduino

Użyte tutaj zostały chwytaki IC Hooks, przydatne gdy nie chcesz lutować nic do modułu. Mają czasem problemy z łapaniem dużych otworów pod goldpiny, ale na modułach SF/Adafruit zwykle dają radę (domyślnie sa przeznaczone do łapania nóżek układów scalonych a te mają mniejsze średnice).

Po instalacji biblioteki w menu File/Examples/Adaftuit TMP006 pojawia się szkic tmp006. Otwórz go, wgraj na Arduino i obserwuj wynik działania. Jeśli napisze o braku komunikacji to możesz być pewnym, że to raczej błąd w kabelkologii niż niezwykły pomiar.

LinuxMagazine nr 151

LinuxMagazineCover_XXLDotarła do nas informacja o wydaniu 151 numeru LinuxMagazine:

Artykuły na temat Raspberry Pi we wrześniowym wydaniu miesięcznika „Linux Magazine” przedstawiają zarządzanie stronami internetowymi przy użyciu WordPressa na Raspberry Pi oraz płytkę Intel NUC – alternatywę dla Raspberry Pi.

Artykuły wiodące poświęcone systemom plików opisują rewolucyjny profesjonalizm ZFS, przyszłościowy Btrfs oraz dzieje klasycznego Ext. Na dołączonym DVD znajduje się bijącą rekordy popularności wśród użytkowników dystrybucja Linux Mint 18 w wersji 32-bitowej z pulpitem Mate.

Wewnątrz wydania również: przywracanie plików Btrfsa z migawek jednym przyciskiem dzięki Snapperowi, sprzątanie po katastrofie z Relax-and-Recoverem, który generuje obrazy ratunkowe, dba o wykonywanie kopii zapasowych i pomaga w migracji komputerów na nowy sprzęt lub konwersji na maszyny wirtualne, wirtualizacja aplikacji przy użyciu popularnego ostatnio Dockera, szybkie filtrowanie danych z ICgrepem – nowoczesną alternatywą klasycznego Grepa z obsługą Unicode’u, piaskownica z Firejailem w wierszu poleceń, krótkie testy narzędzi DK Tools 4.2.2, Midnight Commander 4.8.15, Datamash 1.1.0, F3 6.0, Sauvegarde 0.0.7 i WackoWiki 5.4.3 i bliższa analiza zdecentralizowanego programu do komunikacji online Matrix, przegląd aplikacji do zdalnej kontroli pulpitu: RealVNC, TightVNC, TeamViewer, AnyDesk, NX i jego darmowej pochodnej X2Go, uruchamianie Linuksa na smartfonie z Maru OS-em, cyfrowa rachunkowość dla małych firm i wolnych strzelców, czyli YaBS, tworzenie elektronicznego zbioru materiałów drukowanych ze Scan Tailorem i Paperworkiem.

Wydanie na allegro (bezpłatna dostawa): http://allegro.pl/show_item.php?item=6457442677 e-wydanie „Linux Magazine” 8/2016 (poprzedni numer) na allegro (bez płyty DVD): http://allegro.pl/show_item.php?item=6448282732

pakiety Linux Magazine na allegro: http://allegro.pl/show_item.php?item=6368163954

megapakiety Linux Magazine na allegro: http://allegro.pl/megapakiet-wydan-linux-magazine-z-dvd-i6404755490.html i http://allegro.pl/megapakiet-e-wydan-linux-magazine-i6403798011.html

 

tinyBrd zasilane z USB

TinyBrd 2.0 dzięki regulatorowi napięcia może być zasilane np 5V. Jest to napięcie jakie jest dostarczane w ramach standardu USB, co za tym idzie, każdy powerbank do zasilania komórki zapewnia nam duuużo energii dla tinyBrd. Jak podłączyć zasilanie z power banku?

Bierzemy wtyczkę USB oraz jakieś przewody typu F-M i lutujemy:

Lutowanie lini zasilającychLutowanie przewodów do wtyczki

Zwróć uwagę na polaryzację, czyli gdzie jest plus a gdzie masa. Na zdjęciu czerwony przewód to plus. Przyjrzyj się wtyczce, położona jest tak, że widoczne otwory na metalowym złączu są zaślepione plastikiem. A najlepiej – podłącz wtyczkę do powerbanku i zmierz miernikiem gdzie jest 5V a gdzie GND :)  Pozostaje podłączyć zasilanie do tinyBrd:

s20160712_124810Oczywiście – to tylko z tinyBrd 2.0, wersja 1.x nie ma regulatora i takie podłączenie uszkodzi modem NRF.

Teensy 3 vs Arduino – o ile szybsze?

Początkujący użytkownicy Arduino, jeżeli postawią sobie ambitne zadanie często docierają do ściany możliwości Arduino. Wydaje się za wolne, zbyt mało zasobów. Prawda jest taka, że często wystarczy napisać program w sposób bardziej efektywny i nagle Arduino może jeszcze całkiem sporo.

Jednak jak zawsze jest pokusa – zmieńmy Arduino na coś szybszego/większego. Nie pochwalam podejścia polegającego na „rzucaniu więcej MHz na problem”, ale czasem może warto? Każda sytuacja jest inna i  na etapie potwierdzenia wykonywalności projektu, czasem warto po prostu użyć czegoś szybszego.  Potem, jeśli będziemy realizować projekt docelowy to wtedy pisać jak należy? Wszystko zależy od priorytetów – jeśli czas jest najważniejszy to może warto?

teensy

OK, w tym kontekście pomówmy o czymś większym co może zastąpić Arduino. Paradoksalnie Teensy 3.2 jest mniejszy pod względami rozmiarów od Arduino, ale procesor ARM 72 MHz wygląda obiecująco :)Dla uściślenia – nie mam zamiaru porównywać wydajności procesora, bo to jest bez sensu, wiadomo, że przewaga jest po stronie ARM. Chcę zastanowić się o ile szybsze będzie Teensy użyte jak Arduino. A jak się używa Arduino? Jako maszynki do Blinka :) Blink jako taki nie ma sensu jako materiał porównawczy, ale jeśli postawimy sobie pytanie o ile szybciej Teensy jest w stanie zmieniać stan wyjścia niż Arduino, to będzie to już jakieś wartościowe porównanie.Kod jest bardzo prosty:

void loop() {
  while (1) {
    digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
    digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  };
}

Ładujemy kod na Arduino i Teensy, podłączamy oscyloskop no i jaki mamy rezultat?

DS1Z_QuickPrint6Jak widać Teensy (żółty) jest dużo szybszy niż Arduino (niebieski). Oscyloskop wyliczył, że sygnał wygenerowany przez Teensy ma częstotliwość 1.47 MHz a z Arduino 134 kHz. Wynika z tego, że Teensy jest 11 razy szybsze niż Arduino. Czemu aż tyle, skoro 72 MHz/16 MHz to tylko 4.5? Najwyraźniej digitalWrite jest o wiele efektywniej napisane w wersji dla ARM (albo po prostu mniej operacji wymaga) stąd nie dość że każda instrukcja (w kodzie maszynowym) na Teensy wykonuje się szybciej, to jeszcze mniej ich potrzeba niż na Arduino – dlatego mamy aż 11 krotną przewagę Teensy nad Arduino.

Ale to nie koniec. Teensy oferuje domyślnie opcję overclockingu, można wybrać prędkość pracy procesora przez opcję w menu Tools/CPU Speed. Zamiast 72 MHz optimized wystarczy wybrać 96 MHz optimized (overclock) i:

DS1Z_QuickPrint4

Tak, wiem trochę inne nastawy tego screenshota, ale już schowałem swój zestaw, a nie zauważyłem że ten ma inną podstawę czasową. Jednak jak widać w przy 96 MHz zegara oscyloskop wyliczył nam sygnał wygenerowany przez Teensy ma 2 MHz.

Jednak nie zawsze zmiana Arduino na Teensy przyniesie przyspieszenie. Zwróciłeś uwagę że w kodzie użyliśmy pętli while by zmieniać cały czas stan wyjścia. Jednak jeżeli użyjemy takiego kodu:

void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
}

Przebieg obu sygnałów (z Arduino i Teensy) będzie wyglądać tak:

DS1Z_QuickPrint1

Coś dziwnego dzieje się w kodzie Teensy. Co? Odpowiedź kryje się w tym kodzie (funkcja main dla Teensy3). W części wywołującej loop po tej funkcji wywołuje się jeszcze funkcja yield. W Arduino jej nie ma, dlatego po zakończeniu loop, wraca natychmiast do jej wykonywania. W Teensy3 yield zajmuje chwilę – sprawdza czy są dostępne dane portach szeregowych. Ponieważ Teensy ma ich więcej niż Arduino UNO, chwilę to trwa.

W takim użyciu okazuje się, że Teensy jest ok 2-3 razy szybszy od Arduino. Jeśli nie zależy Ci na SerialEvent to po prostu nie wychodź z loop na Teensy :).

LinuxMagazine nr 150

LM150Dotarła do nas informacja o 150 wydaniu LinuxMagazine:

W sierpniowym, 150 wydaniu miesięcznika „Linux Magazine” – z odświeżoną grafiką – znajdziemy projekty samodzielnej budowy żaglówki Arduino sterowanej przy użyciu taniego pilota oraz łazika złożonego littleBits, Raspberry Pi i Lego.

Materiał wiodący dotyczy scentralizowanego zarządzania plikami dziennika systemowego: opisuje, jak skonfigurować monitorowanie sieci bazujące na serwerze logów Graylog. Na dołączonym DVD po raz pierwszy znajduje się Manjaro, w wersji 16.06.

Wewnątrz wydania również: trwałe Iptables, czyli automatyczne przywracanie reguł zapory sieciowej, skuteczne zarządzanie protokołami w nowoczesnych sieciach – sprawdzamy, jak zachować wiarygodne monitorowanie i analizę w sieci, nawet przy wirtualizacji, wirtualizacja sieci i struktura OpenDaylighta, szyfrowanie w oparciu o wiarygodne zaprzeczenie przy użyciu VeraCrypta, analizatory statyczne kodu JavaScriptu, PHP, Pythona i powłoki Linuksa, krótkie testy narzędzi Tiny Applications 20130215, CertMgr 0.2.49, Difftree 0.5.8, Scriptform 1.0, Duply 1.11.1 oraz Xplico 1.1.1, Bogofilter czy SpamAssassin: działanie i wybór filtra antyspamowego, zarządzanie wieloma systemami równocześnie z SaltStackiem, wady i zalety narzędzi do lokalnego szyfrowania danych przechowywanych w chmurze, synchronizacja plików z Osyncem i Freeholdem, które zużywają mało zasobów, są łatwe do wdrożenia i proste w użyciu, AnyDesk kontra TeamViewer, szybka edycja filmów i dodawanie efektów w małych projektach przy użyciu Lightworksa, korzystanie z sieci bez ujawniania tożsamości, czyli system operacyjny Whonix, konfiguracja zbioru aplikacji do pracy biurowej z systemem wideokonferencji, funkcją poczty i sklepem internetowym Google Apps for Work do użytku w firmie.

Wydanie jest na allegro (bezpłatna dostawa). Poprzednie e-wydanie „Linux Magazine” 7/2016 na allegro (bez płyty DVD).  Archiwalne numery Linux Magazine dostępne są w pakietach po 2 nr na allegro:

Linux Magazine 148

LinuxMagazineCover_148Chcemy podzielić się z Wami informacją o czerwcowym numerze Linux Magazine:

Artykuł na temat Raspberry Pi poświęcony jest możliwym zastosowaniom niedrogiego układu ESP8266.

Materiał wiodący zawiera przegląd edukacyjnych dystrybucji Linuksa omawia systemy Sugar, Uberstudent, Edubuntu, Debian Edu, openSUSE Edu Life i UCS@School, których twórcy odpowiadają na potrzeby nauczycieli. Na dołączonym DVD znajduje się Tails 2.3 zapewniający anonimowość i prywatność w internecie.

Wewnątrz wydania również: monitorowanie systemów przy użyciu Prometheusa, test pięciu narzędzi desktopowych do tworzenia kopii zapasowych: Déjŕ Dup, Back in Time, Sbackup, luckyBackup i Areca Backup, korzystanie z bazy danych SQLite, protokół serwera wyświetlania Wayland, który zastępuje starzejący się protokół graficzny X11, budowanie własnej wyszukiwarki przy użyciu robota webowego Apache Nutch i platformy wyszukiwania Solr, testy narzędzi Term-Highlight 1.8.1, BashBurn 3.1.0, Nikola 7.7.2, Steel 1.1 oraz Ukopp 5.8, analiza przyjaznego dla początkujących systemu do zarządzania konfiguracją oprogramowania Fossil SCM, tworzenie animowanych pokazów slajdów przy użyciu PhotoFilmStripa, wirtualne planetarium Stellarium rozszerzone o nowe obiekty i środowiska, przetwarzanie i organizowanie zdjęć i plików RAW z Corel AfterShot Pro, wyszukiwanie rozmyte w wierszu poleceń z Tre-agrepem oraz inne tematy.

Wydanie jest na Allegro (bezpłatna dostawa): http://allegro.pl/show_item.php?item=6248067234

e-wydanie „Linux Magazine” 5/2016 (poprzedni numer) na Allegro (bez płyty DVD): http://allegro.pl/show_item.php?item=6247977734

tinyBrd: deepSleep, czyli poniżej 1 µA

deepSleep-1TinyBrd od samego początku miał mieć zastosowania w energooszczędnych scenariuszach. Właśnie pojawiła się nowa wersja Nettigo tinyBrd Core, która w bibliotece Battery.h ma oprócz znanej już funkcji sleep, nową funkcję – deepSleep.

Jak nazwa sugeruje usypia ona tinyBrd w taki sposób, że pobór prądu jeszcze bardziej spada. deepSleep w odróżnieniu od „zwykłego” sleep wyłącza również układ watchdoga w procesorze ATtiny84. Konsekwencją tego jest to, że ze takiego trybu pracy może wybudzić tylko przerwanie (pinChangeInterrupt wprowadzone w poprzedniej wersji tinyBrd Core). Nie można podać czasu po jakim tinyBrd sam się wybudzi. Jest to pewna niedogodność, która pozwala tylko w niektórych przypadkach skorzystać z tego trybu. Więc po co się nim w ogóle przejmować? Otóż, odpowiedzią jest pobór prądu. O ile w trybie „zwykłego” sleep tinyBrd pobiera między 4 a 5 µA, to w razie użycia deepSleep pobór prądu spada poniżej 1µA !

Gdzie można użyć tego trybu? Otóż wszędzie tam, gdzie tinyBrd ma czekać przez długi czas na jakieś zdarzenie i wysłać o nim informację. By przetestować ten tryb pracy wymyśliłem sobie projekt czujnika zamknięcia bramy garażowej.

Chcę by Raspberry Pi dostawało informację o każdym otwarciu i zamknięciu drzwi garażowych. Potem pomyślimy o tym by te informacje wysyłać do np Domoticza by ten mógł zareagować gdy drzwi są otwarte zbyt długo. Po co taki alarm? Otóż często w garażu znajdują się różne przyłącza wodno-kanalizacyjne. O ile otwarcie drzwi garażu przez długi czas latem nie stanowi potencjalnego zagrożenia to zostawienie na noc otwartych (lub niedomkniętych) drzwi zimą może być nieprzyjemne  w skutkach. Zamarznięta instalacja to jest duży problem, bo zwykle po jej odmrożeniu trzeba się liczyć z kosztowaną naprawą.

Czytaj dalej

Linux Magazine wydanie 147

Chcemy podzielić się z Wami informacją o nowym numerze Linux Magazine:

LinuxMagazineCover_147Majowe wydanie miesięcznika „Linux Magazine” poświęcone jest  projektom z Raspberry Pi W artykułach wiodących znajdują się instrukcje wykorzystania malinki w roli:

  • serwera Minecrafta,
  • serwera chmur osobistych z platformą Cozy,
  • otwarto źródłowego centrum multimedialnego z popularnym Kodi,
  • a nawet miernika poziomu dźwięku.

Wewnątrz wydania również: Arch Linux: podstawy, szybka instalacja przy użyciu Architect Linuksa lub Arch Anywhere, fascynujące dystrybucje pochodne, a także agent pocztowy OpenSMTPD, automatyczne kopie zapasowe, zestaw narzędzi ELK Stack: Elasticsearch, Logstashi Kibana, analiza rejestrów przepływu ruchu sieciowego, wyższa wydajność dzięki zrównoleglaniu, maszyny wirtualne na pulpicie z Qubes OS, Crystal– język programowania w stylu Ruby’ego, krótkie testy narzędzi Yuck 0.2.1, Uftpd 1.9.1, Guncat 1.01.01, Kiwix 0.9, Miller 2.2.1, Debian Package Search 2.7.5, możliwości cyfrowej stacji roboczej Bitwig Studio 1.3.5 oraz inne tematy. Wszystko w wydaniu 147 Linux Magazine. Do nabycia na Allegro na papierze (wersja drukowana ma dołożoną płytę z Ubuntu 16.04 Xenial Xerus).

Numer z poprzedniego miesiąca (kwiecień) dostępny jest w formie elektronicznej (bez płyty DVD): http://allegro.pl/show_item.php?item=6167019912