Inhoudsopgave:

DIY Raspberry Pi-temperatuursysteem met Ubidots - Ajarnpa
DIY Raspberry Pi-temperatuursysteem met Ubidots - Ajarnpa

Video: DIY Raspberry Pi-temperatuursysteem met Ubidots - Ajarnpa

Video: DIY Raspberry Pi-temperatuursysteem met Ubidots - Ajarnpa
Video: Setup Node-RED + Raspberry Pi to Publish Data to Ubidots Cloud 2024, November
Anonim
DIY Raspberry Pi-temperatuursysteem met Ubidots
DIY Raspberry Pi-temperatuursysteem met Ubidots

Een temperatuurbewakingssysteem biedt waardevolle inzichten in zowel commerciële als industriële omgevingen om inefficiënties te verminderen of de kwaliteit van producten en hun kwaliteit te behouden. Wat als ik je zou vertellen dat je de temperatuur van je zelfgebouwde wijnkelder of het aquarium van je gezin thuis kunt volgen met hetzelfde apparaat. Wat als ik u verder zou vertellen dat hetzelfde apparaat ook kan worden gebruikt om de lucht- en vloeistoftemperaturen van vloeistoffen in uw fabriek te bewaken? De makers van onze wereld hebben dit mogelijk gemaakt en deze gids is er om je te helpen je eigen initiatieven thuis of op de werkvloer op gang te brengen.

Deze gids zal je tutorial zijn voor een eenvoudig doe-het-zelf temperatuurbewakingssysteem dat ook waterdicht is om op te starten. Met behulp van een Raspberry Pi en Ubidots laten we u zien hoe u uw Pi kunt aansluiten en in realtime de meetwaarden van uw temperatuursysteem kunt weergeven. Met Ubidots kunt u ook e-mails of sms-gebeurtenissen maken om ervoor te zorgen dat uw "variabele" (in dit geval de temperatuur) binnen een reeks gedefinieerde limieten blijft die door u zijn toegewezen om de kwaliteit en efficiëntie van de systeemomstandigheden te garanderen.

Voor dit project gaan we een 1-draads voorbedrade en waterdichte versie van de DS18B20 sensor gebruiken. Wat is 1-draads? Het is een communicatieprotocol dat het aansluiten van uw IoT-sensoren eenvoudiger maakt door alle bekabeling samen te voegen tot één enkele draad (… nou ja, eigenlijk zijn het er drie, twee zijn aard- en stroomaansluitingen voor energie, de derde is de 1-draads voor datatransmissie).

BELANGRIJKE OPMERKING: De 1-draads temperatuursensor heeft verschillende versies te koop; een met een weerstand geïntegreerd in de sensor en de andere zonder. Wanneer u uw hardware aanschaft of instelt, kunt u er het beste voor zorgen dat uw apparaten en sensoren compatibel zijn voordat u verder gaat in deze zelfstudie.

Stap 1: Vereisten

  • Raspberry Pi 3-model (reeds geconfigureerd)
  • OneWire temperatuursensor - DS18B20
  • Ubidots-account - of - STEM-licentie

Stap 2: Bedrading instellen

Bedrading instellen
Bedrading instellen
Bedrading instellen
Bedrading instellen
Bedrading instellen
Bedrading instellen

Zoals eerder vermeld, wordt de OneWire-temperatuursensor verkocht met verschillende versies met weerstanden. Voor deze tutorial zullen we beide versies illustreren, met en zonder een weerstand. Welke u ook kiest voor uw systeem, zorg ervoor dat u nogmaals controleert of alle aansluitingen correct zijn op basis van de onderstaande diagrammen en foto's.

    Met geïntegreerde weerstand - met grove connector

Volg de tabel en de afbeelding hierboven om de juiste aansluitingen te maken voor uw OneWire temperatuursensor met weerstand.

