Skocz do zawartości
Brentlok

Wyświetlanie kursu kryptowalut z pomocą Raspberry Pi

Pomocna odpowiedź

Kryptowaluty zdobyły już dość dużą popularność, dlatego pomyślałem, że ciekawym projektem byłoby zrobienie z pomocą maliny wyświetlacza aktualnego kursu kryptowalut.

W paru krokach postaram się przedstawić jak wykonać taki projekt.

Do budowy wykorzystałem:

Etapy wykonania projektu:

1. Podłączenie wyświetlacza

schemat.thumb.png.5808e977fe8d05fdc0c39ec4c9b91ff9.png

2. Uruchomienie I2C

Użyłem Raspbiana Jessie Lite jako systemu do naszej maliny, pierwszym krokiem będzie uruchomienie I2C:

- wpisujemy w konsolę

sudo raspi-config

- następnie wybieramy opcję numer 5

raspiconfig.thumb.png.32aca28694ad6d7d6f906086115949ee.png

- później przechodzimy do zakładki I2C

i2c.thumb.png.9781d1ef66c2fec3ee72d3e7a966802a.png

- i wybieramy yes

tak.thumb.png.d175e3afb0b6b382d39af58da2a7bb14.png

- wychodzimy z configu maliny i wykonujemy restart wpisując:

sudo reboot

- jeśli wszystko wykonaliśmy poprawnie powinniśmy ujrzeć to po wpisaniu komendy  (przedstawiony adres może się różnić od waszego)

i2cdetect -y 1

 3f.thumb.png.239d2ef3911392088880a5eb0579796e.png

3. Pobranie biblioteki do obsługi ekranu

- po uruchomieniu I2C w Raspberry należy pobrać bibliotekę komendą:

git clone https://gist.github.com/6ad9020b3c84bc65b53119b21a4bc37d.git i2c_lcd

- po pobraniu wchodzimy do folderu z tą biblioteką:

cd i2c_lcd

- teraz należy ustawić adres I2C w pliku i2c_lcd.py:

sudo nano i2c_lcd.py

- w tym miejscu wpisujemy adres, który ujrzeliśmy wcześniej przy używaniu komendy i2cdetect:

1116486357_i2cpy.thumb.png.a377e00279d75eda77c7cbb8dd8be922.png

- nie wychodząc z edytora zmieniamy wyświetlaną szerokość na 20:

531879928_i2c20.thumb.png.7535374a488ad73f4d7b7969541af786.png

- wychodzimy i zapisujemy plik naciskając kolejno CTRL+X Y Enter

- uruchamiamy test naszego wyświetlacza:

python i2c_lcd.py

- jeśli wykonaliśmy wszystko poprawie to powinniśmy ujrzeć coś takiego:

IMG_20190109_184553.thumb.jpg.0bf0f24a19afb0d76e2ad55cb5bd0fae.jpg

4. Program do odczytu i wyświetlania kryptowalut

- tworzymy plik crypto.py komendą:

sudo nano crypto.py

- i wklejamy kod:

import i2c_lcd
import requests
import time

space = 6

i2c_lcd.lcd_init()
i2c_lcd.lcd_string("-Kursy  kryptowalut-",i2c_lcd.LCD_LINE_1)
i2c_lcd.lcd_string("---Aktualny  kurs---",i2c_lcd.LCD_LINE_2)

r = 0

while True:

    #btc
    print('btc')
    r = requests.get('https://api.cryptonator.com/api/ticker/btc-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 2)
    crypto = str(crypto)
    i2c_lcd.lcd_string("------Bitcoina------",i2c_lcd.LCD_LINE_3)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    time.sleep(space)
        
    #eth
    print('eth')
    r = requests.get('https://api.cryptonator.com/api/ticker/eth-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 2)
    crypto = str(crypto)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    i2c_lcd.lcd_string("------Ethereum------",i2c_lcd.LCD_LINE_3)
    time.sleep(space)

    #bch
    print('bch')
    r = requests.get('https://api.cryptonator.com/api/ticker/bch-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 2)
    crypto = str(crypto)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    i2c_lcd.lcd_string("----BitcoinCasha----",i2c_lcd.LCD_LINE_3)
    time.sleep(space)

    #ltc
    print('ltc')
    r = requests.get('https://api.cryptonator.com/api/ticker/ltc-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 2)
    crypto = str(crypto)
    i2c_lcd.lcd_string("------Litecoina------",i2c_lcd.LCD_LINE_3)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    time.sleep(space)

    #doge
    print("doge")
    r = requests.get('https://api.cryptonator.com/api/ticker/doge-usd')
    crypto = r.json()['ticker']['price']
    crypto = float(crypto)
    crypto = round(crypto, 6)
    crypto = str(crypto)
    i2c_lcd.lcd_string("      $"+crypto,i2c_lcd.LCD_LINE_4)
    i2c_lcd.lcd_string("------Dogecoina-----",i2c_lcd.LCD_LINE_3)
    time.sleep(space)
    

- po zapisaniu uruchamiamy program:

sudo python crypto.py

- jeśli wszystko wykonaliśmy poprawnie powinniśmy ujrzeć coś takiego:

IMG_20190109_191631.thumb.jpg.32037b60c52dfb307afd8da764a10ece.jpg

Gotowe możemy monitorować kurs kryptowalut 🙂

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Właśnie zaakceptowałem Twój opis, możesz go teraz zgłosić do akcji rabatowej umieszczając link w temacie zbiorczym. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 🙂

Udostępnij ten post


Link to post
Share on other sites

Ciekawy projekt! W kodzie programu można by upakować powtarzającą się część w funkcję, ale i tak wygląda dobrze. 🙂

Program nie wykorzystuje aż tak zasobów RPi, czy dałoby się zaprząc to do kopania? 🤔

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Może następna kodu będzie wyglądać lepiej, dzięki za miły komentarz 😁Niestety z tego co się orientuję kopanie na raspberry jest bez sensu 😔

 

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
Dnia 11.01.2019 o 10:54, Gieneq napisał:

Ciekawy projekt! W kodzie programu można by upakować powtarzającą się część w funkcję, ale i tak wygląda dobrze. 🙂

Program nie wykorzystuje aż tak zasobów RPi, czy dałoby się zaprząc to do kopania? 🤔

nie sądzę by rpi dało rady kopać jakoś sensownie

Udostępnij ten post


Link to post
Share on other sites

Nie ma żadnych szans. Kopanie na RPi to tylko temat typu ciekawostka, nie ma absolutnie żadnego sensu (zresztą ogólnie kopanie BTC jest już chyba mało opłacalne) 😉

Udostępnij ten post


Link to post
Share on other sites

@Treker kopanie BTC teraz to tylko na ASICach się opłaca i jak ktoś ma dostęp do taniego prądu 🙂 Szał minął, cena spadła to można chociaż tanio fajnego Radeona z koparki dostać 🙂

 

Spróbuj lepiej wykorzystać wyświetlacz np. do kilku walut zamiast stałego tekstu, który mózg po kilku dniach ignoruje. Projekt fajny 🙂

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...