Мазмуну:
- 1 -кадам: THINGSIO платформасын түзүү жана ага кирүү
- 2 -кадам: Жаңы долбоор түзүү
- 3 -кадам: Жаңы түзмөктү түзүү
- 4 -кадам: түзмөктүн параметрин аныктоо
- 5 -кадам: Түзмөктү жаңыртуу
- 6 -кадам: Коддоо
- 7 -кадам: Board жана Com Port тандоо
- 8 -кадам: Райондук туташуулар
- 9 -кадам: Компиляциялоо жана жүктөө
- 10 -кадам: Сериялык монитор
- 11 -кадам: Окуулар
- 12 -кадам: Графикалык өкүлчүлүк
- 13 -кадам:
Video: Thingsai Cloudду колдонуу менен LDR: 13 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
ХЕЙ ….. Бүгүн биз ESP32 аркылуу THINGSAI IOT булут платформасына жарыктын интенсивдүүлүгүн өлчөө жана баалуулуктарды жайгаштыруу жөнүндө үйрөнөбүз.
Бул долбоорду ишке ашыруу үчүн талаптар
1. ESP32 өнүктүрүү кеңеши (мен ESP32 DEVKIT V1 колдонгом)
2. LDR сенсор
3. Jumper Wires
4. THINGSAI IOT PLATFORMдагы эсеп
1 -кадам: THINGSIO платформасын түзүү жана ага кирүү
THINGS AI эсебине кириңиз. Эгерде сиз жаңы болсоңуз, анда каттоо кнопкасын басуу менен каттоо эсебине катталып, бардык грамоталарды толтуруңуз. Сиздин эсебиңиз түзүлөт, андан кийин сиз булут платформасында иштей аласыз жана өзүңүздүн жеке долбооруңузду түзө аласыз
2 -кадам: Жаңы долбоор түзүү
Каттоо эсебине киргенден кийин, долбоорду түзүү үчүн жаңы долбоорду чыкылдатып, анан долбоордун атын бериңиз.
3 -кадам: Жаңы түзмөктү түзүү
Долбоорду түзгөндөн кийин, кийинки нерсени жасоо керек: жаңы түзмөктү түзүү. Түзмөктүн атын бериңиз жана түзмөктүн идентификаторун кол менен же системадан түзүңүз.
4 -кадам: түзмөктүн параметрин аныктоо
Түзмөктүн параметрин бериңиз, андан кийин параметрдин түрүн тандаңыз
5 -кадам: Түзмөктү жаңыртуу
Параметрди тандап, анан аппаратты жаңыртыңыз
6 -кадам: Коддоо
Үлгүлүү коддордон esp32 кодун тандап, аны көчүрүп, анан arduino IDEге чаптаңыз жана талапка ылайык керектүү өзгөртүүлөрдү киргизиңиз. Мен төмөндөгү кодду бердим
#кошуу #кошуу
#кошуу
int count = 0, i, m, j, k;
int t; int outputpin = A0; // ds18b20
int sensorvalue;
///////////////////////////////////////// БҮТКҮЛ БАРДЫК ДЕКЛАРАЦИЯЛАР ////// //////////////////////////
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"; // Server URL
char убакыт белгиси [10];
WiFiMulti WiFiMulti;
// TCP байланыштарын түзүү үчүн WiFiClient классын колдонуңуз
WiFiClient кардары;
/////////////////////////////////////////TIMESTAMP CALCULATION функциясы ///////// ///////////////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient кардары;
while (client.available () == 0)
{
эгер (миллис () - тайм -аут> 50000)
{
client.stop (); return 0;
}
}
while (client.available ())
{
Сап сабы = client.readStringUntil ('\ r'); // indexOf () -бул smthng издөө функциясы, ал табылбаса -1 кайтарат
int pos = line.indexOf ("\" убакыт белгиси / ""); // "\" убакыт белгисин / "" издеп, жооптун башынан бери бардык маалыматтарды көчүрүп алыңыз, бул сиздин убакыт белгиси болот
эгер (pos> = 0)
{
int j = 0;
үчүн (j = 0; j <10; j ++)
{
убакыт белгиси [j] = сызык [pos + 12 + j];
}
}
}
} ////////////////////////////////////////////////////////////////////////////////////////////////////////
жараксыз орнотуу ()
{
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);
}
боштук цикл ()
{
int analogValue = analogRead (outputpin);
{///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Ж ЖАЖАБ ҚАБУЛ ЭТИН /// //////////////////////
sensorvalue = analogRead (A0); // аналогдук кирүү пинин 0 окуңуз
sensorvalue = sensorvalue/100;
Serial.print (sensorvalue, DEC); // окулган маанини басып чыгарат
Serial.print ("\ n"); // сандардын ортосундагы боштукту басып чыгарат
кечигүү (1000); // кийинки окуу үчүн 100ms күтө туруңуз
Serial.print ("туташуу"); Serial.println (кабыл алуучу); // тескери аныкталган:- хост = devapi2.thethingscloud.com же 139.59.26.117
///////////////////////////////////////////////////// TIMESTAMP CODE SNIPPET /////////// /////////////////
Serial.println ("ичинде убакыт белгисин алуу / n");
if (! client.connect (time_server, {return; //*-*-*-*-*-*-*-*-*-*}
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 серверинен убакыт белгисине жооп ала турган функцияны чакырат ("убакыт белгиси алынды");
Serial.println (убакыт белгиси);
Serial.println ("ThingsCloudPost ичинде");
String PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + убакыт белгиси;
PostValue = PostValue +", \" data / ": {" INTENSITY / ":" +\ sensorvalue +"}" +"}";
Serial.println (PostValue);
/ * WiFiClientSecure */ WiFiClientSecure кардарынын мисалын түзүү;
Serial.println ("443 порт аркылуу серверге туташуу");
if (! client.connect (server, 443))
{
Serial.println ("Туташуу ишке ашкан жок!");
}
башка
{Serial.println ("Серверге туташты!"); / * HTTP өтүнүчүн түзүү */
client.println ( POST/devices/deviceData
client.println ("Хост: api.thingsai.io"); //client.println("Байланыш: жабуу "); cl
ient.println ("Content-Type: application/json");
client.println ("cache-control: no-cache");
client.println ("Авторизация: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT") 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 -кадам: Board жана Com Port тандоо
Куралдардан тактаны тандап, андан кийин ком портун тандаңыз
8 -кадам: Райондук туташуулар
Коддоо жүргүзүлөт, анда төмөндө айтылгандай төмөнкү байланыштарды жасаңыз
БАЙЛАНЫШТАР:
Lp3 сенсорунун GND үчүн esp32 GND
3V3 0f esp32 ВДРге
LDRнын A0га esp32нин VP
9 -кадам: Компиляциялоо жана жүктөө
кодду esp32ге түзүңүз жана жүктөңүз, андан кийин сериалдык монитордон окуңуз. Бул ушундай бир нерсени көрсөтөт
10 -кадам: Сериялык монитор
Маанилер сериялык монитордо алынат, андан кийин THINGSAI IOT Cloud платформасына жөнөтүлөт.
11 -кадам: Окуулар
Бул esp32 тактасынан алынган баалуулуктарды көрсөтөт.
12 -кадам: Графикалык өкүлчүлүк
Бул алынган баалуулуктардын графикалык көрүнүшү. Окутуу куралы ушуну менен аяктады. Түшүндүңүз деп үмүттөнөм. Рахмат
Сунушталууда:
Arduino UNO менен дронду кантип жасоо керек - Микроконтроллерди колдонуу менен квадрокоптер жасаңыз: 8 кадам (сүрөттөр менен)
Arduino UNO менен дронду кантип жасоо керек | Микроконтроллерди колдонуу менен квадрокоптер жасаңыз: КиришүүМенин Youtube каналыма баш багыңыз Drone - бул абдан кымбат гаджет (продукт) сатып алуу. Бул постто мен аны кантип арзан баада жасоону талкуулайм. Анан кантип ушундай арзан баада өзүңүздүн колуңуз менен жасай аласыз … Индияда бардык материалдар (моторлор, ЭСК
Neopixel Ws2812 Rainbow LED жарыгы M5stick-C - менен Rainbowту Neopixel Ws2812де иштетүү M5stack M5stick Cди колдонуу Arduino IDEди колдонуу: 5 кадам
Neopixel Ws2812 Rainbow LED Glow with M5stick-C | Rainbow боюнча Neopixel Ws2812де чуркоо M5stack M5stick Cди колдонуу Arduino IDEди колдонуу: Салам балдар бул көрсөтмөлөрдө биз неопиксел ws2812 светодиоддорун же LED тилкесин же LED матрицасын же LED шакегин m5stack m5stick-C өнүктүрүү тактасы менен Arduino IDE менен колдонууну үйрөнөбүз жана биз жасайбыз. аны менен асан -үсөн үлгүсү
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
Wemos ESP-Wroom-02 D1 Mini WiFi модулун кантип колдонуу керек Blynkти колдонуу менен ESP8266 + 18650: 10 кадам
Wemos ESP-Wroom-02 D1 Mini WiFi модулун кантип колдонуу керек Blynkти колдонуу менен ESP8266 + 18650: Мүнөздөмөсү: nodemcu 18650 кубаттоо тутумунун интеграциясы менен шайкеш келет. туташтыргычы уйку режиминде колдонулушу мүмкүн · 1 кошуу
Blynkти колдонуу менен Arduino WeMos D1 WiFi UNO ESP8266 IOT IDEге шайкеш келген тактаны кантип колдонуу керек: 10 кадам
Blynkти колдонуу менен Arduino WeMos D1 WiFi UNO ESP8266 IOT IDEге шайкеш келген тактаны кантип колдонсо болот: Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Compatible Board Description: Description: WiFi ESP8266 Development Board WEMOS D1. WEMOS D1 - ESP8266 12Eге негизделген WIFI өнүктүрүү тактасы. Иштөө тутуму NODEMCUга окшош, бирок аппараттык жабдуулар бузулган