Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Internet Weather Station is not shown on 320x240 display #16

Open
dodas425 opened this issue Jan 22, 2020 · 49 comments
Open

Internet Weather Station is not shown on 320x240 display #16

dodas425 opened this issue Jan 22, 2020 · 49 comments
Labels

Comments

@dodas425
Copy link

Hello everybody!

Unfortunately, I'm almost desperate again.
Get this message with the command (sudo python weather.py):
Traceback (most recent call last):
File "weather.py", line 825, in
if my_disp.get_forecast() is False:
File "weather.py", line 274, in get_forecast
config.UNITS)
TypeError: forecast() takes at most 3 arguments (4 given)

Or with the command (python3. weather.py):

pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "weather.py", line 815, in
my_disp = my_display()
File "weather.py", line 236, in init
pygame.display.init()
pygame.error: Unable to open a console terminal

The 2 files are in the attachment as a zipped file!
Can someone help me please? Thank you very much!!!

files.zip

@genebean
Copy link
Owner

Happy to help! First off, you don’t need sudo for this... it should run as the current user. To use sudo would actually require more environment settings. Second, can you tell me what operating system you are running? If on a Debian based system, did you use the directions in the readme including installing the extra libraries?

Sent with GitHawk

@dodas425
Copy link
Author

Hello!
I´m running:
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.1 (stretch)
Release: 9.1
Codename: stretch

Furthermore I installed all dependencies and got and used an API key from https://darksky.net/dev. Unfortunately, the script still doesn't work properly.

@genebean
Copy link
Owner

Are you running it locally from your raspberry pi or from an ssh connection?

Sent with GitHawk

@genebean
Copy link
Owner

Also, what does env | sort return?

Sent with GitHawk

@dodas425
Copy link
Author

I´m running it from an ssh connection. I usually put it in the startup, so that when the Raspberry Pi's was powered up it should start.

@dodas425
Copy link
Author

Also, what does env | sort return?

<-- What do you mean by that?

@genebean
Copy link
Owner

Please run that command. As for running this over ssh, you have to export your display for that to work. Am I correct in assuming you are running the full version of Raspnian, aka not “Raspian Lite?”

Sent with GitHawk

@dodas425
Copy link
Author

DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
HOME=/home/pi
LANG=de_DE.UTF-8
LOGNAME=pi
MAIL=/var/mail/pi
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/gam es:/usr/games
PWD=/home/pi
SHELL=/bin/bash
SHLVL=1
SSH_CLIENT=192.168.178.93 63177 22
SSH_CONNECTION=192.168.178.93 63177 192.168.178.102 22
SSH_TTY=/dev/pts/0
TERM=xterm
USER=pi
_=/usr/bin/env
XDG_RUNTIME_DIR=/run/user/1000
XDG_SESSION_ID=c3

@genebean
Copy link
Owner

That’s what I was expecting. Your DISPLAY environment variable is not set. Me doing #10 will document that process. I’ll see about doing that when I get home tonight.

Sent with GitHawk

@dodas425
Copy link
Author

I don't know which Rasbian version is installed (Lite or Full) ...?

@dodas425
Copy link
Author

Thank you for your help!

@dodas425
Copy link
Author

Good evening! Do you still have time to show me how to set the DISPLAY environment variable? best regards

@genebean
Copy link
Owner

I just got home a little while ago. It’ll be later tonight but it is on my to do list still.

Sent with GitHawk

@genebean
Copy link
Owner

@dodas425 check out the updated readme. It should get you taken care of as I have made this able to run as a service. Please let me know if that works or if you need more help.

@dodas425
Copy link
Author

Thank you so much for the great help. I will be happy to test it out after work tonight and will get in touch! I wish you a nice day!

@genebean
Copy link
Owner

Just wanted to see how things went

@dodas425
Copy link
Author

dodas425 commented Jan 24, 2020 via email

@dodas425
Copy link
Author

dodas425 commented Jan 24, 2020 via email

@dodas425
Copy link
Author

IMG_6361

@dodas425
Copy link
Author

320x240

@genebean
Copy link
Owner

Do you have FULLSCREEN set to true? Also, what kind of startup problems are you having?

Sent with GitHawk

@genebean
Copy link
Owner

Also, what’s wrong with the time? Regarding using sudo, if you back up your config, delete your copy of the code, reclone it without sudo like the docs say, put your config back, and run the new install.sh it should start automatically.

Sent with GitHawk

@dodas425
Copy link
Author

No! I have set the fullscreen to false. I'm going to change it tonight and set it to true.

@dodas425
Copy link
Author

Doesn't it matter how big the icons are and are automatically adjusted to the resolution 320/240 if FULLSCREEN = True?

@dodas425
Copy link
Author

OK, I'll go through these steps again tonight. Maybe I made a mistake and will report to you directly! Thank you!

@dodas425
Copy link
Author

Are the attached icons also intended for 320/240 resolution?

@genebean
Copy link
Owner

So, there are two sets of icons in the code. The non-full screen set of code sets things up assuming you have 480x320 display. When fullscreen is used it detects your display size and scales accordingly. Anything with a width less than 1024 gets the small icons as the big ones just take up too much room. The logic for this is here:

PiWeatherRock/weather.py

Lines 252 to 262 in d5e0ac1

if config.FULLSCREEN:
self.xmax = pygame.display.Info().current_w - 35
self.ymax = pygame.display.Info().current_h - 5
if (self.xmax <= 1024):
self.icon_size = '64'
else:
self.icon_size = '256'
else:
self.xmax = 480 - 35
self.ymax = 320 - 5
self.icon_size = '64'

If your display would look better with the 128x128 icons you are welcome to open a separte issue for that but I am not sure how fast I can get to setting them up. As the code above shows, I currently just have 64x64 and 256x256 icons.

@dodas425
Copy link
Author

I now understand your explanation about config.FULLSCREEN. At home I test whether the smaller icons look good and give feedback! If the icons should be 128x128, I'll get back to a new issue

@dodas425
Copy link
Author

Hi there! I have followed your installation instructions. Unfortunately it didn't work, so I entered weather.py in a launcher.sh, which in turn is loaded via .bashrc when the Raspberry pi is restarted.

@dodas425
Copy link
Author

Unfortunately the wind speed is not shown completely. Do you know how I can adjust the font for humidity and feels like? I was able to adjust the icons to 64x64 pixels, but it would be nice if they could be positioned a little higher ... Do you have an idea? I have added 2 photos. Thanks in advance!

IMG_6367
IMG_6369

@dodas425
Copy link
Author

Here is my modified script attached...
weather.zip

@dodas425
Copy link
Author

The text on the info screen also doesn't fit perfectly :-(
IMG_6371

@genebean
Copy link
Owner

I will look into this some this weekend but I think the root cause is that this isn’t setup for that low of a resolution display. I’ll see if I can get it looking better though.

Sent with GitHawk

@dodas425
Copy link
Author

Oh, that's very nice of you! I'm glad

@genebean
Copy link
Owner

FYI: I started a Gitter for this project to facilitate real time chats too. I’ll be in there a little later. https://gitter.im/PiWeatherRock/community

Sent with GitHawk

@genebean
Copy link
Owner

FYI, I added some new info to he readme tonight and fixed a few bugs. I haven’t forgotten about your issue and hope to work on it this week.

@dodas425
Copy link
Author

dodas425 commented Jan 27, 2020

Hi there! Gitter is a nice idea! Very interesting. The weather project deserved something :)

@dodas425
Copy link
Author

Thanks for the info, my dear. I am happy for every optimization. Thank you so much for your help!

@dodas425
Copy link
Author

I don't want to ask too much, but it would be nice to be able to create the days in another language!

@genebean
Copy link
Owner

Thanks! Regarding the language stuff, feel free to open a feature request

@dodas425
Copy link
Author

OK thanks! I made that already :-)

@dodas425 dodas425 reopened this Jan 30, 2020
@dodas425
Copy link
Author

Hi, Gene! Did you get around to looking for my Python display problem (resolution 320x240) yet? Changing that value in line 253 of weather.py to 58 has compressed the display even more.

My Python script at this point is a bit different, if it should not look compressed:

os.environ["SDL_FBDEV"] = "/dev/fb1"
os.environ["SDL_MOUSEDEV"] = "/dev/input/event0"
os.environ["SDL_MOUSEDRV"] = "TSLIB"

    pygame.init()
    pygame.display.init()
    screen = pygame.display.set_mode((320, 240), 0, 32)

    size = (pygame.display.Info().current_w, pygame.display.Info().current_h)
    # print "Framebuffer Size: %d x %d" % (size[0], size[1])
    
    self.screen = pygame.display.set_mode(size, pygame.FULLSCREEN)
    # Clear the screen to start
    self.screen.fill((0, 0, 0))        
    # Initialise font support
    pygame.font.init()
    # Render the screen
    pygame.mouse.set_visible(0)
    pygame.display.update()
    #for fontname in pygame.font.get_fonts():
    #        print fontname
    self.xmax = 320
    self.ymax = 240
    self.icon_size = '64'
    self.subwindow_text_height = 0.070
    self.time_date_text_height = 0.149
    self.time_date_small_text_height = 0.075
    self.time_date_y_position = 0
    self.time_date_small_y_position = 30

    self.last_update_check = 0

@genebean
Copy link
Owner

I ordered a 320x240 screen tonight so that I can dig into this.

Sent with GitHawk

@dodas425
Copy link
Author

dodas425 commented Feb 14, 2020 via email

@dodas425
Copy link
Author

Hi, are you a little bit programming on the new 320/240 display? Best wishes

@genebean
Copy link
Owner

I tried but a it turned out my spare Pi was dead. I just got another zero w that I’m going to use but it’s going to be a few days til I’m able to start

Sent with GitHawk

@dodas425
Copy link
Author

OK, I'm glad to see you're moving on. Good luck.

@genebean
Copy link
Owner

@dodas425 I got my display the other day but had to work with the manufacturer to get to actually use the 320x240 resolution. This morning I finally have it working at that resolution so I can now start trying to debug your issue.

@dodas425
Copy link
Author

That's very nice! Good luck. Good luck.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants