Skip to content

This project is to have fun with raspberry pi's. It's a server or client depending on what you want and you can send messages to a raspberry pi (Or really anything running python). There will be more to come eventually.

Notifications You must be signed in to change notification settings

dylan-reichelt/raspberrypi-messenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

raspberrypi-messenger

Name is a tad misleading. This application is a clock and weather display (based off of this). It also has the capability to receive messages from a client and display them underneath the clock. This is a good present for long distance relationships or anyone you want to send fun messages to. In order to send messages from seperate networks without opening ports and all that jazz you can utilize NGROK. I will not be showing how to do that in this README, please look at their website: www.ngrok.com.

Items Recommended:

  1. Raspberry Pi

  2. 7" Touchscreen

  3. Touchscreen Case

Pictures

No Message Displayed:

Message Displayed:

Installation

Open Weather API Needed, as well as other misc. items:

pip install openweather
pip install pygame
pip install Pillow
pip install requests

Once these are all installed you will need to put your OpenWeather API Key into a constant file. Follow these steps for that:

      1) Obtain OpenWeatherAPI Key: https://openweathermap.org/

      2) Create constant.py file in the server directory

      3) Enter "WEATHER_API_KEY = [Your API Key]"

You should be done. Then move on to usage and test.

Usage

Server:

format:

python3 main.py <host> <port> <zipcode>

Example:

cd server/
python3 main.py localhost 4556
cd server/
python3 main.py localhost 4556 85251

NOTE: Zipcode is optional. It is used to gather weather data about that location. Default value is 91604 (Studio City).

Client:

format:

python3 main.py <host> <port> <message>

Example:

cd client/
python3 main.py localhost 4556 "This is a test"

Response from server:

connecting to localhost port 4556
sending 'This is a test'
Message sent successfully :D
closing socket

Optional Steps

Shortcut for automated start:

  1. right-click and hit "create shortcut" for start.sh

  2. Drag that shortcut wherever you wish

  3. Double click and it should start the application

NOTE: This is automating an ngrok TCP tunnel processes as well. The tunnel is connected to localhost port 4556. In order to get NGROK working go to www.ngrok.com.

Credit

Thank you to AbnormalDistributions for the idea / basecode: https://github.com/AbnormalDistributions/e_paper_weather_display

Thank you to Erik Flowers for the icon design: https://erikflowers.github.io/weather-icons/

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

About

This project is to have fun with raspberry pi's. It's a server or client depending on what you want and you can send messages to a raspberry pi (Or really anything running python). There will be more to come eventually.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published