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

Hologram Nova Starter Kit

Nieuw bij Nova? Nieuw bij Raspberry Pi? Nieuw bij Python? Deze tutorial gaat samen met onze kit en begeleidt je bij elke stap.

Verhaal

Deze tutorial maakt deel uit van een pakket dat Hologram aanbiedt:https://hologram.io/store/nova-starter-kit-for-raspberry-pi-3

Een Raspberry Pi instellen – zonder hoofd

Opmerking:je kunt naar het volgende gedeelte gaan als je Raspbian al op een SD-kaart hebt geïnstalleerd en erop kunt SSH-en of toegang hebt tot de terminal.

Het opzetten van een headless Raspberry Pi betekent dat we een computer gaan installeren zonder een monitor, toetsenbord of muis op het apparaat aan te sluiten. We gaan alles op afstand doen vanaf onze hoofdcomputer.

1. Download en brand het Raspbian OS naar SD

Aan de slag-notities:

  • Raspbian is een smaak van Debian, speciaal gemaakt voor de Raspberry's ARM-architectuur
  • Zowel Lite als Full-versies werken (Lite bevat geen desktop-UI, niet nodig voor deze tut)
  • We zullen NOOBS niet gebruiken omdat het ongewenste extra stappen toevoegt
  • We gebruiken een platformonafhankelijke tool genaamd Etcher om de gedownloade Raspbian-afbeelding over te zetten naar een SD-kaart.

Raspbian downloaden:https://www.raspberrypi.org/downloads/raspbian/

Etcher downloaden/installeren:https://etcher.io/

Raspbian op SD-kaart branden:

  • Plaats de SD-kaart in uw computer
  • Etcher-app openen
  • Selecteer het gedownloade Raspbian-zipbestand als het besturingssysteem
  • Selecteer de geplaatste SD-kaart als de beoogde schijf
  • Klik op "Flash!"
  • Etcher zou er ongeveer zo uit moeten zien...

2. Raspbian configureren

Nadat Etcher is voltooid, willen we toegang krijgen tot de SD-kaart terwijl deze nog op je computer is gekoppeld. Als de SD-kaart is uitgeworpen nadat Etcher is voltooid, koppelt u de SD-kaart los of sluit u deze opnieuw aan en controleert u of deze is geplaatst.

Open een lokale terminal-app. Ik gebruik graag Hyper Terminal.

Verander mappen naar de opstartschijf, op een Mac zou dat zijn:

cd /Volumes/boot

Schakel SSH in door een leeg bestand te maken.

touch ssh

Maak en bewerk wpa_supplicant.conf om wifi vooraf te configureren. Als u dit configureert, kan de Pi automatisch verbinding maken met een netwerk bij het opstarten, indien beschikbaar. De Pi heeft alleen een 2,4 GHz-antenne en is niet compatibel met 5 GHz-routers . Voer het volgende uit om wifi te configureren:

sudo nano wpa_supplicant.conf

Opmerking 1:toevoegen  sudo aan het begin van een commando geeft je root-rechten (supergebruiker). Dit onderwerp wordt een beetje harig, als je deze instructies letterlijk volgt, komt het goed.

Opmerking 2:Wat is  nano ? Nano is een lichtgewicht teksteditor die in de terminal werkt. Door nano aan te roepen gevolgd door een bestand, wordt dat bestand geopend om te bewerken.

Met nano open voor een leeg bestand, plakt u het volgende fragment erin – en wijzigt u het met uw eigen netwerkreferenties.

country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="**uw-wifi**" psk="**uw-wachtwoord **" key_mgmt=WPA-PSK}

Voor onveilige netwerken:

country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="**uw-wifi**" key_mgmt=NONE}

Druk op CRTL+X om af te sluiten, J om op te slaan, ENTER om te bevestigen en de Nano-editor af te sluiten. Werp de SD-kaart uit uw computer en plaats deze in de Raspberry Pi.

3. Maak verbinding met de Pi via WiFi SSH

Sluit de Raspberry Pi aan via de micro-USB-voedingspoort en wacht een minuut tot het apparaat is opgestart en verbinding heeft gemaakt. Je hoeft de Nova nog niet aan te sluiten. Zorg ervoor dat je de meegeleverde voedingsadapter gebruikt, het is belangrijk dat je Pi de aanbevolen 5V 2,4A krijgt.

Op je hoofdcomputer (niet de Pi) open je een terminal, misschien heb je de terminal nog open staan ​​na de laatste paar stappen. We gaan SSH (Secure Shell) gebruiken om op afstand toegang te krijgen tot de Pi-terminal vanaf uw hoofdcomputer. Zie het als een extern bureaublad, maar in plaats van een bureaublad is het een terminal.

In de terminal run:

ssh [email protected]

Wachtwoord is framboos.

Problemen oplossen:

  • Wat moet ik doen als het apparaat niet wordt gevonden? De Pi is waarschijnlijk niet op het netwerk. Plaats de SD-kaart terug in uw hoofdcomputer en voer de laatste stap opnieuw uit, waarbij u ervoor zorgt dat de wifi-inloggegevens correct zijn en u verbinding maakt met een 2,4 GHz-netwerk.
  • Wat als er meerdere Raspberry Pi's op mijn netwerk zijn die dezelfde hostnaam delen? U moet toegang krijgen tot de Pi via het lokale IP-adres in plaats van de hostname.local. Identificeer het IP-adres van het apparaat door in te loggen op de beheerdersbackend van uw router of door een app zoals Bonjour Browser te gebruiken. Zoek het IP-adres om toegang te krijgen tot het apparaat via SSH> ssh [email protected]

Verdere Pi-configuratie.

Je zou nu op afstand in de terminal van je Pi moeten zijn. We gaan het configureren van de Pi afronden. Voer vanaf de SSH-opdrachtregel het volgende uit:

sudo raspi-config

Een scherm zoals dit zou moeten verschijnen:

Laten we alle dingen doornemen die je hier moet doen.

  • SD-opslag uitbreiden: 7 geavanceerde opties → A1 Bestandssysteem uitbreiden
  • Schakel I2C in om analoge sensoren te lezen: 5 interface-opties → SPI
  • Wachtwoord wijzigen: 1 Gebruikerswachtwoord wijzigen → voer een nieuw wachtwoord in (onthoud dit!)
  • Hostnaam wijzigen: 2 Hostnaam → voer nieuwe hostnaam in (onthoud dit!)
  • Selecteer Voltooien en keur het opnieuw opstarten van de Pi goed

Nadat de Pi opnieuw is opgestart, sturen we SSH terug naar het apparaat. Zorg ervoor dat u de nieuwe hostnaam gebruikt en plaats .local achter de hostnaam. Voorbeeld: ssh [e-mail beveiligd]

4. Afhankelijkheden installeren

Ik weet dat dit een beetje lang is, maar ik zweer dat we bijna klaar zijn! Voer vanuit een SSH-sessie de volgende opdrachten uit.

Update de codebibliotheken van je Pi:

sudo apt-get update

Installeer enkele van mijn favoriete vereiste bibliotheken:

sudo apt-get install git git-core build-essential python-dev python-openssl python-smbus python3-pip python-pip scherm

Installeer Hologram's Python SDK voor interactie met de Nova:

curl -L hologram.io/python-install | bash

Controleer of de CLI (Command Line Interface) van Hologram is geïnstalleerd. Het zou een versie moeten retourneren die groter is dan 0.6.0.

hologramversie

Gefeliciteerd! Je bent klaar met het instellen van je Raspberry Pi en je hebt nog nooit een monitor aangesloten! Je bent nu een professional!

We zullen communiceren met General Purpose Input/Output Pins (GPIO in het kort). Bekijk deze StackOverflow voor een snelle opfrissing van de belangrijkste nuances van Pi GPIO-pinnen. Voor dit project gebruiken we BCM-nummering.

