|
Глава 1. Интернет вещей (вместо введения) |
9 |
|
Глава 2. Среда программирования Arduino IDE |
13 |
|
2.1. Установка Arduino IDE |
14 |
|
2.1.1. В ОС Windows |
14 |
|
2.1.2. В ОС Linux |
16 |
|
2.1.3. В Mac OS X |
17 |
|
2.2. Настройка Arduino IDE |
17 |
|
Глава 3. Среда разработки Fritzing |
21 |
|
3.1. Загрузка и установка среды Fritzing |
21 |
|
3.2. Главное окно среды Fritzing |
21 |
|
3.3. Создание схемы соединений |
24 |
|
3.4. Создание принципиальной схемы |
25 |
|
3.5. Добавление компонентов в среду Fritzing |
26 |
|
Глава 4. Arduino и аналоговые датчики |
29 |
|
4.1. Аналоговые датчики (сенсоры) |
29 |
|
4.2. Arduino и датчик температуры LM335 |
31 |
|
4.3. Arduino, Ethernet Shield/W5100 и облачные сервисы |
33 |
|
4.3.1. Отправка данных на сайт «Народный мониторинг» |
37 |
|
4.3.2. Чтение данных с фоторезистора |
43 |
|
4.3.3. Отправка данных в сервис ThingSpeak |
45 |
|
4.4. Arduino и инфракрасные датчики расстояния SHARP |
53 |
|
4.4.1. Подключение датчиков Sharp к Arduino |
55 |
|
4.4.2. Подсчет количества посетителей магазина |
57 |
|
4.4.3. Приложение ThingTweet сервиса ThingSpeak |
59 |
|
4.4.4. Отправка данных о количестве посетителей в Twitter из Arduino |
61 |
|
4.5. Arduino и датчики переменного тока SCT |
66 |
|
4.5.1. Подключение датчика SCT-013 Sharp к Arduino |
68 |
|
4.5.2. Отправка данных в сервис ThingSpeak |
71 |
|
4.6. Arduino и счетчик расхода воды |
76 |
|
4.6.1. Счетчик воды Бетар СГВ-15Д |
77 |
|
4.6.2. Подключение счетчика к плате Arduino |
78 |
|
4.6.3. Отправка данных о расходе воды в «облако» |
79 |
|
Глава 5. Использование Arduino в качестве контроллера исполнительных устройств |
83 |
|
5.1. Arduino и электромагнитное реле |
83 |
|
5.1.1. Электромагнитное реле |
83 |
|
5.1.2. Устройство и принцип работы электромагнитного реле |
84 |
|
5.1.3. Подключение реле к Arduino |
85 |
|
5.2. Arduino и твердотельное реле |
87 |
|
5.3. Arduino и диммер |
88 |
|
5.3.1. Диммер |
88 |
|
5.3.2. Подключение диммера к Arduino |
89 |
|
5.3.3. Скетч управления диммером |
90 |
|
5.4. Arduino и сервоприводы |
92 |
|
5.4.1. Принципы управления сервоприводами |
93 |
|
5.4.2. Управление сервоприводом c помощью Arduino |
95 |
|
5.5. Arduino и библиотека TinyWebServer |
97 |
|
5.5.1. Использование файлов с SD-карты для формирования веб-страниц |
98 |
|
5.5.2. Включение/выключение реле с веб-страницы |
99 |
|
5.5.3. Веб-cтраница для управления реле |
100 |
|
5.5.4. Веб-страница для управления сервоприводом |
105 |
|
Глава 6. Arduino и устройства I2C |
109 |
|
6.1. Обзор протокола I2C |
109 |
|
6.2. Arduino и библиотека Wire |
113 |
|
6.3. Arduino и датчик освещенности BH1750 на шине I2C |
116 |
|
6.4. Arduino и сервис Xively |
119 |
|
6.4.1. Отправка данных в сервис Xively |
122 |
|
6.4.2. Получение данных из сервиса Xively |
125 |
|
6.5. Arduino и датчик влажности и температуры SHT21 на шине I2C |
127 |
|
6.6. Arduino и сервис Xively (продолжение) |
130 |
|
6.6.1. Отправка мультиданных в сервис Xively |
130 |
|
6.6.2. Получение мультиданных из сервиса Xively |
133 |
|
6.7. Arduino и часы реального времени на шине I2C |
136 |
|
6.8. Arduino и SD-карта: чтение и запись данных |
141 |
|
Глава 7. Arduino и 1-Wire |
145 |
|
7.1. Технология 1-Wire |
145 |
|
7.2. Применение 1-Wire |
148 |
|
7.3. Интерфейс 1-Wire |
149 |
|
7.3.1. Обмен информацией по шине 1-Wire |
150 |
|
7.3.2. Протокол обмена информацией 1-Wire |
153 |
|
7.4. Arduino и цифровой датчик температуры DS18B20 |
155 |
|
7.4.1. Цифровой датчик температуры DS18B20 |
155 |
|
7.4.2. Использование библиотеки OneWire для получения данных температуры с датчика DS18B20 |
158 |
|
Глава 8. Сервер для сбора данных с Ethernet-модулей датчиков, установленных на Arduino |
161 |
|
8.1. Датчики влажности DHT11 и DHT22 |
161 |
|
8.1.1. Подключение датчиков DHT к Arduino |
163 |
|
8.1.2. Библиотека DHT |
163 |
|
8.2. Модуль датчика движения HC-SR501 |
165 |
|
8.3. Модуль датчика звука FC-04 |
168 |
|
8.4. Ethernet-модуль датчиков на Arduino |
169 |
|
8.5. Сервер сбора данных |
173 |
|
Глава 9. Обмен данными с помощью платы GPRS/GSM Shield |
177 |
|
9.1. Отправка и получение SMS-сообщений |
179 |
|
9.2. Отправка данных на сайт «Народный мониторинг» |
182 |
|
9.3. GPS-трекер на Arduino и GPRS/GSM Shield |
187 |
|
Глава 10. Проект Blynk: управление Arduino с планшета |
193 |
|
10.1. Начало работы: тестовый пример |
194 |
|
10.2. Управление с планшета исполнительными устройствами, подключенными к Arduino |
202 |
|
10.3. Отправка данных из Arduino на экран планшета |
205 |
|
Глава 11. IoT-платформа ThingWorx |
211 |
|
11.1. Подключение к платформе ThingWorx |
212 |
|
11.2. Мини-теплица на Arduino |
212 |
|
11.3. Создание «вещи» в ThingWorx и задание ее свойств |
218 |
|
11.4. Изменение свойств «вещи» в ThingWorx |
221 |
|
11.5. Создание веб-страницы для отображения принимаемых данных |
226 |
|
11.6. Отправка данных с Arduino в сервис ThingWorx |
233 |
|
11.7. Создание в ThingWorx потока данных и построение графиков |
239 |
|
11.8. Создание на веб-странице кнопок для отправки команд управления актуаторами на Arduino |
243 |
|
11.9. Cоздание скетча для получения Arduino-устройством данных из ThingWorx |
249 |
|
Глава 12. Микрокомпьютер Raspberry Pi |
253 |
|
12.1. Технические характеристики и возможности Raspberry Pi |
254 |
|
12.2. Установка операционной системы |
257 |
|
12.3. Первоначальная настройка ОС Raspbian |
260 |
|
12.3.1. Меню конфигурации |
260 |
|
12.3.2. Настройка сетевых параметров |
262 |
|
12.3.3. Настройка доступа по Wi-Fi |
262 |
|
12.3.4. Подключение 3G-модема |
265 |
|
12.4. Интерфейс GPIO |
269 |
|
12.4.1. Управление GPIO из оболочки bash |
272 |
|
12.4.2. Управление GPIO командами языка Python |
272 |
|
12.5. Raspberry Pi и датчик температуры DS18B20 на шине 1-Wire |
275 |
|
12.5.1. Подключение датчика DS18B20 к Raspberry Pi |
275 |
|
12.5.2. Отправка данных с датчика DA18B20 в сервис «Народный мониторинг» |
278 |
|
12.6. Raspberry Pi и датчик освещенности BH1750 на шине I2C |
281 |
|
12.6.1. Подключение датчика BH1750 к Raspberry Pi |
281 |
|
12.6.2. Получение на Raspberry Pi данных с датчика BH1750 |
283 |
|
Глава 13. WebIOPi — веб-интерфейс и облако для Raspberry Pi |
285 |
|
13.1. Установка WebIOPi на ОС Raspbian |
285 |
|
13.2. Задание пользовательского пароля WebIOPi |
287 |
|
13.3. Настройка сервера WebIOPi |
288 |
|
13.4. Javascript-библиотека webiopi.js |
289 |
|
13.4.1. Функции библиотеки webiopi.js |
290 |
|
13.5. Проект управления веб-камерой на сервоприводах |
296 |
|
13.6. WebIOPi — подключение устройств |
302 |
|
13.7. Доступ к устройству из сервиса Weaved |
304 |
|
13.7.1. Установка сервиса Weaved |
304 |
|
13.7.2. Подключение к Raspberry Pi в сервисе Weaved |
308 |
|
Глава 14. Проект Wyliodrin: управление удаленными устройствами из браузера |
311 |
|
14.1. Добавление устройства в профиль |
312 |
|
14.2. Запись образа Wyliodrin на SD-карту... |
313 |
|
14.2.1. ...в ОС Windows |
314 |
|
14.2.2. ...в ОС Linux |
315 |
|
14.2.3. ...в Mac OS |
316 |
|
14.2.4. ...в ОС Raspbian |
316 |
|
14.3. Запись на SD-карту настроек Wyliodrin |
316 |
|
14.4. Подключение Raspberry Pi к Wyliodrin |
317 |
|
14.5. Создание приложения в графической среде программирования |
319 |
|
14.6. Включение/выключение светодиода c веб-страницы |
323 |
|
14.7. Подключение платы Arduino к сервису Wyliodrin... |
325 |
|
14.7.1. ...с помощью библиотеки Firmata |
325 |
|
14.7.2. ...без использования библиотеки Firmata |
332 |
|
14.8. Совместная работа Raspberry Pi и платы GrovePi |
336 |
|
14.9. Обмен сообщениями между платами Raspberry Pi через сервис Wyliodrin |
340 |
|
14.10. Отправка данных в сервис Wyliodrin с мобильного устройства |
343 |
|
Глава 15. Wi-Fi-модуль ESP8266 |
349 |
|
15.1. Режим AT-команд |
350 |
|
15.2. Отладочные платы NodeMCU |
355 |
|
15.3. Прошивка NodeMCU |
356 |
|
15.3.1. Запуск веб-сервера |
358 |
|
15.3.2. Подключение к ESP8266 модулей датчиков средствами языка Lua |
359 |
|
15.4. Arduino IDE для ESP8266 |
361 |
|
15.5. Подключение модулей ESP8266 к сети Интернет по Wi-Fi |
364 |
|
15.6. Метеостанция на ESP8266 |
366 |
|
15.6.1. Подключение датчика температуры DS18B20 |
367 |
|
15.6.2. Подключение датчика влажности DHT22 |
370 |
|
15.7. Отправка данных метеостанции в сервис ThingSpeak |
372 |
|
15.8. Протокол MQTT — простой протокол для Интернета вещей |
378 |
|
15.9. Использование MQTT-сервера CloudMQTT |
379 |
|
15.10. Мобильное приложение IoT Manager |
382 |
|
15.11. Отправка данных брокеру CloudMQTT для приложения IoT Manager (тестовый пример) |
384 |
|
15.12. Отправка данных метеостанции по MQTT в сервис CloudMQTT для приложения IoT Manager |
387 |
|
15.13. Создание на модуле ESP8266 пульта для управления квадрокоптером AR.Drone 2.0 |
392 |
|
15.13.1. Подключение модуля ESP8266 ESP-07 к квадрокоптеру по Wi-Fi |
392 |
|
15.13.2. Удаленное программирование квадрокоптера AR.Drone через Wi-Fi |
392 |
|
15.13.3. Получение навигационных данных от квадрокоптера AR.Drone |
394 |
|
15.13.4. Отправка команд взлета и посадки |
400 |
|
15.13.5. Подключение гироскопа-акселерометра MPU6050 для управления AR.Drone 2.0 |
402 |
|
15.14. Печать курса валют на термопринтере |
405 |
|
15.14.1. Подключение термопринтера к модулю NodeMCU ESP8266 |
405 |
|
15.14.2. Подключение модуля DS3231 к модулю NodeMCU ESP8266 |
408 |
|
15.14.3. Получение XML-файла с курсом валют с сайта cbr.ru |
411 |
|
15.14.4. Обработка данных курса валют и печать на принтер |
413 |
|
15.15. Интернет-часы на модулях ESP8266 и TM1637 с синхронизацией по NTP |
415 |
|
|
|
|
Заключение |
421 |
|
Приложение. Описание электронного архива |
423 |
|
Предметный указатель |
425 |