Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletnei rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą równieżżadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Małgorzata Kulik
Projekt okładki: Studio Gravite / OlsztynObarek, Pokoński, Pazdrijowski, ZapruckiGrafika na okładce została wykorzystana za zgodą Shutterstock.com
Helion SA ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: [email protected] WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/koiopoMożesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Kody źródłowe wybranych przykładów dostępne są pod adresem:ftp://ftp.helion.pl/przyklady/koiopo.zip
ISBN: 978-83-283-6629-9
Copyright © Mariusz Duka 2020
Printed in Poland.
• Kup książkę• Poleć książkę • Oceń książkę
• Księgarnia internetowa• Lubię to! » Nasza społeczność
5
Spis treści
Przedmowa ............................................................................................................... 9
Rozdział 1. Parametry techniczne .............................................................................. 14Moduły rozszerzające typu Dock ...............................................................................16Moduły rozszerzające typu Expansion .......................................................................23Ceny ..........................................................................................................................31
Rozdział 2. Uruchomienie i konfiguracja ..................................................................... 32Przygotowanie sprzętu ..............................................................................................32Nawiązanie komunikacji ............................................................................................33Konfiguracja w przeglądarce internetowej ................................................................35Konfiguracja w konsoli systemowej ...........................................................................37Terminal SSH .............................................................................................................40Edytor kodu ..............................................................................................................41Reset i restart ............................................................................................................41Przywrócenie do ustawień fabrycznych .....................................................................43
Rozdział 3. GPIO ....................................................................................................... 44Interfejsy komunikacyjne ...........................................................................................46Zarządzanie pinami GPIO ..........................................................................................46Grupy i funkcje pinów ...............................................................................................50Dioda Omega2 LED ...................................................................................................51GPIO Tool ..................................................................................................................52GPIO w języku Python ...............................................................................................55
Rozdział 4. Rozszerzenie pamięci masowej ................................................................. 57Karta microSD ...........................................................................................................58Pamięć USB (pendrive) ..............................................................................................61microSD/USB i partycja swap .....................................................................................63
Rozdział 5. Oprogramowanie ..................................................................................... 70Firmware ...................................................................................................................70OPKG .........................................................................................................................70Git .............................................................................................................................73Python .......................................................................................................................74
Poleć książkęKup książkę
6
Node.js ......................................................................................................................76PHP 7 ........................................................................................................................78C i C++ .....................................................................................................................82JamVM — wirtualna maszyna Javy ............................................................................85Perl ............................................................................................................................87Erlang ........................................................................................................................89Ruby ..........................................................................................................................90
Rozdział 6. OLED, wyświetlanie tekstu i grafiki ........................................................... 92OLED w konsoli graficznej .........................................................................................92OLED w konsoli systemowej ......................................................................................93OLED w języku C, Python i PHP ..................................................................................97
Rozdział 7. ADC, przetwornik analogowo-cyfrowy ...................................................... 100ADC w konsoli graficznej .........................................................................................101ADC w konsoli systemowej .....................................................................................101ADC w praktyce .......................................................................................................103ADC w języku Python ..............................................................................................105
Rozdział 8. RELAY, przełączanie napięcia .................................................................. 107RELAY w konsoli graficznej ......................................................................................108RELAY w konsoli systemowej ...................................................................................109RELAY w praktyce ....................................................................................................110RELAY w językach C, Python i PHP ...........................................................................112
Rozdział 9. PWM, zasilanie i kontrola pracy urządzeń ................................................. 116PWM w konsoli graficznej .......................................................................................117PWM w konsoli systemowej ....................................................................................118PWM w praktyce .....................................................................................................119PWM w języku C, Python i PHP ................................................................................120
Rozdział 10. GPS, system nawigacji satelitarnej ........................................................ 125GPS w konsoli systemowej ......................................................................................125GPS i OLED w języku PHP ........................................................................................127
Rozdział 11. Ethernet, sieć przewodowa, ruter i most ................................................ 131Funkcje sieciowe .....................................................................................................132
Rozdział 12. RFID/NFC, identyfikacja bezprzewodowa ................................................ 140RFID/NFC w konsoli graficznej .................................................................................140RFID/NFC w konsoli systemowej ..............................................................................141RFID/NFC, OLED i RELAY w języku Python ................................................................146
Poleć książkęKup książkę
7
Rozdział 13. BLE, komunikacja Bluetooth ................................................................. 149Parowanie urządzeń ................................................................................................149Test połączenia .......................................................................................................152Problemy z połączeniem .........................................................................................152
Rozdział 14. Arduino, czyli AVR na pokładzie ............................................................. 153Instalacja i konfiguracja oprogramowania ..............................................................154Pierwszy program dla Arduino ................................................................................156Wgrywanie programu do mikrokontrolera ..............................................................157Praca w konsoli systemowej ....................................................................................158Problemy z komunikacją .........................................................................................159
Rozdział 15. SAMBA, serwer plików .......................................................................... 160Instalacja .................................................................................................................160Konfiguracja ............................................................................................................160
Rozdział 16. SSL, szyfrowanie połączenia WWW ......................................................... 163Instalacja OpenSSL ..................................................................................................163Generowanie certyfikatów SSL ................................................................................163
Rozdział 17. Blynk, zdalne zarządzanie IoT ............................................................... 166Smartfon lub tablet .................................................................................................166Minikomputer Omega2 ...........................................................................................167
Rozdział 18. WEBCAM, zdalny monitoring ................................................................. 170WEBCAM w konsoli graficznej .................................................................................170WEBCAM w konsoli systemowej ..............................................................................171WEBCAM w praktyce ...............................................................................................172
Rozdział 19. XMPP, serwer komunikacyjny Jabber ..................................................... 175Instalacja Erlang ......................................................................................................175Instalacja serwera XMPP ejabberd ...........................................................................176Instalacja klienta XMPP mcabber .............................................................................176
Rozdział 20. Technika Cross-Compiling ..................................................................... 178Przygotowanie i kompilacja systemu .......................................................................178Kompilacja kodu dla minikomputera .......................................................................179Cross-Compiling w praktyce ....................................................................................181Serwer Minecraft na minikomputerze Omega2 .......................................................181
Zakończenie .......................................................................................................... 184
Skorowidz ............................................................................................................. 185
Poleć książkęKup książkę
140
Rozdział 12. RFID/NFC,identyfikacja bezprzewodowa
RFID (ang. Radio-frequency identification) i NFC (ang. Near Field Communication)to technologie wykorzystujące fale radiowe do bezprzewodowego i bezdotykowegotransferu danych cyfrowych na niewielkie odległości. Transfer danych, w odróżnieniuod technologii Bluetooth, nie wymaga dodatkowego parowania urządzeń, nato-miast bezpieczeństwo transmisji opiera się na bliskiej odległości urządzeń i ich „ota-gowaniu”, czyli zapisaniu w układzie elektronicznym informacji identyfikacyjnych.Technologia NFC zaimplementowana jest w większości nowoczesnych smartfonów,za pomocą których możliwe jest realizowanie płatności zbliżeniowo. Ciekawymprzykładem wykorzystania technologii NFC jest system kart Mifare, który w założeniuma zastąpić tradycyjne bilety papierowe (Mifare Ultralight), karty magnetyczneoraz monety.
Moduł rozszerzający RFID & NFC Expansion wyposażony jest w popularny układPN532, umożliwiający komunikację na częstotliwości 13,56 MHz w odległości do6 cm oraz 30-pinowe złącze pozwalające na montaż dodatkowych modułów ty-pu Expansion. Moduł obsługuje popularny standard kart Mifare, a także InnovisionJewel i FeliCa. Do komunikacji wykorzystywany jest interfejs szeregowy UART.W zestawie dołączone są dwie naklejki NFC, na których można zapisać do 100 bajtówdanych.
RFID/NFC w konsoli graficznejOdczytanie identyfikatora (UID) kart lub naklejek NFC umożliwia narzędzie RFIDReader (rysunek 12.1), które dostępne jest w aplikacji OnionOS. W prawym górnymrogu znajdziesz przycisk Start Scanning, którym uruchomisz procedurę skanowania,natomiast przyciskiem Clear List wyczyścisz dotychczasową listę. Wystarczy, żeprzyłożysz do czytnika oryginalną nalepkę NFC, która wchodzi w skład wyposażeniamodułu, a na ekranie powinien pojawić się jej identyfikator.
Poleć książkęKup książkę
141
Rysunek 12.1. Odczyt identyfikatora UID kart lub naklejek NFC w narzędziu RFID Reader
Narzędzie RFID Reader, pomimo tego, że nadaje się tylko do odczytywania identyfi-katorów (UID), umożliwia sprawne i szybkie przetestowanie wielu kart i nalepek NFC.Zapis informacji na kartach wymaga wykorzystania narzędzi dostępnych w konsolisystemowej.
RFID/NFC w konsoli systemowejZapis danych w pamięci karty Mifare Ultralight (na nalepce NFC dołączonej do roz-szerzenia RFID & NFC Expansion) lub informacji w formacie NDEF (ang. NFS DataExchange Format) na kartach zbliżeniowych typu Mifare Classic umożliwiają narzę-dzia takie jak nfc-mfclassic i mifare-classic-write-ndef dostępne w konsolisystemowej. Procedura zapisu danych na kartach NFC nie jest skomplikowana,jednak wymaga podstawowej umiejętności pracy w konsoli.
Jeśli wcześniej korzystałeś z narzędzia RFID Reader, część niezbędnego oprogramo-wania została już zainstalowana na minikomputerze Omega2. Sprawdź, czyw narzędziu RFID Reader aktywna jest procedura skanowania, jeśli tak, to musisz jąteraz wyłączyć, klikając przycisk Stop Scanning.
Zainstaluj najnowsze oprogramowanie do obsługi NFC:
opkg updateopkg install nfc-exp nfc-utils
Na początek sprawdź, czy moduł rozszerzający RFID & NFC Expansion jest widocznyw systemie:
nfc-scan-device
Lista aktywnych modułów NFC w systemie przedstawiona jest na rysunku 12.2.
Poleć książkęKup książkę
142
Rysunek 12.2. Skanowanie urządzeń NFC podłączonych do minikomputera Omega2
Teraz możesz odczytać informacje zakodowane w układzie elektronicznym na na-lepce NFC dostarczonej w komplecie z rozszerzeniem. Przyłóż nalepkę do czytnikaRFID/NFC i wykonaj polecenie:
nfc-list
Na konsoli zostaną wydrukowane informacje identyfikacyjne układu NFC (rysunek 12.3).
Rysunek 12.3. Identyfikacja karty (nalepki) NFC za pomocą narzędzia nfc-list w konsoli systemowej
Każda karta NFC posiada swój unikatowy identyfikator (ang. Unique IdentificationNumber) oraz zakodowaną informację o jej typie i producencie (ATQA — ang.Answer To Request i SAK — ang. Select Acknowledge). W tabeli 12.1 przedsta-wione są ATQA i SAK dla konkretnych typów kart NFC.
Tabela 12.1. Dane ATQA i SAK dla kart zbliżeniowych typu Mifare
Typ karty ATQA SAK Długość UID
Mifare Classic 1K 00 04 08 4 bajty
Mifare Classic 4K 00 02 18 4 bajty
Mifare Ultralight 00 44 00 7 bajtów
Jak można zauważyć, dostarczone w komplecie nalepki NFC są w standardzieMifare Ultralight i właśnie na nich spróbujemy w następnych krokach odczytaći zapisać dane.
Podstawowe narzędzia do obsługi kart zbliżeniowych NFC dostępne na minikompu-terze Omega2 to nfc-mfultralight dla kart Mifare Ultralight i nfc-mfclassicdla kart Mifare Classic.
Poleć książkęKup książkę
143
Odczyt danych z kart Mifare UltralightKarty Mifare Ultralight ze względu na swoją kompaktową budowę (forma cienkiejnalepki) bardzo często są wykorzystywane w systemach do identyfikacji przedmio-tów. Karta ta posiada wbudowaną pamięć typu EEPROM, na której można zapisać48 bajtów danych.
Przyłóż kartę (nalepkę) NFC do czytnika RFID/NFC i wykonaj polecenie:
nfc-mfultralight r mojaKartaNFC.mfd
Odczyt danych z karty Mifare Ultralight (nalepki NFC) w konsoli systemowej przed-stawiony jest na rysunku 12.4.
Rysunek 12.4. Odczyt danych z karty Mifare Ultralight (nalepki NFC) w konsoli systemowej
W pliku mojaKartaNFC.mfd zostały zapisane dane w formacie MFD pochodzącez karty zbliżeniowej NFC. Dla wygody skorzystaj z narzędzia xxd do wyświetleniazawartości pliku w przyjaznej formie.
Wykonaj polecenie:
xxd mojaKartaNFC.mfd
Wyświetlona zostanie zawartość pliku w systemie heksadecymalnym (szesnast-kowym):
0000000: 0416 7ae0 32ed 4c80 1348 0000 e110 1200 ..z.2.L..H......0000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................0000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
Pierwsza linia (pierwsze 16 bajtów) zarezerwowana jest m.in. na identyfikator i in-formację o aktywnym trybie „tylko do odczytu”, natomiast trzy kolejne linie (łącznie48 bajtów) mogą być zapisane dowolną informacją. Z powyższego zapisu wynika,że na karcie (nalepce) NFC zapisane są wartości zerowe, co oznacza, że kartajest pusta.
Poleć książkęKup książkę
144
Modyfikacja danych i zapis do formatu MFDInformacje pobrane z karty zbliżeniowej NFC mogą zostać zmienione i ponownie naniej zapisane. Dla ułatwienia edycji danych wykorzystaj ponownie narzędzie xxd.Wykonaj polecenie:
xxd mojaKartaNFC.mfd > mojaKartaNFC.hex
Otwórz w edytorze tekstowym vi plik zapisany w systemie szesnastkowym:
vi mojaKartaNFC.hex
i wstaw nową zawartość w liniach 0000010 i 0000020:
0000000: 0416 7ae0 32ed 4c80 1348 0000 e110 1200 ..z.2.L..H......0000010: 4e46 4320 6e61 206d 696e 696b 6f6d 70750000020: 7465 727a 6520 4f6d 6567 6132 2100 00000000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
Ostatnim krokiem jest przekonwertowanie danych z formatu szesnastkowegona format MFD:
xxd -r mojaKartaNFC.hex mojaKartaNFC.mfd
Zapis danych na karcie Mifare UltralightWcześniej przygotowany plik w formacie MFD można zapisać w pamięci karty.
Przyłóż kartę (nalepkę) NFC do czytnika RFID/NFC i wykonaj polecenie:
yes N | nfc-mfultralight w mojaKartaNFC.mfd
Zapis danych na karcie zbliżeniowej (nalepce) NFC w konsoli systemowej przedsta-wiony jest na rysunku 12.5.
Rysunek 12.5. Zapis danych na karcie zbliżeniowej (nalepce) NFC w konsoli systemowej
Zapis na karcie (nalepce) NFC został pomyślnie wykonany. Zwróć uwagę, że pod-czas zapisu system udzielił automatycznych odpowiedzi (przez polecenie yes N),co znacznie przyspieszyło proces.
Poleć książkęKup książkę
145
Dla pewności sprawdź, czy zapis na karcie został wykonany prawidłowo.
Przyłóż kartę (nalepkę) NFC do czytnika RFID/NFC i wykonaj polecenie:
nfc-mfultralight r mojaKartaNFC.mfd
Zdekoduj informację poleceniem:
xxd mojaKartaNFC.mfd
Powinna zostać wyświetlona następująca informacja:
0000000: 0416 7ae0 32ed 4c80 1348 0000 e110 1200 ..z.2.L..H......0000010: 4e46 4320 6e61 206d 696e 696b 6f6d 7075 NFC na minikompu0000020: 7465 727a 6520 4f6d 6567 6132 2100 0000 terze Omega2!...0000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
Problem z dostępem do modułu RFID/NFCPodczas korzystania z rozszerzenia RFID & NFC Expansion może się zdarzyć, że wy-konanie polecenia odczytu lub zapisu nie zakończy się prawidłowo, co w konse-kwencji uniemożliwi dalszą pracę. Ponowne wykonanie jakiegokolwiek poleceniaspowoduje wyświetlenie komunikatu o wystąpieniu problemu (rysunek 12.6).
Rysunek 12.6. Komunikat o braku dostępu do rozszerzenia RFID & NFC Expansion
Przyczyną wystąpienia problemu może być uruchomiony już proces skanowaniaw narzędziu RFID Reader, który zajmuje port szeregowy /dev/ttyS1.
W sytuacji, kiedy pomimo wyłączenia skanowania nadal nie jest możliwy dostęp domodułu RFID & NFC Expansion, wykonaj następujące polecenia:
opkg updateopkg install screen
Uruchom narzędzie screen poleceniem:
screen /dev/ttyS1
a następnie zamknij je kombinacją klawiszy Ctrl+a+k.
Aktywny proces, który blokuje dostęp do czytnika RFID/NFC, powinien zostaćzatrzymany.
Poleć książkęKup książkę
146
RFID/NFC, OLED i RELAY w języku PythonCiekawym pomysłem wykorzystania rozszerzenia RFID & NFC Expansion może byćukład elektryczny przełączający napięcie w obwodzie zaufaną kartą zbliżeniową.
Zmontuj układ przedstawiony w rozdziale 8. „RELAY, przełączanie napięcia”,w podrozdziale „RELAY w praktyce”, a także dodatkowo wepnij do 30-pinowegozłącza kolejno moduły RFID & NFC Expansion i OLED Expansion. Zmontowany układz RFID & NFC Expansion, Relay Expansion, OLED Expansion i diodą LED przed-stawiony jest na rysunku 12.7.
Rysunek 12.7. Układ z RFID & NFC Expansion, Relay Expansion, OLED Expansion i diodą LED
Elementy układu:
minikomputer Omega2 oraz moduł rozszerzający, np. Expansion Dock,
moduł rozszerzający RFID & NFC Expansion,
moduł rozszerzający Relay Expansion,
moduł rozszerzający OLED Expansion,
płytka stykowa,
dioda LED,
rezystor 220 Ω,
zasilanie 3 V (2 baterie 1,5 V AA lub AAA),
przewody połączeniowe męsko-męskie.
Poleć książkęKup książkę
147
Odczytaj unikatowy numer UID karty (nalepki) NFC, ponieważ wykorzystasz gow programie obsługującym zmontowany układ. Możesz użyć narzędzia RFID Reader,dostępnego w aplikacji OnionOS.
Zainstaluj oprogramowanie wraz z bibliotekami programistycznymi:
opkg updateopkg install python3-lightopkg install python3-onion-i2c python3-oled-exp python3-relay-expopkg install nfc-exp nfc-utils
Utwórz w edytorze tekstowym vi plik nfc.py:
vi /root/nfc.py
i przepisz poniższy kod w języku Python (listing 12.1).
Listing 12.1 Plik nfc.py
# import modułów RELAY i OLEDfrom OmegaExpansion import oledExpfrom OmegaExpansion import relayExpimport subprocess, time
addrRelay = 7 # adres I2C urządzenia od 0 (0x20) do 7 (0x27)channelRelay = 0 # numer przekaźnika 0 lub 1acceptedUids = ['04167a32ed4c80'] # zaufane UID identyfikatorów
# inicjacja modułów rozszerzających OLED i RELAYdef initial_setup(): status_oled = oledExp.driverInit() status_relay = relayExp.driverInit(addrRelay) check = relayExp.readChannel(addrRelay, channelRelay) if check == 1: relay_off() return
# włącz przekaźnikdef relay_on(): relayExp.setChannel(addrRelay, channelRelay, 1) # 1 - włączenie return
# wyłącz przekaźnikdef relay_off(): relayExp.setChannel(addrRelay, channelRelay, 0) # 0 - wyłączenie return
# włącz przekaźnik, a następnie po 5 sekundach wyłącz# wyświetl UID karty (nalepki) NFC na ekranie OLEDdef access(uid): oledExp.write("UID: " + uid) relay_on() time.sleep(5) relay_off() oledExp.clear() return
Poleć książkęKup książkę
148
def __main__(): initial_setup() while 1: # odczytaj UID karty i wstaw do zmiennej cmd cmd = "nfc-list | grep UID | sed -e 's/ //g' -e 's/^.*://'" uid = subprocess.check_output(cmd, shell=True) uid = uid.decode('utf-8').rstrip('\n') # sprawdź, czy UID jest zaufany for acceptedUid in acceptedUids: if(acceptedUid == uid): access(uid)
if __name__ == '__main__':
__main__()
Uruchom kod poleceniem:
python3 /root/nfc.py
Po uruchomieniu się programu przyłóż zaufaną kartę (nalepkę) NFC do czytnikaRFID/NFC. Dioda LED powinna się zaświecić i po 5 sekundach zgasnąć. Dodatkowonumer UID zostanie wyświetlony na ekranie OLED. W trakcie pracy programu na kon-soli systemowej będę drukowane komunikaty o stanie przekaźników (rysunek 12.8).Zamiast diody możesz wykorzystać elektryczny zamek do drzwi i w ten sposóbsterować dostępem do pomieszczeń w domu lub w biurze.
Rysunek 12.8. Sterowanie obwodem elektrycznym za pomocą karty (nalepki) NFC
Poleć książkęKup książkę
185
Skorowidz
AADC, 31, 37, 75
Expansion, 100cena, 31czujnik natężeniaświatła, 103
czujnik temperatury,103
parametry techniczne,24
schemat modułu, 100w języku Python, 105w konsoli graficznej, 101w konsoli systemowej,
101adres
I2C, 108IP, 34WWW, 34
aktualizacjafirmware’u, 38, 71strefy czasowej, 40
akumulator LiPo, 20aplikacja
Blynk, 166Code Editor, 37Legacy Console, 37, 43,
52NFC-RFID Expansion, 37OnionOS, 19, 36Power Dock 2, 37PuTTY, 37Sensor Monitor, 37Sparkfun, 37
Terminal SSH, 40Timelapse Camera, 37
Arduino, 153pierwszy program, 156
Arduino Dock R2, 21–23,32, 75, 153, 154
cena, 31parametry techniczne,
21Arduino IDE, 21
instalacja, 154konfiguracja, 154połączenie z
minikomputerem, 154w konsoli systemowej,
158wgrywanie programu,
157, 159Arduino Uno, 154Arduino Uno R3, 21, 153ATmega328P, 21, 22AVR, 153avrdude, 159
Bbiblioteka Onion Omega2,
78biblioteki PHP, 78BLE Expansion, 29, 149
Patrz także Bluetoothcena, 31konfiguracja, 149, 150
parametry techniczne,30
Bluetooth, 15, 28–30parowanie urządzeń,
149problemy z
połączeniem, 152test połączenia, 152
Blynk, 37, 166instalacja
oprogramowania, 167status połączenia, 168tworzenie projektu, 167zarządzanie IoT, 166zmiana stanu pinu, 169
Breadboard Dock, 21, 32,44
cena, 31
CC/C++, 71, 82
kompilacja kodu, 82, 83certyfikat SSL, 163, 165CGI, Common Gateway
Interface, 88Code Editor, 37, 41, 42cron, 173Cross-Compiling, 178, 181CSR, Certificate Signing
Request, 164częstotliwość, frequency,
116
Poleć książkęKup książkę
186
czujniknatężenia światła, 103temperatury, 103
Ddane
ATQA, 142SAK, 142
DHCP, Dynamic HostConfiguration Protocol,134
diodaLED RGB, 17Omega2 LED, 51, 52
Dock, 149, 170Docker, 178dostęp
do minikomputera, 33do modułu RFID/NFC,
145do plików, 161
Eedytor kodu, 41
vi, 62ejabberd, 175ekran OLED, 93Erlang, 10, 89, 90
instalacja, 175Ethernet, 131Ethernet Expansion, 27,
131cena, 31parametry techniczne,
28Expansion Dock, 16, 23,
31, 54cena, 31parametry techniczne,
17
Ffast-gpio, 49
opcje narzędzia, 48firmware, 38, 70folder sieciowy, 162format
HEX, 158MFD, 143, 144NDEF, 141
formatowanie partycji, 67funkcje
pinów, 51sieciowe, 132
Ggenerowanie
certyfikatu SSL, 165pliku CSR, 164
Git, 73, 181gniazdo JST-PH, 33GPIO, General-Purpose
Input/Output, 14–17, 30,44–48, 55, 75, 81, 153
piny, 46Tool, 52–54
gpioctl, 47opcje narzędzia, 47
GPS, Global PositioningSystem, 15, 125
antena, 130Expansion, 11, 27, 125
cena, 31parametry techniczne,
27rozszerzenie Arduino
Dock 2, 128w języku PHP, 127w konsoli systemowej,
125grupy pinów, 50
Hhasło, 35
II2C, Inter-Integrated
Circuit,, 15, 21–26, 45,75, 108
I2S, Inter-IC Sound, 15, 45ICSP, 22identyfikacja
bezprzewodowa, 140karty NFC, 142
identyfikatorUID, 141UUID, 60, 63
informacjeo karcie microSD, 64–67o pamięci masowej, 61,
64o pamięci USB, 62o stanie pinów GPIO, 56
instalacjaArduino IDE, 154biblioteki, 79Erlang, 175klienta mcabber, 176konsoli, 40Minecraft, 181modułu, 77Node.js, 76OpenSSL, 163oprogramowania Blynk,
167pakietu, 75, 77PHP, 78Samby, 160
instalator, 35interfejs
eth0, 137lan, 134
Poleć książkęKup książkę
187
sieciowy eth0, 131SPI, 75szeregowy UART, 29wan, 134
interfejsy komunikacyjne,46
IoT, internet rzeczy, 9zdalne zarządzanie, 166
JJamVM, Java Virtual
Machine, 86język
C, 82C++, 82Erlang, 89Perl, 87Python, 74Ruby, 90
JST-PH, 18, 19, 33
Kkarta
microSD, 57, 58, 64Mifare, 140
Classic, 141dane ATQA, 142dane SAK, 142Ultralight, 141–144
klient, 132konfiguracja
interfejsów, 132mcabber, 176, 177udostępnianie sieci, 133
klucz prywatny, 164kompilacja kodu
w C, 82w C++, 83w Javie, 86
konfiguracjaArduino IDE, 154DHCP, 135interfejsu sieciowego,
137karty sieciowej, 134narzędzia mjpg-
streamer, 172obsługi PHP 7, 80partycji, 59połączenia
mostkowego, 138rutingu, 137Samby, 160serwera Minecraft, 182sieci bezprzewodowej,
38, 136, 138systemu, 68szyfrowania, 136w konsoli systemowej,
37w przeglądarce, 35
konsola graficznaADC, 101OLED, 92PWM, 117RELAY, 108RFID/NFC, 140WEBCAM, 170
konsola systemowa, 43ADC, 101Arduino IDE, 158GPS, 125OLED, 93PWM, 118RELAY, 109RFID/NFC, 141WEBCAM, 171
kontrola pracy urządzeń,116
LLAN, Local Area Network,
131LED RGB, 17, 32LEDE, Linux Embedded
DevelopmentEnvironment, 70–73, 85-90
dołączenierepozytoriów, 72
Legacy Console, 37, 40–43,52
login, 35
Mmagistrala I2C, 26, 75mcabber
instalacja klienta, 176menedżer pakietów pip, 74microSD, 58
informacje o karcie, 64–67
montowanie, 59partycja swap, 66pliki systemowe, 68
microSD/USB, 63Minecraft
instalacja serwera, 181konfiguracja serwera,
182uruchomienie serwera,
183Mini Dock, 20, 21, 32
cena, 31parametry techniczne,
20, 21MIPS, Microprocessor
without Interlocked PipedStages, 14, 15, 73
mjpg-streamer, 171
Poleć książkęKup książkę
188
modułADC Expansion, 100Arduino Dock R2, 153BLE Expansion, 149Breadboard Dock, 44Ethernet Expansion,
131GPS Expansion, 125node-oled-exp, 77node-pwm-exp, 77node-relay-exp, 77Relay Expansion, 107RFID & NFC Expansion,
140moduły rozszerzające, 23monitoring, 170montaż minikomputera, 32most, bridge, 131, 138
konfiguracjapołączenia
mostkowego, 138sieci bezprzewodowej,
138
Nnarzędzie
adc-exp, 101, 102Arduino IDE, 155, 156avrdude, 159bluetoothctl, 150Docker, 178Code Editor, 41, 42fast-gpio, 48, 49fswebcam, 170–174GPIO Tool, 52–54gpioctl, 47hcitool, 152mjpg-streamer,
170–173OLED Control, 92oled-exp, 93–97OpenSSL, 163
opkg, 70PWM Control, 117pwm-exp, 49, 118Relay Control, 108relay-exp, 109, 110RFID Reader, 140, 141Sensor Monitor, 102ubus, 126uvcdynctrl, 171Webcam, 170xxd, 144
nawiązanie połączenia, 34nawigacja satelitarna,
Patrz GPS, 125NDEF, NFS Data Exchange
Format, 141NFC, Near Field
Communication, 15, 28,140
format MFD, 143, 144identyfikacja karty, 142modyfikacja danych,
144narzędzie xxd, 144odczyt danych, 143odczyt identyfikatora
UID, 141skanowanie urządzeń,
142sterowanie obwodem
elektrycznym, 148zapis danych, 144
Node.js, 76, 77instalacja, 76moduły, 77
Oobsługa
Arduino Dock R2, 154,155
GPIO, 81
interfejsu eth0, 137języka Perl, 88kamery internetowej,
170NFC, 141OLED Expansion, 182
OLED, Organic Light-Emitting Diode, 10, 23,72–79, 85, 92
Control, 92Expansion, 23, 72, 76,
79, 85, 92cena, 31instalacja biblioteki,
72obsługa, 182oprogramowanie, 72parametry techniczne,
23wtyczka, 182
w językuC, 97PHP, 97, 127Python, 97, 146
w konsoli graficznej, 92w konsoli systemowej,
93zarządzanie ekranem,
92oled-exp, 84Omega2, 14
LED, 51, 52LTE, 14, 31, 184Pro, 14, 31, 76, 184
OnionCloud, 37Corporation, 14
OnionOS, 19, 36, 40opcje narzędzia
adc-exp, 102oled-exp, 95pwm-exp, 118relay-exp, 109
Poleć książkęKup książkę
189
OpenSSLinstalacja, 163
OpenWRT/LEDE, 70oprogramowanie
sprzętowe, firmware, 38,70
Ppakiet
oled-qr-code-generator,76
onion-omega-oled, 77pyOledExp, 74pyOmegaArduinoDock,
75pyOnionGpio, 75pyOnionI2C, 75pyOnionSpi, 75pyPwmExp, 74pyRelayExp, 74python3-adc-exp, 75python3-oled-exp, 75python3-onion-i2c, 75python3-pwm-exp, 75python3-relay-exp, 75python-adc-exp, 75
pakietyinstalacja, 75, 76LEDE, 72w języku Python 2.7, 74w języku Python 3, 75
pamięćflash, 58, 61masowa, 57montowanie, 61
parametry techniczneADC Expansion, 24Arduino Dock R2, 21Breadboard, 21Ethernet Expansion, 28Expansion Dock, 16
GPS Expansion, 27Mini Dock, 20OLED Expansion, 23Power Dock 2, 18Relay Expansion, 25RFID & NFC Expansion,
29Servo Expansion, 26
partycje, 60formatowanie, 67tworzenie, 65typu swap, 58, 63, 66
pendrive, 61Perl, 87-89
konfiguracja obsługijęzyka, 88
PHP, 14, 78—81PHP 7, 78
biblioteka OnionOmega2, 78
instalacja, 78obsługa GPIO, 81obsługa języka, 80
piny, 44GPIO, 45grupowanie, 50zmienianie funkcji, 51informacje o stanie, 56narzędzie
fast-gpio, 48gpioctl, 47
plikadc.py, 105blynk.js, 167fstab, 59, 62gps.php, 128nfc.py, 147oled.c, 84oled.sh, 95pwm.c, 120
pwm.php, 123relay.c, 112relay.php, 114relay.py, 113
pliki CSR, 164podłączenie
czujnika temperatury,103
diody LED, 54obwodu elektrycznego,
111serwomechanizmu, 120
poleceniebluetoothctl, 150d, 65df -h, 58, 61, 63discoverable on, 150F, 65fdisk, 67firstboot -y, 43free, 65hciconfig -a, 149ipconfig, 134make, 179n, 65opkg update, 40OPKG, 70oupgrade, 38oupgrade, 70pairable on, 150reboot, 43scan off, 151scan on, 150sync, 43t, 66w, 67wifisetup, 38
połączenie, 34mostkowe, 139
port JST-PH, 19
Poleć książkęKup książkę
190
Power Dock 2, 18, 23, 32, 37cena, 31parametry techniczne,
18
stan akumulatora, 19Proto Expansion, 30
cena, 31protokół
DHCP, 134UART, 44
przełączanie napięcia, 107przetwornik analogowo-
cyfrowy, 100przycisk Reset, 43punkt dostępowy Wi-Fi,
137PuTTY, 37PWM, Pulse-Width
Modulation, 11, 15, 23,45–49, 74–77, 116, 119
Control, 117podłączenie
serwomechanizmu,120
PWM26, 46, 116w języku
C, 120PHP, 123Python, 122
w konsoli systemowej,118
pwm.py, 122pwm-exp, 49, 77Python, 14, 55, 74–76, 84Python 2.7, 74Python 3, 75
QQR Code, 76Qwiic Expansion, 184
RRELAY, 74–77, 107, 110
adres I2C, 108cena, 31Control, 108Expansion, 11, 25, 75,
107obwód elektryczny, 111parametry techniczne,
25schemat modułu, 107w języku
C, 112PHP, 114Python, 113, 146
w konsoligraficznej, 108systemowej, 109
repozytoria LEDE, 73resetowanie
minikomputera, 41, 58ustawień, 43
RFID, Radio-frequencyidentification, 28, 140
RFID/NFC, 37Expansion, 28
cena, 31parametry techniczne,
29dostęp do modułu, 145Reader, 140, 141w języku Python, 146w konsoli graficznej,
140w konsoli systemowej,
141rozmiar partycji, 60Ruby, 90, 91ruter, router, 131, 136
konfiguracjainterfejsu sieciowego,
137
rutingu, 137sieci bezprzewodowej,
136szyfrowanie, 136
ruting, 137
SSamba, 160
dostęp do plików, 161instalacja, 160konfiguracja, 160
Sensor Monitor, 37, 102Servo (PWM) Expansion,
26, 77, 116, Patrz takżePWM
cena, 31parametry techniczne,
26serwer, 134
ejabberd, 175konfiguracja
DHCP, 135interfejsów, 134
komunikacyjny Jabber,175
Minecraft, 181plików, 160WWW, 80
siećbezprzewodowa, 38LAN, 131przewodowa, 131Wi-Fi, 133
skanowaniesieci Wi-Fi, 38urządzeń
Bluetooth, 151NFC, 142
slot na kartę, 57Sparkfun, 37
Poleć książkęKup książkę
191
SPI, Serial PeripheralInterface, 15, 23, 44–46,75
SSH, Secure Shell, 37, 109SSL, Secure Socket Layer,
163generowanie
certyfikatów, 163,165
sterowanie diodą, 51system
kontroli wersji, Git, 73,181
operacyjny LEDE, 70plików ext4, 59wbudowany,
embedded system,70, 178
szyfrowanie, 136połączenia WWW, 163WPA2, 137
Śśrodowisko
programistyczne Node.js,76
TTerminal SSH, 40Timelapse Camera, 37toolchain, 178tworzenie partycji, 65
UUART, Universal
Asynchronous Receiverand Transmitter, 15, 21,23, 29, 44–46
ubus, 126udostępnianie sieci, 133USB, 61USB-to-Serial, 16, 20, 32,
36, 39ustawienia fabryczne, 43,
58UUID, Universally Unique
Identifier, 60, 63uvcdynctrl, 171
WWEBCAM, 170–172Wi-Fi, 133wirtualna maszyna Javy, 85WPA2, Wi-Fi Protected
Access II, 136wypełnienie, duty cycle,
116wyświetlanie
plików graficznych, 97usług, 126
XXMPP, Extensible
Messaging and PresenceProtocol, 10, 90, 175
klient mcabber, 176panel administracyjny,
177
Zzapis migawek, 173zarządzanie
ekranem OLED, 92IoT, 166kamerą, 171
zasilanie, 116zdalne zarządzanie IoT, 166zdalny monitoring, 170złącze
30-pinoweinterfejsy, 45zakresy napięć, 45
JST-PH, 18
Poleć książkęKup książkę