Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

MKR1000 для ThingSpeak.com

Компоненты и расходные материалы

Датчик температуры и влажности DHT11 (4 контакта)
× 1
Arduino MKR1000
× 1

Об этом проекте

Я уже разработал код для ESP8266 12-E, чтобы данные датчика окружающей среды, полученные DHT11, загружались по беспроводной сети на веб-сайт ThingSpeak и отображались в виде графиков. Мне просто нужно было внести небольшие изменения, чтобы он работал с новым Arduino MKR1000.

Шаг 1.

Подключите линию передачи данных DHT к контакту 1 MKR1000 (обозначен цифрой 1 на задней панели платы).

Шаг 2. Загрузите библиотеку WiFi101 и библиотеку DHT из:

https://github.com/arduino-libraries/WiFi101

https://learn.adafruit.com/dht

Шаг 3.

Перейдите к Board Manager в Arduino IDE

Инструменты -> Доска -> Менеджер плат

Найдите платы Arduino SAMD (32-битные ARM Cortex M0 +)

Загрузите версию 1.6.3 (у меня были проблемы с 1.6.4, так как плата MKR100 не была установлена)

Шаг 4.

Создайте бесплатную учетную запись ThingSpeak.com, пометьте поля как График (влажность и температура) и вставьте свой ключ API ThingSpeak для «записи» в предоставленный эскиз вместе с вашим SSID WiFi и паролем WiFI.

Шаг 5.

Выберите правильный Com-порт, найдите MKR1000, скомпилируйте и запустите код.

Вы должны увидеть обновления, отправляемые в ThingSpeak, в окне последовательного порта.

получайте удовольствие!

Код

  • Из MKR1000 в DHT в ThingSpeak Wireless, построение графиков датчика окружающей среды на основе беспроводного облака.