TIP: De Arduberry is een nieuwe campagne in Kickstarter, die een eenvoudige en goedkope manier biedt om Arduino-schilden naar de Raspberry Pi te brengen. Deze ongelooflijke optie is de gemakkelijke manier om uw grove-sensoren aan te sluiten met behulp van een Arduino Grove-schild. Voor meer informatie hierover verwijzen wij u naar de campagne:)

    Zonder geïntegreerde weerstand - zonder grove connector

De weerstand in deze opstelling wordt gebruikt als een pull-up voor de datalijn en moet worden aangesloten tussen de datakabel en de voedingskabel. Dit zorgt ervoor dat de datalijn zich op een bepaald logisch niveau bevindt en beperkt interferentie van elektrische ruis als onze pin zwevend zou blijven.

Gebruik een weerstand van 4,7 kΩ (of 10 kΩ) en volg het bovenstaande schema om de juiste aansluitingen te maken. Merk op dat de pinnen die in de Raspberry Pi zijn aangesloten dezelfde zijn als in de tabel.

Stap 3: Sensorconfiguratie

Sensorconfiguratie
Sensorconfiguratie
Sensorconfiguratie
Sensorconfiguratie

1. Terwijl je Raspberry Pi verbonden is met internet, verifieer je het IP-adres dat is toegewezen aan de kaarttoegang met behulp van ssh in de terminal van je computer:

ssh pi@{IP_Address_assigned}

Als je de inloggegevens van je Raspberry Pi nog niet hebt geconfigureerd, houd er dan rekening mee dat je de standaard opgegeven inloggegevens moet gebruiken:

  • gebruikersnaam: pi
  • wachtwoord: framboos

Wanneer uw pi correct is geconfigureerd en aangesloten, wordt de gebruiker van uw terminal weergegeven als: pi@raspberrypi

2. Laten we nu een aantal pakketten upgraden en pip, de pakketbeheerder van Python, installeren. Kopieer en plak de onderstaande opdrachten in uw terminal en druk na elke opdracht op "enter" om de opdrachten uit te voeren.

sudo apt-get update> sudo apt-get upgrade

sudo apt-get install python-pip python-dev build-essential

3. Installeer vervolgens de Request-bibliotheek, een populaire Python-bibliotheek die het maken van HTTP-verzoeken vereenvoudigt. Kopieer en plak de onderstaande opdrachten in uw terminal en druk op "enter" voer de opdracht uit.

$ pip installatieverzoeken

4. De Raspberry Pi is uitgerust met een reeks stuurprogramma's voor interfaces. Om in dit geval de driver van de 1-Wire sensor op de GPIO-pinnen te kunnen laden, moeten we deze onderstaande twee drivers gebruiken. Deze stuurprogramma's worden daarom opgeslagen als laadbare modules en het commando modprobe wordt gebruikt om ze indien nodig in de Linux-kernel op te starten.

Voer de onderstaande opdrachten uit:

$ sudo modprobe w1-gpio> $ sudo modprobe w1-therm

5. Nu moeten we de map wijzigen in onze 1-Wire-apparaatmap en de apparaten vermelden om ervoor te zorgen dat onze sensor correct is geladen. Kopieer en plak de onderstaande opdrachten in uw terminal en druk na elke opdracht op "enter" om de opdrachten uit te voeren.

$ cd /sys/bus/w1/devices/> $ ls

Op dit moment is uw sensor al gemonteerd en aangesloten en moet deze worden weergegeven als een reeks cijfers en letters. In ons geval is het apparaat geregistreerd als 28-00000830fa90, maar uw kast zal een andere reeks letters en cijfers zijn, dus vervang ons serienummer door uw eigen serienummer en voer de opdracht uit.

$ cd 28-00000830fa90

De sensor schrijft periodiek naar het w1_slave-bestand. Voer de onderstaande opdracht uit om uw temperatuursensor te lezen:

$ kat w1_slave

