در این گزارش قصد آموزش راهاندازی ماژول HLK-RM04 را داریم، امیدواریم با این آموزش کمکی به ارتقای سطح علمی شما عزیزان کرده باشیم .
تفاوت مفهومهای وایرلس (Wireless) و وایفای (Wi-Fi)
به طور کلی مفهوم Wireless (بیسیم) و Wi-Fi مشابه هستند، هر دو امکان ارتباط بدون سیم را فراهم میکنند، نتیجهی نهایی در هر دو یکی است ولی تفاوت در روش اتصال میباشد.
تعاریف وایرلس و وایفای
Wi-Fi: یک استاندارد برای ارتباطات بیسیم در فواصل کوتاه است و مخفف عبارت Wireless Fidelity است، کارکرد آن مانند Bluetooth است و یکی از استانداردهای Bluetooth نیز به شمار میآید. به عبارت دیگر Wi-Fi ابزار استانداردی است که سیستمهای کامپیوتری از طریق آن به شبکههای بیسیم متصل میشوند. در اصل ارتباط Wi-Fi تنها بین دستگاه و روتر برقرار میشود. اکثر روترها به یک مودم کابلی یا DSL یا هر نوع دیگر متصلاند که دسترسی به اینترنت را برای همهی دستگاههای متصل به روتر Wi-Fi فراهم میکند. برای ایجاد یک ارتباط Wi-Fi شما نیاز به نصب سختافزار در خانه دارید یا مجبور خواهید بود در محدودهی روتری که از طریق آن به اینترنت دسترسی دارید، باقی بمانید. همچنین میتوان یک ارتباط Wi-Fi برای برخی از انواع موبایل یا کنسولهای بازی و تلویزیونها ایجاد کرد. علاوه براین از استاندارد Wi-Fi برای ارسال اطلاعات به صورت بیسیم بین دو یا چند شبکهی کامپیوتری استفاده میشود.
Wireless: ارتباطات وایرلس بیشتر توسط تلفنهای همراه مورد استفاده قرار میگیرد، اگرچه میتوان این نوع از ارتباط را برای یک کامپیوتر پس از نصب سخت افزارهای لازم، ایجاد کرد. در یک ارتباط وایرلس، دستگاه به واسطهی نزدیکترین دکل مخابراتی، اطلاعات را رد و بدل میکند. یک اتصال وایرلس از یک شبکهی موبایلی استفاده کرده و به شما امکان استفاده از اینترنت در اکثر مکانها را میدهد.
سخت افزار مورد نیاز
اگر شما یک گوشی تلفن همراه داشته باشید برای دسترسی به اینترنت از طریق ارتباط وایرلس یا بیسیم نیازی به هیچ سخت افزار اضافی ندارید. برخی از نوتبوکها نیز بر روی خودشان کارت شبکه بیسیم نصب شده دارند.برای دسترسی به اینترنت از طریق یک ارتباط Wi-Fi، شما حتما باید یک روتر Wi-Fi خریداری کرده و آن را به مودم خود متصل کنید. لپتاپهای جدید کارت شبکه Wi-Fi نصب شده بروی خود دارند.
محدودهی تحت پوشش
ارتباط Wireless محدودهی وسیعتری نسبت به ارتباط Wi-Fi را تحت پوشش قرار میدهد. برای داشتن یک ارتباط Wi-Fi خوب و باکیفیت برخی مواقع لازم است در همان ساختمانی که روتر Wi-Fi در آن وجود دارد، باقی بمانیم.
سرعت
سرعت آپلود و دانلودی که یک ارتباط Wireless در اختیار ما قرار میدهد معمولا از یک ارتباط Wi-Fi کمتر است. طبق یک مقاله در PCWorld در سال ۲۰۱۲، کاربرانی که به سرویس وایرلس 4G دسترسی داشتند، میتوانستند با سرعت 9.12 و 5.86 مگابیت بر ثانیه دانلود و آپلود کنند. سرعت در شبکه های 3G به مراتب پایینتر از این مقدار است. یک روتر Wi-Fi می تواند سرعت انتقالی معادل ۳۰۰ مگابیت بر ثانیه را ارائه کند.
فرکانس کاری
فرکانس وایفای 2.5 GHz است که این خاصیت آن ویژگیهای زیادی را برای ما به ارمغان میآورد، از جمله کوچکشدن سایز آنتن که حتی میتوان از خود PCB به صورت یک آنتن استفاده کرد، مورد دیگر هم به دلیل فرکانس بالا بسیار راحتتر از دیوار یا اجسام دیگر عبور میکند و باعث میشود که برد بیشتری هم به ما بدهد. اما ماژولهای وایرلس معمولا فرکانسی بین 200 تا 700 مگاهرتز را دارا هستند.
در ادامه ویژگیهای ماژول وایفای را مورد بررسی قرار می دهیم:
ماژول HLK-RM04
ویژگیهای ماژول
- پشتیبانی از انتقال کاملا سریال
- پشتیبانی از دستورالعملهای تنظیم AT
- پشتیبانی کامل از پروتکل پشته TCP/IP و پروتکل DHCP برای دینامیک کردن IP
- وب سرور داخلی و انجام پیکربندی پارامترها از طریق شبکه بیسیم توسط IE Browser
- پشتیبانی کامل از عملکرد انتقال با ماکزیمم نرخ ارسال 11KB/S
نحوهی اتصال ماژول به میکرو
همانطور که در شکل مشاهده میکنید پروتکل ارتباطی ماژول برای ارتباط با میکرو UART میباشد، در ابتدا باید ماژول را Config کرد، یکی از تنظیمات ماژول، مشخص کردن اینست که ماژول در حالت کلاینت باشد یا سرور، در حالت سرور ماژول مانند یک مودم عمل میکند، برای مثال با گوشی و یا لپتاپ یا… اسم وایفای مورد نظر را جستجو کرده و سپس به آن متصل میشوید، در حالت کلاینت این ماژول هست که باید جستجو کند و یک سرور (مانند مودم) را پیدا کند و به آن متصل شود.
تنظیمات ماژول
- جهت انجام تنظیمات این ماژول باید مرورگر خود را باز کرده و این IP را وارد کنید: 192.168.16.254
- نام کاربری و پسورد پیش فرض admin میباشد. بعد از لاگین صفحه زیر را خواهید دید.
- جهت استفاده از Wi-Fi ما فقط نیاز به تنظیمات قسمت Serial2Net Settings داریم. در تنظیمات این صفحه Serial Configure و Locale/Remote Port Number برای ما مهم میباشد. که قسمت Serial Configure باید با تنظیمات برنامه C# یکی باشد و Locale/Remote Port Number نیز Port ای انتخاب شود که آزاد بوده و رمز نگاری نشود! اگر پورت از پورت هایی مانند 8080 یا 80 اتخاب شود به احتمال زیاد رمز شده و آن طرف در میکرو کاراکترهای نامفهوم دریافت میشود! و ما در اینجا پورت 251 را انتخاب کردهایم.
- SSID نامی است که برای دستگاهها قابل رویت میباشد و میتوان به نام دلخواه مثلا Belec تغییر داد.
- Password رمز اتصال به ماژول Wi-Fi میباشد و میتوانید تغییر دهید، البته ذکر این نکته مهم میباشد که رمز پیشفرض ماژول برای اتصال «12345678» میباشد، سایر تنظیمات را به حالت پیشفرض رها کنید و گزینه Apply را بزنید.
نحوهی ارتباط با ماژول
یکی از ویژگیهای خوب این ماژول این است که میتوان برای کار با آن از CMD استفاده کرد و به آن telnet کرد. برای این منظور کلیدهای ترکیبی Win + R را فشرده تا مانند شکل زیر پنجره Run باز شود، در پنجرهی باز شده CMD را تایپ و بر روی گزینهی OK کلیک کنید تا CMD باز شود.
ابتدا بایستی Telnet Client را در ویندوز فعال کرد، برای اینکار به Control panel رفته قسمت Programs and features را کلیک کرده و سپس در سمت چپ پنجرهی باز شده turn windows features on or off را کلیک کرده و سپس تیک telnet client را فعال میکنیم و OK را میزنیم و سپس میتوانیم از این قابلیت استفاده کنیم.
سپس این عبارت در Cmd تایپ telnet 192.168.16.254 251 و Enter بزنید و بعد صفحهی تمام مشکی باز میشود که هرچیزی که تایپ کنید به میکرو انتقال داده میشود. میتوانید برای ارتباط با این ماژول از ATCommand و نرم افزار hercules نیز استفاده کنید. اما ما در اینجا قصد داریم با برنامه نویسی سوکت در #c به ماژول داده ارسال و دریافت کنیم.
با استفاده از قطعه کد زیر میتوانیم به ماژول HLK-Rm04 متصل شویم.
Socket client;
IPHostEntry ipHostInfo;
IPAddress ipAdd;
IPEndPoint remoteEndPoint;
WiFi WiFiState = WiFi.Disconnected;
public enum WiFi
{
Connected,
Disconnected
};
public void WiFiConnect(string ip, string portname)
{
try
{
ipHostInfo = Dns.Resolve(ip);
ipAdd = ipHostInfo.AddressList[0];
remoteEndPoint = new IPEndPoint(ipAdd, int.Parse(portname));
try
{
client.Connect(remoteEndPoint);
}
catch (Exception ex)
{
System.Windows.MessageBox.Show(ex.Message);
return;
}
System.Media.SystemSounds.Exclamation.Play();
}
catch (Exception ex)
{
System.Windows.MessageBox.Show(ex.Message);
}
}
private void cmdBarBtnWifi_Click(object sender, EventArgs e)
{
if(WiFiState == WiFi.Disconnected)
{
client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
WiFiConnect(Properties.Settings.Default.IP, Properties.Settings.Default.IP_Port);
cmdBarBtnWifi.Image = Properties.Resources.WiFiDicConnect;
WiFiState = WiFi.Connected;
}
else if(WiFiState == WiFi.Connected)
{
client.Close();
client.Dispose();
cmdBarBtnWifi.Image = Properties.Resources.WiFiConnect;
WiFiState = WiFi.Disconnected;
}
}
منبع: وبسایت بعثت الکترونیک