MKR1000 в DHT в ThingSpeak Wireless, построение графика датчика окружающей среды на основе беспроводного облака Arduino
Комбинация скетчей из AdaFruit, WiFi101 WebClient и ThingSpeak Arduino Templates.
 / * Этот скетч представляет собой комбинацию скетча ADAFruits DHT, WiFi101 Webclient и примера arduino из ThingSpeak, модифицированного Стивеном Борсеем для MKR1000 * / #include  // вам это не нужно, так как мы не используем shiled just chip # include  #include "DHT.h" #define DHTPIN 1 // какой вывод мы подключен, контакт 1 - это 5-й контакт с конца // Раскомментируйте любой тип датчика DHT, который вы используете! #define DHTTYPE DHT11 // DHT 11 // # define DHTTYPE DHT21 // DHT 21 // # define DHTTYPE DHT22 // DHT 22DHT dht (DHTPIN, DHTTYPE); Строка apiKey ="YourApiKeyHere"; // API от ThingSpeakchar ssid [] ="YourSSIDHERE"; // SSID вашей сети (имя) char pass [] ="YourPasswordHere"; // ваш сетевой пароль int keyIndex =0; // номер индекса вашего сетевого ключа (требуется только для WEP) // # определить ВЕБ-САЙТ "api.thingspeak.com" int status =WL_IDLE_STATUS; // если вы не хотите использовать DNS (и уменьшите размер скетча) // используйте числовой IP вместо имени для сервера:// IPAddress server (74,125,232,128); // числовой IP-адрес для Google (без DNS) char server [] ="api.thingspeak.com"; // имя адреса для Google (с использованием DNS) // Инициализируем клиентскую библиотеку Ethernet // с IP-адресом и портом сервера, // к которому вы хотите подключиться (порт 80 по умолчанию для HTTP):клиент WiFiClient; установка void () {// Инициализируем последовательный порт и ждем открытия порта:Serial.begin (9600); в то время как (! серийный) {; // ждем подключения последовательного порта. Требуется только для собственного USB-порта} // проверка наличия экрана:if (WiFi.status () ==WL_NO_SHIELD) {Serial.println («WiFi Shield отсутствует»); // не продолжать:while (true); } // пытаемся подключиться к сети Wi-Fi:while (status! =WL_CONNECTED) {Serial.print ("Попытка подключиться к SSID:"); Serial.println (ssid); // Подключение к сети WPA / WPA2. Измените эту строку при использовании сети open / WEP status =WiFi.begin (ssid, pass); // ждем 10 секунд подключения:delay (10000); } Serial.println («Подключен к Wi-Fi»); printWifiStatus (); } void loop () {// Подождите несколько секунд между измерениями. задержка (2000); // предпочитаю использовать число с плавающей запятой, но размер пакета или преобразование с плавающей запятой не работают // в будущем будут пересмотрены с помощью функции преобразования строки или преобразования с плавающей запятой int h =dht.readHumidity (); // Считываем температуру в градусах Цельсия (по умолчанию) int t =dht.readTemperature (); // Считываем температуру по Фаренгейту (isFahrenheit =true) int f =dht.readTemperature (true); // Проверяем, нет ли сбоев при чтении, и выходим раньше (чтобы повторить попытку). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println («Не удалось прочитать с датчика DHT!»); возвращение; } // Вычислить индекс тепла в градусах Фаренгейта (по умолчанию) int hif =dht.computeHeatIndex (f, h); // Вычислить индекс тепла в градусах Цельсия (isFahreheit =false) int hic =dht.computeHeatIndex (t, h, false); Serial.print ("Влажность:"); Серийный отпечаток (ч); Serial.print ("% \ t"); Serial.print ("Температура:"); Серийный принт (т); Serial.print ("* C"); Серийный принт (е); Serial.print ("* F \ t"); Serial.print («Тепловой индекс:»); Serial.print (ик); Serial.print ("* C"); Serial.print (hif); Serial.println ("* F \ n"); Serial.println ("\ nНачало подключения к серверу ..."); // если вы установили соединение, сообщите через последовательный порт:if (client.connect (server, 80)) {Serial.println ("connected to server"); client.print (F («ПОЧТА»)); client.print ("/ update? key =apiKey &field1 =" + (String) h + "&field2 =" + (String) t + "&field3 =" + (String) f + "&field4 =" + (String) hic + " &field5 ="+ (Строка) hif); String tsData ="field1 =" // требуется длина для ThingSpeak + (String) h + "&field2 =" + (String) t + "&field3 =" + (String) f + "&field4 =" + (String) hic + "&field5 =" + (Строка) hif; client.print ("POST / обновление HTTP / 1.1 \ n"); client.print ("Хост:api.thingspeak.com \ n"); client.print ("Соединение:закрыть \ n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type:application / x-www-form-urlencoded \ n"); client.print ("Длина содержимого:"); client.print (tsData.length ()); // отправляем длину строки данных в ts client.print ("\ n \ n"); client.print (tsData); client.stop (); задержка (1000); }} void printWifiStatus () {// распечатываем SSID сети, к которой вы подключены:Serial.print ("SSID:"); Serial.println (WiFi.SSID ()); // выводим IP-адрес вашего WiFi-экрана:IPAddress ip =WiFi.localIP (); Serial.print ("IP-адрес:"); Serial.println (ip); // выводим мощность полученного сигнала:long rssi =WiFi.RSSI (); Serial.print ("мощность сигнала (RSSI):"); Серийный принт (RSSI); Serial.println ("дБм");} 
Код в GitHub
Тот же код, но в GitHub для MKR1000 https://github.com/sborsay/Arduino_Wireless/blob/master/MRK100_DHt_TS

Схема

Подключите линию данных DHT к контакту 1 MKR100 (5-й контакт вверху)
Подключите 5 В и землю к датчику DHT, оба из которых обеспечиваются MKR1000

Производственный процесс

  1. Горизонт Манхэттена:компактный ARM COM с NXP i.MX 8MM
  2. Kontron:новый стандарт встроенных вычислений COM HPC
  3. DHT Tiny Breakout для Raspberry Pi
  4. Монитор температуры ThingSpeak с Raspberry Pi
  5. Создайте свой первый IOT с помощью Raspberry Pi, датчика DHT11 и Thingspeak.
  6. Распиновка Mkr1000:предпочтительный выбор для проектов IoT
  7. Преимущества Parts.Cat.Com и порядок регистрации
  8. Ваш путеводитель по Shop.Cat.Com
  9. Начало работы с My.Cat.com
  10. ASTM A551, класс DHT, термообработанный