Koll på brevlådan (ESP8266)

Här kan man starta en egen tråd för sitt stora eller lilla projekt, för att få inspiration, beröm, hjälp om man kör fast etc.
Användarvisningsbild
hanpa
Inlägg: 116
Blev medlem: tor 18 maj 2017, 20:11

Koll på brevlådan (ESP8266)

#1

Inläggav hanpa » fre 28 jul 2017, 00:00

Jag har funderat på detta varje sommar de senaste åren men det har inte blivit av. Vill kunna se om posten har kommit, speciellt då man är hemma och väntar på något. När semestern är över så brukar man komma hem efter att posten har kommit men man blir ju besviken om det är tomt så varför inte ta reda på om det är värt att öppna och när?

Jag har ännu inte installerat i lådan men kabel har varit utdragen i flera år och jag tror att jag ska kunna få till det nu. Har kodat det viktigaste dessutom, både med ESP8266 (Wemos D1 mini) och på serversidan. Det jag har nu och som kommer att funka om jag får till installationen i lådan är:

Hårdvara:
  • Magnetiska tungelement "reed switches" ska användas i brevlådan, tycker att det blir enklare än att montera kompletta och klumpiga magnetswitchar. Tänker mig att kunna tejpa dit dessa på lämpligt ställe och även tejpa dit permanentmagneter på lämpliga ställen. Min brevlåda har både vanlig lucka där posten läggs i och en låsbar lucka man använder för att tömma. Separata switchar för bägge, inte seriekopplade utan kan kännas av för sig. Det normala är att switcharna sluter då allt är stängt och magneten är i närheten av resp. switch.
  • Wemos D1 mini (ESP8266) ska sitta inomhus. Det är sladd dragen till lådan. Den känner av switcharna och skickar MQTT-meddelanden till servern via WLAN.

Film från då jag testade funktionen med ett magnetiskt tungelement och en magnet. Löder på kabel och krympslang och sen är det bara att montera förhoppningsvis. I filmen använder jag en kylskåpsmagnet som är rätt svag, ska använda kraftiga neodym-magneter för att öka avståndet mellan magnet och tungelement.

https://www.youtube.com/watch?v=2c9AiqwvO7Y

Mjukvara:
  • Koden för Wemos D1 mini är i princip färdig. Den kodar av switcharna och skickar meddelanden via MQTT. Den skickar dels kontinuerligt status varje sekund, dels då postluckan eller dörren för att vittja lådan öppnas via separata meddelanden. För att slippa onödiga meddelanden om flera brev stoppas in har jag lagt in en logik som gör att nya öppningsmeddelanden inte kan komma förrän efter 30s stängt för resp. switch/lucka. Detta går lätt att ändra, koden har stöd för OTA dessutom.
  • På serversidan tar jag emot MQTT-meddelandena. Vid öppning av resp. lucka skickar jag SMS och pushmeddelanden så att jag får reda på det via iPhone och Apple Watch även om jag inte är hemma. Är jag hemma kanske jag hör det via röstmeddelande som ges från datorn.
  • All kod är provad så här långt, har provkört genom att trigga switcharna inomhus kopplat till programmerad Wemos.

Att ev. göra, förutom montering i lådan:
  • Kanske ska komplettera med en lampa men det behövs nog inte i och med push/SMS.
  • Ska ev. även lägga till visning på Apple Watch så att jag kan kolla där på väg hem, om jag inte har koll på push/SMS som kommit tidigare. Det kan stå direkt under tidvisningen om det verkar finnas post, typ om övre luckan har öppnats men inte dörren för tömning. Detta kan då nollställas automatiskt när man öppnar dörren för tömning.
  • Funktionsövervakning/larm om man tappar förbindelsen pga något fel, skulle även kunna tyda på sabotage. Går även varna för att lucka eller dörr varit öppen längre än en viss tid etc. I och med att jag skickar status varje sekund så kan jag lägga till vilken logik jag vill för detta på serversidan.
Senast redigerad av hanpa fre 28 jul 2017, 10:00, redigerad totalt 3 gånger.

Användarvisningsbild
hanpa
Inlägg: 116
Blev medlem: tor 18 maj 2017, 20:11

Re: Koll på brevlådan (ESP8266)

#2

Inläggav hanpa » fre 28 jul 2017, 00:23

Då jag hade kod för att skicka info till Apple Watch sedan tidigare var det enkelt att lägga till en emoji för att visa att post har kommit, symbolen tas bort då dörren för att vittja har öppnats.

IMG_0569.PNG
IMG_0569.PNG (26.93 KiB) Visad 2146 gånger

Användarvisningsbild
hanpa
Inlägg: 116
Blev medlem: tor 18 maj 2017, 20:11

