Tagg: raspberry pi

MiniHack

I går var det dags för MiniHack igen. En kul tillställning för mig och några andra nördar som träffas under en dag och jobbar med olika hobbyprojekt.  Jag kom en bra bit framåt när det gäller strukturen och maskineriet för DartScore! Ett annat av mina projekt visades med projektor på en stor duk, nämligen direktsändning från holken. Där var det också full fart!

Några av projekten det jobbades med:

Raspberry Pi och en 8×8 LED matris

Mat ska man också ha. Pizza från Huddinge Pizza-butik har blivit tradition. Under kartongen finns lite skisser till DartScore.

Arduino, we love it…

Coola Nixie rör!

Minihack 2017-02-11

Vi är några stycken som brukar träffas ca varannan månad och köra vad vi kallar ‘minihack’. Vi sitter då en lördag och pular, ibland med samma projekt men ofta lite olika. Grejen är att man träffar likasinnade och har roligt och så kanske man får lite hjälp om det behövs…

Igår körde vi ett minihack och min holk-kamera (en raspberry pi 3 med IR-kamera) tog ett rejält kliv framåt. Jag fick hjälp av en jobbarkompis och vi snodde ihop en rörelsedetektering i mjukvaran med hjälp av opencvs ‘backgroundsubtraction’.  Jag fortsatte själv hemma idag och nu fungerar även inspelningsfunktionen och lagring till en delad disk i mitt nätverk. All kod som körs i raspberry pi:en finns på mitt githubkonto.

Kameran monterad under taket på holken.

Kameran från framsidan. Den vita runda saken är en PIR detektor som reagerar på rörelse. Jag provar den tillsammans med detektering i bildströmmen. Den vita ‘rutiga’ saken är en temperatur och luftfuktighetsmätare.

Skärmbild från videoströmmen som den ser ut just nu. Rörelse detekteras när jag viftar med pennan i hålet och den börjar spela in direkt.

NetflixBridge

Syftet med detta lilla projekt är att fånga lägenhetens wifi och dela ut det på en vanlig nätverkskabel för att slippa dra en lång nätverkssladd till vår blueray-spelare som kör Netflix och bara har ett nätverksuttag.

Information om hur man sätter upp en ‘brygga’ med Linux och Raspberry pi och all kod som kör själva kontrollprogrammet finns på github.20161120_135901

Snart klart

20160904_161137_600x

Fondväggen med fototapeten som föreställer en del av Trollväggen i Norge.

Vardagsrummet börjar bli klart efter en hel helg med arbete för mig och Ewa men det är kul och tillfredsställande att göra något själv som verkligen syns.

I går tapetserade vi hela dagen och idag åkte vi och köpte de sista prylarna och satte sedan tillbaka alla lister, vägguttag etc och började ställa tillbaka möbler och montera upp hyllorna igen.

Det blev en ny matta också som passar jättefint mot den nya fototapeten. Den gamla mattan får ett nytt liv på övervåningen.

Fortfarande återstår en hel del plock, mest för Ewas del då det är alla filmer som ska tillbaka i hyllsystemet igen.

Jag hängde upp och kopplade in TVn och min Netflix-brygga och det funkade direkt. Netflix-bryggan är en Raspberry Pi som har en trådlös nätverksanslutning till vårt hemmanät och sedan ‘delar ut’ nätverket via en vanlig ethernetsladd till den blueray spelare vi har som kan köra Netflix, men bara via trådat nätverk.

Om vi någon gång köper en ny TV så ska den vara ‘smart’ och även ha trådlöst nätverk. Då minskar antalet sladdar och prylar på hyllan under TVn rejält.

 

Sommarhack

20160712_181530-1

Accesspunkten. Baksidan kommer att förses med lite kardborreband så den går lätt att sätta fast i tex bilen.

Nu är jag på Öland men jag fick med mig en liten plastlåda med Raspberry Pi och Arduino prylar. En av prylarna är en Raspberry Pi med två wlan gränssnitt. Den ska agera dels som en accesspunkt för ett lokalt trådlöst nät men också koppla upp sig mot internet via min mobil. Det var lite problem att få det och fungera men idag gick det till slut. Tanken är att den ska kunna sitta i tex bilen och ha några andra Raspberry Pis och en läsplatta i det lokala nätet som pratar med varandra och där samtliga har tillgång även till internet.

Jag har även uppdaterat ‘camdevice’ så att den fungerar till detta nya nätverk.

I övrigt har ‘sommarhacket’ hittills även bestått i att åka och handla brädor och börja bygga ett räcke för trappan till det lilla huset. Jag gjorde ett räcke till stora stugan när jag var här tidigare i våras och nu blir det alltså till att klona det till det andra huset.

