ESP8266 در اندروید

ارتباط با ماژول ESP8266 در اندروید بدون کدنویسی با App Inventor

محتوا

ارتباط با ماژول ESP8266 در اندروید بدون کدنویسی با App Inventor

ESP8266 در اندروید: مدت هاست گوگل سرویسی را راه اندازی کرده است که تحت وب و بدون نیاز به کد نویسی می توانید برای اندروید app بسازید که در این آموزش قصد دارم نحوه اتصال به ماژول ESP8266 در اندروید رو با پروتکل UDP آموزش بدهم در App Inventor به صورت پیش فرض برای اتصال با UDP کامپوننتی قرار نداده است پس از اینجا فایل فشرده رو دانلود کنید تا نحوه اضافه کردن اکسنشن UDP رو به شما آموزش بدهم ابتدا به آدرس //ai2.appinventor.mit.edu بروید و همانند شکل زیر از منو Import project (.aia) from my computer<Projects رو انتخاب و سپس فایل UrsAI2UDPv3_Test.aia موجود در پوشه Example رو بارگذاری کنید و منتظر بمانید تا صفحه ایی همانند شکل زیر به شما نمایش داده شود.

ESP8266 در اندروید

نصب Extension و خروجی Apk در App Inventor

در صورتی که Extension مربوط به UrsAI2UDPv3 نصب نبود در Extension بر روی Import extension کلیک کنید سپس فایل de.UllisRoboterSeite.UrsAI2UDPv3.aix رو انتخاب کنید و منتظر باشید نصب شود. برای نمایش کامل UI اپ هم کافی است تیک Display hidden components in Viewer رو بزنید و برای گرفتن خروجی Apk هم از منو گزینه Build و سپس App ( save .apk to my computer ) رو انتخاب کنید و منتظر بمانید تا پیغام ذخیره فایل به شما نمایش داده شود ، در کامپیوتر ذخیره کنید و بعد به گوشی انتقال دهید در نهایت نصب کنید نکته فراموش نشود که از گزینه App ( provide QR code for .apk ) هم می تونید استفاده کنید.

نحوه کد نویسی و تبدیل ماژول ESP8266 به اکسس پوینت

برای تنظیم ماژول ESP8266 بر روی حالت اکسس پوینت کافیه کد زیر رو در آردوینو کپی کنید و در ماژول ESP8266 آپلود کنید بعد یک اکسس پوینت در شبکه به نام Turbodigital اضاف می شود که با پسورد 12345678 می تونید متصل بشید در App اندروید بعد از اتصال به ماژول در قسمت Local Host IP آی پی گوشی شما رو مشخص می کند. قبل از ارسال باید App رو پیکربندی کنید که در فسمت To IP آی پی 192.168.4.1 رو وارد کنید و در قسمت To Port هم عدد 4000 رو وارد کنید و در نهایت برای دریافت پاسخ (Response) در قسمت From Port و Local Port عدد مثلا 5000 رو وارد کنید حالا قبل از زدن دکمه Xmit ، دکمه Start Receiver بزنید تا پاسخ ماژول رو هم دریافت کنید.

ESP8266 در اندروید

 

#include <ESP8266WiFi.h> 
#include <WiFiUDP.h> 

const char* ssid = "Turbodigital"; 
const char* pass = "12345678"; 
unsigned int localPort = 4000; 
byte packetBuffer[512]; 

WiFiUDP Udp; 

void printWifiStatus() { 
    IPAddress ip = WiFi.softAPIP();
    Serial.print("IP Address: ");
    Serial.println(ip); 
} 

void WriteString(String val){
    Udp.beginPacket(Udp.remoteIP(), Udp.remotePort()); 
    // Udp.beginPacket({192,168,4,3}, 5000); 
    int len = val.length(); 
    for(int i=0;i<len;i++){ 
        Udp.write(val[i]);
    }
    Udp.endPacket();
 } 

void setup(){
    Serial.begin(115200); 
    WiFi.mode(WIFI_AP); 
    WiFi.softAP(ssid,pass);
    Udp.begin(localPort);
    Serial.println();
    printWifiStatus();
}

void loop(){
   int noBytes = Udp.parsePacket(); 
   String received_command = ""; 
   if ( noBytes ) { 
       Udp.read(packetBuffer,noBytes);
       for (int i=1;i<=noBytes;i++){
           received_command += char(packetBuffer[i - 1]); 
       } 
      Serial.println(received_command); 
     WriteString(received_command); 
   } 
   delay(10);
}
3 2 votes
امتیازدهی به مقاله
بخش نظرات
مشترک شوید
Notify of
guest
30 نظرات
قدیمی ترین
جدیدترین بیشترین آرای
Inline Feedbacks
View all comments
میثم
میثم
4 years ago

