Если слова esp8266, WiFi и Arduino вам знакомы, то про ThingSpeak нужно пояснить, что это такое и зачем нам отправлять туда свои данные.

Итак, по словам его же разработчиков:

«ThingSpeak — это приложение с открытым исходным кодом для Интернета (IoT) и API для хранения и извлечения данных из вещей, использующих протокол HTTP через Интернет или через локальную сеть. ThingSpeak позволяет создавать приложения для регистрации датчиков, приложения для отслеживания местоположения и социальную сеть вещей с обновлением статуса».

Помимо хранения и извлечения числовых и буквенно-цифровых данных, ThingSpeak API позволяет обрабатывать числовые данные, такие как временное масштабирование, усреднение, медиану, суммирование и округление. Каждый канал ThingSpeak поддерживает записи данных до 8 полей данных, широты, долготы, высоты и состояния. Каналы поддерживают поддержку JSON, XML и CSV-форматов для интеграции в приложения.

ThingSpeak интегрировал поддержку программного обеспечения MATLAB от MathWorks , позволяя пользователям ThingSpeak анализировать и визуализировать загруженные данные с использованием Matlab без необходимости приобретения лицензии Matlab от Mathworks.

Модули esp8266 не ушли со сцены после выхода esp32, их по прежнему широко используют.

Как это делать я писал неоднократно, смотрим по тэгу esp8266:

Напомню лишь, что в различных статьях и спецификациях, указано рабочее напряжение не более 3,5V , но конкретно для вашего чипа с “алика” оно может составить и все 5V. Подбираете экспериментально, дали 3,5V — не заработало, повышайте понемногу.

Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!

Так же напомню, что есть два способа работы с 8266: используем его как дополнение к Arduino или используем, программируем его напрямую, как самостоятельное устройство.

В случае с Ардуино программировать его проще, однако ESP8266 сам по себе гораздо мощнее Arduino Uno плюс имеет WiFi на борту. Вот такая диалектика.

 

Настройка ThingSpeak

Начнем с конечной точки, куда мы будем отправлять данные. Тут все просто, создаем бесплатный аккаунт на ThingSpeakСоздаем новый канал с меткой поля, получаем API ключ. Проверяем URL “Update a Channel Feed”.

ThingSpeak прост в использовании. Когда у вас есть свой канал и ключ, вы можете просто сделать HTTP-запрос типа

https://api.thingspeak.com/update?api_key=YOUR_KEY_HERE&field1=4

для отправки значения 4 в поле 1. Попробуйте в своем браузере, а затем просмотрите данные в Private View вашего канала.

Обратите внимание на API ключ канала, который будет использоваться позже в вашем коде.

Собственно на этом можно было и завешить статью, т.к. все уже ясно.

Далее прошейте 8266 как описано в моих статьях по ссылкам выше, и подключитесь к WiFi.

Далее мы собираемся написать код для Arduino, чтобы поговорить с модулем.

Сначала нам нужно настроить виртуальный последовательный порт для модуля. Мы включим библиотеку и определим переменную:

Здесь мы поговорим с модулем через esp8266, и мы поговорим с IDE через Serial. Давайте попробуем это в нашей функции настройки

Проверяем, всё ли работает

Всё вместе

Happy IoT-ing!

__1_Id5YRBl0SIIIZcsaod6yRA