![]()
INDEX Senast uppdaterat 2017.01.15 Senaste tillskottet är Kälvjärv / Överkalix - Mät datorn är igång sedan 2017.xx.xx Skapade en sida så att man kan hålla koll på senaste avläsningen (För att se att allt är igång) -->Senast avläst.. Beskrivning Varje Raspberry Pi dator är 'grund' installerad med OS 'raspbian-jessie-lite' + drivrutiner för I2C interface eller 1W-GPIO avläsning, använder två små script för avläsning och uppladdning av temp data med sftp/ssh. Började med att använda ett I2C interface och OWFS. Har på senare tid övergått till att koppla 1-Wire direkt till GPIO och kör i stället 'modprobe w1-gpio' - Båda metoderna beskrivs här nedan. 1-Wire via I2C Använder ett I2C till 1-Wire interface som jag inhandlat från m.nu[L2], använder OWFS paketet för att avläsa I2C bussen. ![]() ![]() RPI med I2C interface och 3G / HSDPA modem ![]() ![]() RPI med I2C interface Kör raspi-config för att aktivera SSH och I2C.
Logga in och byt lösenord för användaren 'pi' med kommando, 'sudo passwd pi'
Du kan nu logga in 'remote' med 'ssh' och en terminal klient t.ex. 'pytty' till din RaspberryPi Kolla lokal LAN IP-Adress på din raspberryPi (Interface=eth0) med kommando 'ifconfig'
Lägga in stöd för att använda I2C interface - Redigera modules config /etc/modules
Skriv in två rader längst ner i modules filen(Om dom saknas)
Redigera startup config med kommando, 'sudo nano/boot/config.txt'
Skriv in två rader längst ner i config.txt filen(Om dom saknas)
Starta om din raspberryPi med 'sudo reboot'
Nu är det dax att kolla om I2C bussen och interfacet fungerar. Lägg till i2c-tools paketet med bl.a. i2cdetect. (I detta läge krävs att din RaspberryPi har en fungerande internet anslutning via LAN eller 3G / HSDPA)
När installationen är klar så är det bara att testa, kör 'sudo i2cdetect -y 1' - Om allt är OK så syns 1-Wire master enheten som I2C ID# 1b eller 18
OWFS Så är det dax att installera och testa OWFS paketet (I detta läge krävs att din RaspberryPi har en fungerande internet anslutning via LAN eller 3G / HSDPA)
Skapa en katalog för avläsning av 1-Wire data.
Redigera filen /etc/fuse.conf
I filen ska det finnas en rad där det står 'user_allow_other' Lägg till / editera raden (Ta ev. bort # tecknet eller skriv in hela raden)
Så är det dax att testa, hoppa till katalogen /mnt/1wire/ (Använd kommando 'cd') - Lista innehållet (kommando ls), där ligger nu en massa kataloger.
I katalogen med namnet '28.*' ligger en fil som heter temperature, printa den med kommandor 'cat' - Om du har flera DS18S20 sensorer på din 1-wire buss så listas flera 28.* kataloger, en per sensor (Den faktiska Sensor adressen ligger i filen 'address' i respektive katalog)
Lägg in ett start script i /etc/init.d för att starta tjänsten 'owfs' vid uppstart.
Skriv in följande i filen /etc/init.dstart1wire.sh
Starta om din RaspberryPi med 'sudo reboot' - Efter uppstart, logga in igen och kontrollera att tjänsten 'OWFS' är igång med kommando 'pstree' ![]() Nu är det bara att kopiera ut temperatur data och skicka upp det till en display eller en webb-sida (Beroende på hur temperatur data ska användas) - Mina 'upload' script ligger längre ner på sidan 1W-GPIO Att hämta in 1-wire data via 1w-gpio är nästan lika enkelt Först måste vi läsa in drivarna, enklast är med kommando
Editera /boot/config.txt för att starta drivarna när din raspberry startar upp Lägg till längst ner i filen /boot/config.txt
Läs ut 1-wire data - 1-Wire data hamnar i filen /sys/bus/w1/devices/28-xxxxxxxxxxxx/1w_slave
Använder ett python script för att läsa ut 1-wire data, startar scriptet med ett shell script och en 'pipe' från stdout till en fil.
Kör ett shell skript för att starta python skriptet och för att läsa ut aktuell tid till en fil.
Ref 1w-gpio = http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/temperature/ ![]() ![]() RPI med LAN koppling & 1W-GPIO interface 3G / HSDPA Modem & Sakis3G På några mätplatser använder vi begagnade 'HUAWEI E220' 3G / HSDPA / GPRS modem. Dom är väldigt enkla att configurera och använda. Kör 'update' och installera sedan 'ppp' & libusb-dev på din RaspberryPi.
Ladda ner och packa upp 'Sakis3G' script för att hantera / configurera 3G / HSDPA kopplingen, kopiera in script filen i /etc/init.d/ katalogen och ändra så att den blir körbar med 'chmod +x'
Du kan starta och testa 'sakis3g' manuellt med kommandot
För att köra modem uppkopplingen automatiskt vid uppstart skapar du en config fil '/etc/sakis3g.conf' ...
...Och lägger in 'sakis3g' i rc.d startup med kommando
Med kommandot 'sudo ./sakis3g --interactive' kan man hantera sin 3G / HSDPA anslutning manuellt, bl.a. kan man se status på anslutningen ![]() Sakis3g status skärm SSH Tunnel över 3G / HSDPA Kör ett par Raspberry Pi med 3G / HSDPA/GPRS nät (Mobil-Nät), operatören (Telia-Sonera) tillåter utgående trafik på SSH port 22, men inte inkommande?! - Löser problemet genom att öppna en SSH session från Raspberry Pi sidan (Fjärr datorn) till servern på port 22, dirigerar om till en oanvänd port på server sidan. För att kunna föra över temp data filer till en server automatiskt med ett script & sftp/ssh krävs att du kan autentisera automatiskt, det gör du med hjälp av ett Public/private nyckel par. Börjar med att skapa ett ssh nyckel par på den lokala maskinen (RaspberryPi klient dator) med kommandot 'ssh-keygen'
Följ istruktionen på skärmen, Kopiera över den lokala maskinens publika nyckeln till servern med kommandot 'ssh-copy-id' - Byt ut 'user@remotehost.com' i kommandot mot dina inloggnings uppgifter för servern.
Prova att logga in med ssh
Startar och kontrollerar ssh tunneln med ett shell script 'start_tunnel.sh' som körs i crontab
Sedan är det bara att ansluta från server sidan med kommandot nedan, byt ut 'pi_user' till användarnamnet du har i din Raspberry Pi.
Kopiera ut temp data och ladda upp till server med två shell script, dom körs också men crontab
Starta skripten var tredje minut med crontab, kör även kontroll av 3G / HSDPA / ssh-tunnel koppling varje minut.
Länkar / Leverantörer / Referenser Honors to the brains behind - 'Äras den som äras bör' - som talesättet säger. Som vanligt så är det inte jag som kommit på allt detta. Här hittar ni länkar till referenser och leverantörer. Leverantörer: [L1] biltema.se [L2] m.nu [L3] electrokit.se [L4] kjell.com Länkar / Referenser: [R1] SSH tunnel config https://www.tunnelsup.com/raspberry-pi-phoning-home-using-a-reverse-remote-ssh-tunnel/ [R2] https://wiki.m.nu/index.php/OWFS_p%C3%A5_Rasperry_Pi#Testa_installationen [R3] 'Disclaimer' The information given on this page is given on an 'As Is' basis and aimed for NON COMMERCIAL use only. The author can not be held responsible for any use of the information. Any registered product / trademark or company name on the page is the property of their respective owners. Notera! Det är helt personliga reflektioner och upplevelser vi skriver om på den här sidan, dessa är inte några 'Expert' kommentarer / utlåtanden. Vi rekommenderar INTE att någon ska göra dom ändringar / Modifieringar som vi gjort och som beskrivs på denna sida, då dessa HELT SÄKERT gör att alla garantier som leverantören utställt OMEDELBART upphör. Våra tester och slutsatser kan INTE, och ska INTE tas för intäkt att samma eller motsvarande resultat eller upplevelse kan erhållas eller efterliknas någon annanstans eller av någon annan. Go Back! ![]() ![]() ©2010 SM2YER Goran |