Inhoudsopgave:

Geautomatiseerd rivierwatermonitoringsysteem: 14 stappen
Geautomatiseerd rivierwatermonitoringsysteem: 14 stappen

Video: Geautomatiseerd rivierwatermonitoringsysteem: 14 stappen

Video: Geautomatiseerd rivierwatermonitoringsysteem: 14 stappen
Video: Geautomatiseerd pick & place systeem met Igus robot control 2024, November
Anonim
Geautomatiseerd rivierwatermonitoringsysteem
Geautomatiseerd rivierwatermonitoringsysteem
Geautomatiseerd rivierwatermonitoringsysteem
Geautomatiseerd rivierwatermonitoringsysteem

Deze instructiebale wordt gebruikt om de ontwikkeling van een geautomatiseerd rivierwatermonitoringsysteem te documenteren. De bewaakte parameters zijn het waterniveau en de watertemperatuur. Het doel van dit project was om een goedkope en onafhankelijke logger te ontwikkelen die gekoppeld is aan een database. Het waterpeil wordt bewaakt met een speciaal QR-niveau. Elke 15 minuten maakt een camera in de Pi een foto. De QR-codes in deze afbeelding worden softwarematig gedecodeerd en zijn indicatief voor de werkelijke waterstand. De watertemperatuur wordt gemeten met een DS18B20 sensor.

Benodigdheden

  1. Framboos Nul WH
  2. WittyPi Mini
  3. Raspberry Pi-cameramodule v2.1
  4. Huawei E3531 SurfStick
  5. Simkaart (ThingsMobile)
  6. DC DC Step-down Buck-converter
  7. DS18B20 digitale thermometer
  8. OTG micro-USB-kabel
  9. Een micro-USB-kabeluiteinde
  10. Vensterglas
  11. Verzegelde behuizing (G258)
  12. Kabelmontage
  13. Schroef aansluitblok 3-polig
  14. 4, 7kOhm weerstand
  15. Blanco printplaat 65x30mm
  16. 40-pins uitzet-header
  17. 4 x M3x20 schroeven
  18. 8 xM3 schroeven
  19. telefoon kabel
  20. Luidsprekerkabel

Stap 1: Solderen van de temperatuurmodule

De temperatuurmodule solderen
De temperatuurmodule solderen
De temperatuurmodule solderen
De temperatuurmodule solderen
De temperatuurmodule solderen
De temperatuurmodule solderen

In deze stap maken we vanaf het begin een temperatuurmodule. Het heeft de grootte van een pHAT en kan worden aangesloten op de 40-pins GPIO van de Pi. Met deze methode kunnen we de DS18B20-sensor veilig op de Raspberry Pi monteren.

  1. Eerst moeten we de 40-pins uitzet-header op de 60x35 mm blanco printplaat solderen.
  2. Plaats het schroefklemmenblok en de weerstand zoals weergegeven in de afbeelding
  3. Sluit de weerstand aan op de buitenste pinnen van het aansluitblok
  4. Soldeer de weerstand en pinnen samen
  5. Soldeer de kabels (zwart, rood en geel) aan de exacte pinnen van de uitzetkop en aan de pinnen van het aansluitblok
  6. Om de montagegaten te boren, monteer je eerst de module op je Raspberry Pi zero en boor je vervolgens met een boor van 3 mm door de bestaande gaten van je Raspberry Pi in je nieuwe module.
  7. Ten slotte kunt u uw DS18B20-sensor op uw module aansluiten door de kabels van uw sensor aan de overeenkomstige kleuren op uw bord te bevestigen.

Stap 2: Onze DCDC-converterkabel bouwen

Onze DCDC-converterkabel bouwen
Onze DCDC-converterkabel bouwen
Onze DCDC-converterkabel bouwen
Onze DCDC-converterkabel bouwen

Om onze Raspberry Pi van stroom te voorzien, moeten we de 12V die we van onze batterij krijgen, converteren naar 5V. We gebruiken een DC DC buck-converter om de spanning te verlagen.

  1. Soldeer de zwarte draad van je luidsprekerkabel aan de poort met het label GND
  2. Soldeer de rode draad aan de poort met het label IN+
  3. Soldeer de zwarte draad van uw micro-USB-kabel naar de poort met het label GND
  4. Soldeer de rode draad van uw micro-USB-kabel naar de poort met het label OUT+
  5. Knippen van het circuit gemarkeerd met de rode pijl in de afbeelding
  6. Las de bonding pads samen om een 5V vaste output te krijgen (blauwe pijl)

Stap 3: Je Surfstick installeren

