2 Angajamente 368909a5a2 ... 6158ea8590

Autor SHA1 Permisiunea de a trimite mesaje. Dacă este dezactivată, utilizatorul nu va putea trimite nici un fel de mesaj Data
  Robert Burghard 6158ea8590 LCD added 11 luni în urmă
  Robert Burghard 06b208db37 Radio as system service 11 luni în urmă
5 a modificat fișierele cu 47 adăugiri și 1 ștergeri
  1. 1 0
      .gitignore
  2. 5 1
      bootstrap.py
  3. 27 0
      lcd.py
  4. 3 0
      main.py
  5. 11 0
      radio.service

+ 1 - 0
.gitignore

@@ -1 +1,2 @@
 .venv/
+__pycache__/

+ 5 - 1
bootstrap.py

@@ -2,11 +2,15 @@ import time
 from mpd import MPDClient
 
 
+time.sleep(10)
 client = MPDClient()
 client.timeout = 60
 client.connect("localhost", 6600)
 
 client.clear()
+client.setvol(50)
+client.repeat(1)
+client.single(1)
+
 client.load("internetradio")
-client.setvol(60)
 client.play(0)

+ 27 - 0
lcd.py

@@ -0,0 +1,27 @@
+from subprocess import Popen, PIPE
+from time import sleep, perf_counter
+from datetime import datetime
+import board
+import digitalio
+import adafruit_character_lcd.character_lcd as characterlcd
+
+
+lcd_columns = 16
+lcd_rows = 2
+
+lcd_rs = digitalio.DigitalInOut(board.D16)
+lcd_en = digitalio.DigitalInOut(board.D17)
+lcd_d4 = digitalio.DigitalInOut(board.D13)
+lcd_d5 = digitalio.DigitalInOut(board.D6)
+lcd_d6 = digitalio.DigitalInOut(board.D5)
+lcd_d7 = digitalio.DigitalInOut(board.D26)
+
+
+lcd = characterlcd.Character_LCD_Mono(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6,
+                                      lcd_d7, lcd_columns, lcd_rows)
+
+lcd.clear()
+
+
+def write(row1, row2):
+    lcd.message = row1.ljust(16)[:16] + "\n" + row2.ljust(16)[:16]

+ 3 - 0
main.py

@@ -1,5 +1,6 @@
 import time
 from mpd import MPDClient
+import lcd
 
 
 client = MPDClient()
@@ -22,9 +23,11 @@ def main():
         if station != info.get("name", ""):
             station = info.get("name", "")
             print(station)
+            lcd.write(station, title)
         if title != info.get("title", ""):
             title = info.get("title", "")
             print(title)
+            lcd.write(station, title)
         time.sleep(10)
 
 

+ 11 - 0
radio.service

@@ -0,0 +1,11 @@
+[Unit]
+Description=Internet Radio
+
+[Service]
+Restart=always
+User=robert
+WorkingDirectory=/home/robert/radio
+ExecStart=/bin/bash -c "source /home/robert/radio/.venv/bin/activate && sleep 20 && python3 /home/robert/radio/main.py"
+
+[Install]
+WantedBy=multi-user.target