Min vana trogen när jag är på Öland var jag uppe tidigt i morse och åkte ut för att fotografera. I Trollskogen stötte jag bland annat på en Gärdsmyg som sjöng väldigt energiskt.

Jag stötte på en energiskt sjungande Gärdsmyg i Trollskogen.

En Gärdsmyg i Trollskogen tidigt i morse..

 

CamDevice steg 1

Jag har knåpat vidare med kameramodulen till mitt ‘övervaknings’ system. Nu används accelerometern för att veta hur kameran är vänd och sedan rotera bildströmmen rätt. Det går alltså att placera kamera godtyckligt och ändå få bilden rättvänd. Nästa steg är att få igång kompassen och kunna se åt vilket håll kamera tittar. Detta blir nog svårare då den behöver kalibreras på något sätt och dessutom ta hänsyn till hur kameran är roterad. Jag får börja med att läsa databladet och googla exempelkod…

Kameran använder opencv för att skapa bilderna till strömmen så nu är det ‘bara’ att lägga till  tolkningar av konturer, rörelser etc. Just nu är kameran byggd med en raspberry pi B+ som ger en framerate på ca 5 i 640×480 utan bildbehandling eller optimeringar. Den lär ju sjunka ytterligare så fort jag lägger till olika bildbehandlingar men det går säkert att effektivisera lite också.Jag har lite ideer om att använda tex LCM eller någon annan teknik för att parallellisera bildhämtandet och bildbehandingen. Annars finns det ju raspberry pi 2 eller 3 att ta till. Allt beror av hur jag kommer att göra resten av systemet. Var ska tex bildströmmen utvärderas?

camdevice1

Kameran med bildströmmen i bakgrunden. Den gröna dioden indikerar att programmet är igång och den gula att bildströmmen skickas ut på nätverket.

camdevice2

Kameran är vänd upp och ner men bildströmmen är rätt roterad ändå. Roteringen fungerar om kamera vänds i steg om ca 90 grader. Däremot roterar jag inte bilden om kameran tittar uppåt eller nedåt.

HolkCam2 – 2017

Säsongssammanfattning:

2017-03-04: Holken sattes upp
2017-03-08: Första besöket!
2017-04-01: Det första bomaterialet börjar tas in efter mer än 120 besök
2017-04-11: Den första övernattningen!
2017-04-21: Första synliga ägget men det är kanske fler
2017-04-24: Tre synliga ägg
2017-04-25: Fyra ägg och honan blir matad i holken
2017-04-26: Fem ägg
2017-04-30: Nio ägg. Nu är det nog snart dags att börja ruva på riktigt!
2017-05-01: Nu har jag spelat in drygt 6800 videosnuttar som upptar 10.5 GB på serverns hårddisk
2017-05-02: Nu ruvas det på riktigt! Honan har varit i holken större delen av dagen.
2017-05-06: Snart har halva ruvningstiden gått
2017-05-15: Första ägget kläcks
2017-05-16: Alla ägg utom ett är kläckta
2017-05-21: Det är 7 eller 8 ungar som krälar runt och äter, sover, äter… Nu börjar också de första fjädrarna synas
2017-05-29: Nu är det 4 bara ungar kvar. Övriga har dukat under och blivit utkastade ur holken av föräldrarna
2017-05-31: Tyvärr har mamma blåmes och 3 ytterligare ungar dött i holken och det är bara en unge kvar som får mat av pappa blåmes. Jag publicerar inga videos på detta eller resten av säsongen då holkens innandöme inte är särskilt trevligt.
2017-06-03: Den unge som fått mat av pappa blåmes sitter i holk-öppningen ett bra tag innan den bestämmer sig för att flyga ut men till slut så vågar den. Nu är det bara döda fåglar och flugor kvar i holken…

HolkCam2 är därmed avslutat och nu är det bara att ta ner holken och rensa den eller slänga den.
Videofilerna finns kvar ett tag men avslutningen blev ju inte så trevlig i år heller så jag får se vad jag ska göra med materialet.

Mer spännande information om blåmesar finns på Wikipedia.

Säsongens höjdpunkter hittills på YouTube

All kod för kamera och server-backend finns på mitt github-konto.


Nedtagning och avslutning

Nedan är bilder när holken tömdes. Det var en rejäl bobale detta år, ca dubbelt så hög som förra året men djupet i holken var också större för att undvika skatattacker.

Kamera modulen, en raspberry pi 3 och en Arducam IR kamera med riktigt vidvinkelobjektiv ska jag återanvända. Jag rengjorde den och försökte torka av den med handdesinfektion men har också knutit in den i en plastpåse och lagt den i frysen några dygn så eventuella bakterier ska försvinna.

Själva holken kanske jag också använder igen då den har ganska bra mått och är målad som vår husfasad.

