Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Raspberry Pi 2 weerstation

Onze hackerspace (Bloominglabs) ontving onlangs een ADS-WS1 weerstation van een gulle weldoener. Bovendien zijn we door Instructables geselecteerd voor de Raspberry Pi 2-hackathon, dus we hebben wat RPi2's om op te hacken. Voor mijn project besloot ik een RPi2 te gebruiken om ons weerstation online te zetten.

Ons station kan windrichting, windsnelheid, regen, temperatuur en vochtigheid meten. Het apparaat kan op een aantal manieren gegevens uitvoeren, waaronder serieel. Ik had een manier nodig om de gegevens te lezen en het van de paal naar ons netwerk te krijgen. De Raspberry Pi 2 zal dit mooi doen met een PoE-run naar een waterdichte behuizing op de mast.

Stap 1:Onderdelenlijst

1) ADS-WS1 Weerstation (elk weerstation dat seriële gegevensuitvoer ondersteunt, werkt echter)
2) Raspberry Pi (elke versie werkt, we gebruikten versie 2)
3) Serieel-naar-USB-adapter
4) Seriële kabel met ten minste één vrouwelijke DB9-shell
5) Ethernet – genoeg om uw buitenweerstation te bereiken
6) 5V voeding, 1-2A
7) Buitenbehuizing

Optioneel maar aanbevolen:
8) Ethernet-overspanningsbeveiliging
9) Power-Over-Ethernet injectie-adapters

Het eerste dat u moet aanschaffen, is een weerstation. Ik heb een ADS-WS1-station van Argent Data gebruikt, maar dat is niet vereist. Dit apparaat is echter zeer goed gedocumenteerd en heeft ook een geïntegreerde TNC voor het uitzenden van weergegevens via APRS (als je het aansluit op een hamradio). Maar dat is niet vereist voor wat ik doe, alles wat ik nodig heb is een seriële poortuitgang om gegevens in te lezen. Het stroomverbruik is slechts 50 mA, dus het kan worden gevoed door RPi of door het af te splitsen van de voeding naar de RPi.
http://wiki.argentdata.com/index.php?title=ADS-WS1…

Stap 2:Stel een besturingssysteem in op de Rasperry Pi 2

Je kunt elk besturingssysteem gebruiken, maar ik gebruikte Raspbian 7.1 op een SD-kaart van 8 GB. Volg de aanwijzingen voor het besturingssysteem waarmee u werkt:

https://www.raspberrypi.org/documentation/installa…

Zodra je je SD-kaart hebt voorbereid, installeer je deze in de RPi2 en zet je hem aan. Het helpt om een ​​lokale console te hebben (scherm dat HDMI ondersteunt en een USB-toetsenbord). Raspbian moet standaard DHCP gebruiken en op je netwerk komen als je een router hebt. Ik heb dit echter als wisselvallig ervaren.

De rest van dit document gaat ervan uit dat je enige basiskennis van Linux hebt, de Raspberry Pi-documenten zijn erg goed als je problemen hebt om je RPi2-installatie vanaf hier te krijgen:

https://www.raspberrypi.org/documentation/

Een laatste ding voor deze stap is om uw USB-naar-serieel-adapter aan te sluiten. Ervan uitgaande dat het een standaard FTDI of een ander veelgebruikt serieel-naar-USB-apparaat is, zal Raspbian het automatisch configureren. Nadat je het hebt aangesloten, zou je een nieuw /dev/ttyUSBx-apparaat moeten zien verschijnen.

[email protected] ~ $ ls /dev/ttyUSB*/dev/ttyUSB0

Ervan uitgaande dat dit het enige USB-naar-serieel apparaat is dat is aangesloten, zal het /dev/ttyUSB0 zijn. Met de opdracht "lsusb" worden al uw USB-apparaten weergegeven, wat u kan helpen het apparaat te identificeren als het niet correct wordt weergegeven:

[e-mail beveiligd] ~ $ lsusb
Bus 001 Apparaat 002:ID 0424:9514 Standard Microsystems Corp. Bus 001 Apparaat 001:ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Apparaat 003:ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 005:ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

