Tehtävä05_syksy2024vk46-47 Ikean NFC sähkölukon Wifi-laajennus ovisensorilla (ShellyUni)
Tehtävä05_syksy2024vk46-47 Ikean NFC sähkölukon Wifi-laajennus ovisensorilla (ShellyUni)
Tehtäväkuvaus:


Tässä tehtävässä https://openresearch.fi/opiskeluohjeita/





Ohjeet:

Opiskelijat ohjelmoivat tiimeissä esimerkin perusteella liitteen mukaiselle Ikean sähkölukolle Wifi-ohjauksen Shelly+ Uni modulilla.


Ikean sähkölukko on modattu siten että ulkoisella johtimella lukko saadaaan kiinni ja auki. Opiskelijan tulee tutusstua sähkölukon toimintaan ja jatkokehittää sitä siten että Shelly Pm1 tai Shelly+ Uni-moduliin ohjelmoidaan  paikallisesti Python- ohjelma jossa tutkitaan

LISÄTEHTÄVÄ:
Tehdään ovisensori reed-kytkimestä input1:seen ja koodataan ohjelma jolla input-tieto luetaan.

Kirjaston asennus:

sudo pip install requests --break-system-packages

Ohje: 
Käyteään lukemiseen kirjastoa
requests · PyPI
Ohessa esimerkki jolla luetaan lähtöreleen tieto IDLE-shell käskyillä


r = requests.get('http://10.78.250.104/relay/0?')

r.status_code

200

r.headers['content-type']

'application/json'

r.encoding

'utf-8'

r.text

'{"ison": false, "has_timer":false, "timer_started_at": 0, "timer_duration": 0.00, "timer_remaining": 0.00, "overpower": false, "source": "init"}'

r.json()

{'ison': False, 'has_timer': False, 'timer_started_at': 0, 'timer_duration': 0.0, 'timer_remaining': 0.0, 'overpower': False, 'source': 'init'}




Ohjeita Github (testataan Github vasta tehtävän lopussa):

1. Luo GitHub repository opettajan Github Classroom repositorysta


avaa opettajan luoma repository


Kytke Raspiin Wifi-yhteys
Kytketän RPi Wifi verkkoon käskyllä
sudo  raspi-config
system options
S1 Wireless LAN
(rasekoko vierasverkon nimi ja salasana)
<Finish>

jos verkko ei näyt Wifi-listassa niin valitse Hidden Network

2. opiskele Shelly modulin ohjelmointirajapitaa


modulit:
Shelly Plus 1PM -relekytkin Wi-Fi-verkkoon – Verkkokauppa.com
https://kb.shelly.cloud/knowledge-base/shelly-plus-1pm

Shelly Plus Uni

Shelly Plus Uni - 2I/2O WiFi-ohjattava liityntälaite Shellyjen ja muun maailman yhdistämiseen


laajennusmoduli:
Shelly Plus Add-on anturiliitäntä – Verkkokauppa.com

shelly api

https://kb.shelly.cloud/knowledge-base/devices



Asenna Rpi:lle Python3 jos et ole jo asentanut
sudo apt install python3-full
sudo pip install ShellyPy --break-system-packages

Importoi IDLE:n Shell- ikkunassa Webbrower ikirjasto

Ohjelmointiohjeita
Shelly Family Overview – API Reference 


3. Ohjelmoi Raspberry- laitteella Python ohjelma jolla ohjaat Wifi-lukkoa päälle ja pois


4. Ohjelmoi uusi versio jossa optimoit lukon toiminnan ottamalla huomioon lukon rajakytkimet käyttäen Shellyn sisäistä Python- ohjelmointirajapintaa 


5.Git versionhallintaa

Tee ohjelmasta uusi versio kun saat sen toimimaan ja päivitä versiota sitä mukaa kun etenet projektissa




Paltautettavia dokumentteja

a) Vaatimusmäärittelyn eka versio 
b) Wifi-lukon ekan version koodi
c) em. dokumentit github:iin versioituna



Lähteet:

openresearch.fi



https://ukbaz.github.io/howto/ubit_workshop.html

ShellyPy/examples/toggle_relay.py at master · Jan200101/ShellyPy · GitHub

Tehtäväkuvaus:


Tässä tehtävässä https://openresearch.fi/opiskeluohjeita/





Ohjeet:

Opiskelijat ohjelmoivat tiimeissä esimerkin perusteella liitteen mukaiselle Ikean sähkölukolle Wifi-ohjauksen Shelly+ Uni modulilla tai Shelly Pm1 modulilla.


Ikean sähkölukko on modattu siten että ulkoisella johtimella lukko saadaaan kiinni ja auki. Opiskelijan tulee tutusstua sähkölukon toimintaan ja jatkokehittää sitä siten että Shelly Pm1 tai Shelly+ Uni-moduliin ohjelmoidaan  paikallisesti Python- ohjelma jossa tutkitaan sähkölukon raaja-kytkimen toimintaan ja pysäytetään lukko kun rajakytkin on saavutettu.


Ohjeita Github (testataan Github vasta tehtävän lopussa):

1. Luo GitHub repository opettajan Github Classroom repositorysta


avaa opettajan luoma repository


Kytke Raspiin Wifi-yhteys
Kytketän RPi Wifi verkkoon käskyllä
sudo  raspi-config
system options
S1 Wireless LAN
(rasekoko vierasverkon nimi ja salasana)
<Finish>

jos verkko ei näyt Wifi-listassa niin valitse Hidden Network

2. opiskele Shelly modulin ohjelmointirajapintaa


modulit:
Shelly Plus 1PM -relekytkin Wi-Fi-verkkoon – Verkkokauppa.com
https://kb.shelly.cloud/knowledge-base/shelly-plus-1pm

Shelly Plus Uni

Shelly Plus Uni - 2I/2O WiFi-ohjattava liityntälaite Shellyjen ja muun maailman yhdistämiseen


laajennusmoduli:
Shelly Plus Add-on anturiliitäntä – Verkkokauppa.com

shelly api

https://kb.shelly.cloud/knowledge-base/devices



Asenna Rpi:lle Python3 jos et ole jo asentanut (RPi4b)
sudo apt install python3-full
sudo pip install ShellyPy --break-system-packages

Importoi IDLE:n Shell- ikkunassa Webbrower ikirjasto

Ohjelmointiohjeita
Shelly Family Overview – API Reference 


3. Ohjelmoi Raspberry- laitteella Python ohjelma jolla ohjaat Wifi-lukkoa päälle ja pois


4. Ohjelmoi uusi versio jossa optimoit lukon toiminnan ottamalla huomioon lukon rajakytkimet käyttäen Shellyn sisäistä Python- ohjelmointirajapintaa 


5.Git versionhallintaa

Tee ohjelmasta uusi versio kun saat sen toimimaan ja päivitä versiota sitä mukaa kun etenet projektissa




Paltautettavia dokumentteja

a) Wifi-lukon ekan version koodi
b) testitulos koodille (lukon avaus/sulkeminen)
c) Sähkölukon avausalgoritmi jolla lukon saa avattua



Lähteet:

openresearch.fi



https://ukbaz.github.io/howto/ubit_workshop.html

ShellyPy/examples/toggle_relay.py at master · Jan200101/ShellyPy · GitHub

IMG_7388
IMG_7390
1.WIN_20241112_13_05_35_Pro
2.Näyttökuva 2024-11-12 133041
3.WIN_20241112_13_03_12_Pro
4.Näyttökuva 2024-11-12 130742
5.Näyttökuva 2024-11-12 130821
6.Näyttökuva 2024-11-12 130946
7.Näyttökuva 2024-11-12 131121
8.Näyttökuva 2024-11-12 131141
9.Näyttökuva 2024-11-12 131240
11.Näyttökuva 2024-11-12 130336
10.Näyttökuva 2024-11-12 130134
11.Näyttökuva 2024-11-12 130437
13.Näyttökuva 2024-11-12 132854
12.Näyttökuva 2024-11-12 131402
Näyttökuva 2024-10-25 012545

Projektiverkossa IP osite pitää muuttaa:
10.78.250.100

Shelly AP-mode tilassa:
Vaihda IP-osoite: 192.168.33.1 ja kytkeydy suoraan laitteeseen Wifillä kun olet ensin ottanut virrat pois laitteesta

Lähde:
ShellyPy/examples/toggle_relay.py at master · Jan200101/ShellyPy · GitHuba

input

putin lukeminen Shelly plus Uni omalla python Scriptillä (myös lämpötilasensorin tieto luettu)

Scroll to Top