Holken när taket tagits av

Den höga bobalen. Hålet nederkant är i samma höjd som undersidan på ‘ribborna’. Hålets diametar var 28mm.

Bobalen med den döda blåmesmamman och några döda ungar.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Bygget av holken, projektbeskrivning:

Steg 1 Trä-hårdvaran

20160716_114640Det började med att jag köpte lite prylar från ebay, en kameramodul med skruvfäste för riktiga objektiv och ett medföljande fish-eye objektiv. Jag ska prova det lite och så får vi se vad som händer.

Leveransen av kameramodulen drog ut lite på tiden och då började jag med själva holken. Ett mindre ingångshål, djupare och med inbyggt skatskydd blir den säkrare. Holken har även ett ‘innertak’ precis ovanför ingångshålet så det blir ett litet ‘maskinrum’ där kameran etc kan placeras. Till vänster syns delarna innan dom skruvades ihop.

Förutom kamera kommer holken att ha IR-belysning och någon form av temperaturgivare. Kanske kan jag även får plats med en andra kamera dvs ha både en IR-och en vanlig kamera.

Nedan är en bild när holken är hopmonterad men utan tak.
20160716_121510

Steg 2 Val av hårdvara

Nu har jag valt en kameramodul med lagom mycket vidvinkel, (NoIR Camera Board OV5647 /w M12x0.5)  och provat lite hur den ska få plats i holkens ‘maskinrum’. Jag skulle även vilja ha en mikrofon och kanske någon mer givare förutom temperatur. Det vore kul att sätta upp en lysdiod eller motsvarande på holken som visar när någon är ‘hemma’ tex. Hårdvaran för övrigt blir nog en raspberry pi 3 och ett stort minneskort.

Den utvalda hårdvaran. En raspberry pi 3 och IR-kameran kompletterade med en temperatur och luftfuktighetssensor och några IR-lysdioder. Ev tillkommer en vanlig röd lysdiod som ska sitta på utsidan för att visa om det är någon i holken.

Steg 3 Programvarutest

Nu ska jag prova programvaran där jag denna gång använder python och opencv samt en egen implementation för att detektera rörelser och spara videosnuttarna. Jag ska också automatisera hur jag sparar och publicerar klippen på en websida. Som tidigare kommer en videoström alltid att vara tillgänglig för att se ‘live’ vad som händer i holken.

Steg 4 Färdigt koncept för hårdvaran

Nu har jag ett koncept på hur det hela ska monteras i holken.

Programvaran börjar också ta form och jag checkade just in en version av en opencv-genererad bildström som får en uppdateringsfrekvens på ca 5 när jag kör 1024×768 vilket är en rejäl förbättring mot tidigare. Det är också väldigt mycket bättre bildkvalitet och lättare att styra överlägg (tex text) i bildströmmen.

Kameran är monterad på rätt sätt och en temp/fuktighets-sensor finns på plats för montering i holken.

Steg 5 IR-belysning

Nu har jag en fungerande ljusramp av IR-dioder också där det går att styra ljusstyrkan mha en pwm-signal. Programvaran kan nu också spara videosekvenser och jag håller på att programmera rörelsedetekteringen så snart blir det skarpa tester.

En stillbild från videoströmmen. Det är tvärmörkt i holken men ir-dioderna lyser upp ganska bra även med 50% pwm. Texten visar tid, temperatur, luftfuktighet och bilder per sekund. Då det är ett fish-eye objektiv ser holken väldigt djup ut. Jag har ett objektiv till som inte är lika vidvinkligt så jag ska prova med det också och se vilket som funkar bäst.

Steg 6 Kameramodulen

Nu har jag en fungerande hårdvara! Allt monterat i en lite låda för raspberry-pi med kamera och IR dioder som tittar ut genom locket. Jag bytte ljusrampen mot fastmonterade dioder som jag tror funkar bättre.

Smältlim, gummiband och eltejp håller ihop det just nu. Nu fattas ‘bara’ programmet som ska fixa rörelsedetektorn och videoinspelningen men det är på g. Sedan gäller det att hitta en bra plats att sätta upp holken på. Just nu lutar det åt att jag helt enkelt skruvar upp den på väggen utanför fönstret på övervåningen. Då blir det lätt att dra ut en strömsladd och även göra ‘service’ om det skulle behövas.

Jag ska även göra en bättre ‘backend’ än förra året då det är tänkt att videofilerna ska synkas till min egna webserver.

Raspberry-pi lådan med kamera och ir-belysning. Det vita är en temperatur och luftfuktighets sensor som ska sitta i holken.

Steg 7 Rörelsedetektor

Projektet tog ett rejält kliv framåt i helgen då det var ‘Minihack. Jag fick hjälp av en jobbarkompis och vi snodde ihop en rörelsedetektering i mjukvaran med hjälp av opencvs ‘backgroundsubtraction’.

