Inhoudsopgave:
- Stap 1: Vereisten
- Stap 2: Instellen
- Stap 3: De NanoPi verbinden met Ubidots met Python
- Stap 4: Nu is het tijd om te coderen
- Stap 5: Optionele stappen: hernoem het apparaat en de variabelen
- Stap 6: Maak een Crontab om het script elke N minuten uit te voeren
- Stap 7: Ubidots-dashboard
- Stap 8: Meldingen van traag/geen internet
- Stap 9: Conclusie
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Raspberry Pi is een veelgebruikt apparaat geworden, niet alleen voor prototyping en educatieve doeleinden, maar ook voor industriële productieprojecten binnen bedrijven.
Naast de grootte, de lage kosten en het volledig operationele Linux-besturingssysteem van de Pi, kan hij ook communiceren met andere randapparatuur via GPIO-pinnen (General Purpose Input/Ourput Pins), waardoor je behoorlijk robuuste hardware-applicaties kunt coderen zonder een expert te zijn in embedded elektronica.
Na dit artikel leer je hoe je je internetsnelheid kunt meten met een Raspberry Pi en de parameters naar de Ubidots-cloud kunt sturen om de waarschuwingen te maken voor het bewaken van je internetverbinding gedurende de dag!
Stap 1: Vereisten
Om deze zelfstudie te voltooien, hebt u het volgende nodig:
- Een Raspberry Pi verbonden met internet
- Ubidots-account - of - STEM-licentie
Stap 2: Instellen
In deze handleiding wordt ervan uitgegaan dat uw Raspberry Pi is geconfigureerd en al is verbonden met internet. Indien niet geconfigureerd, kunt u dit snel doen met behulp van deze snelstartgids van de Raspberry Pi Foundation.
OPMERKING: Als u een WiFi-dongle gebruikt, raden we u aan Wicd te gebruiken om uw WiFi-verbinding te beheren.
Stap 3: De NanoPi verbinden met Ubidots met Python
Terwijl uw Raspberry Pi is verbonden met internet, controleert u het IP-adres dat is toegewezen aan de kaarttoegang met behulp van ssh in uw computerterminal:
ssh pi@{IP_Address_assigned}
Gebruikersnaam: piWachtwoord: framboos
Zoals u de afbeelding hierboven kunt zien, was uw toegang succesvol en is de gebruiker nu pi@raspberrypi.
Laten we nu enkele pakketten upgraden en pip, de pakketbeheerder van Python, installeren:
sudo apt-get update> sudo apt-get upgrade
sudo apt-get install python-pip python-dev build-essential
Installeer de onderstaande bibliotheken:
- verzoeken: om HTTP-verzoeken van Python naar Ubidots te maken
- pyspeedtest: om de internetsnelheid van Python te meten
pip-installatieverzoeken pyspeedtest
Pro-tip: veelgestelde vragen en probleemoplossing - Als u een machtigingsprobleem krijgt bij het installeren van de vereiste pakketten, wijzigt u de gebruikersmodus naar root met behulp van de volgende opdracht:
sudo su
Stap 4: Nu is het tijd om te coderen
Maak een Python-script in de terminal van uw computer:
nano ubi_speed_tester.py
En kopieer de code in dit artikel. Zorg ervoor dat u uw Ubidots-accounttoken vervangt in de verzoek-URL. Als u niet weet hoe u uw Ubidots-token kunt krijgen, raadpleeg dan het onderstaande artikel:
Vind uw TOKEN van uw Ubidots-account
Laten we nu het script testen:
python ubi_speed_tester.py
Als het goed werkt, ziet u een nieuw apparaat in uw Ubidots-account met drie variabelen: downloaden, uploaden en pingen.
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 ik raad aan om de namen van de apparaten en variabelen te wijzigen om ze vriendelijker te maken. Raadpleeg het onderstaande artikel om te weten hoe u de namen van uw variabelen kunt hernoemen:
De apparaatnaam en variabelenaam aanpassen
U kunt ook de eenheden aan elke variabele toevoegen.
Stap 6: Maak een Crontab om het script elke N minuten uit te voeren
Nu we het script hebben getest, kunnen we het zo instellen dat het elke N minuten automatisch wordt uitgevoerd. Voor dit doel gebruiken we de Linux Cron-tool voor efficiëntie.
1.- Maak het bestand uitvoerbaar in de terminal van uw computer:
chmod a+x ubi_speed_tester.py
2.- Maak een crontab:
Om de een of andere reden werkt het commando "crontab -e" niet standaard, dus de oplossing is om cron handmatig te installeren met de onderstaande commando's:
sudo apt-get install cron
typ dan:
crontab -e
en voeg de regel toe:
* * * * * python /home/pi/ubi_speed_tester.py
om het script elke minuut uit te voeren.
3- Start opnieuw op en controleer uw gegevens in Ubidots
Om de Raspberry Pi opnieuw op te starten moet je als root gebruiken, voor dit type:
sudo su
Typ vervolgens de onderstaande opdracht om de Raspberry Pi opnieuw op te starten:> reboot
Wacht een minuut en ga dan naar Ubidots om de resultaten elke minuut te zien bijwerken
Stap 7: Ubidots-dashboard
Nu uw gegevens zich in Ubidots bevinden, kunt u met uw gegevens dashboards en evenementen maken. Hier is een voorbeeld:
Staafdiagramwidget
Raadpleeg het Helpcentrum voor meer informatie over Ubidots-dashboards.
Stap 8: Meldingen van traag/geen internet
Om de snelheid van uw internet te controleren wanneer u weg bent, hebben we enkele gebeurtenissen toegevoegd om een gebruiker op de hoogte te stellen: als het internet traag is of als er geen internet is.
- Op waarde gebaseerde gebeurtenis (internet is traag)
- Op activiteiten gebaseerd evenement (internet is inactief)
Raadpleeg dit Helpcentrum-artikel voor meer informatie voor meer informatie over Ubidots-evenementen.
Stap 9: Conclusie
Ik heb nog maar een paar minuten dat je een eenvoudige doe-het-zelf internetsnelheidstester hebt gebouwd. Zet je Raspberry Pi nu op een veilige plek achter je router en vraag je nooit meer af hoe snel je internet is.
Veel plezier met hacken:)