ايران ويج

نسخه‌ی کامل: کار در مد Soft Access Point ESP8266 ماژول WiFi وای فای
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
با سلام و خسته نباشید خدمت محققین زحمت کش و عزیز فعال در این سایت.

ما با ماژول ESP8266 - ESP - 12 F , و دستورات AT Command با کمک میکروکنترلر Atmega32a AVR و کدویژن CodvisionAVR یک Soft Acces point ساختیم. یعنی یک هات اسپات HotSpot که به روتور و اینترنت هم متصل نیست. (تعریف سافت اکسز پوینت هستش.) بعد با وای فای ٌ لب تاب با دادن یوزر و پسورد به این ماژول وصل شدیم. بعد با لب ویو LABVIEW هم با دادن آی پی لوکال و پورت لوکال با این ماژول ارتباط برقرار کردیم و اطلاعات دوطرفه میره و میاد و حتی بصورت مداوم یک طرفه از سرور به کلاینت یا برعکس هست و مشکلی نداره. برای وصل شدن به این ماژول از طریق لب تاب هیچ پارامتر اضافه دیگری جز موارد نوشته شده ندادیم. (یوزرنیم و پسورد و نیز آی پی و پورت تنها پارامترهای داده شده برای اتصال لب تاب به ماژول و انتقال اطلاعات بین آنها بوده است). همه چیز خوب کار میکنه و پایدار هست.

مشکل در سرعت ارتباطه که خیلی کمه و نهایت صد نمونه بر ثانیه تونستم دریافت کنم. باود ریت سریال بین میکرو و ماژول هم بالا بردم ولی فرق چندانی نداره چون دستورات AT اینطوریه که تاخیر نیاز داره.

خب تنها راه چاره من استفاده از قدرت میکروداخلی خود ماژول و استفاده از برنامه آردینو هست. با آردینو به این دلیل خیلی کار کردم. اما متاسفانه کد مناسب پیدا نکردم. دو سه روزه همه وقتم را گذاشتم. مثال در مورد سافت اکسز پوینت خیلی کمه و یا من بلد نیستم پیدا کنم.
البته من بیشتر در سایتهای خارجی جستجو کردم و این سایت اولین نتیجه های فارسی بود که اومدم. 

مشکل دقیق بنده اینه که در راهنمای کتابخانه وای فای در سایت اصلی آردینو طریقه ست آپ کردن ماژول بصورت سافت اکسز پوینت وجود داره. اما مثالش ناقصه و دستور ارسال و دریافت نگفته. 

مشکلی در پروگرام کردن ماژول ندارم. مشکلی در کار با آردینو هم ندارم. مشکل بنده در برنام نویسیه و استفاده از دستورات مناسبه.

من میخوام همون کاری که با دستورات AT انجام دادم را با آردینو انجام بدم و همون پروژه را با آردینو انجام بدم به امید رسیدن به سرعت های بالا که میدونم به بیش از 2MB با این ماژول میشه ارتباط داشت. دیدم شما پایه اید و از شما دوستان عزیز و دیگران درخواست کمک دارم. میدونید که چقدر این موضوع مهمه و ساختن یک سافت اکسز پوینت سریع چه وسعت زیادی در هزاران پروژه مختلف میتونه داشته باشه. از اینترنت اشیا گرفته تا ارسال و دریافت دیتا از هر وسیله به وسیله دیگر و حتی انتقال تصویر وصوت و فیلم از ابزار خودمون روی لب تاب یا روی تلویزیون و ... بصورت Real Time با کیفیت بالا.
الان تا اونجا پیش رفتم که با آردینو ماژول را در مد سافت اکسز پوینت بالا میارم و سپس با لب تاب بهش وصل میشم و از طریق لب ویو با دادن دو پارامتر پورت لوکال و آی پی لوکال به ماژول هم متصل میشم اما ارسال و دریافت دیتا را هنوز نتونستم انجام بدم. خیلی وقت گذاشتم به نظرم تنهایی کار کردن ذهنم را خسته کرده و نیاز به کمی کمک و راهنمایی دارم. اگه کد من را هم خواستید بگید تا بزارم. کوتاهه.


با تشکر فراوان.
سلام بر شما قلب عشق - بهینه شده برای ورژن جدید 

همین اول کار بگم من زیاد وارد نیستم؛ ولی شاید بتونیم تا یه جاهاییش پیش بریم لبخند - بهینه شده برای ورژن جدید لبخند - بهینه شده برای ورژن جدید

الان شما دو تا لپتاپ مختلف وصل کردید به esp8266 و با هم انتقال دیتا انجام دادند؟ درسته؟

چیزی که هست اینه که برای soft ap شدن؛ و ارتباط بین کلاینتها؛ ap باید قابلیت مسیر یابی داشته باشه؛ که فکر نمیکنم این قابلیت در فریم‌ور at  پیاده شده باشه؛
 من این مدلی که تست کردید انجام ندادم تا حالا