Nu fungerar även inspelningsfunktionen och det finns två rörelsedetektorer. Förutom direkt i videoströmmen har jag även installerat en ‘PIR’ detektor men den verkar falsklarma lite för ofta så kanske behövs det någon justering…

Steg 8 Sista touchen

Nu är den snart klart att sättas upp. Förutom att ‘backend’ och övriga programvaran är klar (eller åtminstone tillräckligt klar) har jag även satt fast tätningslister runt taket och bättrings målat holken lite. Nästa steg blir att sätta upp den och det kommer jag att göra till helgen. Sen är det bara att hoppas på att blåmesarna gillar även denna nya generation av holk.

Kameran monterad under taket och temperatursensorn på sidan i bakre hörnet.

Tätningslisten. Taket skruvas fast mot denna så då blir det förhoppningsvis tillräckligt tätt.

Steg 9: Uppsättning och start

Nu är den uppsatt och startad på riktigt. Följ utvecklingen via http://sundback.ddns.net/

Holken uppsatt på samma ställe som förra året, dvs på en av stolparna till våran trappavsats.

CamDevice

Nu har jag byggt ihop hårdvaran till en del av nästa raspberry pi projekt. Det ska bli flera olika ‘moduler’ för övervakning och loggning som kan kopplas ihop via WiFi. Första modulen bygger på en Raspberry Pi B+ och har en kameramodul så huvudsyftet för den är att strömma video. Tanken är att den ska kunna göra enklare bildbehandling och kanske dela med sig av en något tolkad videoström som andra moduler i projektet kan använda. En accelerometer ska kunna ‘vända’ bilden rätt beroende på hur man monterar kameramodulen. Switchen ska aktivera eller avaktivera en videoström, knapparna kan användas för reset/reboot och start/stopp och led:arna ska indikera vilket tillstånd modulen arbetar i för tillfället. Varje tryckknapp kan ha två funktioner eftersom jag i koden implementerat stöd för ‘tryckt’ och ‘långtryckt’, ungefär som på en vanligt touchskärm.

Fortsättning följer…

Hårdvaran med lysdioder för att indikera olika tillstånd och tryckknappar plus switch för att välja.

Hårdvaran med lysdioder för att indikera olika tillstånd och tryckknappar plus switch för att välja.

Uppe och igång

wsmounted_smallNu är temperaturövervakningen av kyl & frys igång igen. Det tog ett tag men hobbyprojekten brukar ju ligga till sig lite innan de blir av ‘på riktigt’…

Jag ska göra en visnings-app som jag tänkt köra i en gammal smartphone men tills vidare får man hålla tillgodo med att titta här för senaste informationen.

Nu samlar den iallafall data igen även om det blev ett lite avbrott under dagen då min websida var nere. Allt data sparas nämligen till en databas där och eftersom jag missat att betala för maj så stängdes sidan ner… Jag har autogiro men ibland funkar det inte så jag fick betala manuellt med kort och sen var det igång igen.

 

Temperaturövervakning

Detta är ett projekt som pågått ett tag innan det blev tillräckligt färdigt och som går ut på att övervaka temperaturen i kylen och frysen. Det utökades efterhand  och har du även koll på temperatur, luftfuktighet och lufttryck ute och inne. I lådan finns även en summer, några led och en knapp som ska användas när jag så småningom implementerar en larmfunktion.

Den första versionen hade en liten LCD skärm som visade resultatet men det var svårt att bygga in på ett snyggt sätt så den versionen blev förbjuden att ha i köket…

Den senaste versionen ryms i en Rasberry Pi låda men har förstås lite sensorer utspridda i kylen,  frysen och utanför köksfönstret. Alla värden rapporteras till en databas som har en tabell med tätt uppmätta värden för det senaste dygnet och en tabell för långsiktig statistik men längre mellanrum mellan mätningarna.

Just nu är själva visningen lite eftersatt, det är tänkt att det ska bli en android-app som körs på en gammal smartphone som kan sitta på köksväggen tex. Det finns ett php-skript som levererar ut senaste mätningen i en enkel xml-fil men det ska även gå att se trender etc.

All kod till projektet finns på mitt github-konto. Kontroll-loopen som körs hela tiden är skriven i python, backend delarna i php och mysql (stored procedures)

wsmounted

Temperaturövervakningen monterad och igångkörd. Den gröna lysdioden lyser varje gång en mätning görs. Hela installationen döljs sedan av våran köksgardin.

outdoorsensors

Sensorerna som sitter på utsidan med locket borttaget.

tempsensor

En av temperatursensorerna i kylen. Bra att hålla koll på vilket id-nr som sitter var…