Re: Koll på brevlådan (ESP8266)

#3

Inläggav hanpa » fre 28 jul 2017, 09:00

hanpa skrev:Då jag hade kod för att skicka info till Apple Watch sedan tidigare var det enkelt att lägga till en emoji för att visa att post har kommit, symbolen tas bort då dörren för att vittja har öppnats.

IMG_0569.PNG


Symbolen skapades via emoji jag sökte fram.

http://emojipedia.org/postbox/

Koden för denna klistrade jag sedan bara in i ett script jag redan hade som skickar data till klockan via Pushover API

Användarvisningsbild
hanpa
Inlägg: 116
Blev medlem: tor 18 maj 2017, 20:11

Re: Koll på brevlådan (ESP8266)

#4

Inläggav hanpa » fre 28 jul 2017, 23:10

Koden som körs på ESP8266 finns här:
version 1.0 2017-07-28 - Första versionen.
version 1.1 2017-08-07 - Lade på filter på öppning pga känslighet vid kraftig vind.

Har lagt mina inloggningsuppgifter i en separat fil för att förenkla men det går givetvis att skriva in det direkt istället. Har använt PlatformIO men har kollat att koden går att kompilera mot Arduino IDE.

Valde att skicka ofiltrerade data från switcharna cykliskt, tänkte använda detta för funktionskontroll när jag kopplar in i brevlådan och senare för lite övervakning av att allt fungerar och värden kommer hela tiden. Jag kan kolla via app i mobilen i realtid meddelandena som skickas via MQTT och ställa in avstånd mellan switchar och magneter så att det blir bra. För öppning av lucka och dörren för att tömma så skickas ett separat meddelande precis då detta sker men för att slippa onödiga meddelanden om det glappar eller flera brev stoppas i etc. så måste det gå 30s med stängd lucka/dörr innan det kan skickas nya meddelanden. Får prova ett tag om 30s är lämpligt, annars är det ju bara att ändra.
Senast redigerad av hanpa ons 09 aug 2017, 07:26, redigerad totalt 4 gånger.

Användarvisningsbild
hanpa
Inlägg: 116
Blev medlem: tor 18 maj 2017, 20:11

Re: Koll på brevlådan (ESP8266)

#5

Inläggav hanpa » lör 29 jul 2017, 10:38

Ritade systemskiss över lösningen som den ser ut just nu:

Skärmavbild 2017-07-29 kl. 10.36.22.png
Skärmavbild 2017-07-29 kl. 10.36.22.png (355.13 KiB) Visad 1298 gånger
Senast redigerad av hanpa mån 31 jul 2017, 08:25, redigerad totalt 1 gång.

Användarvisningsbild
hanpa
Inlägg: 116
Blev medlem: tor 18 maj 2017, 20:11

Re: Koll på brevlådan (ESP8266)

#6

Inläggav hanpa » lör 29 jul 2017, 16:18

Allt inkopplat i lådan nu och det verkar funka som det ska. Knäckte ett par magnetiska tungelement, de är väldigt känsliga och går lätt sönder om man böjer benen på dem. Visste detta innan men jag beställde 20 från Kina istället för 2 så det löste sig.

Användarvisningsbild
hanpa
Inlägg: 116
Blev medlem: tor 18 maj 2017, 20:11

Re: Koll på brevlådan (ESP8266)

#7

Inläggav hanpa » sön 30 jul 2017, 23:39

Tyckte att det vore snyggt med en indikering även med ljus, så att man ser om tidningen kommit på morgonen etc.

Har flashat om en Sonoff S20 så att jag kan styra den via MQTT för att blinka med grön och blå lysdiod på olika sätt. Använder inte relät men det är sammankopplat med den blå lysdioden. Tog bort knappen och satte plexiglas bakom för att det skulle synas bättre men ändå vara petsäkert.

https://www.youtube.com/edit?o=U&video_id=I4pQ73zc7A4

Mer info om detta här:

Statusindikering via Sonoff S20
Senast redigerad av hanpa mån 31 jul 2017, 11:17, redigerad totalt 2 gånger.

Användarvisningsbild
hanpa
Inlägg: 116
Blev medlem: tor 18 maj 2017, 20:11

Re: Koll på brevlådan (ESP8266)

#8

Inläggav hanpa » mån 31 jul 2017, 08:24

Uppdaterad systemskiss, med Sonoff S20 för att blinka i hallen då det finns post i lådan:

Skärmavbild 2017-07-31 kl. 08.22.16.png
Skärmavbild 2017-07-31 kl. 08.22.16.png (428.17 KiB) Visad 1209 gånger


Återgå till "Egna projekt"

Vilka är online

Användare som besöker denna kategori: 1 och 0 gäst