E-book details

Inżynieria systemów internetu rzeczy. Sprzęt i oprogramowanie

Inżynieria systemów internetu rzeczy. Sprzęt i oprogramowanie

Wiktor Daszczuk, Krzysztof Gracki, Henryk A. Kowalski, Grzegorz Mazur, Andrzej Skorupski, Zbigniew Szymański

Ebook

Celem publikacji jest przedstawienie stosowanych aktualnie mikroukładów elektronicznych w systemach IoT. Przedstawiono w niej systemy mikroprocesorowe, w tym mikrokontrolery, pamięci i urządzenia we/wy. Przy opisie mikrokontrolerów zwrócono uwagę na ich podział na mikrokontrolery ogólnego przeznaczenia i mikrokontrolery specjalizowane. Zostały opisane standardy komunikacji pomiędzy modułami i stosowane protokoły, a także sposoby komunikacji z otoczeniem, a w szczególności komunikacja bezprzewodowa. Osobny rozdział poświecono wykorzystywanym w tych systemach czujnikom i urządzeniom wykonawczym. Szczególną uwagę zwrócono na metody zasilania systemów IoT. Jeden z rozdziałów poświęcono oprogramowaniu wykorzystywanemu w systemach IoT, zarówno używanemu przy projektowaniu i wykonywaniu oprogramowania, jak i służącemu jako środowisko dla docelowej aplikacji. Ostatni rozdział został przeznaczony prezentację narzędzi wykorzystywanych podczas prototypowania systemów ułatwiających ich projektowanie i modyfikację. Publikacja jest przeznaczona dla projektantów systemów IoT, ale także dla studentów i inżynierów, którzy chcą się zapoznać tą problematyką. Autorzy mają nadzieję, że zapoznanie się z treścią książki pomoże czytelnikom w ich pracach związanych z implementacją różnych systemów IoT.

Słowo wstępne 9

1. Wprowadzenie 13

1.1. Jednostki miary używane w informatyce 13

1.1.1. Jednostki informacji i ich krotności 13

1.1.2. Jednostki wydajności obliczeniowej 15

1.1.3. Jednostki wydajności energetycznej 16

1.2. Układy procesorowe stosowane w urządzeniach IoT 16

1.3. Komunikacja w sieciach IoT 17

1.4. Czujniki i urządzenia wyjściowe 19

1.5. Projektowanie urządzeń IoT 19

2. Mikrokontrolery 21

2.1. Budowa mikrokontrolera 21

2.2. Rdzenie procesorowe mikrokontrolerów 22

2.2.1. Rdzenie ARM Cortex-M 22

2.2.2. Rdzenie RISC-V 27

2.2.3. Rdzenie Extensa LX 27

2.2.4. Architektura ARC 28

2.3. Pamięci 29

2.3.1. Pamięci nieulotne 29

2.3.2. Pamięci ulotne 31

2.4. Moduły peryferyjne mikrokontrolerów 31

2.4.1. Cyfrowe wejścia-wyjścia 32

2.4.2. Timery – liczniki 32

2.4.3. Timery stróżujące 33

2.4.4. Zegar czasu rzeczywistego 33

2.4.5. Interfejsy komunikacyjne 33

2.4.6. Bloki analogowe i analogowo-cyfrowe 34

2.4.7. Sterowniki bezpośredniego dostępu do pamięci – DMA 35

2.4.8. Bloki szyfrujące i generatory sygnatur 35

2.4.9. Generatory liczb losowych 36

2.4.10. Interfejsy diagnostyczne 36

2.5. Wyjątki w mikrokontrolerach 37

2.5.1. Przerwania 37

2.5.2. Pułapki 39

2.5.3. Błędy 39

2.6. Mikrokontrolery uniwersalne 39

2.6.1. Mikrokontrolery 8- i 16-bitowe 40

2.6.2. Mikrokontrolery 32-bitowe z rdzeniami ARM Cortex-M 40

2.6.3. Inne mikrokontrolery 32-bitowe 41

2.7. Mikrokontrolery z blokami komunikacji radiowej 41

2.7.1. Architektury wielordzeniowe 42

2.7.2. Mikrokontrolery jednordzeniowe 43

2.7.3. Mikrokontrolery wielordzeniowe  44

3. Interfejsy i protokoły połączeń przewodowych 49

3.1. Interfejsy międzyukładowe 49

3.1.1. Szeregowy interfejs asynchroniczny 50

3.1.2. Interfejs SPI 53

3.1.3. Interfejsy DSPI, QSPI i OSPI 55

3.1.4. Interfejs TWI/I2C 56

3.1.5. Interfejs 1-Wire 59

3.1.6. Specjalizowane interfejsy szeregowe 61

3.2. Interfejsy międzysystemowe 64

3.2.1. Interfejs TIA(RS)-485 64

3.2.2. Protokół CAN 65

3.2.3. Interfejs USB 66

3.3. Protokoły transmisyjne 70

3.3.1. Protokół DMX512 70

3.3.2. Protokół MODBUS RTU 71

3.4. Standard IEEE1451 – protokół uniwersalnych przetworników 72

3.4.1. Koncepcja protokołu IEEE 1451 72

3.4.2. Rodzina standardów IEEE 1451 73

3.4.3. Informacje w zbiorze TDES 74

3.4.4. Oprogramowanie inteligentnych przetworników 75

3.4.5. Implementacja modułu 77

4. Moduły komunikacji radiowej 81

4.1. Proste łącza radiowe 82

4.2. Proste moduły Bluetooth 84

4.3. Moduły BLE 86

4.4. Moduły WiFi 87

4.4.1. Moduły z układami ESP8266 88

4.4.2. Moduły z układami ESP32 89

4.5. Moduły LoRa / LoRaWAN  89

