پروژه ربات هشدار قیمت بیت کوین یا BTC Alarm با پایتون

1402/04/28 | 1175 |
python

بیت کوین (bitcoin) در حقیقت نوعی ارز دیجیتال است که میتوانید با آن خرید، سفارش آنلاین، و یا حتی واریز به هرکس در هر نقطه از جهان را داشته باشید و یا حتی آن را به عنوان نوعی سرمایه گذاری در نظر بگیرید.

احتمالا همراه با افزایش قیمت وسوسه انگیز ارزهای دیجیتال، در اخبار و فضای مجازی درباره پادشاه ارزهای دیجیتال چیزهایی شنیده باشید و در میان گشت وگذارتان در سایت های مختلف با مطالبی تحت عنوان اینکه بیتکوین چیست و یا چطور می توانید بیت کوین رایگان به دست بیاورید، برخورد داشته اید اما در این پست ما قرار است به قیمت های در حال تغییر بیت کوین بپردازیم و اینکه چطور می توانیم با استفاده از زبان برنامه نویسی پایتون رباتی طراحی کنیم که قیمت بیت کوین را در لحظات حساس به ما یاد آوری و یا حتی برای ما بخواند.

در این آموزش قصد داریم با کوچک کردن مسئله به قطعات زیاد برنامه مورد نظر را پیاده سازی کنیم و به یک سورس واحد دست پیدا کنیم.به صورت خلاصه تکه کد های استفاده شده در برنامه در زیر برای هر بخش قید می شوند تا بتوانید به راحتی از آن ها استفاده کنید.

بخش اول - قیمت و مقایسه

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

btc_price = 19050

if btc_price < 19000:
    print("btc went low", btc_price)
    # create an alarm for warning
        
elif btc_price > 19100:
    print("btc went high",btc_price)
    # create an info for up price

else:
    print(btc_price)

بخش دوم - حلقه تکرار قیمت

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

while True:
	btc_price = int(input("enter current btc price: "))
	if btc_price < 19000:
		print("btc went low", btc_price)
		# create an alarm for warning
			
	elif btc_price > 19100:
		print("btc went high",btc_price)
		# create an info for up price

	else:
		print(btc_price)

بخش سوم - دریافت قیمت لحظه ای بیت کوین

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

import cryptocompare
print(cryptocompare.get_price('BTC',curr='USD')["BTC"]["USD"])

بخش چهارم - اجرای موسیقی و هشدار ها با پایتون 

نوشته خروجی کافی نیست! در این بخش لازم است که ربات خود درک دهیم تا بتواند به ما هشدار های لازم را دهد که وضعیت لحظه ای بیت کوین و قیمت آن به چه صورت است

from pygame import mixer
mixer.init()
mixer.music.load('alarm.mp3')
mixer.music.play()

بخش پنجم - اجرای عملکرد خواندن قیمت

حال پا را فراتر می گذاریم و به ربات خود قابلیت خواندن متن را اضافه می کنیم که به TTS یا Text To Speech شهره است و به سادگی این کار را با استفاده از کتابخانه pyttsx3 انجام می دهیم.

import pyttsx3
engine = pyttsx3.init()
engine.say("btc is 19100")
engine.runAndWait()

بخش آخر - جمع بندی و کد نهایی

و در آخر مجموع کد های نوشته شده را به صورت یک پارچه ملاحظه می کنید. برای اطلاعات بیشتر حتما ویدئو را مشاهده کنید و همچنین می توایند سوالات خود را در این باره از ما بپرسید.

# Author : Ali Bigdeli
# Website: icc-aria.ir
# Project Name : BTC Alarm

import cryptocompare
from time import sleep
from pygame import mixer
import pyttsx3

mixer.init()
engine = pyttsx3.init()

thresh_down = int(input("enter down threshold: "))
thresh_up = int(input("enter up threshold: "))
threshold = int(input("enter threshold: "))


while True:
    btc_price = cryptocompare.get_price('BTC',curr='USD')["BTC"]["USD"]
    if btc_price < thresh_down :
        print("btc went low", btc_price)
        # create an alarm for warning
        thresh_up -= threshold
        thresh_down -= threshold
        mixer.music.load('alarm.mp3')
        mixer.music.play()
        engine.say("btc is {}".format(btc_price))
        engine.runAndWait()
        
    elif btc_price > thresh_up:
        print("btc went high",btc_price)
        # create an info for up price
        thresh_up = thresh_up + threshold
        thresh_down += threshold
        mixer.music.load('info.mp3')
        mixer.music.play()
        engine.say("btc is {}".format(btc_price))
        engine.runAndWait()
    else:
        print(thresh_down,"<",btc_price,"<",thresh_up)
    sleep(5)

 


avatar
علی بیگدلی

نویسنده

دوره های من در مکتبخونه

آموزش جنگو پیشرفته
  • سطح: پیشرفته 4.9
آموزش جنگو Django
  • سطح: مقدماتی 4.6

آخرین پست ها

نحوه نصب و پیاده سازی Caprover بر روی لینوکس
نحوه نصب و پیاده سازی Caprover بر روی لینوکس
  • django 1402/11/29
استفاده از محیط docker-compose و dev container در مدیریت پروژه
استفاده از محیط docker-compose و dev container در مدیریت پروژه
  • django 1402/11/22
پایشگر آب و هوا و کنترل از طریق MQTT با نرم افزار IOT Dashboard
پایشگر آب و هوا و کنترل از طریق MQTT با نرم افزار IOT Dashboard
  • micro python 1402/06/11

آخرین دوره ها

آموزش arduino
آموزش Arduino
  • رایگان 91 دانشجو
آموزش رابط گرافیکی Tkinter
آموزش Tkinter
  • رایگان 463 دانشجو