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:
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:
https://ukbaz.github.io/howto/ubit_workshop.html
ShellyPy/examples/toggle_relay.py at master · Jan200101/ShellyPy · GitHub
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
putin lukeminen Shelly plus Uni omalla python Scriptillä (myös lämpötilasensorin tieto luettu)