چرا فایل هایی که واسه دانلود گذاشتید صفحه دانلودش نمیاد ؟

میثم
میثم
4 years ago

هیچ کدوم از پروژه ها هم فایل هاش دانلود نمیشه

محمد
محمد
4 years ago

اگر ممکنه آموزش بعد از طراحی هم بگذارید ممنونم .

محمد صانعی
محمد صانعی
4 years ago

من تمام این کارها رو که شما فرمودین انجام دادم و ماژول رو هم بصورت کابل یو اس بی به لپ تا پ وصل کردم ولی برای ماژول هر دستوری که میفرستم هیچ پاسخی دریافت نمی شود ولی پیغام خودو رو میبینم که برای ماژول ارسال شده است لاز مبه ذکر هست که ماژول من WEMOS D1 MINI هست ، دلیل وصل کردن ماژول به لپ تا پ هم اینه که میخوام توی محیط SERIAL MONITORING هم پیغام های خودمو ببینم .ممنونم .

محمد صانعی
محمد صانعی
4 years ago

باسلام
پورت ارسال رو 4000 و پورت دریافت رو 5000 ودر اپ نیز زمان START RECEIVER نیز یک لوکال پورت می خواهد که آن هم 4000 میزنم که هیچ پاسخی دریافت نمیگردد ولی اگر پورت دریافت رو هم 4000 بزنم همان چیزی که ارسال میکنم همان رو هم دریافت میکنم در برنامه هم هیچ چیز رو تغییر نداده ام فقط یوزرو پسورد اکسس پوینت رو تعیین کردم همین ، ممنون .

محمد صانعی
محمد صانعی
4 years ago

من الان همین کارو کردم فقط ارسال میکنه ولی هیچ جوابی نمیگیره ، ضمنا یک سوال من ماژول رو ازطریق کابل یو اس بی به کامپیوتر متصل میکنم درسته ، نیازی نیست با تبدیل یو اس بی به تی تی ال وصل کنم ؟

محمد صانعی
محمد صانعی
4 years ago

خیر توی سریال دریافتی هم فقط ارسالی دیده میشود .

محمد صانعی
محمد صانعی
4 years ago

ضمنا بود ریت هم من روی 115200 گذاشتم درسته ؟

محمد صانعی
محمد صانعی
4 years ago

ممنونم من حتی با نرم افزار ترمینال هم چک کردم باز هم فقط ارسالی رو میبینم .

محمد صانعی
محمد صانعی
4 years ago

چرا زمانی که وی موس را روشن میکنیم یک لحظه در حد یک هزارم ثانیه اول روشن شدن رله ها روشن و خاموش می شود بعد میره توی حالت کنترلی کنندگی عادی ؟

محمد صانعی
محمد صانعی
4 years ago

من پایه کنترلی رو به پایه rx دادم یعنی اون رو به عنوان یک gpio دیدم که حالت high و low رو روی اون پین در نظر گرفتم به نظرتون مشکلی نیست ؟

محمد صانعی
محمد صانعی
4 years ago

متوجه نمیشم میشه بیشتر راهنمایی کنید ممنونم .

محمد صانعی
محمد صانعی
4 years ago

من rxرو بصورتint Protect = 1; معرفی کردم که protect همون rx هست و در قسمت دیگه برنامه هم گفتم pinMode(Protect, INPUT); الان هم داره درست کار میکنه یعنی زمانیکه پین lowهست وی موس فعال و زمانیکه high هست غیرفعال میشه ولی وقتی که کلید ریست روی وی موس رو میزنم دستگاهم هنگ میکنه زمانی که این پین رو غیر فعال میکنم مشکل حل میشه به نظرتون مشکل کجاست اگر ممکنه منو راهنمایی کنید، خیلی خیلی ممنونم از راهنماییتون .

محمد صانعی
محمد صانعی
4 years ago

من در شرکت مپنا تهران هستم و روی یک پروژه مشغول هستم میتونم شماره تماس شمارو داشته باشم ،؟

سامان
سامان
3 years ago

سلام.وقت بخیر
بنده سرمست هستم از اصفهان.
میخواستم بدونم آیا امکان داره از طریق APP طراحی شده SSID , pass شبکه وایفای تعریف بشه و داخل برنامه از قبل نوشته شده ESP نیاد ( منظورم اینه که هر زمان خواستیم فقط با داشتن APP hdk;hv, hk[hl fndl) ??
ممنونم

...
...
1 year ago

برای کنترل سرعت موتور براشلس و speed control چه کدی رو باید در اردیونو بنویسیم؟ مثلا با یک دکمه سرعت موتور بالا بره و بعد از مثلا عدد پنجاه متوقف بشه و با یک دکمه سرعت به صفر برسه

30
0
Would love your thoughts, please comment.x
×
×

سبد خرید