Съдържание:
- Стъпка 1: Създаване и влизане в платформата THINGSIO
- Стъпка 2: Създаване на нов проект
- Стъпка 3: Създаване на ново устройство
- Стъпка 4: Определяне на параметъра на устройството
- Стъпка 5: Актуализиране на устройството
- Стъпка 6: Кодиране
- Стъпка 7: Избор на платка и Com порт
- Стъпка 8: Връзки на веригата
- Стъпка 9: Компилиране и качване
- Стъпка 10: Сериен монитор
- Стъпка 11: Четения
- Стъпка 12: Графично представяне
- Стъпка 13:
Видео: LDR Използване на Thingsai Cloud: 13 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
ХЕЙ ….. днес ще научим за измерване на интензитета на светлината и публикуване на стойностите в облачната платформа THINGSAI IOT с помощта на ESP32.
Изискванията за изпълнението на този проект са
1. ESP32 Board за разработка (използвал съм ESP32 DEVKIT V1)
2. LDR сензор
3. Кабелни проводници
4. Сметка в THINGSAI IOT PLATFORM
Стъпка 1: Създаване и влизане в платформата THINGSIO
Влезте в акаунта AI на THINGS AI. Ако сте нов, регистрирайте се в акаунта, като натиснете бутона за регистриране и попълнете всички идентификационни данни. Вашият акаунт ще бъде създаден и оттогава ще можете да работите в облачната платформа и да създавате свой персонализиран проект
Стъпка 2: Създаване на нов проект
След като влезете в акаунта, за да създадете проект, просто щракнете върху новия проект и след това дайте името на проекта.
Стъпка 3: Създаване на ново устройство
След създаването на проекта следващото нещо, което трябва да направите, е да създадете ново устройство. Дайте името на устройството и въведете идентификатора на устройството ръчно или генерирано от системата.
Стъпка 4: Определяне на параметъра на устройството
Дайте параметъра на устройството и след това изберете типа на параметъра
Стъпка 5: Актуализиране на устройството
Изберете параметъра и след това актуализирайте устройството
Стъпка 6: Кодиране
От примерните кодове изберете кода на esp32, копирайте го и след това го поставете в IDE на arduino и направете необходимите промени в съответствие с изискването. Дадох кода по -долу
#включи #включи
#включва
int брой = 0, i, m, j, k;
int t; int outputpin = A0; // ds18b20
int сензорна стойност;
////////////////////////////////////////// ВСИЧКИ ДЕКЛАРАЦИИ за CLOUD ////// //////////////////////////
const char* host = "api.thingsai.io"; // ИЛИ
хост = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ИЛИ/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // това е за преобразуване на времева отметка
const int httpPort = 80;
const int httpsPort = 443;
const char* server = "api.thingsai.io"; // URL адрес на сървъра
char времева марка [10];
WiFiMulti WiFiMulti;
// Използвайте WiFiClient клас за създаване на TCP връзки
Клиент WiFiClient;
////////////////////////////////////////// TIMESTAMP CALCULATION функция //////// ///////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient клиент;
while (client.available () == 0)
{
if (millis () - таймаут> 50000)
{
client.stop (); връщане 0;
}
}
while (client.available ())
{
Низов ред = client.readStringUntil ('\ r'); // indexOf () е функция за търсене на smthng, връща -1 ако не е намерен
int pos = line.indexOf ("\" времева марка / ""); // потърсете "\" timestamp / "" от началото на отговора и копирайте всички данни след това, това ще бъде вашият времеви знак
ако (pos> = 0)
{
int j = 0;
за (j = 0; j <10; j ++)
{
времева марка [j] = ред [pos + 12 + j];
}
}
}
} ////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{
Serial.begin (115200);
забавяне (10);
// Започваме със свързване към WiFi мрежа
WiFiMulti.addAP ("wifi", "pswrd");
Serial.println ();
Serial.println ();
Serial.print ("Изчакайте WiFi …");
while (WiFiMulti.run ()! = WL_CONNECTED)
{
Serial.print (".");
забавяне (500);
}
Serial.println ("");
Serial.println ("WiFi свързан");
Serial.println ("IP адрес:"); Serial.println (WiFi.localIP ());
забавяне (500);
}
void loop ()
{
int analogValue = analogRead (изход);
{///////////////////////////////////////// ИЗПРАЩАЙТЕ ЗАПИТВАНЕТО И ПОЛУЧАВАЙТЕ ОТГОВОРА /// //////////////////////
sensorvalue = analogRead (A0); // чете аналогов входен пин 0
сензорна стойност = сензорна стойност/100;
Serial.print (сензорна стойност, DEC); // отпечатва прочетената стойност
Serial.print ("\ n"); // отпечатва интервал между числата
забавяне (1000); // изчакайте 100ms за следващо четене
Serial.print ("свързване към"); Serial.println (хост); // дефинирано нагоре:- host = devapi2.thethingscloud.com или 139.59.26.117
//////////////////////////////////////// TIMESTAMP CODE SNIPPET //////////// /////////////////
Serial.println ("вътре метка за време на получаване / n");
if (! client.connect (time_server, {връщане; //*-*-*-*-*-*-*-*-*-*}
client.println ("GET/api/timestamp HTTP/1.1"); // Какво прави тази част, не получих client.println ("Хост: baas.thethingscloud.com");
client.println ("Cache-Control: no-cache");
client.println ("Токен на пощальон: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // ще извика функцията, която ще получи отговор на времевата марка от сървъра Serial.println ("timetamp receieved");
Serial.println (времева отметка);
Serial.println ("вътре в ThingsCloudPost");
Низ PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + времева марка;
PostValue = PostValue +", \" данни / ": {" INTENSITY / ":" +\ sensorvalue +"}" +"}";
Serial.println (PostValue);
/ * създайте екземпляр на клиент WiFiClientSecure */ WiFiClientSecure;
Serial.println ("Свържете се със сървъра през порт 443");
if (! client.connect (сървър, 443))
{
Serial.println ("Връзката е неуспешна!");
}
иначе
{Serial.println ("Свързан със сървър!"); / * създаване на HTTP заявка */
client.println ( POST/devices/deviceData
client.println ("Хост: api.thingsai.io"); //client.println("Connection: close "); кл
ient.println ("Тип съдържание: application/json");
client.println ("cache-control: no-cache");
client.println ("Упълномощаване: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC22K2K2K7X2Ky2XK6x6x7x6xxxxxxx) client.print ("Content-Length:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue); //////////////////////////////////// Публикуването на данните в облака е направено и сега вземете облака от формата за отговор сървър ////////////////////
Serial.print ("Изчакване на отговор");
while (! client.available ()) {
забавяне (50); //
Serial.print (".");
} / * ако има налични данни, тогава приемете и отпечатайте в терминал * /
while (client.available ())
{
char c = client.read ();
Serial.write (c);
}
/ * ако сървърът е изключен, спрете клиента */
if (! client.connected ())
{
Serial.println ();
Serial.println ("Сървърът е изключен");
client.stop ();
}
} Serial.println ("//////////////////////// КРАЙЪТ ////////////////////// /");
забавяне (3000); }}
Стъпка 7: Избор на платка и Com порт
От инструментите изберете дъската и след това изберете com порта
Стъпка 8: Връзки на веригата
Кодирането се извършва, след което направете следните връзки, както е споменато по -долу
ВРЪЗКИ:
GND на esp32 към GND на LDR сензора
3V3 0f esp32 към Vcc на LDR
VP на esp32 към A0 на LDR
Стъпка 9: Компилиране и качване
компилирайте и качете кода в esp32 и след това прочетете показанията от серийния монитор. Това би показало резултат нещо подобно
Стъпка 10: Сериен монитор
Стойностите се получават на серийния монитор и след това се изпращат в облачната платформа THINGSAI IOT.
Стъпка 11: Четения
Това показва стойностите, получени от платката esp32.
Стъпка 12: Графично представяне
Това е графичното представяне на получените стойности. Това е краят на урока. Дано сте разбрали. Благодаря ти
Препоръчано:
Neopixel Ws2812 Rainbow LED Glow с M5stick-C - Стартиране на Rainbow на Neopixel Ws2812 Използване на M5stack M5stick C Използване на Arduino IDE: 5 стъпки
Neopixel Ws2812 Rainbow LED Glow с M5stick-C | Изпълнение на Rainbow на Neopixel Ws2812 Използване на M5stack M5stick C Използване на Arduino IDE: Здравейте момчета в тази инструкция ще се научим как да използваме неопиксели ws2812 светодиоди или LED лента или LED матрица или LED пръстен с m5stack m5stick-C платка за разработка с Arduino IDE и ние ще направим модел на дъга с него
Детектор на движение, използващ облачната платформа Thingsai.io Iot: 6 стъпки
Детектор на движение с помощта на Thingsai.io Iot облачна платформа: В този урок ще обясня за откриването на движение с помощта на PIR сензор и Esp32 заедно с облачна платформа IOT Thingai.io
Направи си сам „Измервателен уред за използване на компютър ROG Base“Използване на Arduino и Python: 5 стъпки (със снимки)
Направи си сам „Измерител за използване на компютър ROG Base“Използване на Arduino и Python: ************************************* +На първо място, тези инструкции са написани от неносещ англоговорящ … не е професор по английски, така че, моля, информирайте за някаква граматическа грешка, преди да ми се подигравате.: P +и моля, не имитирайте
IOT Weather Cloud - Използване на OpenWeatherMaps: 11 стъпки (със снимки)
IOT Weather Cloud - Използване на OpenWeatherMaps: Това е облак, който виси от тавана на стаята и възпроизвежда определени модели въз основа на резултата, върнат от интернет. Той извлича метеорологичните данни от OpenWeatherMaps. Може да се управлява ръчно чрез уеб интерфейс или автоматично
Raspberry Pi GPIO схеми: Използване на LDR аналогов сензор без ADC (аналогово -цифров преобразувател): 4 стъпки
Raspberry Pi GPIO схеми: Използване на LDR аналогов сензор без ADC (аналогов към цифров преобразувател): В нашите по -ранни инструкции ние ви показахме как можете да свържете GPIO щифтовете на вашия Raspberry Pi към светодиоди и ключове и как GPIO щифтовете могат да бъдат високи или Ниска. Но какво ще стане, ако искате да използвате вашия Raspberry Pi с аналогов сензор? Ако искаме да използваме