Inhoudsopgave:
- Stap 1: Vereisten
- Stap 2: Bedrading instellen
- Stap 3: Sensorconfiguratie
- Stap 4: Gegevens naar Ubidots verzenden voor visualisatie
- Stap 5: Optionele stappen: hernoem het apparaat en de variabelen
- Stap 6: Evenement instellen
- Stap 7: Resultaat
Video: DIY Raspberry Pi-temperatuursysteem met Ubidots - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
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
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
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
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
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:
Verbind en pas uw verbonden oplossingen aan met Hologram Nova en Ubidots: 9 stappen
Verbind en pas uw verbonden oplossingen aan met Hologram Nova en Ubidots: gebruik uw Hologram Nova om uw infrastructuur achteraf aan te passen. Stel de Hologram Nova in met een Raspberry Pi om (temperatuur)gegevens naar Ubidots te sturen. In de volgende gids zal Ubidots demonstreren hoe je een Hologram Nova instelt met behulp van een Raspberry Pi en een te
Verbind uw RevPi Core + RevPi DIO met Ubidots: 8 stappen
Verbind uw RevPi Core + RevPi DIO met Ubidots: Revolution Pi is een open, modulaire en duurzame industriële pc gebaseerd op de gevestigde Raspberry Pi en voldoet aan de EN61131-2-standaard. Uitgerust met de Raspberry Pi Compute Module kan de RevPi Core Base naadloos worden uitgebreid met de juiste
Temperatuur-/vochtigheidsgegevensanalyse met behulp van Ubidots en Google-Sheets: 6 stappen
Temperatuur-/vochtigheidsgegevensanalyse met behulp van Ubidots en Google-Sheets: in deze zelfstudie zullen we verschillende temperatuur- en vochtigheidsgegevens meten met behulp van temperatuur- en vochtigheidssensoren. U leert ook hoe u deze gegevens naar Ubidots kunt sturen. Zodat u het overal kunt analyseren voor verschillende toepassingen. Ook door op te sturen
(IoT) Internet of Things met Ubidots (ESP8266+LM35): 4 stappen
(IoT) Intertnet of Things With Ubidots (ESP8266+LM35): Vandaag gaan we leren het Ubidots-platform te gebruiken om gegevens op een vriendelijke manier via internet te visualiseren
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze