اطلاعیه

Collapse
No announcement yet.

لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

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

    لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

    با سلام
    لینوکس (حداقل ابونتو که من از آن استفاده میآ‌کنم) به راحتی با موبایلآ‌ها (حداقل سونیآ‌اریکسون که یکی دو روزی است از آن استفاده میآ‌کنم ) ارتباط بر قرار میآ‌کند بدون نیاز به درایور خاصی و یا تنظیمات پیچیدهآ‌. بعد از اتصال موبایل با کابل USB به کامپیوتر و قرار دادن موبایل در حالت Phone Mode لینوکس یک یا دو device سریال برای ارتباط با گوشی درست میآ‌کند ( ‎/dev/ttyACM0 ‬یا ‎/dev/ttyACM1 ‬). این deviceها دقیقا مانند یک پورت سریال کار میآ‌کنند و شما میآ‌توانید به راحتی دستورات AT را به موبایل ارسال کنید (بدون نیاز به برنامهآ‌ی خاصی و فقط با یک ترمینال سریال). به دلیل همین سادگی برنامهآ‌های فراوانی برای کار با موبایل وجود دارد (هم در لینوکس و هم در ویندوز). ولی برنامهآ‌هایی جالب هستند که با command line کار میآ‌کنند.

    یکی از این برنامهآ‌ها gammu است که از خط فرمان میآ‌تواند موبایل شما را کنترل کند (محتوای آن رب بخواند، پیامک بفرستد/بخواند....) البته برنامهآ‌ای نیز وجود دارد به نام wammu که یک واسط کاربری گرافیکی است (GUI) که از این برنامه استفاده میآ‌کند.

    حالا چرا شل؟

    فرض کنید که در یک سناریو خاص من علاقهآ‌مند باشم که دمای CPU کامپیوتر خودم را برای یک شماره خاص هر نیم ساعت یک بار ارسال کنم. خوب حالا اگر من یک کاربر تحت سلطه تفکر drag-and-drop ویندوزی باشم قطعا هنگ میآ‌کنم و این کار را پروژهآ‌ای بزرگ و پر زحمت در نظر میآ‌گیرم! و یا در بهترین حالت باید کلی تلاش کنم و برنامهآ‌ای بنویسم تا این کار را انجام دهم.
    ولی خوب من کاربر لینوکس هستم پس ابتدا در لیست بستهآ‌ها دنبال برنامهآ‌ای برای کنترل موبایل میآ‌گردم.

    apt-cache search mobile phone


    و بعد از جستجو و کمی گوگل برنامه gammu را انتخاب و نصب میآ‌کنم:

    sudo aptitude install gammu


    برای تنظیمات اولیه کافی است که فایل ‎~/.gammurc ‬ را به این صورت در بیاوریم که تقریبا با تمام موبایلآ‌ها کار میآ‌کند (البته فکر کنم تنظیمات اولیه تقریبا به همین صورت باشد):


    کد:
       
    [gammu]
    port = /dev/ttyACM0
    connection = at


    حالا کافی است که به این صورت یک پیامک بفرستم:


    $ echo "SMS TEXT" | gammu --sendsms TEXT PHONENUMBER


    خوب از این جا به بعد کار خیلی ساده است بقیه کار نوشتن یک شل اسکریپت ساده است:



    کد:
     
    #!/bin/bash
    
    phone_number=0935000000
    while [ 1 ]; do
    	time=`date`
    	temp=`cat /proc/acpi/thermal_zone/TZ00/temperature`
    	smstext=$(echo -e "$temp -- $time")
    	echo $smstext | gammu --sendsms TEXT $phone_number
    	sleep 30m
    done
    من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

    #2
    پاسخ : لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

    ولی خوب من کاربر لینوکس هستم پس ابتدا در لیست بستهآ‌ها دنبال برنامهآ‌ای برای کنترل موبایل میآ‌گردم.

    apt-cache search mobile phone

    و بعد از جستجو و کمی گوگل برنامه gammu را انتخاب و نصب میآ‌کنم:

    sudo aptitude install gammu
    خوب بازم که شد همون !
    اون بسته و گنوم ، از هوا نیومده که یکی هم اونارو نوشته دیگه !

    دیدگاه


      #3
      پاسخ : لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

      نوشته اصلی توسط فرشاد اکرمی
      اون بسته و گنوم ، از هوا نیومده که یکی هم اونارو نوشته دیگه !
      نوشته که ما استفاده کنیم :smile:
      گنوم هم که در اینجا نیازی بهش نیست !
      چگونه هوشمندانه بپرسیم

      دیدگاه


        #4
        پاسخ : لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

        نوشته اصلی توسط فرشاد اکرمی
        خوب بازم که شد همون !
        اون بسته و گنوم ، از هوا نیومده که یکی هم اونارو نوشته دیگه !
        با سلام
        من که منظور شما رو درست متوجه نمیآ‌شوم. ولی اگر حتی برنامهآ‌ی خاصی هم دم دستتون نباشه فقط کافی است که دستورات AT Commands را بدانید. در این حالت حتی نیازی به ترمینال نیز ندارید کافی است برای نوشتن در پورت سریال به این صورت عمل کنید:


        کد:
        echo -ne "AT+CMGF=1\r" > /dev/ttyACM0


        به عنوان مثال کد بالا دستور AT+CMGF را برای موبایل ارسال میآ‌کند (این دستور آ‌smsها را در حالت متنی قرار میآ‌دهد).

        برای مشاهده خروجیآ‌های پروت هم از دستور محبوب cat استفاده میآ‌شود:


        کد:
        cat /dev/ttyACM0 &


        برای تنظیمآ‌های پورت سریال هم میآ‌توانید از برنامه stty استفاده کنید.

        حالا منظور شما دقیقا چی است؟
        من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

        دیدگاه


          #5
          پاسخ : لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

          نوشته اصلی توسط manian
          با سلام
          ( ‎/dev/ttyACM0 ‬یا ‎/dev/ttyACM1 ‬)


          $ echo "SMS TEXT" | gammu --sendsms TEXT PHONENUMBER


          خوب از این جا به بعد کار خیلی ساده است بقیه کار نوشتن یک شل اسکریپت ساده است:



          کد:
           
          #!/bin/bash
          
          phone_number=0935000000
          while [ 1 ]; do
          	time=`date`
          	temp=`cat /proc/acpi/thermal_zone/TZ00/temperature`
          	smstext=$(echo -e "$temp -- $time")
          	echo $smstext | gammu --sendsms TEXT $phone_number
          	sleep 30m
          done
          آقای اکرمی به اینا توجه کنین یکی از قدرت های لینوکس در اینجاست که در دو یا سه مسئله اینجا مطرح شده
          ۱) قابلیت پایپینگ در شل لینوکس (قابل توجه اونائی که اینو با DOS مقایسه میکنن) که در اون خط مربوط به
          echo $smstext | gammu --sendsms
          می بینین توی همین خط امکان قرار دادن متغیر رو در خط فرمان می بینم که اینم خودش جالبه و دوم این فلسفه لینوکس که هر نرم افزار استانداردی (احتمالا تحت POSIX درست نمیدونم) که البته معمولا روی یه اینترفیس متنی نوشته میشه حتی گرافیکیاش باید برای کاربر ازاد باشه یعنی کاربر بتونه وقتی Wammu رو نصب میکنه gammu رو توی شل داره و کلی چیز دیگه که شاید بشه از همین یه خط در آورد
          ۲)همون خطی که راجع به /dev/ttyACM بحث میکنه این مسئله خیلی جالب و خیلی قدرتمنده یعنی یه نگاه هکری پشت این قضیه هست (که مربوط به همهٔ یونیکس هاست) و اون اینکه تمام دیوایسهای سیستم حتی تا اونجا که شرکت سازنده اجازه بده و توانائی هکرها منجمله برخی از IC های روی مادربورد و حتی محتوای RAM :eek: و کلی چیز دیگه به شکل یه فایل std out/in در میان که در پوشهٔ /dev قرار میگیره فلسفه ای که پشت این هست و قدرتی که به کاربر به خصوص از نوع مانیانی میده بسیار جالب و بسیار زیباست به طوری که من الان ذوق زنده شدم از این همه زیبائی در تفکر طراحی سیستم عامل :wow:
          ۳)شل اسکریپتی که مانیان نوشتن کلی مسئله داره توش از همه اون دستورات میشه در خود command ها استفاده کرد این بدیهی ولی واسه کاربر ویندوز نه چون ممکنه که فرق کنه شل اسکریپت مثل visual basic هست بهرحال... نقطهٔ فرق ویندوز و لینوکس در این چیزاست یعنی این فرق ها هست که باعث میشه منی که دارم یاد میگیرم و هنوز خیلی مونده هیچ وقت از لینوکس جدا نشم ازون ور هم مطئنم ویندوز به خاطر فلسفه ش و نحوهٔآ‌ توسعه هیچوقت به اینجا نمیرسه حتی توی نسخه ۷۰۰۰ مگر اینکه مثل اپل که اومد و سیستم عاملشو آورد توی دنیای یونیکس.
          این سخن پایان ندارد ای جوان رو...یادم رفت :job:

          دیدگاه


            #6
            پاسخ : لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

            اینقدر حرف زدم یادم رفت بگم پایپینگ چیه که نمیگم چون میدونین میشه حدس زد مثلا میشه خروجی اینو وصل کرد به ورودی این اینجوری :icon_razz: :arrow:
            یکی دیگه اینکه اصلا اینجور چیزا رو میشه توی ویندوز توهم کرد :mrgreen:
            واسه همین هست که توی لینوکس بینهایت چیز راجع به سیستم عامل هست و کلا خیلی قدرت به کاربر میده در حالیکه من توی ویندوز خیلی وقتی به انتها رسیدم (خواهش میکنم کلاه بزرگی به اسم ریجستری رو مثال نیارین) و با این حال وقتی مشکلی پیش میاد واقعا میگم اگر معمولی نباشه دست و پا بسته ام یعنی کاری ازم بر نمیاد حتی اگه آخر کامپیوتر و برنامه نویسی باشی ولی توی لینوکس با اینکه تا حرفه ای بودن خیلی فاصله دارم همواره راهی هست که امتحان کنم و کلا شفافه مکانیسمش معملومه هر جا رو بخام دست میزنم یعنی دست و پا بسته نیستم شما آزاد هستین تا اونچه رو که میخواین انجام بدین این خیلی ارزشمند هست که من کاربر آزاد باشم.. :mrgreen

            دیدگاه


              #7
              پاسخ : لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

              ما سوای این حرفا :mrgreen: ( تقریبا 80 درصدشو نفمیدیم ! اونی هم که فهمیدیم به برکت نرم افزار vmware هست که روش اوبونتو نصب کردم و هر از چند گاهی باهاش ور می رم :rolleyes: )
              یه چند تا سوال که همیشه برام مطرح بوده !
              - نرم افزارهایی که برای لینوکس طراحی میشند ، خیلی آسون کرک می شند ؟
              - علت زیاد بودن نرم افزارهای ویندوز نسبت به لینوکس اینه که توی لینوکس حتماً باید اپن سورس ارائه بشه ؟ یعنی راهی نیست که کسی به کد نرم افزار دسترسی نداشته باشه ؟

              دیدگاه


                #8
                پاسخ : لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

                خوب راجع به سوال دوم اول بگم که نه اینطور نیست مثلا من الان Adobe Acrobat Reader رو روی سیستمم دارم با Wine هم اجراش نکردم مستقیم تحت لینوکس هست این محدودیت نیست ولی میدونی موضوع اینه که توی جامعه لینوکس وقتی مثلا OO.Office یا Symphony از شرکت IBM هست کسی نمیگه مثلا برو با Cross fire مایکروسافت آفیس رو اجرا کن با اینکه به نظر خودم هیچ کدوم مایکروسافت آفیس ۲۰۰۷ نمیشه و سر تر از آفیس متن باز OO.org هست ولی بازم سعی میکنن نگن
                ضمنا فکر نمیکنم خیلی از برنامه های تخصصی برق که روی یونیکسها تحت شبکه اجرا میشه اپن سورس باشن بهرحال وقتی معادل متن بازش هست سعنی میکنن ازون استفاده کنن مثلا اکثر متخصصین MAYA اونو روی لینوکس اجرا میکنن مثل استودیوهای حرفه ای انیمیشن توی هالییود چون عملکرد بهتری داره تا روی ویندوز ولی متن بسته هست و کاملا روی لینوکس هم نصب میشه ولی وقتی شما توی یه فروم راجع به انیمیشن سازی توی لینوکس میپرسی بهت Blender رو معرفی میکنن که ضعیفتر از MAYA است (هر چند این بلندر هم واسه خودش خدائیه و باهاش فیلم ساختن...) اینجوریه دیگه...یه جور فرهنگه... :mrgreen:
                راجع به سوال اولتون دقیقا نمیدونم دو چیز متناقض وجود داره هم اینکه لینوکس محیطی رو فراهم میکنه که قدرت زیادی به کاربر میده با انعطاف پذیری بالا این هم واسه کرکرها فراهم هست و هم واسه شرکتها.
                کلا کرک توی دنیای لینوکس کمتره اما میشه ولی دقیقا نمیدونم
                ضمن اینکه اکثر کرکرها از ابزارهای لینوکس استفاده میکنن اصلا تا قبل از ۲۰۰۰ لینوکس معروف بود به سیستم عامل هکرها که اسم عامی هست که شامل کرکر هم میشه.
                قضاوت راجع بهش سخته مثلا شما توی ویندوز به طور پیشفرض این امکان رو دارین که یک پوشه رو از دید کاربرای دیگه مخفی کنین یا دسترسیش رو محدود کنین (مثلا فقط خواندن) و این در ساختارش هست. مسائلی مثل پروتکلهای امنیتی و سیستمهای hash و .... GPG و ... که امنیتی هست توی لینوکس خیلی راحت پیاده میشه و به قول معروف اینور اونور ریخته کلا میشه گفت که لینوکس هم واسه سازنده ها و هم کرکرها ابزارهای بیشتری رو فراهم میکنه ولی اینکه کفه ترازو کدوم وری هست نمیدونم ؟؟؟

                دیدگاه


                  #9
                  پاسخ : لینوکس + شل + فرستادن SMS + کمی مسخره کردن تفکر ویندوزی!

                  راستی آًقای اکرمی لینوکس یه هسته داره مخصوص Virtual Machine که باعث میشه سیستم عامل با VM بهتر کار کنه همین برنامه های VM کد بسته هم نسخه لینوکسی دارن که اونجا راحتترن :mrgreen:

                  دیدگاه

                  لطفا صبر کنید...
                  X