بنظرم اول دستورات AT و  یه توضیح کوتاهی از برنامه میکروتون رو بگید شاید بشه با همون یکارایی کرد ..


در مرحله بعدی برای برنامه نویسیش باید اول بریم سراغ اینکه در مد SOFT AP آیا دستگاه ها به هم دسترسی دارند یا نه ..
اگه داشته باشند کار سادست؛ واگر نداشته باشند؛ باید دستی برنامه نویسی بشه ...


 خنده بلد − بهینه شده برای ورژن جدید هیچی هم از چیزایی که گفتم خودم نفهمدیم خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید

نقل قول: البته من بیشتر در سایتهای خارجی جستجو کردم و این سایت اولین نتیجه های فارسی بود که اومدم.

 خنده بلد − بهینه شده برای ورژن جدید کدوم تاپیک آورد بالا؟ خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید اگه تاپیک من بود به خودم جایزه بدم خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
خنده بلد − بهینه شده برای ورژن جدید  خوب من هرچی گفتم رد میکنم خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید 

این سیستمی که شما گفتید رو من پیاده کردم همین الان و نتایج خوبی گرفتم؛ خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید یک ساعت وقت گذاشتم؛ شماره کارت بدم؟ خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید 

----------------

اول از همه esp8266 با usb وصل کردم به سیستم  که ببرمش توی مد اکسس پوینت؛  من با لینوکس وصل شدم بهش ...
(من از اینا دارم که mini usb میخوره؛  البته اینجا مهم بردن ماژول به حالت ap هست و فرقی در کلیت ماجرا نمیکنه)

[attachment=13990]

همونطور که مشخص هست اول at گرفتم و بعدش دیدم توی چه مدی هست؛ که توی مد ۲ یا همون اکسس پوینت هست
قلب عشق - بهینه شده برای ورژن جدید با تشکر از هادی که اینا رو یادم داد قلب عشق - بهینه شده برای ورژن جدید


دوم با کامپیوتر و از طریق wifi وصل شدم به به این اکسس پوینت (اسم این باشه pc1)

[attachment=13991]

همونطور که معلومه DHCP روی esp بهم یه آیپی داد به این ادرس: 192.168.4.2


مرحله سوم اتصال سیستم دومم به esp هست؛ که در اینجا من از گوشی اندروید استفاده کردم؛ که شما همون لپتاپ دوم رو رو وصل کنید ...  (اسم این باشه pc2)

پس تا اینجای ما یدونه ap داریم که همون esp هست؛ و دوتا از سیتسمهامون (pc1 , pc2) هم وصل شده بهش؛


مرحله چهارم اینه که روی pc1 یه پورت باز کنیم و از pc2 وصل بشیم بهش و یا برعکس ...
که من روی pc1 یک پورت به شماره 8989 باز کردم
روی لینوکس با این دستور: که میتونید nc رو واسه ویندوز هم دانلود کنید ...
کد php:
nc --p 8989 

مرحله پنجم ارسال اطلاعات از pc2 به سمت آیپی 192.168.4.2 و پورت 8989 هست .. 


که در تصویر زیر میبینیم اطلات اومد ...

[attachment=13992]


تا اینجای کار نتیجه این میشه که خود فریمور at مسیر یابی و .. انجام میده؛  پس یعنی حرفم که اون بالا گفتم اشتباه بوده..
نقل قول: چیزی که هست اینه که برای soft ap شدن؛ و ارتباط بین کلاینتها؛ ap باید قابلیت مسیر یابی داشته باشه؛ که فکر نمیکنم این قابلیت در فریم‌ور at  پیاده شده باشه؛



------
مرحله یعدی تست سرعت ارسال و دریافته

از pc2 یک فایل تقریبا 5.5 مگابایتی رو فرستادم به سمت pc1 (یهنی همون 192.168.4.2 و پورت 8989)
(دستوراتی که درعکس زیر هست مهم نیست؛ فقط اون خجم فایله مهمه که مشخص کردم)

[attachment=13994]

و عکس زیر مقدار زمانی هست که فایل دریافت شده:

[attachment=13993]

یعنی تقریبا در حدود 14 ثانیه یک فایل تقریبا 5.5 الی 6 مگابایتی رو تونستیم بفرستیم بدون درگیر شدن uart و به شکل مستقیم

به عبارت دیگه 5968932 بایت رو در ۱۴ ثانیه فرستادیم که به عبارت دیگه میشه 426352 بایت در ثانیه یا 400 کیلو بایت در ثانیه؛؛

یعنی شما حتی اگر هم از at استفاده نکنید و بخوایید از اول پروگرامش کنید فکر نمیکنم باز هم به سرعت 2مگ دست پیدا کنید؛؛

