Содержание |
страница |
Про автора |
15 |
Про зображення на обкладинці |
16 |
Вступ |
17 |
Прийняті умовні позначення |
18 |
Приклади вихідних кодів |
19 |
Чекаємо ваших відгуків! |
20 |
Глава 1. Налагодження та підготовка до роботи |
21 |
Вступ |
21 |
1.1. Вибір моделі |
21 |
1.2. Корпус |
23 |
1.3. Джерело живлення |
25 |
1.4. Вибір операційної системи |
28 |
1.5. Запис операційної системи на карту пам'яті |
29 |
1.6. Монтаж обладнання |
31 |
1.7. Підключення монітора |
33 |
1.8. Підключення до входу композитного відеосигналу |
33 |
1.9. Зміна розміру екрана |
35 |
1.10. Збільшення продуктивності |
37 |
1.11. Зміна пароля |
39 |
1.12. Запуск графічного інтерфейсу |
40 |
1.13. Завершення роботи |
41 |
1.14. Підключення модуля камери |
43 |
1.15. Установка адаптера Bluetooth |
46 |
Глава 2. Робота в мережі |
49 |
Вступ |
49 |
2.1. Дротове підключення до мережі |
49 |
2.2. Визначення IP-адреси плати Raspberry Pi |
51 |
2.3. Призначення статичного IP-адреси для Raspberry Pi |
53 |
2.4. Мережеве ім'я Raspberry Pi |
55 |
2.5. Установка бездротового з'єднання з Raspberry Pi |
56 |
2.6. Підключення до комп'ютера за допомогою консольного кабелю |
59 |
2.7. Віддалене управління Raspberry Pi через SSH |
62 |
2.8. Віддалене управління Raspberry Pi через VNC |
64 |
2.9. Віддалене управління Raspberry Pi за допомогою RDP |
66 |
2.10. Обмін файлами в мережі |
67 |
2.11. Управління робочим столом Raspberry Pi з Mac |
69 |
2.12. Raspberry Pi як мережеве сховище даних |
71 |
2.13. Управління мережевим принтером з Raspberry Pi |
74 |
Глава 3. Операційна система |
77 |
Вступ |
77 |
3.1. Графічний режим |
77 |
3.2. Виконання команд з терміналу |
78 |
3.3. Управління файлами з терміналу |
80 |
3.4. Копіювання файлу або каталогу |
83 |
3.5. Перейменування файлу або каталогу |
84 |
3.6. Редагування файлу |
85 |
3.7. Перегляд файлу |
88 |
3.8. Створення файлу без використання редактора |
88 |
3.9. Створення каталогу |
89 |
3.10. Видалення файлу або каталогу |
90 |
3.11. Повноваження суперкористувача |
91 |
3.12. Права доступу до файлів |
92 |
3.13. Зміна прав доступу до файлу |
94 |
3.14. Зміна власника файлу |
95 |
3.15. Отримання знімка екрана |
96 |
3.16.Установка програмного забезпечення: утиліта apt-get |
97 |
3.17. Видалення програмного забезпечення |
98 |
3.18. Установка пакетів Python: менеджер пакетів Pip |
99 |
3.19. Завантаження файлів з командного рядка |
100 |
3.20. Завантаження коду з git-репозиторіїв |
101 |
3.21. Автоматичний запуск програми або сценарію при завантаженні системи |
102 |
3.22. Автоматичний запуск програми як служби |
102 |
3.23. Автоматичний запуск програми або сценарію за розкладом |
104 |
3.24. Пошук файлів |
106 |
3.25. Журнал командного рядка |
107 |
3.26. Диспетчер завдань |
108 |
3.27. Архівування файлів |
111 |
3.28. Перегляд підключених пристроїв |
112 |
3.29. Збереження вмісту командного рядка в файл |
112 |
3.30. Об'єднання файлів |
113 |
3.31. Конвеєр |
114 |
3.32. Приховування результатів виконання команди |
114 |
3.33. Запуск програми у фоновому режимі |
115 |
3.34. Швидкий запуск програм |
116 |
3.35. Установка дати і часу |
117 |
3.36. Визначення вільного місця на карті пам'яті |
117 |
Глава 4. Програмне забезпечення |
119 |
Вступ |
119 |
4.1. Створення мультимедійного центру |
119 |
4.2. Установка офісних додатків |
121 |
4.3. Установка сторонніх браузерів |
123 |
4.4. Магазин Raspberry Pi |
125 |
4.5. Створення сервера з веб-камерою |
126 |
4.6. Емулятор старих консольних відеоігор |
128 |
4.7. Minecraft на Raspberry Pi |
130 |
4.8. Створення сервера Minecraft |
132 |
4.9. Запуск Open Arena |
135 |
4.10. Радіопередавач |
136 |
4.11. Графічний редактор GIMP |
138 |
4.12. Інтернет-радіо |
139 |
Глава 5. Мова програмування Python |
141 |
Вступ |
141 |
5.1. Python 2 або Python 3 |
141 |
5.2. Редагування програм в інтегрованому середовищі розробки |
142 |
5.3. Виконання команд Python на консолі |
145 |
5.4. Запуск програм Python з терміналу |
146 |
5.5. Змінні |
147 |
5.6. Вивід значень |
148 |
5.7. Отримання даних від користувача |
148 |
5.8. Математичні обчислення |
149 |
5.9. Робота з рядками |
150 |
5.10. Об'єднання (конкатенація) рядків |
151 |
5.11. Перетворення чисел в рядки |
152 |
5.12. Перетворення рядків у числа |
153 |
5.13. Визначення довжини рядка |
154 |
5.14. Визначення положення рядка в іншому рядку |
154 |
5.15. Витяг частини рядка |
155 |
5.16. Заміна символів всередині рядка |
156 |
5.17. Зміна регістру символів рядка |
157 |
5.18. Умовне виконання команд |
158 |
5.19. Порівняння значень |
159 |
5.20. Логічні оператори |
160 |
5.21. Повторне виконання інструкцій задану кількість разів |
161 |
5.22. Виконання циклу за умовою |
162 |
5.23. Переривання циклу за умовою |
163 |
5.24. Оголошення функції |
164 |
Глава 6. Списки і словники Python |
167 |
Вступ |
167 |
6.1. Створення списку |
167 |
6.2. Робота з елементами списку |
168 |
6.3. Довжина списку |
169 |
6.4. Додавання елементів до списку |
169 |
6.5. Видалення елементів списку |
170 |
6.6. Створення списку з рядка |
171 |
6.7. Обробка елементів списку |
172 |
6.8. Індексація елементів списку |
172 |
6.9. Сортування списку |
173 |
6.10. Урізання списку |
174 |
6.11. Застосування функції до списку |
175 |
6.12. Створення словника |
176 |
6.13.Доступ до записів словника |
178 |
6.14. Видалення записів зі словника |
179 |
6.15. Обробка даних словника |
179 |
Глава 7. Спеціальні можливості Python |
181 |
Вступ |
181 |
7.1. Форматування чисел |
181 |
7.2. Формати дати і часу |
182 |
7.3. Повернення кількох значень |
183 |
7.4. Визначення класу |
184 |
7.5. Визначення методу |
186 |
7.6. Спадкування |
187 |
7.7. Запис в файл |
188 |
7.8. Читання файлу |
189 |
7.9. Серіалізация даних |
190 |
7.10. Обробка винятків |
191 |
7.11. Програмні модулі (бібліотеки) |
193 |
7.12. Випадкові числа |
194 |
7.13. Веб-запит |
195 |
7.14. Аргументи, передані з командного рядка |
196 |
7.15. Виконання команд Linux з Python |
197 |
7.16. Відправлення електронної пошти з Python |
198 |
7.17. Простий веб-сервер, написаний на Python |
199 |
7.18. Многопоточність |
201 |
7.19. Призупинення дій |
202 |
7.20. Python і Minecraft |
203 |
Глава 8. Машинний зір |
207 |
Вступ |
207 |
8.1. Програмне забезпечення для машинного зору |
207 |
8.2. Налаштування камери, підключеної до USB-порту |
208 |
8.3. Налаштування модуля камери |
210 |
8.4. Підрахунок монет |
212 |
8.5. Розпізнавання облич |
216 |
8.6. Виявлення руху |
219 |
8.7. Оптичне розпізнавання тексту |
222 |
Глава 9. Огляд обладнання |
225 |
Вступ |
225 |
9.1. Інтерфейс GPIO |
225 |
9.2. Безпечна робота з виводами GPIO |
228 |
9.3. Налаштування інтерфейсу I2C |
230 |
9.4. Перевірка I2C-підключення |
232 |
9.5. Налаштування інтерфейсу SPI |
234 |
9.6. Управління послідовним портом: бібліотека PySerial |
234 |
9.7. Тестування послідовного порту: утиліта Minicom |
235 |
9.8. Макетна плата і перемички |
237 |
9.9. Підключення виводів GPIO до макетної платі за допомогою шлейфа |
238 |
9.10. Підключення світлодіода до порту GPIO |
241 |
9.11. Підключення кнопки до виводів GPIO |
243 |
9.12. Зміна рівня сигналу з 5 до 3.3 В |
244 |
9.13. Зміна рівня сигналів за допомогою багатоканального перетворювача |
246 |
9.14. Живлення від блоку батарей |
247 |
9.15. Живлення від літій-полімерних акумуляторів |
250 |
9.16. Зосередження датчиків: модуль Sense HAT |
252 |
9.17. Модуль Explorer HAT Pro |
254 |
9.18. Модуль RaspiRobot Board V3 |
256 |
9.19. Макетна плата Pi Plate |
258 |
9.20. Створення інтерфейсної плати стандарту HAT |
263 |
9.21. Raspberry Pi Compute Module |
266 |
9.22. Raspberry Pi Zero |
268 |
Глава 10. Робота із зовнішнім обладнанням |
271 |
Вступ |
271 |
10.1. Підключення світлодіода |
271 |
10.2. Захист висновків GPIO від пошкодження |
274 |
10.3. Зміна яскравості світлодіода |
275 |
10.4. Зумер |
278 |
10.5. Управління живленням потужних пристроїв постійного струму за допомогою транзистора |
280 |
10.6. Управління живленням потужних пристроїв за допомогою реле |
282 |
10.7. Управління пристроями високої напруги |
285 |
10.8. Інтерфейс для пристроїв перемикання живлення |
287 |
10.9. Інтерфейс для генерації ШІМ-сигналу |
289 |
10.10. Зміна кольору світлодіода |
290 |
10.11. Управління масивом світлодіодів (чарліплексінг) |
294 |
10.12. Вольтметр як пристрій виводу |
297 |
10.13. Обробка переривань |
299 |
Глава 11. Двигуни |
303 |
Вступ |
303 |
11.1. Управління сервоприводом |
303 |
11.2. Підвищення стабільності ШІМ-сигналу |
308 |
11.3. Одночасне управління декількома сервоприводами |
310 |
11.4. Зміна швидкості обертання валу двигуна |
314 |
11.5. Зміна напрямку обертання валу двигуна |
316 |
11.6. Однополярний кроковий двигун |
322 |
11.7. Біполярний кроковий двигун |
326 |
11.8. Управління біполярним кроковим двигуном за допомогою модуля Stepper Motor HAT |
328 |
11.9. Управління біполярним кроковим двигуном за допомогою модуля RaspiRobot Board V3 |
331 |
11.10. Автоматизований робот |
333 |
Глава 12. Цифрові входи |
339 |
Вступ |
339 |
12.1. Підключення кнопки |
339 |
12.2. Обробка натискань кнопки |
342 |
12.3. Двохпозиційний або ползунковий перемикач |
344 |
12.4. Трьохпозиційний перемикач |
345 |
12.5. Брязкіт контактів |
349 |
12.6. Зовнішній підтягаючий резистор |
351 |
12.7. Датчик кута повороту (поворотний регулятор) |
353 |
12.8. Цифрова клавіатура |
356 |
12.9. Розпізнавання руху |
360 |
12.10. Підключення GPS-модуля |
362 |
12.11. Обробка натискань клавіш |
365 |
12.12. Розпізнавання рухів мишею |
368 |
12.13. Модуль годин реального часу |
369 |
Глава 13. Датчики |
375 |
Вступ |
375 |
13.1. Резистор як датчик |
375 |
13.2. Датчик світла |
380 |
13.3. Термістор і температура |
383 |
13.4. Датчик метану |
387 |
13.5. Вимірювання напруги |
390 |
13.6. Зниження вимірюваної напруги |
393 |
13.7. Резистивні датчики |
396 |
13.8. Вимірювання температури за допомогою АЦП |
398 |
13.9. Вимірювання температури процесора Raspberry Pi |
400 |
13.10. Модуль Raspberry Pi Sense HAT |
401 |
13.11. Вимірювання температури цифровим датчиком DS18B20 |
404 |
13.12. Підключення акселерометра за допомогою мікросхеми MCP3008 |
407 |
13.13. Інерційних вимірювальний блок Sense HAT |
410 |
13.14. Знаходження північного магнітного полюса |
412 |
13.15. Визначення магнітного поля герконовим реле |
413 |
13.16. Визначення наявності магніту за допомогою Sense HAT |
415 |
13.17. Вимірювання відстані |
416 |
13.18. Ємнісні датчики дотику |
419 |
13.19. Відображення показань датчиків |
422 |
13.20. Збереження журналу показань датчика на USB-накопичувачі |
423 |
Глава 14. Дисплей |
427 |
Вступ |
427 |
14.1. Чотирирозрядний світлодіодний індикатор |
427 |
14.2. Матричний світлодіодний дисплей I2C |
430 |
14.3. Матричний світлодіодний дисплей Sense HAT |
432 |
14.4. Алфавітно-цифровий РК-дисплей модуля розширення |
435 |
14.5. Окремий алфавітно-цифровий РК-дисплей |
437 |
14.6. Графічний OLED-дисплей |
441 |
14.7. Кольорова світлодіодна стрічка |
444 |
Глава 15. Інтернет речей |
449 |
Вступ |
449 |
15.1. Управління виводами GPIO через веб-інтерфейс |
449 |
15.2. Відображення показань датчика на веб-сторінці |
455 |
15.3. Відправлення поштових та інших типів повідомлень за допомогою служби IFTTT |
458 |
15.4. Відправка твітів за допомогою служби ThingSpeak |
463 |
15.5. Проект Cheerlights |
465 |
15.6. Передача показань датчика в службу ThingSpeak |
467 |
15.7. Відповідь на твіти за допомогою служб Dweet і IFTTT |
470 |