Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Internet radio script
#1
Halo to all you good people.
I got a raspberry pi Zero and i am trying to make an internet radio, following a tutorial but i am stuck with the python code. when i try to run it i get the following message:

"pi@raspberrypi:~/Projects/Radio $ sudo python radio.py
File "radio.py", line 96
time.sleep(1)
^
IndentationError: unexpected indent"


here is the code from the tutorial:

	
#!/usr/bin/python
#
# Script for Raspberry Pi Internet Radio
# 
# Author: Kyle Prier
# Site: http://wwww.youtube.com/meistervision
# 
# LCD author : Matt Hawkins
# Site   : http://www.raspberrypi-spy.co.uk/
# 
# Date   : 10/01/2012
#
 
# The wiring for the LCD is as follows:
# 1 : GND
# 2 : 5V
# 3 : Contrast (0-5V)*
# 4 : RS (Register Select)
# 5 : R/W (Read Write)       - GROUND THIS PIN! We do not want the LCD to send anything to the Pi @ 5v
# 6 : Enable or Strobe
# 7 : Data Bit 0             - NOT USED
# 8 : Data Bit 1             - NOT USED
# 9 : Data Bit 2             - NOT USED
# 10: Data Bit 3             - NOT USED
# 11: Data Bit 4
# 12: Data Bit 5
# 13: Data Bit 6
# 14: Data Bit 7
# 15: LCD Backlight +5V
# 16: LCD Backlight GND (Red)
# 17: LCD Backlight GND (Green)
# 18: LCD Backlight GND (Blue)
 
#import
import RPi.GPIO as GPIO
import time
import os
 
# Define GPIO to LCD mapping
LCD_RS = 26
LCD_E  = 19
LCD_D4 = 13
LCD_D5 = 6
LCD_D6 = 5
LCD_D7 = 11
 
# Defomte GPIO for Radio Controls
NEXT = 24
PREV = 4
 
# Define some device constants
LCD_WIDTH = 20    # Maximum characters per line
LCD_CHR = True
LCD_CMD = False
 
LCD_LINE_1 = 0x80 # LCD RAM address for the 1st line
LCD_LINE_2 = 0xC0 # LCD RAM address for the 2nd line
LCD_LINE_3 = 0x94 # LCD RAM address for the 3rd line
LCD_LINE_4 = 0xD4 # LCD RAM address for the 4th line 
 
# Timing constants
E_PULSE = 0.00005
E_DELAY = 0.00005
 
def main():
  # Main program block
 
  GPIO.setmode(GPIO.BCM)       # Use BCM GPIO numbers
  GPIO.setup(LCD_E, GPIO.OUT)  # E
  GPIO.setup(LCD_RS, GPIO.OUT) # RS
  GPIO.setup(LCD_D4, GPIO.OUT) # DB4
  GPIO.setup(LCD_D5, GPIO.OUT) # DB5
  GPIO.setup(LCD_D6, GPIO.OUT) # DB6
  GPIO.setup(LCD_D7, GPIO.OUT) # DB7
   
  GPIO.setup(NEXT, GPIO.IN) # Next Channel button
  GPIO.setup(PREV, GPIO.IN) # Previous Channel button
   
  # Initialise display
  lcd_init()
  # Send some test
  lcd_byte(LCD_LINE_1, LCD_CMD)
  lcd_string("Raspberry Pi",2)
  lcd_byte(LCD_LINE_2, LCD_CMD)
  lcd_string("Internet Radio",2)
  lcd_byte(LCD_LINE_3, LCD_CMD)
  lcd_string("by",2)
  lcd_byte(LCD_LINE_4, LCD_CMD)
  lcd_string("Meister Vision", 2)    
  time.sleep(4) 
  os.system("mpc play")
  while 1:
      if ( GPIO.input(NEXT) == True):    
        os.system("mpc next")
            time.sleep(1)
        os.system("mpc play")
             
      if ( GPIO.input(PREV) == True):
        os.system("mpc prev")
            time.sleep(1)
        os.system("mpc play")
       
 
      f=os.popen("mpc current")
      station = ""
      for i in f.readlines():
        station += i
      # Send some text
      lcd_byte(LCD_LINE_1, LCD_CMD)
      lcd_string(station,1)
      lcd_byte(LCD_LINE_2, LCD_CMD)
      lcd_string("",1)
          lcd_byte(LCD_LINE_3, LCD_CMD)
      lcd_string("",1)
      lcd_byte(LCD_LINE_4, LCD_CMD)
          lcd_string("",1)
              
             
    
  time.sleep(20)
 
def lcd_init():
  # Initialise display
  lcd_byte(0x33,LCD_CMD)
  lcd_byte(0x32,LCD_CMD)
  lcd_byte(0x28,LCD_CMD)
  lcd_byte(0x0C,LCD_CMD)  
  lcd_byte(0x06,LCD_CMD)
  lcd_byte(0x01,LCD_CMD)  
 
def lcd_string(message,style):
  # Send string to display
  # style=1 Left justified
  # style=2 Centred
  # style=3 Right justified
 
  if style==1:
    message = message.ljust(LCD_WIDTH," ")  
  elif style==2:
    message = message.center(LCD_WIDTH," ")
  elif style==3:
    message = message.rjust(LCD_WIDTH," ")
 
  for i in range(LCD_WIDTH):
    lcd_byte(ord(message[i]),LCD_CHR)
 
def lcd_byte(bits, mode):
  # Send byte to data pins
  # bits = data
  # mode = True  for character
  #        False for command
 
  GPIO.output(LCD_RS, mode) # RS
 
  # High bits
  GPIO.output(LCD_D4, False)
  GPIO.output(LCD_D5, False)
  GPIO.output(LCD_D6, False)
  GPIO.output(LCD_D7, False)
  if bits&0x10==0x10:
    GPIO.output(LCD_D4, True)
  if bits&0x20==0x20:
    GPIO.output(LCD_D5, True)
  if bits&0x40==0x40:
    GPIO.output(LCD_D6, True)
  if bits&0x80==0x80:
    GPIO.output(LCD_D7, True)
 
  # Toggle 'Enable' pin
  time.sleep(E_DELAY)    
  GPIO.output(LCD_E, True)  
  time.sleep(E_PULSE)
  GPIO.output(LCD_E, False)  
  time.sleep(E_DELAY)      
 
  # Low bits
  GPIO.output(LCD_D4, False)
  GPIO.output(LCD_D5, False)
  GPIO.output(LCD_D6, False)
  GPIO.output(LCD_D7, False)
  if bits&0x01==0x01:
    GPIO.output(LCD_D4, True)
  if bits&0x02==0x02:
    GPIO.output(LCD_D5, True)
  if bits&0x04==0x04:
    GPIO.output(LCD_D6, True)
  if bits&0x08==0x08:
    GPIO.output(LCD_D7, True)
 
  # Toggle 'Enable' pin
  time.sleep(E_DELAY)    
  GPIO.output(LCD_E, True)  
  time.sleep(E_PULSE)
  GPIO.output(LCD_E, False)  
  time.sleep(E_DELAY)   
 
if __name__ == '__main__':
  main()


i am a total new to python and i would appreciate your help.

thank you all and best regards
Reply


Messages In This Thread
Internet radio script - by ahim - Jul-13-2018, 07:45 PM
RE: Internet radio script - by Axel_Erfurt - Jul-13-2018, 08:08 PM
RE: Internet radio script - by Skaperen - Jul-13-2018, 08:51 PM
RE: Internet radio script - by ahim - Jul-14-2018, 06:13 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  No Internet connection when running a Python script basil_555 8 690 Mar-11-2024, 11:02 AM
Last Post: snippsat
  Looping over radio buttons garynewport 8 2,344 Jan-10-2023, 10:56 AM
Last Post: garynewport
  check if a file exist on the internet and get the size kucingkembar 6 1,829 Apr-16-2022, 05:09 PM
Last Post: kucingkembar
  Check internet speed ebolisa 1 1,795 Oct-29-2020, 08:09 PM
Last Post: Larz60+
  packet radio communication EmpireAndrew 1 2,218 Nov-01-2019, 06:35 PM
Last Post: micseydel
  twisted.internet.error.ConnectionLost phob0s 0 3,789 May-23-2018, 12:57 PM
Last Post: phob0s
  Need help in Python script to BIND with OID(Oracle Internet Directory) Server kiran_j 0 3,253 Nov-30-2017, 06:23 AM
Last Post: kiran_j
  Download file from Internet Tribunal 1 2,800 Oct-11-2017, 06:03 PM
Last Post: Larz60+
  tkinter - Make circle for radio button bigger Raptor88 5 14,263 Mar-07-2017, 12:13 PM
Last Post: metulburr

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020