Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot_c:exp67 [2024/12/05 17:50] – [Программный код эксперимента] labuser30products:laboratory_iot_c:exp67 [2024/12/16 15:00] (текущий) – [Программный код эксперимента] labuser30
Строка 10: Строка 10:
  
 ==== Программный код эксперимента ==== ==== Программный код эксперимента ====
-<file python Exp67.py[enable_line_numbers="2", start_line_numbers_at="1"]>+<file arduino Exp67.ino[enable_line_numbers="2", start_line_numbers_at="1"]>
 #include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
 #include <WiFiClient.h> #include <WiFiClient.h>
Строка 23: Строка 23:
  
   if (http.begin(client, url)) {     if (http.begin(client, url)) {  
-    Serial.print("[HTTP] GET...\n");+    Serial.print("[HTTP] GET\n");
     int httpCode = http.GET();     int httpCode = http.GET();
     if (httpCode > 0) {     if (httpCode > 0) {
-      Serial.printf("[HTTP] GET... code: %d\n", httpCode); +      Serial.printf("[HTTP] GET code: %d\n", httpCode); 
-      if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {+      if (httpCode == HTTP_CODE_OK) {
         String payload = http.getString();         String payload = http.getString();
         Serial.println(payload);         Serial.println(payload);
       } else {       } else {
-        Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());+        Serial.printf("[HTTP] GET failed, error: %s\n", http.errorToString(httpCode).c_str());
       }       }
       http.end();       http.end();
Строка 59: Строка 59:
   float temp = 22.9;   float temp = 22.9;
  
-  httpGet("http://dweet.io/dweet/for/" + device_name + "?temp=" + String(22.9));+  httpGet("http://dweet.io/dweet/for/" + device_name + "?temp=" + String(temp));
 } }
  
Строка 68: Строка 68:
 Первым делом нам необходимо подключиться к WiFi сети с доступом в интернет. После этого мы готовы к отправке данных. Для этого нам потребуется библиотеки для работы ''WiFiClient'' и ''ESP8266HTTPClient''  Первым делом нам необходимо подключиться к WiFi сети с доступом в интернет. После этого мы готовы к отправке данных. Для этого нам потребуется библиотеки для работы ''WiFiClient'' и ''ESP8266HTTPClient'' 
  
-Чтобы передать данные на сервер нам нужно знать его адрес. В нашем случае адрес http://dweet.io/dweet/for/DEVICENAME?temp=TEMP.Вместо DEVICENAME нужно подставить свое имя устройства. Имя может быть любым, но желательно придумать уникальное. Такое, которое точно еще не использовано. Мы придумали PinLabIoTSensor010520. Вам необходимо придумать свое, например IvanovIvanSPBSensor123.+Чтобы передать данные на сервер нам нужно знать его адрес. В нашем случае адрес http://dweet.io/dweet/for/DEVICENAME?temp=TEMP. Вместо DEVICENAME нужно подставить свое имя устройства. Имя может быть любым, но желательно придумать уникальное. Такое, которое точно еще не использовано. Мы придумали PinLabIoTSensor010520. Вам необходимо придумать свое, например IvanovIvanSPBSensor123.
  
 После знака ''?'' передаются данные. В нашем случае это temp=TEMP, где ''temp'' это имя переменной, а ''TEMP'' это ее значение, которое необходимо заменить на реальное. После знака ''?'' передаются данные. В нашем случае это temp=TEMP, где ''temp'' это имя переменной, а ''TEMP'' это ее значение, которое необходимо заменить на реальное.
Строка 80: Строка 80:
 Теперь формируем адрес в интернете (URL), по которому мы будем обращаться с параметрами, которые мы будем передавать: Теперь формируем адрес в интернете (URL), по которому мы будем обращаться с параметрами, которые мы будем передавать:
 <code arduino[enable_line_numbers="2", start_line_numbers_at="49"]> <code arduino[enable_line_numbers="2", start_line_numbers_at="49"]>
-  httpGet("http://dweet.io/dweet/for/" + device_name + "?temp=" + String(22.9));+  httpGet("http://dweet.io/dweet/for/" + device_name + "?temp=" + String(temp));
 </code> </code>