Надсилаємо дані в ThingSpeak через WiFi модуль ESP8266, DiyHobby
WiFi модуль ESP8266 зручний для керування пристроями в Інтернеті речей (IoT). Щоб контролювати ваші пристрої віддалено, необхідно мати налаштований Веб-сервер, на який будуть передаватися дані або відкрити доступ до роутера з інтернету. Інший, зручніший спосіб - скористатися безкоштовним сервісом ThingSpeak. Як працювати з цим сервісом зв'язкою WiFi модуля ESP8266 та налагоджувальної плати FRDM-KL25Z можна дізнатися під катом.

Як почати працювати з ThingSpeak.
2. Переходимо до Channels і створюємо новий канал. Каналу буде присвоєно Channel ID (який знадобиться пізніше). Вводимо ім'я та опис каналу. Інші поля можна поки залишити незаповненими. Натискаємо Save на сторінці нижче.

3. Переходимо у вкладку API Keys і там копіюємо згенерований API Key.

4. Тепер можна протестувати з'єднання, вставивши наступний рядок у браузер:
Цей запит додасть дані '0' у щойно створений канал 'field1'. Сервер відповість кількістю точок даних.
5. Наступним запитом можна перевірити результат:
API_KEY і CHANNEL_ID також потрібно змінити на свої значення:
6. Таким чином можна додавати безліч точок даних і потім отримати графік:

Тепер можна підключати ESP8266 та відправляти через модуль дані на сервер ThingSpeak.
AT-команди для керування ESP8266.
Для початку розглянемо послідовність AT-команд для керування ESP8266. Передбачається, що ESP8266 вже підключено до точки доступу. Нам необхідно дозволити множинні з'єднання командою:
Потім встановлюємо TCP з'єднання з сервером ThingSpeak (184106153149), по 80 порту. Т.к. дозволенімножинні з'єднання [Erich Styger] передав канал 4 (AT+CIPSTART=4):
ESP8286 повинен відповісти:
Тепер використовуємо команду CIPSEND для надсилання даних. Перше значення - id каналу, вказаного вище (4), друге - кількість символів, що відправляються в рядку, який буде відправлятися (включаючи “\r\n” в кінці рядка!). В даному випадку 44 символи:
Модуль повинен відповісти:
що означає "готовий приймати дані". Дані можна надіслати за допомогою GET запиту:
тут '/update' - це команда серверу оновити точки, потім слідує API ключ, ім'я поля і саме значення (в даному випадку 60).
Після закінчення надсилання даних TCP з'єднання потрібно закрити:

Як ThingSpeak, так і WiFi модуль ESP8266 вільно працюють із популярними мікроконтролерами та мікрокомп'ютерами: Arduino, Raspberry Pi, FRDM-KL25Z та ін. [Erich Styger] написав функцію автоматичного відправлення даних для FRDM-KL25Z. Вихідники можна переглянути Гітхабе.
Наведені кроки допоможуть працювати з WiFi модулем ESP8266 і хмарним сервісом ThingSpeak для побудови свого інтернету речей. Платформа ThingSpeak надає безліч інших API та плагінів для різних програм. Наприклад, можна надсилати повідомлення до Twitter та виконувати запити у заданий час.