2 次代碼提交 368909a5a2 ... 6158ea8590

作者 SHA1 備註 提交日期
  Robert Burghard 6158ea8590 LCD added 11 月之前
  Robert Burghard 06b208db37 Radio as system service 11 月之前
共有 5 個文件被更改,包括 47 次插入1 次删除
  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