added better wireless managment

This commit is contained in:
Remy Moll 2023-11-08 21:41:47 +01:00
parent 769a16dae6
commit 6846a17243
7 changed files with 45 additions and 19 deletions

2
.gitignore vendored
View File

@ -2,4 +2,4 @@ keys.py
*.pyc
.image-cache/
test.png
*.j2
wifi_networks.yml

8
README Normal file
View File

@ -0,0 +1,8 @@
# EINK PICTURE FRAME - displays images on a multi-color eink display
## Deployment
Run the ansible playbooks (`setup` once, `deploy` on each code update):
```
ansible-playbook deploy/setup.playbook.yml -i <ip of pi>
ansible-playbook deploy/deploy.playbook.yml -i <ip of pi>
```

View File

@ -1,15 +1,21 @@
- name: Basic setup tasks for Raspberry Pi
- name: Deployment of software + requirements
hosts: all
user: remy
become: true
tasks:
- name: Add local ssh key
ansible.posix.authorized_key:
user: "{{ ansible_user }}"
state: present
# copy file present on the controller to the remote host
key: "{{ lookup('file', '~/.ssh/default.pub') }}"
# DONE BY RPI IMAGER
# - name: Add local ssh key
# ansible.posix.authorized_key:
# user: "{{ ansible_user }}"
# state: present
# # copy file present on the controller to the remote host
# key: "{{ lookup('file', '~/.ssh/default.pub') }}"
- name: Include network variables
ansible.builtin.include_vars:
file: wifi_networks.yml
name: wifi_external
- name: apt update all packages
apt:
@ -52,10 +58,20 @@
delay: 5
timeout: 300
- name: Add wifi networks from template
template:
src: templates/wpa_supplicant.conf.j2
dest: /etc/wpa_supplicant/wpa_supplicant.conf
owner: root
group: root
mode: 0600
# - name: Add wifi networks from template
# template:
# src: templates/wpa_supplicant.conf.j2
# dest: /etc/wpa_supplicant/wpa_supplicant.conf
# owner: root
# group: root
# mode: 0600
- name: Use raspi-config to set WIFI country
shell: |
raspi-config nonint do_wifi_country CH
- name: Use raspi-config to set WIFI SSID and password
shell: |
raspi-config nonint do_wifi_ssid_passphrase "{{ item.ssid }}" "{{ item.password }}"
loop: "{{ wifi_external.networks }}"

View File

@ -3,9 +3,8 @@ Description=Show new photo onto the eink display
[Service]
Type=oneshot
User={{ ansible_user }}
WorkingDirectory={{ code_dest }}
ExecStart=python main.py

View File

@ -28,7 +28,7 @@ class ImageGetter:
bytes = self.load_cached_file()
return bytes
def get_random_image_ids(self, num=1) -> str:
url = keys.immich_api_root_url + "album/" + keys.immich_album_id

View File

@ -24,6 +24,7 @@ class ImageShow:
if image.size != (self.epd.width, self.epd.height) and image.size != (self.epd.height, self.epd.width):
raise ImageShowError("Image does not match screen size")
elif image.size == (self.epd.height, self.epd.width):
print("Rotated image to match orientation")
image = image.transpose(Image.ROTATE_270)
self.__init__()

View File

@ -15,4 +15,6 @@ if show_image:
image = get.get_random_image()
image = convert.convert(image)
if show_image:
show.show_image(image)
show.show_image(image)
else:
print("Would have shown image now.")