(مگر اینکه فرستنده (گوشی اندرویدیم) یا گیرنده (کارت شبکه wifi) من مشکل داشته باشه که افت سرعت پیدا کرده ...) شما هم اگه میتونید یه همچنین تستی بگیرید سرعت ببنیم چقدر هست...




قلب عشق - بهینه شده برای ورژن جدید باز هم با تشکر از هادی که کل این مطالب رو یادم داد.


و اینکه الان دیگه شد دو ساعت خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید حتما باید شماره کارت بدم وگرنه نمیصرفه خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید

جایی متوجه نشدید یا اینکه کلا من سوالتون رو بد فهمیدم و چرت و پرت گفتم بفرمایید
سوال من را که انگار نخوندید اصلا و یه جواب دیگه دادید. 
اما کاری که انجام دادید خودش خیلی جالبه و اگه بشه سر در بیارم و انجامش بدم عالیه. مگه  با دستورات AT  بصورت فکستنی با AT+CIPSEND   دیتا را منتقل نمیکنید پس چیجوری شما انجامش دادید که سرعتتون نسبتا خوب بوده.

چه جوری توی یک ساعت وقت گذاشتن تونستید با این ماژول فایل انتقال بدید. این یه پروژه چند هفته ای برای من هست. جلل خالق.


خب من نیاز مدار خودم را بگم بهتره.
یک مقدار آنالوگ دارم با میکرو میخونم. بعد با پورت سریال میکرو و به کمک دستورات AT میدمش به ماژول ESP-12-F  بعد میخوام این مقدار را فقط با یک لب تاب بخونم. میخوام بصورت Rea Time و سریع باشه و پلاتش را در لب تابم رسم کنم. برای اینکار ماژول  را بصورت هات اسپات (اکسزپوینت)  راه میندازم و با دستور فکستنی AT+CIPSEND   مقدار آنالوگ که یک عدد چهار رقمی هست را میفرستم به پورت 8080. اونطرف یک برنامه بنام LABVIEW   لب ویو از طریق TCP Read/Write  این مقدار را میخونه و هرلحظه پلات هیستوگرام دیتای دریافتی را رسم میکنه. اگه راهنماییم کنید ممنون میشم. و لطف کنید یکبار دیگه اولین پست راهم بخونید که عالیه.

حالا چی شد که شما یهو اولش از AT Command   گفتید بعد یهو فایل چند مگابایتی ارسال کردید حتما خودت روحی، پری چیزی هستی که دو سوته فایل بصورت بی سیم جابجا میکنی  تعجب - بهینه شده برای ورژن جدید
یا ما خیلی عقب موندیم از زمونه. نمیدونم والا.  گیج - بهینه شده برای ورژن جدید
(۲۱-مرداد-۱۳۹۷, ۱۳:۲۲:۴۲)nanosi نوشته است: [ -> ]سوال من را که انگار نخوندید اصلا و یه جواب دیگه دادید.

اتفاقا سه باز خوندم  خنده بلد − بهینه شده برای ورژن جدید  به اندازه ای که متوجه سوال شدم جواب دادم؛ حالا اگه جوابم فرق داشت با سوال حلال کنید   خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید

(۲۱-مرداد-۱۳۹۷, ۱۳:۲۲:۴۲)nanosi نوشته است: [ -> ]خب من نیاز مدار خودم را بگم بهتره.
یک مقدار آنالوگ دارم با میکرو میخونم. بعد با پورت سریال میکرو و به کمک دستورات AT میدمش به ماژول ESP-12-F  بعد میخوام این مقدار را فقط با یک لب تاب بخونم. میخوام بصورت Rea Time و سریع باشه و پلاتش را در لب تابم رسم کنم. برای اینکار ماژول  را بصورت هات اسپات (اکسزپوینت)  راه میندازم و با دستور فکستنی AT+CIPSEND   مقدار آنالوگ که یک عدد چهار رقمی هست را میفرستم به پورت 8080. اونطرف یک برنامه بنام LABVIEW   لب ویو از طریق TCP Read/Write  این مقدار را میخونه و هرلحظه پلات هیستوگرام دیتای دریافتی را رسم میکنه. اگه راهنماییم کنید ممنون میشم. و لطف کنید یکبار دیگه اولین پست راهم بخونید که عالیه.

خب پس الان سوالتون بهتر شد  خنده بلد − بهینه شده برای ورژن جدید  خنده بلد − بهینه شده برای ورژن جدید

دستوراتی که و اسه اینکار تا اینجا نوشتید + دستورات at که نوشته بودید رو هم بزارید واسه ادامه کار
من مشکلم حل شد. ممنون.
دستورات AT  را میزارم برا هرکی خواست استفاده کنه روزی بدردش بخوره. نمیدونم چرا میشه هر پستی میزارم آخرش خودم جوابش را 

 
کد php:
            
printf
("AT\r");
delay_ms(1000);
printf("AT+RST\r");
delay_ms(1000);
delay_ms(1000);
printf("AT+CWMODE=3\r");
delay_ms(1000);
printf("AT+CIPMUX=1\r");
delay_ms(1000);
printf("AT+CIPSERVER=1,8888\r");
delay_ms(1000);



 sprintf(str,"AT+CIPSEND=0,5%c",13);
       puts(str); 
       delay_ms
(10);

      ADCVALUE1 =read_adc(1) ;
    //  ftoa(ADCVALUE1,0,str2); 
      printf("%04u",ADCVALUE1); 
بعد با آردینو هم نوشتم و به هزار سمپل در ثانیه رسیدم.
حالا شما هم به ما یاد بدید از این شعبده بازیتون. یعنی انتقال فایل از طریق وای فای. البته ویندوز بگید لطفا نه لینوکس
(۲۴-مرداد-۱۳۹۷, ۰۴:۵۲:۳۶)nanosi نوشته است: [ -> ]دستورات AT  را میزارم برا هرکی خواست استفاده کنه روزی بدردش بخوره. نمیدونم چرا میشه هر پستی میزارم آخرش خودم جوابش را

دستتون درد نکنه  قلب عشق - بهینه شده برای ورژن جدید  

نقل قول:  من مشکلم حل شد. ممنون.
printf("AT+CIPSERVER=1,8888\r");

اتفاقا  من چندین مورد کد مثال پیدا کرده بودم؛ منتظر بودم کد بالا رو بزارید تا متوجه بشم esp کلاینت بوده یا سرور!
در کد اردینو چه مدلیشو استفاده کردید؟


نقل قول:  بعد با آردینو هم نوشتم و به هزار سمپل در ثانیه رسیدم.

1000 سمپل؟ یعنی در بهترین حالت 128 بایت در ثانیه؟! فکر میکنم بیشتر هم بشه ها!
اگه اینطوری هست که من پیشنهاد میکنم از همون میکرو در کنار esp استفاده کنید؛
اونطوری 115200/8 میشه تقریبا 14 کیلوبایت انتقال اطلاعات در ثانیه؛

نقل قول:  حالا شما هم به ما یاد بدید از این شعبده بازیتون. یعنی انتقال فایل از طریق وای فای. البته ویندوز بگید لطفا نه لینوکس

 تعجب - بهینه شده برای ورژن جدید  تعجب - بهینه شده برای ورژن جدید  با تصویر و عکس توضیح دادم! کجاشو مشکل داری؟!
اون کاری که من کردم تقریبا به درد کارت نمیخوره؛
یعنی دوتا سیستم کامپیوتری رو از طریق wifi وصل کردم به هم و فایل انتقال دادم..
(۲۱-مرداد-۱۳۹۷, ۰۲:۵۶:۲۹)babyy نوشته است: [ -> ]یک ساعت وقت گذاشتم؛ شماره کارت بدم؟ خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید 

خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید  بمیری  خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
(۲۱-مرداد-۱۳۹۷, ۱۳:۲۲:۴۲)nanosi نوشته است: [ -> ]چه جوری توی یک ساعت وقت گذاشتن تونستید با این ماژول فایل انتقال بدید. این یه پروژه چند هفته ای برای من هست. جلل خالق.

محمده ما رو دست کم گرفتی؟  خنده بلد − بهینه شده برای ورژن جدید

محمد اینا رو بعدا پاک کن  زبون دراز − بهینه شده برای ویرژن جدید
(۲۴-مرداد-۱۳۹۷, ۲۰:۲۷:۳۶)رسول نوشته است: [ -> ]
(۲۱-مرداد-۱۳۹۷, ۱۳:۲۲:۴۲)nanosi نوشته است: [ -> ]چه جوری توی یک ساعت وقت گذاشتن تونستید با این ماژول فایل انتقال بدید. این یه پروژه چند هفته ای برای من هست. جلل خالق.

محمده ما رو دست کم گرفتی؟  خنده بلد − بهینه شده برای ورژن جدید

محمد اینا رو بعدا پاک کن  زبون دراز − بهینه شده برای ویرژن جدید

نه دست بالا مربع ، مربع، ار یک، مثلث، دایره، دسته پایین گرفته بود، واسه همین مرحله بعدی باز نشد  خنده بلد − بهینه شده برای ورژن جدید

خنده بلد − بهینه شده برای ورژن جدید این بخش مدیرییت داره و من «دریافت اخطار از سایرین» رو برای حساب شما باز گذاشتم  خنده بلد − بهینه شده برای ورژن جدید خنده بلد − بهینه شده برای ورژن جدید
صفحه‌ها: 1 2