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:
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)