Deze opdracht toont u twee regels tekst met als uitvoer t= de temperatuur in graden Celsius. Houd er rekening mee dat er een decimaalteken achter de eerste twee cijfers moet worden geplaatst (dit staat in de laatste code - maak je geen zorgen); de temperatuurmeting die we hebben ontvangen is bijvoorbeeld 29.500 graden Celsius.

Nu je temperatuurmetingen kunt doen, is het tijd om ze op Ubidots te plaatsen!

Stap 4: Gegevens naar Ubidots verzenden voor visualisatie

Gegevens naar Ubidots verzenden voor visualisatie
Gegevens naar Ubidots verzenden voor visualisatie
Gegevens naar Ubidots verzenden voor visualisatie
Gegevens naar Ubidots verzenden voor visualisatie
Gegevens naar Ubidots verzenden voor visualisatie
Gegevens naar Ubidots verzenden voor visualisatie

Nu is het tijd om te coderen!:)Maak en voer een Python-script uit in de terminal van uw computer:

$ nano onewire_temp_ubidots.py

Plak vervolgens de volgende code en sla deze op in uw terminal: Druk hier om de code te krijgen

Zorg ervoor dat u het serienummer 28-00000830fa90 vervangt door het uwe en wijs uw Ubidots-accounttoken toe in de verzoek-URL. Als u niet weet hoe u uw Ubidots-token kunt krijgen, raadpleeg dan het onderstaande artikel voor hulp:

Vind uw TOKEN van uw Ubidots-account

Laten we nu het script testen. Plak en voer het onderstaande script uit in de terminal van uw computer.

python onewire_temp_ubidots.py

Als het goed werkt, zie je een nieuw apparaat in je Ubidots-account met twee variabelen: temp_celsius en temp_fahrenheit

Stap 5: Optionele stappen: hernoem het apparaat en de variabelen

Optionele stappen: de naam van het apparaat en de variabelen wijzigen
Optionele stappen: de naam van het apparaat en de variabelen wijzigen
Optionele stappen: hernoem het apparaat en de variabelen
Optionele stappen: hernoem het apparaat en de variabelen

De namen van de gemaakte variabelen zijn dezelfde als de API-labels, de ID's die door de API worden gebruikt. Dit betekent niet dat hun namen niet kunnen worden gewijzigd, dus het wordt aanbevolen om de namen van uw apparaten en variabelen te wijzigen om ze vriendelijker te maken voor uw nomenclatuur. Zie hieronder voor meer informatie over het hernoemen van de namen van uw variabelen:

De apparaatnaam en variabelenaam aanpassen

U kunt ook de eenheden van elke variabele toevoegen en aanpassen vanuit uw lijst met opties.

Zoals je hierboven kunt zien, hebben we verschillende eenheden aan elke variabele toegewezen en ook vriendelijkere namen toegewezen die passen bij de nomenclatuur van onze projecten. Dit wordt ten zeerste aanbevolen voor gebruikers die op zoek zijn naar implementaties van 100's of apparaten.

Stap 6: Evenement instellen

Een gebeurtenis (of waarschuwing) is elke actie die wordt geactiveerd wanneer gegevens voldoen aan een ontwerpregel of deze overschrijden. Er kan bijvoorbeeld een e-mail- of sms-bericht worden verzonden wanneer een sensor stopt met het verzenden van gegevens of een temperatuur een maximum- of minimumdrempel overschrijdt.

Raadpleeg het onderstaande artikel om het evenement te maken:

Gebeurtenissen: een SMS-berichtgebeurtenis maken (sms, e-mail en telegram)

Stap 7: Resultaat

In slechts een paar minuten heb je een eenvoudig doe-het-zelf temperatuurbewakingssysteem gebouwd. Plaats nu uw sensoren waar nodig en begin vandaag nog met het volgen van temperaturen vanaf uw apparaat!

Veel plezier met hacken:)

Aanbevolen: