Tehtävä16_syksy2024vk46-47 Ikean NFC sähkölukon Wifi-laajennus ovisensorilla (ShellyUni)
Tehtävä16_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:


Ohje: 
Käyteään lukemiseen kirjastoa
requests · PyPI
sudo apt install pip
sudo pip install requests --break-system-packages
1. käynnistä Rpi Pi-käyttäjälle joss et ole vielä  sudo ryhmän administraattori
2. Resetoi Rpi:n salasana Pi-käyttäjälle
3. Luo itsellesi käyttäjätunnus käskyllä
sudo su
sudo adduser käyttäjänimi
4. Liitä luomasi käyttäjä sudo-ryhmään käskyllä
sudo usermod -aG sudo user1
5. Tarkista että uudella käyttäjällä on kaikki oikeudet
sudo -l -U user1
5. KIRJAUDU ULOS PI-KÄYTTÄJÄTILILTÄ
Kirjaudu sisälle omalla  uudella tunnuksella
6. Asennetaan etäkäyttöpalvelin
sudo su
sudo apt install xrdp
sudo apt update --fix-missing

7. poistetaan ylimääräiset Wifi-konfiguraatiot
Verkkokuvake ylärivillä->advanced options->muokkaaa yhteyksiä
poista kaikki muut yhteydet paitsi "tivi_projektiverkko_EXT"
8. kytke Rpi tivi_projektiverkko_EXT wifi-verkkoon
9.asenna  Microsoft remote desktop ja luo siihen etätili
käytä  luomaasi käyttäjätunnusta ja RPI:n Wifi-osoitetta
käyttäjätunnuksen voit lisätä + merkillä
muuta  RPI:n näyttögrafiikka 1920x1080
10. Kytke Windows läppäri tivi_projektiverkko_EXT 
ja käynnistä luomasi etäpääte Microsoft remote desktopista


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