اطلاعیه

Collapse
No announcement yet.

ارتباط esp8266 با ربات تلگرام به روشی ساده

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ارتباط esp8266 با ربات تلگرام به روشی ساده

    سلام.
    قبلا آموزش خوبی توسط آقای عزتی درمورد اتصال esp8266 به ربات تلگرام در انجمن قرار داده شده که ایشون در اون از کتابخانه مخصوص تلگرام در آردوینو استفاده کردند. چند نفر از دوستان بخاطر طولانی بودن و توضیحات کم در اون برنامه متاسفانه نتونستن متن برنامه رو کامل متوجه بشن.
    تاپیک مورد نظر
    بدلایلی که اونجا گفتم قرار شد یه تاپیک تو قسمت آردوینو بزنیم و اینجا ادامه بدیم.
    مختصرا بگم این برنامه که من نوشتم:
    - دیگه نیازی به اون کتابخونه نداره
    - تاحد امکان ساده و کوتاه هست.(فقط روش انجام کار رو نشون میده)
    - شما request خودتون رو بسادگی بصورت String نوشته و ارسال میکنید .


    اینم کدی که نوشتم و جواب گرفتم:
    کد:
    [FONT=Yekan]#include <ESP8266WiFi.h>[/FONT]
    #include <WiFiClientSecure.h>
     
    // 
    const char* wifi_ssid = "XXXX";
    const char* wifi_pass = "XXXX";
    
    
    const char* http_site   = "api.telegram.org";
    const char* apiKey      = "/botXXXX/";
    const char* get_request = "getme";
    const int   http_port   = 443;
    
    
    WiFiClientSecure client;
    String d;
    
    
    void setup() {
      Serial.begin(115200);
      delay(10);
      connectWiFi();
      if ( !getPage() ) {
        Serial.println("GET request failed");
      }
    
    
    }
    
    
    void loop() {
      // If there are incoming bytes, print them
      if ( client.available() ) {
        char c = client.read();
        d += String(c);
      }
    
    
      
      
      // If the server has disconnected, stop the client and WiFi
      if ( !client.connected() ) {
        Serial.print(d);
        
        // Close and wait for disconnect from WiFi
        client.stop();
        if ( WiFi.status() != WL_DISCONNECTED ) {
          WiFi.disconnect();
        }
        
        // Do nothing
        Serial.println();
        Serial.println("Finished GET Telegram.");
        while(true){
          delay(1000);
        }
      }
    }
    
    
    void connectWiFi() {
      
      // Set WiFi mode to station (client)
      WiFi.mode(WIFI_STA);
      
      // Initiate connection with SSID and PSK
      WiFi.begin(wifi_ssid, wifi_pass);
    
    
      Serial.println();
      Serial.println();
      Serial.print("Connecting to ");
      Serial.println(wifi_ssid);
      
      while ( WiFi.status() != WL_CONNECTED ) {
        Serial.print(".");
        delay(500);
      }
    
    
      Serial.println();
      Serial.println("Let's go ...");
      Serial.println();
    }
     
    // Perform an HTTP GET request to a remote page
    bool getPage() {
      
      // Attempt to make a connection to the remote server
      if ( !client.connect(http_site, http_port) ) {
        return false;
      }
    
    
      String url = apiKey;
      url += get_request;
    
    
      // Make an HTTP GET request
      client.println("GET " + url + " HTTP/1.1");
      client.print("Host: ");
      client.println(http_site);
      client.println("Connection: close");
      client.println();
      
      return true;
    [FONT=Yekan]}[/FONT]
    فقط باید اطلاعات مربوطه رو در سه قسمتی که با XXXX مشخص شده جایگذاری کنید.
    عبارت درخواستی رو هم در متغیر get_request بگذارید.
    تاپیک ویدیوهای آموزشی حواشی آردوینو و ESP
لطفا صبر کنید...
X