Ik geef er de voorkeur aan om een ​​statisch IP-adres in te stellen, want dan hoef je je geen zorgen meer te maken dat het fout gaat als de RPi2 op een paal in de lucht staat. Bewerk /etc/network/interfaces en wijzig deze regel:

iface eth0 inet dhcp

Naar deze regel:

iface eth0 inet static

En voeg deze regels toe. Vervang door het IP-adres en de gateway met de juiste waarden voor uw netwerk:

adres 192.168.x.xnetmask 255.255.255.0gateway 192.168.x.x

Installeer nu de software die we nodig hebben, Apache2 voor een webserver en enkele andere hulpprogramma's. Minicom is een goed hulpmiddel om te controleren of seriële communicatie correct werkt, en wget is voor het downloaden van het weather.sh-script in de volgende sectie.

apt-get install apache2apt-get install wgetapt-get install minicom

Voor toekomstige testdoeleinden raad ik aan dit script te downloaden:

wget -O weather.sh "http://server1.nuge.com/~weather/software/weather-...

Als de bovenstaande link om de een of andere reden niet werkt, kun je de nieuwste versie van het weather.sh-script hier vinden:

http://server1.nuge.com/~weather/

Last but not least, moet u mogelijk uw /etc/group-bestand bewerken en het account "pi" of het account waarmee u gaat testen, toevoegen aan de "dialout" -groep. Dit geeft het account de juiste rechten om te lezen en te schrijven naar het seriële apparaat (/dev/ttyUSBx).

Stap 3:installeer en configureer weewx, configureer services om te starten bij het opstarten

Weewx is een programma dat seriële gegevens van verschillende merken weerstations inleest en een webinterface presenteert om de gegevens in een grafiek uit te tekenen.

apt-get install weewx

Nu wil je het configureren. Bewerk /etc/weewx/weewx.conf en pas de variabelen aan die logisch zijn. Het configuratiebestand is zelf gedocumenteerd, dus het is gemakkelijk aan te passen.

# $Id:weewx.conf 2901 2015-02-05 21:15:03Z tkeffer $## WEEWX CONFIGURATIEBESTAND## Copyright (c) 2009-2014 Tom Keffer # Zie het bestand LICENSE.txt voor uw volledige rechten .################################################ ############################## Deze sectie is voor algemene configuratie-informatie# Stel in op 1 voor extra debug-informatie, anders commentaar geven of stel in op nul.debug =0# Hoofdmap van de weewx-gegevensbestandhiërarchie voor dit station.WEEWX_ROOT =/# Hoe lang te wachten voordat een socketverbinding (FTP, HTTP) wordt onderbroken:socket_timeout =20# Wijzig dit niet - het wordt gebruikt door setup.py bij het installeren en bijwerken.version =3.1.0################################# #############################################[Station] # Dit sectie is voor informatie over uw station # Beschrijving van de stationslocatie. location ="Bloominglabs - Bloomington, Indiana" # Breedte- en lengtegraad in decimale graden...

Configureer ten slotte apache2 en weewx om te starten bij het opstarten:

update-rc.d apache2 standaard 99 2update-rc.d weewx standaard 99 2

Nu zullen deze services automatisch verschijnen elke keer dat de RPi2 wordt ingeschakeld. Dat zou ongeveer alles moeten zijn wat je nodig hebt voor je RPi2.

Stap 4:Bereid de seriële kabel en stroomkabels voor

U hebt slechts 3 draden plus 2 voedingsdraden nodig om de controller aan te sluiten. Op mijn foto zitten draden in de top 5 schroefklemmen, die zijn voor het verzenden van TNC/APRS-gegevens naar een hamradio en zijn niet vereist voor deze tutorial.