Je Surfstick installeren
Je Surfstick installeren
Je Surfstick installeren
Je Surfstick installeren
Je Surfstick installeren
Je Surfstick installeren

Om een internetverbinding tot stand te brengen, moeten we onze surfstick verbinden met onze Raspberry Pi. Eerst moeten we enkele configuraties maken:

  1. Steek een simkaart van de mobiele provider van je keuze in je surfstick. In dit voorbeeld gebruiken we een simkaart van Things Mobile.
  2. Sluit je surfstick via USB aan op je computer.
  3. Er zou een venster in uw browser moeten verschijnen.
  4. Wijzig onder Instellingen>Profielbeheer de APN naar die van uw mobiele provider. Voor Things Mobile is het "TM".
  5. Schakel de roaming-functie in onder Instellingen > Mobiele verbinding en 'Mobiele data inschakelen'.
  6. Klik op Toepassen.
  7. Op de Home-pagina kunt u controleren of er een verbinding tot stand is gebracht.
  8. Nu ben je klaar om te gaan, koppel je surfstick los.
  9. De surfstick kan zonder verdere configuratie op je Raspberry worden aangesloten.

Stap 4: Maak een PostgreSQL-database

In deze stap zetten we onze database op. We maken gebruik van het gratis aanbod van Amazon Web Services.

  1. Maak eerst een gratis account aan op AWS:
  2. Volg deze tutorial om uw PostgreSQL-database te maken en leer hoe u er verbinding mee kunt maken:

Stap 5: De SD-kaart voorbereiden

Eerst moet je de Raspian Stretch Lite-afbeelding downloaden:

Raspberry Pi-downloads

Nu moeten we de afbeelding flashen op een lege SD-kaart (minimaal 16 GB). Plaats de SD-kaart in uw SD-kaartlezer. Download Balena Etcher en installeer het op uw computer:

www.balena.io/etcher/

Open Balena Etcher, selecteer het.zip-bestand van uw Raspian-afbeelding die u eerder hebt gedownload. Selecteer je SD-kaart in Select Drive. Klik op Flits!

Stap 6: De Raspberry installeren en ermee verbinden via SSH

Voordat we onze Raspberry Pi kunnen gebruiken, moeten we een aantal initiële instellingen maken.

  1. Plaats je SD-kaart in je Raspberry Pi en sluit deze aan op een monitor, toetsenbord en muis. (Als je geen extra monitor, toetsenbord en muis hebt, kun je een headless installatie maken. Zoek het op, het is al eerder gedaan)
  2. Volg de installatiestappen van je Raspberry Pi [wifi, taal, tijdzone]
  3. Schakel SSH in via Terminal op uw PI:sudo raspi-configgo naar: 5 Interfacing-optiesSSH inschakelen
  4. Download Termius op uw computer. Dit programma maakt het eenvoudig om via SSH.1 verbinding te maken met onze Raspberry Pi. https://termius.com/2. Maak een account aan

    3. Maak NIEUWE HOST4. Geef uw Raspberry een label (kies een naam) 5. Voer het IP-ADRES van uw PI in van het NETWERK waarop u bent ingelogd (als u het IP-ADRES niet weet, kunt u ernaar zoeken met een programma genaamd "ADVANCED IP SCANNER") 7. Voer uw gebruikersnaam in (pi standaard indien niet gewijzigd) 8. Voer uw wachtwoord in (standaard framboos indien niet gewijzigd) 9. Klik op opslaan 10. Dubbelklik op uw nieuw aangemaakte host 11. Er verschijnt een bericht -> klik op ja

Je Raspberry moet via SSH met je computer zijn verbonden

Stap 7: De logger installeren

  1. Schakel de camera in de interface-opties in: sudo raspi-configgo to: 5 Interfacing-opties Camera inschakelen sudo reboot
  2. Maak een nieuwe map in je /home/pi directorycd /home/pisudo mkdir Desktop
  3. Maak een nieuw python-bestand in de Desktop-directorycd Desktopsudo nano ctrl+ocall het bestand qrbooftemp.pyenterctrl+x
  4. Pakket pyboof installeren (numpy en py4j worden automatisch geïnstalleerd) dit kan tot 40 min duren.sudo pip3 install pyboof==0.33.1
  5. Voer een update uit (als u dit niet doet, kunt u later problemen krijgen bij het installeren van pakketten) sudo apt-get updatesudo apt-get install libpq-dev
  6. Installeer postgreSQL en psycopg2 om te communiceren met de postgreSQL-database via Pythonsudo apt-get install postgresqlsudo pip3 install psycopg2