De pinout plaatsen hier voor snelle referentie:

Voor degenen die niet bekend zijn met breadboards , bekijk deze video van ScienceBuddiesTv waarin wordt uitgelegd hoe elektriciteit door een breadboard loopt.

Voor les 1 stellen we een van onze Pi-pinnen in als uitgang, waarmee we elektriciteit regelen om op verzoek een LED te laten branden.

Bedradingsschema

Hieronder ziet u hoe u alles moet aansluiten. Gebruik een weerstand van 220 ohm. De kleur van de draden doet er niet toe, maar over het algemeen staat ROOD voor stroom en ZWART voor aarde.

Opmerking:zorg er ALTIJD voor dat de stroom naar de Pi is uitgeschakeld voordat u de bedrading aansluit.

Sluit de stroom weer aan, wacht een minuut en breng opnieuw een SSH-verbinding tot stand.

Voer de code uit 🏃💨

Ik heb de code die nodig is om het lampje te laten knipperen al gemaakt en opgeslagen op GitHub zodat iedereen er toegang toe heeft. We gaan code klonen (mooi woord om te kopiëren) van mijn GitHub-opslagplaats naar je Pi door de volgende opdracht uit te voeren.

git-kloon https://github.com/benstr/nova-starter-kit.git

Je zou nu een nieuwe map op onze Pi moeten hebben vol met goodies!

ls nova-starter-kit/

Voer de code uit door het volgende commando uit te voeren.

sudo python nova-starter-kit/01_blink/main.py

De terminal zal je vragen hoe vaak je de LED wilt laten knipperen. Voer een nummer in en kijk hoe het licht aan en uit gaat. YAY, we besturen elektrisch!

Er zijn twee bestanden die de LED besturen. Bekijk de code voor elk bestand door elk van deze opdrachten te verzenden.

kat nova-starter-kit/01_blink/main.py

Main.py verwijst naar een ander bestand voor zijn LED-opdrachten, myLED.py . Laten we ook naar dit bestand kijken.

kat nova-starter-kit/01_blink/myLED.py

Wees ambitieus!

Ik heb een aantal extra functies toegevoegd in myLED.py waartoe je toegang hebt in main.py. Ga je gang, bewerk main.py en roep nog wat functies van myLED.py aan. Voer uw gewijzigde code uit en kijk wat er gebeurt:

sudo nano pi-starter-kit/01_blink/main.py

Les 2 – Een digitale sensor lezen

In deze les voegen we een digitale sensor toe en lezen we de waarde ervan af. De DHT11 detecteert vochtigheid en temperatuur en stuurt de resultaten via een digitaal signaal. De pinnen van de Pi kunnen digitale sensoren uit de doos lezen.

In deze map met lescodes voegen we een nieuw bestand toe met de naam myDHT.py . In dit bestand stellen we een pin in als invoer en creëren we enkele functies voor algemeen gebruik. De DHT-pythonbibliotheek van Adafruit is de echte ster, waardoor het supereenvoudig is om de DHT-sensor te lezen.

Je kunt meer lezen over DHT-sensoren van Adafruit: https://learn.adafruit.com/dht

Bedradingsschema

Hieronder ziet u hoe u alles moet aansluiten. Gebruik een weerstand van 10k.

Opmerking:vergeet niet om de Pi uit te schakelen voordat u de bedrading bedient.

Sluit de stroom weer aan, wacht een minuut en breng opnieuw een SSH-verbinding tot stand.

Voer de code uit 🏃💨

De code die nodig is voor deze les staat al op je Pi, te vinden in de map die je in de vorige stap hebt gekloond vanuit GitHub.

ls nova-starter-kit/02_digital_sensor/

Voordat we de code die ik heb gemaakt kunnen uitvoeren, moet je de DHT-bibliotheek van Adafruit installeren. Kloon de nieuwe bibliotheek.

git-kloon https://github.com/adafruit/Adafruit_Python_DHT.git

Voer het installatiescript uit dat Adafruit biedt.

sudo python Adafruit_Python_DHT/setup.py installeren

Test de bibliotheek door de volgende opdracht uit te voeren. Hiermee wordt ook gecontroleerd of u de sensor correct hebt aangesloten.

Opmerking: Merk op dat we 11 en 21 doorgeven aan het script. 11 geeft aan welke sensor we gebruiken (DHT11), 21 staat voor de pin waaraan we de sensor hebben bevestigd.

sudo Adafruit_Python_DHT/examples/AdafruitDHT.py 11 21

Nadat we hebben gecontroleerd of de DHT-bibliotheek is geïnstalleerd, zijn we klaar om mijn lesscript uit te voeren. Voer de code uit door de volgende opdracht te geven.

sudo python nova-starter-kit/02_digital_sensor/main.py

De terminal zal u geen vragen stellen, in plaats daarvan zal de LED 3 keer knipperen en de huidige temperatuur en vochtigheid in de terminal weergeven. Bekijk de wijzigingen die ik heb aangebracht in main.py

cat nova-starter-kit/02_digital_sensor/main.py

main.py heeft een nieuw bestand geïmporteerd, myDHT.py . Laten we ook naar dit bestand kijken. Net als myLED in de vorige les heb ik een paar extra functies toegevoegd.

kat nova-starter-kit/02_digital_sensor/myDHT.py
Je vaardigheden zijn aan het opwarmen!

Les 3 – Een analoge sensor uitlezen

In de laatste les lezen we van een digitale sensor, een sensor die enen en nullen zendt. Er is een andere manier waarop sommige sensoren analoog communiceren. Analoge sensoren kunnen elke waarde verzenden.

Sommige boards, zoals de Arduino UNO, kunnen lezen van beide typen sensoren. Helaas kan de Raspberry Pi alleen digitale sensoren lezen. Om analoge sensoren te kunnen lezen, hebben we een Analog-2-Digital Converter nodig tussen de analoge sensor en de Pi. Deze chip zet het analoge signaal om in een digitale uitgang en stuurt het naar de Pi.

In deze les stellen we een MCP-3008 in, die de waarde die we krijgen van een lichtsensor (een zogenaamde fotoresistor) omzet en naar de Pi stuurt. We voegen nog een Adafruit-pythonbibliotheek toe, dit keer voor de MCP-chip.

Nog een opmerking over de MCP-3008. Het biedt 8 poorten, wat betekent dat het tot 8 analoge sensoren kan lezen. We sturen gegevens naar poort 0. In main.py ziet u dat we instellen welke poort de fotoresistor gebruikt als globale variabele.

Bedradingsschema

Hieronder ziet u hoe u alles moet aansluiten. Het is belangrijk dat de MCP3008 in de juiste richting wijst. Zorg ervoor dat het ingekeepte uiteinde zich aan de linkerkant bevindt . Er zijn veel kabels nodig voor de MCP3008, dus neem de tijd en controleer alles nogmaals.

Opmerking:vergeet niet om de Pi uit te schakelen voordat u de bedrading bedient.

Sluit de stroom weer aan, wacht een minuut en breng opnieuw een SSH-verbinding tot stand.

Voer de code uit 🏃💨

De code die nodig is voor deze les staat al op je Pi, te vinden in de map die je hebt gekloond vanuit GitHub.

ls nova-starter-kit/03_analog_sensor/

Voordat we de code die ik heb gemaakt kunnen uitvoeren, moet je de MCP-bibliotheek van Adafruit installeren. Kloon de nieuwe bibliotheek.

git-kloon https://github.com/adafruit/Adafruit_Python_MCP3008.git

Voer het installatiescript uit dat Adafruit biedt.

sudo python Adafruit_Python_MCP3008/setup.py installeren

Nadat de MCP-installatie is voltooid, is het tijd om het lesscript uit te voeren. Voer de code uit door de volgende opdracht te geven.

sudo python nova-starter-kit/03_analog_sensor/main.py