U moet dus eerst een seriële kabel aansluiten op de weercontroller. Sluit uw kabel aan op uw serieel-naar-USB-adapter. Knip nu het resterende uiteinde van de seriële kabel af, zorg ervoor dat u voldoende speling hebt om de kabel naar behoefte te leiden en om de buitenmantel over de draden minstens 2 inch te strippen. De afzonderlijke draden hoeven slechts 1/4 "of zo te worden gestript. U moet een multimeter gebruiken om de pinnen van de kabel in kaart te brengen en de draden te vinden die overeenkomen met pinnen 2, 3 en 5 van de pinnen in de DB9-schaal. Als je goed kijkt, staan ​​meestal de pinnummers naast de pinnen.

De draad voor pin 2 gaat naar TXD1 op de controller.
De draad voor pin 3 gaat naar RXD1 op de controller.
De draad voor pin 5 gaat naar aarde op de controller.

Als dat allemaal is aangesloten, heb je wat stroom nodig voor de controller. Een 9V-batterij werkt prima voor het testen, of een 5V- of 12V-voeding. Sluit de positieve draad aan op de "DC in" en de aardedraad op de onderste GND-ingang op de controller.

Ik heb voor deze installatie een paar Power-over-Ethernet (PoE) -adapters gebruikt. Ik heb zowel mijn RPi2 als de weercontroller van 5V voorzien, ik heb een adapter verzonnen voor het externe uiteinde om de stroom tussen hen te verdelen. Omdat dit in de elementen zal zijn, heb ik krimpkous gebruikt om de verbinding netjes en weerbestendiger te maken. Ook al zit dit allemaal in een weerbestendige doos, het kan geen kwaad om extra beschermingslagen toe te voegen voor het geval er een lek is.

Last but not least is de 5V-voeding voor de RPi2 prima om beide apparaten van stroom te voorzien. U kunt zelfs de microUSB-connector afsnijden en die gebruiken op het externe uiteinde van de PoE-adapter.

Stap 5:Controleer of u gegevens van het weerstation kunt inlezen

Nu zou u de RPi2 en de controller moeten kunnen inschakelen. Zodra ze allebei zijn ingeschakeld, gebruikt u minicom om te controleren of de communicatie werkt. We moesten de firmware in onze ADS-WS1-controller opnieuw flashen voordat deze correct zou werken. Er is een interactieve seriële interface op de controller die mogelijk moet worden geconfigureerd. Argent onderhoudt een wiki voor de controller die de commando's bevat die je naar de unit kunt sturen:

http://wiki.argentdata.com/index.php?title=ADS-WS1…

Zodra de controller reguliere gegevens verzendt, probeert u het weather.sh-script te gebruiken. Dat zou moeten bevestigen dat u intelligente gegevens naar buiten haalt.

Stap 6:maak de uitrusting klaar voor gebruik buitenshuis

Nu moet je alles in een soort container doen voor een buitencontainer. Technisch gezien zou u een Stephenson-scherm moeten bouwen om de juiste buitentemperatuurmetingen te garanderen. De temperatuur- en vochtigheidssensoren bevinden zich in de doos van de weercontroller (met een opening voor metingen).

http://en.wikipedia.org/wiki/Stevenson_screen

Ik heb echter voor nu een PVC NEMA 4 "waterdichte behuizing gebruikt. Het nadeel is dat we geen vochtigheidsmetingen krijgen en dat de temperatuurmetingen overdag met 10-15 graden F kunnen worden verhoogd. In de toekomst zijn we van plan een Stephenson-scherm te bouwen om nauwkeurige metingen te krijgen.

Voor meer details:Raspberry Pi 2 Weerstation


Productieproces

  1. Weerstation gebaseerd op Raspberry Pi
  2. Raspberry Pi-weerstation
  3. Bewaking op afstand van het weer met Raspberry Pi
  4. DHT Tiny Breakout voor de Raspberry Pi
  5. Doe mee met het IOT met je weerstation – CWOP
  6. Raspberry Pi universele afstandsbediening
  7. Een stukje Raspberry Pi
  8. Cycle Chaser
  9. Raspberry Pi diefdetector
  10. Raspberry Pi-temperatuursensor
  11. Weerstation V 2.0