4.5.1. Charakterystyka warstwy fizycznej LoRa 90

4.5.2. Architektura LoRaWAN 90

4.6. Moduły LTE-M oraz NB-IoT 92

4.7. Moduły GSM/GPRS/LTE 92

4.8. Moduły lokalizacyjne GNSS (GPS) 93

4.9. Lokalizacja w pomieszczeniach 94

5. Urządzenia wejściowe i czujniki środowiskowe 97

5.1. Przyciski, klawiatury i czujniki stykowe 97

5.2. Pomiar napięcia i natężenia prądu 98

5.2.1. Przetworniki analogowo-cyfrowe mikrokontrolerów 100

5.2.2. Układy przetworników analogowo-cyfrowych 100

5.2.3. Wzmacniacze pomiarowe prądu 102

5.3. Czujniki temperatury 104

5.3.1. Scalone czujniki temperatury 105

5.3.2. Układy scalone interfejsów do zdalnego pomiaru temperatury 106

5.3.3. Bezkontaktowy pomiar temperatury 107

5.4. Czujniki światła  108

5.4.1. Czujniki światła otoczenia 109

5.4.2. Czujniki koloru 111

5.5. Mikroelektromechaniczne czujniki sił i odkształceń 113

5.5.1. Czujniki przyspieszenia i prędkości obrotowej 114

5.5.2. Magnetometry 114

5.5.3. Czujniki ciśnienia 115

5.5.4. Wielofunkcyjne czujniki MEMS 116

5.6. Czujniki wilgotności względnej 118

5.7. Wagi i czujniki naprężeń 119

5.8. Czujniki zbliżeniowe (obecności) 119

5.9. Czujniki odległości 120

5.9.1. Czujniki ultradźwiękowe 120

5.9.2. Czujniki optyczne 120

5.10. Czujniki gazów 121

5.11. Czujniki pyłów 123

6. Urządzenia wyjściowe i wykonawcze 125

6.1. Źródła światła LED 125

6.2. Wyświetlacze informacji 127

6.2.1. Wyświetlacze LED 127

6.2.2. Wyświetlacze graficzne LCD 129

6.2.3. Wyświetlacze graficzne OLED 129

6.2.4. Wyświetlacze typu „papier cyfrowy” 130

6.3. Przetworniki dźwięku 130

6.4. Przekaźniki i klucze zasilania 131

6.5. Silniki i serwomechanizmy 133

6.5.1. Komutatorowe silniki prądu stałego 133

6.5.2. Bezkomutatorowe silniki prądu stałego 135

6.5.3. Silniki krokowe 136

6.5.4. Serwomechanizmy 137

7. Zasilanie urządzeń IoT 139

7.1. Sposoby zasilania urządzeń 139

7.1.1. Zasilanie zewnętrzne – sieciowe 139

7.1.2. Zasilanie bateryjne 139

7.1.3. Magazynowanie energii 140

7.1.4. Odnawialne źródła energii 140

7.1.5. Stabilizatory liniowe 141

7.1.6. Stabilizatory impulsowe 142

7.2. Oszczędzanie energii – zarządzanie poborem mocy 142

7.2.1. Dezaktywacja nieużywanych modułów 143

7.2.2. Energooszczędne tryby pracy układów – usypianie 143

7.2.3. Zasilanie mikrokontrolerów z blokami komunikacji radiowej 144

7.2.4. Dynamiczne monitorowanie zasilania w systemach internetu rzeczy 146

7.3. Pozyskiwanie energii z otoczenia 148

7.3.1. Pozyskiwanie energii słonecznej 148

7.3.2. Pozyskiwanie energii z fal radiowych 148

8. Oprogramowanie modułów i urządzeń 153

8.1. Systemy operacyjne 153

8.1.1. Architektura 160

8.1.2. Zarządzanie zadaniami 161

8.1.3. Zarządzanie pamięcią 164

8.1.4. Zarządzanie energią 166

8.1.5. System plików 167

8.1.6. Podsumowanie 167

8.2. Systemy programowania 168

8.2.1. Platformy rozwojowe IoT 169

8.2.2. Oprogramowanie i języki programowania 173

8.3. Oprogramowanie pośredniczące 175

9. Szybkie prototypowanie urządzeń internetu rzeczy 183

9.1. Użycie gotowego układu z mikrokontrolerem 185

9.1.1. Kryteria wyboru 185

9.1.2. Moduły uruchomieniowe z mikrokontrolerami 187

9.1.3. Moduły komunikacyjne ze złączem USB 189

9.1.4. Moduły czujnikowe 190

9.2. Użycie gotowego komputera jednopłytkowego 192

9.2.1. Komputer Raspberry PI 192

9.2.2. Komputer Intel Edison 195

9.3. Oprogramowanie wspomagające konfigurację – generatory aplikacji 198

9.3.1. Środowisko STM32CubeMX 198

9.3.2. Środowisko MPLAB X IDE 204

9.3.3. Środowisko programowe Code Composer Studio 208

9.3.4. Kreatory aplikacji IoT 213

9.3.5. Narzędzia do automatycznego projektowania płytek drukowanych 216

10. Podsumowanie 221

Literatura 223

Słownik pojęć i wykaz akronimów 239

 

  • Title: Inżynieria systemów internetu rzeczy. Sprzęt i oprogramowanie
  • Author: Wiktor Daszczuk, Krzysztof Gracki, Henryk A. Kowalski, Grzegorz Mazur, Andrzej Skorupski, Zbigniew Szymański
  • ISBN: 978-83-8156-270-6, 9788381562706
  • Date of issue: 2021-12-03
  • Format: Ebook
  • Item ID: e_29ao
  • Publisher: Oficyna Wydawnicza Politechniki Warszawskiej