Vilken väg väljer du?

I denna workshop finns det två olika spår att gå på, så steg ett blir att välja vad du känner för att göra idag. Blir det att mäta temperatur eller trycka på en knapp? 🔀
Vilken väg du än väljer så finns det en gemensam nämnare, eftersom vi ska använda en Rasberry pi pico så kommer vi koda i Micropython.
Nyfiken på mer bakgrundsinfo? Läs mer om Micropython och Rasberry Pi Pico.

Skicka SMS baserat på temperatur

Tänk vad smart om det gick att få ett SMS när bastun är uppvärmd och klar! Eller om det blivit för kallt i stugan och en behöver dra igång kaminen från distans?

Förberedelser

Nedan beståndsdelar är möjliga att byta ut, men annars ger vi förslag på sådana komponenter som vi själva använt och byggt med.

Skapa en setup

  • Vi kommer använda Thonny under denna workshop som kodeditor
  • Koppla din Rasberry Pi Pico till datorn
  • Skapa en ny fil som du döper till ex temperature.py
  • Det är här som vi kommer skriva resten av koden nu

Koppla koden till sensorn

För att vi ska kunna trycka mäta temperaturen så måste vi först koppla upp oss med sensorn

  • Då ska vi lägga till några libraries som heter machine, onewire och ds18x20
  • Så ska vi konfigurera själva sensorn och dess inställningar
  • Vi kommer behöva scanna efter sensorn och sedan lagra adressen till den så att vi kan använda den
  • Vi skriver ut när vi hittat sensorn också, så vi ser att det funkar som det ska


          

Ange wifi och 46elks credentials

  • Skapa variabler och fyll i ditt wifi användarnamn och lösenord, ex: ssid = "wifi_ssid" och password = "wifi_pass"
  • Leta fram dina 46elks APInycklar (credentials), du hittar dem på 46elks.se/dashboard under Account
  • Skapa variabler och fyll i dina APInycklar, ex: api_username = "api_username" och api_password = "api_pass"



          

Ange dina SMS parametrar

  • Skapa variabler för vem du ska skicka till och från vem, ex: sms_from = "Bastun" och sms_to = "+46766861004"
  • Både sms_to och sms_from går att byta ut. Använder du textavsändare så ska de vara mellan 3-11 tecken och inte börja med en siffra.



          

Koppla upp till wifi och se status

  • Importera network och time library
  • Skapa en funktion connect_wifi(ssid, password) som används för att ansluta till wifi
  • För säkerhets skull så lägger vi också till att fortsätta försöka under 30 sekunder på 5 sekunders intervaller, tills en blir ansluten
  • Så skriver vi hela tiden ut status för att förstå när vi är anslutna



          

Skapa SMS funktionen

  • Importera library urequests och base64
  • Skapa en funktion send_sms() som skickar SMS via 46elks API
  • Skapa en autentiseringssträng, sätt rätt headers
  • Själva SMS-innehållet kan du ändra till vad du vill: sms_content = f"Warning! The temperature has now reached {temperature}°C"
  • För att vi ska veta vad som händer, så kommer vi skriva ut när vi får svar från APIet också



          

Skicka SMSet när vi kommit upp i rätt temperatur

  • Nu ska vi skapa en oändlig loop som hela tiden fortsätter mäta temperaturen
  • Och när en kommit upp i rätt temperatur så anropar vi send_sms() funktionen som skickar ett SMS. Vi skriver hela tiden ut vilken temp det är också.
  • Så här kan du ju själv ändra vilken temperatur som passa ditt användningsområde
  • Nu är det bara att testa själv och se om du får något SMS  💬

          
          

Hela koden som referens

Om du kört fast någonstans längs vägen, så finns hela koden här för att jämföra eller använda sig av 🛠


            

Skicka SMS med ett knapptryck

Börjat laga mat åt familjen och vill att de kommer i tid till middagen den här gången? Det är nu bara ett knapptryck bort att förverkliga för alla framtida familjemiddagar.

Förberedelser

Nedan beståndsdelar är möjliga att byta ut, men annars ger vi förslag på sådana komponenter som vi själva använt och byggt med.

Skapa en setup

Koppla koden till knappen

För att vi ska kunna trycka på knappen och skicka ett SMS, så måste vi först lägga till att vi har en knapp i vår kod.




          

Ange wifi och 46elks credentials




          

Ange dina SMS parametrar




          

Koppla upp till wifi och se status




          

Skapa SMS funktionen




          

Skicka SMSet när vi tryckt på knappen



          

Hela koden som referens

Om du kört fast någonstans längs vägen, så finns hela koden här för att jämföra eller använda sig av 🛠