De terminal zal u geen vragen stellen, in plaats daarvan zal de LED 4 keer knipperen en de huidige temperatuur, vochtigheid en nu helderheid in de terminal weergeven.

Bekijk de wijzigingen die ik heb aangebracht in main.py

kat nova-starter-kit/03_analog_sensor/main.py

main.py heeft een nieuw bestand geïmporteerd, myMCP.py . Laten we ook naar dit bestand kijken. Net als myDHT in de vorige les heb ik een paar extra functies toegevoegd.

kat nova-starter-kit/03_analog_sensor/myMCP.py
De toekomst ziet er rooskleuriger uit dan ooit!

Les 4 – Activeren met een knop

Ok, we hebben een volledig functionerende set sensoren! Maar het activeren van het script via een terminal in een SSH-sessie is niet ideaal. In deze les stellen we een knop in om een ​​lezing te activeren en stellen we het script in om continu te herhalen nadat de pi is opgestart.

Bedradingsschema

Het bedraden van deze knop zou nu een makkie voor je moeten zijn:

Sluit de stroom weer aan, wacht een minuut en breng opnieuw een SSH-verbinding tot stand.

Voer de code uit  🏃

De code die nodig is voor deze les staat al op je Pi, te vinden in de map die je hebt gekloond vanuit GitHub.

ls nova-starter-kit/04_button/

Voer de code uit door het volgende commando uit te voeren.

sudo python nova-starter-kit/04_button/main.py

De terminal doet niets terwijl hij wacht tot je op de knop drukt. Elke keer dat u op de knop drukt, krijgt u een meting.

Wat er gebeurt, wordt een oneindige lus genoemd. Het script stopt pas als u het handmatig stopt. Wat doet het script? Luisteren naar een druk op de knop. Verlaat de lus door op CTRL + C te drukken. Bekijk de wijzigingen die ik heb aangebracht in main.py

kat nova-starter-kit/04_button/main.py

Voer de code uit … bij het opstarten! 🔌 🏃

We hebben een knop en sensoren, yay! maar we hebben nog steeds de terminal nodig om het Python-script te starten. Laten we de Pi zo instellen dat dit script automatisch wordt uitgevoerd bij het opstarten.

Hiervoor moeten we een systeembestand opnieuw bewerken met de NANO-terminaleditor.

sudo nano /etc/rc.local

Hiermee wordt een bestand geopend met al belangrijke inhoud erin. Gebruikt pijlen om naar de onderkant van het document te scrollen. Verplaats de cursor voor de exit0 en voeg de volgende regel toe:

sudo python /home/pi/nova-starter-kit/04_button/main.py &

Druk op CRTL+X om af te sluiten, J om op te slaan, ENTER om te bevestigen en de Nano-editor af te sluiten. Terug in de normale terminal zullen we de Pi opnieuw opstarten.

sudo reboot

Druk na een paar minuten op de knop en als het lampje 4 keer knippert, werkte het! Elke keer dat je de Pi aanzet, wordt dit script op de achtergrond uitgevoerd.

Les 5 – Gegevens verzenden via wifi

Ons script wordt uitgevoerd bij het opstarten, geweldig! Maar we moeten nog steeds SSH naar de terminal sturen om de gegevens te zien. Laten we in plaats daarvan de gegevens via wifi naar Hologram's Data Engine sturen.

Als je je Hologram-simkaart nog niet hebt geactiveerd, doe dit dan nu: https://dashboard.hologram.io/activate.

Klik na activering op het Hologram Device Dashboard op het apparaat dat uw Nova vertegenwoordigt om naar de detailpagina te gaan.

Ga vanuit de zijnavigatie van de detailpagina naar de subpagina Configuratie. Klik op Routerreferenties weergeven , genereer een nieuwe 8-cijferige code en sla deze ergens op voor de volgende stap.

Maak verbinding met je Pi via SSH en open het bestand credentials.json in de NANO-editor.

sudo nano nova-starter-kit/credentials.json 

Vervang … door de 8-cijferige sleutel die je van het Hologram-dashboard hebt gekregen.

Druk op CRTL+X om af te sluiten, J om op te slaan, ENTER om te bevestigen en de Nano-editor af te sluiten. Bewerk nu de opstartregels om het bestand main.py te gebruiken in les 5.

sudo nano /etc/rc.local

Wijzig de voorlaatste regel van:

sudo python /home/pi/nova-starter-kit/04_button/main.py &

naar

sudo python /home/pi/nova-starter-kit/05_cloud/main.py &

Vergeet niet dat dit moet gebeuren voor exit0 . Druk op CRTL+X om af te sluiten, J om op te slaan, ENTER om te bevestigen en de Nano-editor af te sluiten. Terug in de normale terminal zullen we de Pi opnieuw opstarten.

sudo reboot

Druk na een paar minuten op de knop en als het lampje 4 keer knippert, werkte het!

Ga nu voor de echte magie naar https://dashboard.hologram.io/?drawer=full en als we het goed hebben gedaan, zie je de sensorresultaten in de cloud!

P>

Bekijk de wijzigingen die ik voor deze les heb aangebracht in main.py.

kat nova-starter-kit/05_cloud/main.py
we zijn in de wolken bruh

Les 6 – Gegevens verzenden via mobiel

Stel je voor dat je deze omgevingssensor-array ergens zonder wifi wilt plaatsen, zoals een berging of vakantiehuis.

In deze les voegen we mobiel aan het script toe. De stappen in deze les lijken erg op de vorige.

Volg eerst de montage-instructies van de Nova die bij de verpakking zijn geleverd. Zorg ervoor dat de simkaart correct is geplaatst en sluit de Nova aan op de Pi. Wacht tot er een ononderbroken LED op de Nova verschijnt, gevolgd door een tweede knipperende LED. Dit betekent dat je een beschikbaar mobiel netwerk hebt om verbinding mee te maken.

Maak verbinding met je Pi via SSH en bewerk de opstartregels om het main.py-bestand in les 6 te gebruiken.

sudo nano /etc/rc.local

Wijzig de voorlaatste regel van:

sudo python /home/pi/nova-starter-kit/05_cloud/main.py &

naar

sudo python /home/pi/nova-starter-kit/06_cellular/main.py &

Vergeet niet dat dit moet gebeuren vóór exit0 .

Druk op CRTL+X om af te sluiten, J om op te slaan, ENTER om te bevestigen en de Nano-editor te verlaten.

Terug in de normale terminal zullen we de Pi opnieuw opstarten.

sudo reboot

Druk na een paar minuten op de knop en als het lampje 4 keer knippert, werkte het!

Ga nu voor de echte magie naar https://dashboard.hologram.io/?drawer=full en als we het goed hebben gedaan, zie je de sensorresultaten in de cloud!

P>

Bekijk de wijzigingen die ik voor deze les heb aangebracht in main.py.

kat nova-starter-kit/06_cellular/main.py

Gefeliciteerd! Je hebt het gedaan!!

Je kunt je creatie nu overal ter wereld aansluiten en gegevens verzamelen over de lokale omgeving.

Je bent nu een maker van weerrobots... zeg vaarwel tegen de weerman.

Bron:  Hologram Nova-startpakket


Productieproces

  1. Ontwikkeling van webapplicaties in de cloud; Een startersgids
  2. Glucometer-testkit
  3. Kit biedt mmWave-ontwikkelplatform
  4. Raspberry Pi 3 Starter Kit Aansluitgids
  5. Raspberry Pi / Hologram SMS-gestuurde wisselstroomschakelaar
  6. Host je eigen gratis .onion-website met Raspbian op RPi3
  7. De MonkMakes Raspberry Pi Robot Kit bouwen
  8. Intellisaurus – Dinosaur Robot Kit
  9. Overzicht HARTING MICA® Starter Kits
  10. Overzicht HARTING MICA® Starter Kits
  11. Motorstartmotor begrijpen