Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Internet rzeczy

Autor: Piotr Karpiuk o środa 7. Grudzień 2016

Wprowadzenie

Urządzenia wchodzące w skład IoT cechują: mały rozmiar, niskie zapotrzebowanie na energię, łączność bezprzewodowa, wbudowana pamięć (połączenie nie musi być ciągłe).

Aby firmy mogły w pełni czerpać korzyści z potencjalnych strumieni danych dostarczanych w czasie rzeczywistym, muszą stworzyć kulturę opartą na podejmowaniu decyzji na podstawie danych. Czyli firmy będą musiały podążać tam, gdzie prowadzą je dane, a niekoniecznie tam, gdzie powinny się kierować zdaniem konserwatywnych kadr kierowniczych.

Bluetooth i Bluetooth Smart

Moduły Bluetooth są bardzo małe, o wiele mniejsze od modułów Wi-Fi, mają zasięg do 10m i zużywają bardzo mało prądu, co sprawia, że są idealne do miniaturowych czujników IoT. Miniaturowa, domowa sieć połączonych w ten sposób urządzeń (personal area network, PAN) nazywana jest „piconetem”. W piconecie jedno z urządzeń Bluetooth ma przypisaną rolę master i może obsługiwać do 8 urządzeń slave. Specjalnie dla IoT stworzono odmianę Bluetooth o nazwie Bluetooth Smart – cechuje ją zredukowane zapotrzebowanie na energię (wystarczą baterie pastylkowe), mniejsza prędkość przesyłania i większy zasięg (do 100m).

Sieci o topologii siatki

Sieć typu mesh zawiera urządzenia pełniące rolę nie tylko nadawców i odbiorców, ale również przekaźników (ang. repeater). W takiej sieci nie istnieje żadne centrum, a awaria pojedynczego urządzenia nie powoduje awarii sieci – sygnał znajdzie inną drogę korzystając z połączeń z pozostałymi urządzeniami. Istnieje wiele protokołów tego typu, na ogół niekompatybilnych ze sobą, najpopularniejsze to INSTEON, Z-Wave i ZigBee.

Sieci komórkowe

Francuska firma Sigfox do stworzenia własnej sieci komórkowej dla IoT wykorzystuje własną wersję technologii radiowej z I wojny światowej, dzięki której załogi łodzi podwodnych mogły komunikować się ze sobą pod wodą. Technologia ta pozwala na przesyłanie bardzo małych kawałków danych – przypominających alfabet Morse’a – na relatywnie duże odległości z niewielką prędkością (100bps). Dzięki korzystaniu z pasma 900 MHz zamiast wyższych częstotliwości typowych dla dzisiejszych operatorów komórkowych, Sigfox może rozmieszczać swoje maszty w większych odległościach i z wyraźnie niższym zapotrzebowaniem na energię. Firma buduje obecnie sieci w Wielkiej Brytanii, Holandii, Rosji i Hiszpanii, a także USA. Specjalizuje się w sieciach przemysłowych. W Hiszpanii jej sieć łączy kilkadziesiąt milionów domowych systemów zabezpieczeń. We Francji sieci Sigfox są używane do zapewniania połączeń między wodomierzami, elektronicznymi billboardami, a także urządzeniami monitorującymi dla seniorów.

Inną firmą tworzącą własne sieci komórkowe IoT jest Iotera (na potrzeby urządzeń do śledzenia lokalizacji dzieci i zwierząt domowych).

Czytaj więcej »

Napisany w Uncategorized | Brak komentarzy »

Sztuczki i triki w języku JavaScript

Autor: Piotr Karpiuk o czwartek 21. Lipiec 2016

Poniżej kilka znanych mi idiomów ułatwiających programowanie w języku JavaScript. Prośba do czytelników o podawanie w komentarzach własnych propozycji.

+"15" // 15

Ale uwaga, +"15px" zwróci NaN, podczas gdy parseInt("15px") zwróci 15.


+new Date() // 1479390755672

Zamiana daty na liczbę milisekund od 1970-01-01 00:00.000.


typeof cokolwiek; // undefined

Tutaj nie wystąpi błąd, pomimo użycia niezadeklarowanej zmiennej.


var arr = Array.prototype.slice.call( arguments )
var arr = Array.from( arguments ) // ES6

Standardowy mechanizm zamiany przypominającej tablicę zmiennej arguments (parametry aktualne wywołania funkcji) na prawdziwą tablicę JavaScript.

Czytaj więcej »

Napisany w JavaScript | Brak komentarzy »

Dziwactwa JavaScriptu

Autor: Piotr Karpiuk o poniedziałek 18. Lipiec 2016

Programując w JavaScripcie i czytając różne książki na temat tego języka, natknąłem się na szereg mało intuicyjnych i dość zabawnych zachowań interpretera. Poniżej moja lista – jeśli ktoś ma inne propozycje, proszę o komentarz.

[1,3,20].sort() // [1,20,3]

Wyjaśnienie: Domyślny komparator sortuje leksykograficznie.


var a = [1,2,3];
var b = [1,2,3];
var c = "1,2,3";

a == c; // true
b == c; // true
a == b; // false

Wyjaśnienie: Zwracaj szczególną uwagę na reguły porównywania za pomocą operatorów == i ===, jeżeli porównujesz dwie wartości typów innych niż proste, takie jak obiekty (typ object, łącznie z function i array). Ponieważ wartości te są w rzeczywistości przechowywane przez odniesienie, więc oba operatory == i === po prostu sprawdzają, czy odniesienia są takie same; nie sprawdzają faktycznych wartości wskazywanych przez te odniesienia. Z kolei gdy porównujemy typ prosty (np. łańcuch) z obiektem (np. tablicą), tablica jest konwertowana do łańcucha przez po prostu połączenie przecinkami (,) wszystkich wartości.


Czytaj więcej »

Napisany w JavaScript | Brak komentarzy »

Kalambury Google

Autor: Piotr Karpiuk o niedziela 10. Lipiec 2016

Google znany jest ze swojego zaangażowania w projekty dotyczące sztucznej inteligencji i uczenia maszynowego. Ostatnio każdy może przetestować jak dobrze sieć neuronowa potrafi na bieżąco rozpoznawać co użytkownik rysuje myszką na ekranie: Quick, draw!.

Napisany w WWW | Brak komentarzy »

Narzędzia dewelopera w Google Chrome

Autor: Piotr Karpiuk o wtorek 5. Lipiec 2016

Dzisiejszy artykuł będzie narzędziach, jakie przeglądarka Google Chrome udostępnia programistom do debugowania i monitorowania aplikacji webowych, pod przyciskiem F12. Dla tych co mają dużo czasu, pełny opis możliwości jest dostępny na stronach Google’a: https://developers.google.com/web/tools/chrome-devtools/. Tutaj zakładam że Czytelnik ma już jakieś pojęcie o tych narzędziach, zapewne już z nich korzysta w jakimś zakresie i chciałby możliwie szybko poszerzyć swoją wiedzę o różne przydatne i ciekawe triki, które pojawiły się ostatnimi czasy, lub były od dawna ale nie są oczywiste.

Task Manager

Kombinacja klawiszy Shift+ESC otwiera managera zadań, w którym możemy zobaczyć zużycie zasobów komputera z rozbiciem na poszczególne zakładki przeglądarki:

Edycja drzewa DOM

Czytaj więcej »

Napisany w Google Chrome, JavaScript, Nowoczesne przeglądarki WWW, WWW | Brak komentarzy »