Stap 8: De logger installeren (temperatuurmodule)

De logger installeren (temperatuurmodule)
De logger installeren (temperatuurmodule)

Om de temperatuurmodule te installeren, moet u de module op uw Raspberry Pi monteren met een DS18B20-sensor eraan bevestigd. De module wordt gemonteerd via de 40-pins header.

  1. activeer 1-draads in de interface-optiessudo raspi-configgo om: 5 Interfacing-optiesEnable 1-wiresudo reboot
  2. stel 1-draads pin in op pin 23 en gpu_mem=256sudo nano /boot/config.txt voeg dtoverlay=w1-gpio, gpiopin=23 toe, pullup=aan het einde van het bestand verander gpu_mem=128 naar gpu_mem=256
  3. activeer 1-Wiresudo modprobe w1-gpiosudo modprobe w1-thermsudo reboot
  4. zoek het adres van je DS18B20, het zou moeten beginnen met 28- …cd /sys/bus/w1/deviceslsschrijf het adres op, het is later nodig in het Python-script

Stap 9: Python-script downloaden en aanpassen

  1. Download het Python-script op uw computer en open het in een teksteditorhttps://github.com/gremax93/QR-Code-Water-Level
  2. Kopieer het volledige script naar je klembord (ctrl+a, ctrl+c)
  3. Ga naar je eerder gemaakte python-bestandcd /home/pi/Desktopsudo nano qrbooftemp.py
  4. Klik met de rechtermuisknop om het script in te voegen
  5. Verander het adres van de temperatuursensor naar het adres dat je eerder hebt opgeschreven
  6. Wijzig de postgresql-verbindingsconfiguratie naar uw specifieke informatie, zoals aangegeven in het script
  7. Opslaan en afsluitenctrl+oenterctrl+x

Stap 10: De WittyPi-module installeren

  1. Download het installatiebestand van Witty Pi wget
  2. Voer het installatiescript uit sudo sh installWittyPi.sh
  3. Herstart sudo reboot

Stap 11: Breng enkele wijzigingen aan in de installatie van Java Virtual Machine

Deze stap is nodig om ervoor te zorgen dat de JVM start wanneer het python-script wordt uitgevoerd.

  1. Ga naar de py4j-map en open jawa_gateway.py cd /usr/local/lib/python3.5/dist-packages/py4jsudo nano jawa_gateway.pyset DEFAULT_CALLBACK_SERVER_ACCEPT_TIMEOUT = 20
  2. Ga naar de pyboof-map en open _init_.pycd /usr/local/lib/python3.5/dist-packages/pyboofsudo nano _init_.pyset while time.time() - start_time < 20.0

Stap 12: Cron Job instellen

In deze stap stellen we een cronjob in wanneer de Raspberry opstart. Op deze manier wordt elke keer dat de Pi wakker wordt, ons python-script uitgevoerd.

  1. Stel cronjob in en schrijf het naar een logbestand. Dit maakt het oplossen van problemen efficiënter.crontab -e@reboot sleep 20 && sudo python3 /home/pi/Desktop/qrbooftemp.py >> /home/pi/Desktop/log.txt
  2. Voeg een andere regel toe aan crontab. Deze regel zorgt ervoor dat wanneer WittyPi faalt de Raspberry Pi toch opnieuw opstart.@reboot sleep 1500 && sudo rebootctrl+oenterctrl+x

Stap 13: Alles samenbrengen

Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
Alles bij elkaar zetten
  1. Zorg ervoor dat je Pi is uitgeschakeld, zo niet, sluit hem dan downsudo shutdown -h now
  2. Stapel je WittyPi op je Raspberry Pi en de temperatuurmodule erop.
  3. Schroef de 3 modules samen
  4. Sluit de cameramodule aan op de CSI-poort van de raspberry pi zero
  5. Bevestig je surfstick aan je Raspberry Pi via de USB OTG-kabel
  6. Sluit de voedingskabel aan op de WittyPi (niet op de Raspberry Pi!)
  7. Doe alles in de behuizing en schroef het deksel vast
  8. Sluit de voedingskabel aan op uw batterij
  9. Gefeliciteerd, uw logger zou moeten werken!

Stap 14: Definitieve installatie

Laatste installatie
Laatste installatie
Laatste installatie
Laatste installatie

Deze foto's tonen de gemonteerde logger met de QR-code waterpas geïnstalleerd.

De loggers werden onder een brug geplaatst voor een optimaal resultaat. Direct zonlicht moet worden vermeden.

Aanbevolen: