RaspBerry Pi3 B+ och Klimatsensor BME280

210521:
Nu har jag (ytterligare en) RaspBerry Pi3 B+ med NOOBS förinstallerat på SD-minne.
Nu väntar jag på sensorn: BME280
Jag behöver också lämplig kabel och kontakter.
Efter det så ska det kopplas ihop.
Startas upp.
Och så ska jag se om jag får kontakt.
Dels med ’pajen’ och dels med sensorn.
Det blir en hel del mekande med python-programmering innan jag får till det så som jag vill.
Tanken är att RB Pi3 B+ tillsammans med BME280 ska samla:
Luftfuktighet
Lufttryck
Lufttemperatur
Detta ska sedan skickas till min NAS och samlas i en databas eller i en textfil.
Dessa data ska sedan presenteras på ett pedagogiskt vis.

Utöver det ovan så ska sensorn sitta utomhus och ’pajen’ befinna sig inomhus. RJ45-kopplad till hemnätverket.

Utomhus ska sensorn monteras i en en av två idéer:
A. I en EL-dosa som anpassas och får tillräcklig ventilation samt insektssäkras med myggnät. Bör sedan monteras på något form av stag så att det hamnar minst 50cm från väggen och 50cm från betongtaket ovan.
B. En ’böj’ till avloppsrör (är dock inte riktigt klar med den sk ’tankeplanen’, hur det egentligen ska se ut…?).

Och så ska ju det göras ett kabelval.
Jag får mäta mig fram till det som det hela klarar så att jag får de data jag vill ha.
Tror jag börjar testa med kat6-kabel (inte det mest utomhuståligaste valet – men kanske ändå…?).

210522:
Lite småbökigt.
Fn håller jag på med att jag ska få till sk remote desktop så att jag kan kontrollera den helt från där jag sitter mer bekvämt.
Att komma åt den via terminalen är inge problem och det är egentligen allt som behövs – senare – men nu i början så underlättar det att ’se’ alltihopa.
Jösses!
Det tog nästan hela dagen men nu kan jag antingen koppla upp mig till RaspBerry Pi3 B+ via terminalen eller genom att ’se’ minidatorns sk skrivbord (dess GUI).
Har fixat en genväg på mitt skrivbord som jag nu ’bara’ kan klicka på så kommer jag ’in i’ och ’ser’ den precis som jag kan se vilken annan dator som helst som man kan koppla upp sig emot.
Och det var via RealVNC som det till slut gick.
Det verkar också som om utvecklarna av linuxgränssnittet NOOBS ’låst’ VNC vid just RealVNC.
Får ta å utreda det här.
Det var INTE NOOBS som var förinstallerat på SD-kortet, även om det står så. Utan det är: Raspbian OS: The official Raspberry Pi OS

Kom på att jag ska ta säkerhetskopior på mina RPi-SD-kort. Jag har ju två ’pajer’. En som fungerar som Medieenhet och håller reda på ’alla’ mina filmer.

210523:
Idag kom jag ihåg… 😉 att jag skulle säkerhetskopiera de där microSD-korten.
Både för denna och för min andra; Raspberry Pi3 med Open Elec och Kodi. har den som mediespelare. Främst för mina filmer som jag har på NAS’en

210603:
Sensorn BME280
Går å laddar för att löda fast kontakterna till det lilla klimat-sensor-kretskortet.
Och koppla ihop sensorn men rpbpi3b+* enligt:

Klimat-sensor
BME280

Minidator
rpbpi3b+
*
VIN Pin# 01 3.3c DC Power (ev ska denna flyttas till: Pin# 02 DC Power 5v)
GND Pin# 06 Ground
SCL Pin# 05 GPIO03 (SCL1, I2C)
SDA Pin# 03 GPIO02 (SDA1, I2C)

*Raspberry pi 3B+

Illustration:
[Bild: Kopplingsschema Sensor BME/BMP280 och Raspberry Pi 3B+]
[Klicka på bilden så öppnas den i nytt fönster och allt blir tydligare 😉 ]
Bildförklaring:
A. Ström in: miniUSB; 5.1V, 2.5A, 12.75W
B: HDMI (monitor / TV)
C: (special)-kamera-kontakt
D: Ljud ut
E: RJ45 datakabel-kontakt (nätverk)
F: 4st USB2
G: GPIO-kontakter 40st
H: klimat-sensorn (Lufttemperatur, Lufttryck, Relativ Luftfuktighet (och kanske också Altitud (meter över havet))
I: microSD 16GB (innehåller, i det här fallet, Raspbian OS)
J: (special)-monitor-kontakt

Jag har kablar med mindre krokodilklämmor i ändarna så att jag kan se att det fungerar.
Sedan ska jag installera ett (python)-kommando som kontrollerar att sensorn blir rätt identifierad.

Därefter ska jag hitta rätt kodrader för att få ut de data jag vill ha av sensorn.
(Om den nu fungerar…)
Vad jag förstått så kan en del av dessa sensorer behöva ’kalibreras’ digitalt.

När jag lyckats med det är det dags att skaffa material till utomhusmontaget.

Två plattor, med ett borrat hål i mitten.
En 20 cm lång ’konstruktion’ av 4st träbitar som bildar ett stag med en hålighet i centrum.
En st utomhus EL-kontaktdosa. Nedtill och på sidorna ska rätt så stora ’hål’ karvas ut. Dessa täcks sedan med insektsskydd (myggnät och smältlim). Inuti ska jag limma fast det som blev rester av håltagningen så att jag har något som sensorn stabilt kan fästas vid (smältlim – eller om det går att lägga den ’löst’).
Ett hål i botten som motsvara positionen i plattan. I detta hål och i stagets ’kanal’ ska kabeln löpa
En påse kontaktkablar (för raspberry pi GPIO-stift (ska köpas å Kjell & Company)). 4st av dessa ska jag kapa. Ut i förrådet och leta upp ca 2m kat6-datakabel. De färgade trådarna löder jag sedan ihop med de kapade. Lödningar och blottad kabel isoleras med smältlim.
Den kabeln ska sedan föras inifrån och ut, via fönsterventilen.

Efter att ha kontrollerat att det nu funkar och ger ’vettiga’ värden (vilket många internetsidor kan vara vanskligt, beroende på varifrån sensorn kommer) så ska jag börja skapa en sql-databas på ’pajen’ (på en tillkopplad USB-sticka) och en på mitt webbhotell.

Sedan ska det skrivas python-kod för att dels få ut klimatdata från sensorn och sedan uppdatera databaserna.

Och så ska det då kodas en sk dynamisk HTML sida med diagram / grafer som visar det jag villa ha visat.

För att nu ro i hamn det här projektet så gäller det att jag har koll på och varje dag registrera hur jag ’mår’.

Om nu det där rullar på och verkar vettigt så kommer jag sannolikt att fixa någon form av sk UPS till ’pajen’ – strömbackup – så att den fortsätter att jobba även när strömmen går.
Ett strömavbrott kräver att jag snickrar ihop python-kod som håller koll och om så är fallet uppdatera internetdatabasen med de data som saknas – per automatik…

200605:
Gör en testkoppling:
[Bild: Testkoppling: RaspBerry Pi 3B+ och sensorn BME280]
Himla kul!
Startade ’pajen’.
Satte in en nätverkskabel i kontakten längst upp till höger.
Loggade in till den via:
ssh 192.168.0.70 -l pi
pi@192.168.0.70's password: XXXXXXXXXX...
Inne:
pi@rbpi3b:~ $
Startar ’VNC server’: vncserver
Detta för att jag via klienten (vncViewer) ska kunna se ’pajens’ sk ’Desktop’.
Nu behövde jag inte det denna gången.
Eftersom jag kopplat in en sk I2C-sensor så behöver den tjänsten aktiveras.
I ’pajens’ inloggning:
pi@rbpi3b:~ $
Skriver jag:
sudo raspi-config
En ruta visas, en meny.
Jag väljer nr 5: Interfacing Options
En ny meny, här väljer jag:
P4 I2C
Och väljer att aktivera den (enable)
Startar om ’pajen’ med kommandot:
sudo reboot
Loggar sedan in igen.
Kontrollerar kopplingarna mellan sensor och ’pajen’.
I terminalen skriver jag:
i2cdetect -y 1
Och får följande resultat:
    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 -- 
>: och det är utmärkt det betyder att I2C-tjänsten hittat en enhet på adressen: 0x76.

Nu installerade jag ett pythonskript:
wget -O bme280.py http://bit.ly/bme280py

Testade det:
python bme280.py
Svar:
Chip ID     : 96
Version     : 0
Temperature :  25.75 C
Pressure :  1018.03732571 hPa
Humidity :  33.9286335818 %

>: det är lysande 😀
Det där är innomhusvärden för vårt vardagsrum.
Kollade med värden för Malöga flygfält:
UteTemp: 22 C
UteFukt: 38 %
Tryck: 1023 hPa

Innetemperaturen har jag verifierat med en annan digital termometer.
Och den stämmer.

Ska se om jag kan få fram en enhet, för luftfuktighet och en för luftttryck, som är ordentligt kalibrerade så jag kan så hur värdena står sig.

Vad jag läst mig till så kan man behöva ’kalibrera’ de värden man får via pythonskriptet – jag vet ju inte i vilket land de är skrivna…
Jag kan behöva ’gå in i’ pythonskriptet och ändra lite.

Men först kollar jag om jag kan få ’riktiga’ värden via andra apparater.

210608:
De kablar som ska användas för att få kommunikation emellan sensorn BME280 och minidatorn Raspberry Pi 3B+
Minst fyra av dem ska jag klippa isär och lösa ihop med den långa 2m (kat6)-kabeln.
[Bild: Kablar som ska användas till sensorn BME280 och Raspberry Pi 3B+]
4st av dem trycker jag fast på stiften som jag ska löda på sensorn BME280.

Idag satte jag mig till och lödde ihop lite grejer.
[Bild: Förberett för lödning]
Här har jag förberett för lödning.
Raspberry pi 3B+ till vänster men påsatta kablar.
Lödpennan upp till i bilden.
Till höger en hållare som jag har satt fast sensorn (BME280) och stiften som  ska lödas fast.
Under det, lödtenn.
Denna hopkopplingen gör jag för att se att det hela fungerar som det ska

Färdiglödd. Lödningen skedde med sk urmakarglasögon (mikroskopglasögon)
[Bild: Färdiglödd]
Gjorde en tankevurpa och lödde fast stiften åt fel håll på sensorn…

Kontrollerar lödningen – det var attans pilligt. Och jag är ju inte superstadig på handen.
Att jag sedan lödde från fel håll… gjorde ju inte saken lättare…
[Bild: Kontroll av lödning]
Bilden är tagen med ett sk pennmikroskop och mobilkameran.
Var lite orolig för att jag hade lyckats löda ihop stift nr 2 uppifrån med motståndet till vänster om de lödda stiften.

Här löder jag ihop isärklippta stiftkablar med kat6-kabeln:
[Bild: Lösningen på 'G']
Mycket praktiskt med en sådan där hållare 🙂

Investerade i en ’billig’ väderstation för att ha som referens:
[Bild: Väderstationen som jag har som kontroll]
Den registrerar; Innetemperatur, Lufttrycket och inneluftfuktighet.
Den främre dosan placeras utomhus och mäter då utetemperatur.

[Bild: Kort Kabel]
Första testen. ’Pajen’ Och Sensorn BME280 kopplade med kort kabel och väderstationen som referent.

[Bild: Lång Kabel]
Efter att ha lött på de avklippta stiftkablarna på den långa kabeln (kat6, 2m) så kunde jag testa det.

Nu funkade den ändå – men ändå…

Har jämfört om det gör någon skillnad mellan ’kort’ (20cm) och ’lång’ (2m) kabel.
’Motståndet’ i den ’korta’ mäter jag till 0,4Ω (multimetern inställd på upp till: 200Ω)
Mäter jag ’motståndet’ i multimeterns egna kablar så får jag 0,3Ω
Det innebär att 20cm kabel ger 0,1Ω i motstånd och 2m kabel ger (0,7-0,3=) 0,4Ω

När jag hämtar mätvärden blir det lite (väldigt lite) underligt:

Kort(20cm) Lång(2m)
25,57 25,48
hPa 1014,14 1014,07
% 39,89 40,05

Temperaturen minskar med: 0,09 C°
LuftTrycket minskar med: 0,07 hPa
Den Relativa LuftFuktigheten, ökar med: 0,16 %

Givetvis kan det där bero på hur de mäts.
Det kan ju vara så att ju mer motstånd kabeln ger (ohm Ω) så ökar värdet för LuftFuktighet medan värdena för LuftTryck och LuftTemperatur minskar.

Än så länge ser jag ingen anledning till att justera i pythonskriptet.

Väderstationen visar för samma tidsperiod (snittet):

BME280
Lång
Kabel
Väderstationen
24,99 26
hPa 1014,85 1013,4
% 39,35 36,6

Väntar ju på en till – likadan – tänk om den visar annorlunda värden…