Inhoudsopgave:

Raspberry Pi Zero Wifi-toegangspunt met een aangepaste PCB-antenne - Ajarnpa
Raspberry Pi Zero Wifi-toegangspunt met een aangepaste PCB-antenne - Ajarnpa

Video: Raspberry Pi Zero Wifi-toegangspunt met een aangepaste PCB-antenne - Ajarnpa

Video: Raspberry Pi Zero Wifi-toegangspunt met een aangepaste PCB-antenne - Ajarnpa
Video: Raspberry Pi - Что можно сделать? Готовые проекты. Есть ли смысл? Как научиться? 2024, Juli-
Anonim
Raspberry Pi Zero Wifi-toegangspunt met een aangepaste PCB-antenne
Raspberry Pi Zero Wifi-toegangspunt met een aangepaste PCB-antenne

Wat zijn we aan het maken?

De titel van deze tutorial bevat veel technische termen. Laten we het opsplitsen.

Wat is een Raspberry Pi Zero (Rπ0)? Een Raspberry Pi Zero is een kleine computer. Het is de kleinere versie van de Raspberry Pi-computer met één bord en past in een doos van 30 mm bij 65 mm bij 5 mm. Naast zijn kleine formaat is hij erg goedkoop en heeft hij een zeer laag vermogen. Het is ook krachtig genoeg om een volledig op Linux gebaseerd besturingssysteem, Raspbian, te draaien. Zoals met elke andere computer, kunt u de Rπ0 gebruiken om op internet te surfen, games te spelen, kantoortools te gebruiken, software te schrijven, enzovoort. Deze tutorial maakt gebruik van de Raspberry Pi Zero Model W, die een ingebouwde wifi-adapter heeft.

Wat is een wifi-adapter? Als je wifi wilt gebruiken om je mobiel, tablet of laptop met internet te verbinden, heeft je apparaat een wifi-adapter nodig. Een wifi-adapter bevat circuits en een antenne. Het zet datasignalen om van en naar elektromagnetische golven met een frequentie in de buurt van bijvoorbeeld 2,4 GHz. De meeste mobiele telefoons, tablets en laptops bevatten een ingebouwde wifi-adapter. U kunt echter ook een externe wifi-adapter aanschaffen die via USB op een computer wordt aangesloten. In dit project gebruiken we zowel de interne wifi-adapter van de Rπ0 als een externe wifi-adapter.

Wat is een wifi-toegangspunt? Meerdere mobiele telefoons, tablets of computers kunnen draadloos communiceren met een enkel wifi-toegangspunt en gegevens van deze apparaten worden via het toegangspunt naar internet overgedragen. In dit project is de Rπ0 het wifi-toegangspunt. Waarom zou je een eigen wifi access point willen? Apparaten moeten zich binnen ongeveer 100 meter van een toegangspunt bevinden om te kunnen communiceren. Stel dat er een openbaar wifi-toegangspunt is in het midden van een bibliotheek. Iedereen met een laptop binnen die afstand kan het access point gebruiken om draadloos online te gaan. Wil je toegang in het park naast de bibliotheek, op 200 meter afstand? U kunt een nieuw toegangspunt plaatsen aan de rand van het bibliotheekterrein, 100 m van het eerste toegangspunt. Dan kan iedereen met een laptop binnen een straal van 100 m van dat nieuwe toegangspunt ook online. Binnen de grenzen van de beschikbare bandbreedte kunnen deze toegangspunten aan elkaar worden gekoppeld om internettoegang over een groter gebied te verspreiden.

Wat is een op maat gemaakte printplaat (PCB)? Een PCB is een circuit dat is opgebouwd uit lagen materiaal op een isolatieplaat. Koper is op de gewenste locaties van een patroon voorzien om draden te vormen en er worden gaten geboord waar componenten worden geplaatst. Aangepaste PCB's worden ontworpen met behulp van gespecialiseerde software. Voor dit project is een custom print ontworpen met behulp van de open source KiCad software. Het ontwerp werd vervolgens naar een fabrikant gestuurd om te worden geproduceerd. Het ontwerpen en bestellen van een aangepaste PCB is niet duur of tijdrovend. De stappen worden hieronder beschreven. Als u een PCB ontwerpt met behulp van software en deze laat maken, krijgt u een circuit dat duurzaam, nauwkeurig vervaardigd en ontworpen is volgens uw exacte specificaties. In dit project gebruiken we een aangepaste PCB om een wifi-antenne te maken.

Wat is een antenne? De antenne is het onderdeel van de hardware van het wifi-toegangspunt dat signalen omzet van en naar elektromagnetische straling. Veel antennes kunnen signalen uit alle richtingen even goed zenden en ontvangen. Andere antennes zijn gericht en werken veel beter in een bepaalde richting. In dit project hebben we ervoor gekozen om een richtantenne te gebruiken. Wanneer een directionele antenne een signaal uitzendt, focust deze de energie in een bepaalde richting, zodat, al het andere gelijk, een goed uitgelijnde directionele antenne kan communiceren over een langere afstand dan een die niet directioneel is. Deze Instructable is geïnspireerd op een andere Instructable die een directionele wifi-antenne maakte van (letterlijk) paperclips en ijslollystokjes. Dat Instructable bevatte een patroon voor een wifi Yagi-antenne, en onze antenne is gemaakt van dat patroon met kleine aanpassingen. Een Yagi-antenne, ook wel Yagi-Uda-antenne genoemd, is een type directionele antenne die oorspronkelijk is ontworpen in 1926. Een andere geweldige bron van antenneontwerpen, evenals andere informatie over antennes, is het ARRL-antenneboek.

Terwijl sommige mensen meerdere keren per dag internetten, hebben veel andere mensen geen betrouwbare internettoegang. Gebrek aan internettoegang is een probleem in zowel landelijke als stedelijke gebieden, en het is een probleem in zowel ontwikkelde als ontwikkelingslanden. Zo had 23% van de huishoudens in Wayne County Michigan, waaronder Detroit, in 2017 geen internettoegang. Oplossingen voor dit probleem moeten goedkoop zijn, omdat veel mensen zonder computertoegang over beperkte middelen beschikken. Bovendien moeten oplossingen werken zonder dat er infrastructuur nodig is, zoals het leggen van koperdraad of glasvezelkabels. In deze handleiding laten we zien hoe je je eigen wifi access point bouwt zodat je zelf internet kunt uitbreiden.

Over deze zelfstudie

Deze instructies zijn modulair. U kunt delen van deze instructies volgen zonder noodzakelijkerwijs de delen ervoor of erna te voltooien. Als je bijvoorbeeld geïnteresseerd bent in het gebruik van een Rπ0 als toegangspunt, maar niet al te geïnteresseerd bent in antennes, gebruik dan gerust een wifi-adapter en negeer de stappen voor het maken van de antenne. Als je geïnteresseerd bent in het maken van een aangepaste Yagi-antenne, ga dan meteen naar dat deel van de tutorial. De PCB-layoutbestanden voor de antenne worden meegeleverd.

De stap om de wifi-adapter te installeren en de stap om de Rπ0 in te stellen als toegangspunt zijn getest met Raspbian Stretch 4.14.52 en 4.14.79. Hopelijk zullen ze blijven werken met toekomstige versies. Deze stappen moeten echter mogelijk worden gewijzigd als configuratiebestanden voor wifi-toegang veranderen in nieuwere versies van het besturingssysteem.

Stap 1: Verzamel benodigdheden

Verzamel benodigdheden
Verzamel benodigdheden

Benodigdheden voor de Raspberry Pi Zero Setup

  • Raspberry Pi Zero WZorg ervoor dat u het model W koopt met ingebouwde wifi.https://www.adafruit.com/product/3400

    Afbeelding
    Afbeelding
  • Micro SD-kaartKoop er een van minimaal 16 GB.https://www.amazon.com/gp/product/B073JWXGNT
  • MicroSD-kaartlezer
  • USB-hub met MicroUSB-connectorhttps://www.amazon.com/gp/product/B01JL837X8/
  • USB-toetsenbord en -muishttps://www.amazon.com/d/Keyboard-Mouse-Combos/Log…
  • Mini-HDMI-naar-HDMI-kabel Zorg ervoor dat u de Mini-HDMI-, niet Micro-HDMI-maat gebruikt.
  • HDMI-compatibele monitor
  • Voeding U kunt in plaats daarvan een USB-batterij gebruiken.https://www.adafruit.com/product/1995

Extra benodigdheden die nodig zijn voor het instellen van het wifi-toegangspunt

Amazon Basics USB Wifi-adapter met afneembare antenne

Extra benodigdheden voor de aangepaste PCB-antenne

  • RG-58 soldeerbare kabelconnectorDigikey onderdeelnummer CONSMA007-R58-ND
  • Op maat gemaakte printplaat
  • Soldeerbout en kleine hoeveelheid soldeer

Stap 2: Stel de Raspberry Pi Zero in

De Raspberry Pi Zero instellen
De Raspberry Pi Zero instellen

Download het Raspbian NOOBs Lite zipbestand van https://www.raspberrypi.org/downloads/noobs en pak het uit.

Sluit de MicroSD-kaart aan op de computer met behulp van de MicroSD-kaartlezer. De MicroSD-kaart moet nieuw of nieuw geformatteerd zijn. Kopieer de bestanden naar de MicroSD-kaart.

De volgende stap is het aansluiten van de Rπ0-hardware. Plaats de MicroSD-kaart in de Rπ0. Sluit de USB-hub aan op de Rπ0 en sluit het toetsenbord en de muis aan op de USB-hub. Sluit de Rπ0 aan op de voeding en steek hem in het stopcontact. De Amazon Basics wifi-adapter wordt in deze stap niet gebruikt, dus laat hem los.

Volg de instructies in de wizard om het Raspbian-besturingssysteem op de Rπ0 te installeren. Deze stap houdt in:

  • Inloggen op het bestaande wifi-netwerk
  • Raspbian Full installeren (wees geduldig, dit duurt even.)
  • Het land, de tijdzone en de taal instellen
  • Een wachtwoord instellen voor gebruikerspi
  • Verbinding maken met het bestaande wifi-netwerk
  • Updaten (wees geduldig, dit duurt even.)
  • Opnieuw opstarten

Op dit moment hebben we een werkende Rπ0-computer met het Raspbian-besturingssysteem. Klik op het wifi-pictogram in de rechterbovenhoek van het scherm. Het zou wlan0 moeten tonen die is verbonden met uw bestaande wifi-netwerk.

Afbeelding
Afbeelding

Stap 3: Installeer het stuurprogramma voor de wifi-adapter

Installeer het stuurprogramma voor de wifi-adapter
Installeer het stuurprogramma voor de wifi-adapter

De wifi-adapter van het merk Amazon Basics is geweldig voor antenneprojecten omdat de meegeleverde antenne kan worden losgeschroefd zodat onze antenne erop kan worden geschroefd. Helaas herkent Raspbian deze wifi-adapter niet. Het is een Realtek 818b adapter met serienummer 70F11C0531F8. Volgens https://www.raspberrypi.org/forums/viewtopic.php?… heeft de chip erin de RTL8192EU-driver nodig. De benodigde driver is online verkrijgbaar bij MrEngman.

Om het stuurprogramma te installeren, sluit u de Amazon Basic wifi-adapter aan op de USB-hub en opent u een terminal. Voer de volgende opdrachten in op de opdrachtregel:

sudo wget https://fars-robotics.net/install-wifi -O /usr/bin/install-wifi

sudo chmod +x /usr/bin/install-wifi sudo install-wifi -h sudo install-wifi

Klik op het wifi-pictogram rechtsboven in het scherm.

Afbeelding
Afbeelding

Het moet wlan0 en wlan1 tonen en beide moeten verbonden zijn met het gevestigde wifi-netwerk. Op dit moment heb je een werkende Rπ0-computer met twee werkende wifi-adapters, de interne en de externe Amazon Basics wifi-adapter.

Stap 4: Stel de Rπ0 in als een toegangspunt

De volgende stap is om de Rπ0 in te stellen als wifi-toegangspunt. Aan het einde van deze stap wordt de externe Amazon Basics wifi-adapter wlan1 genoemd door de Rπ0 en zal deze communiceren met het gevestigde wifi-netwerk. De interne wifi-adapter wordt door de Rπ0 wlan0 genoemd en apparaten zoals mobiele telefoons, tablets en laptops kunnen verbinding maken met de Rπ0 op het nieuwe wifi-netwerk. Deze mobiele telefoons, tablets en laptops zullen dit nieuwe wifi-toegangspunt kunnen gebruiken om op internet te communiceren.

Deze Rπ0 kan het bereik van een bestaand wifi-netwerk vergroten. Stel dat we bijvoorbeeld een mobiele telefoon met internet willen verbinden, maar de mobiele telefoon is 200 m verwijderd van het gevestigde wifi-toegangspunt. De mobiele telefoon kan mogelijk niet communiceren met een zo ver weg gevestigd wifi-toegangspunt. Wel kunnen we de Rπ0 met het nieuwe toegangspunt in het midden plaatsen. De Rπ0 kan dan de externe wifi-adapter gebruiken om te communiceren met het gevestigde wifi-netwerk dat zich op slechts 100 m afstand bevindt, en de Rπ0 kan de interne wifi-adapter gebruiken om te communiceren met de mobiele telefoon die zich ook op slechts 100 m afstand bevindt.

Adafruit heeft een uitstekende tutorial over het instellen van een Raspberry Pi als wifi-toegangspunt. De zelfstudie beschrijft de stappen, waaronder het instellen van het wifi-toegangspunt, het installeren van de benodigde pakketten, het bewerken van configuratiebestanden en het starten van services. De procedure heeft echter meerdere stappen en de instructies moeten voor onze doeleinden worden aangepast. We gebruiken een Rπ0 in plaats van de grotere Raspberry Pi en we brengen een verbinding tot stand tussen twee draadloze toegangspunten in plaats van een bekabeld en draadloos toegangspunt. Bovendien zijn verdere wijzigingen in configuratiebestanden nodig om het toegangspunt met succes in te stellen.

We hebben een programma geschreven om het installatieproces te vereenvoudigen. Het bijgevoegde zipbestand bevat de gewijzigde configuratiebestanden die nodig zijn, evenals een klein C-programma dat de installatie van het toegangspunt automatiseert. Het is nauw gebaseerd op de Adafruit-tutorial. Dit programma maakt een back-up van bestaande configuratiebestanden, kopieert in de nieuwe configuratiebestanden in het zipbestand en voltooit de installatie van het toegangspunt.

Er zijn enkele aanvullende pakketten nodig voordat we het installatiescript kunnen gebruiken. Gebruik de volgende opdrachten om de benodigde software te installeren.

sudo apt-get install hostapd isc-dhcp-server

sudo apt-get install iptables-persistent

Download het bijgevoegde zipbestand en sla het op in een nieuwe map. Open een terminal en ga naar die map. De volgende stappen zijn om het bestand uit te pakken en het installatiescript uit te voeren.

tar-xzvf insatll-rpiAP.tar.gz

cd install-rpiAP sudo./install-rpiAP.o

Dit programma zal u vragen om de naam van het (gevestigde) wifi-netwerk en het wachtwoord in te voeren. Het zal een nieuw toegangspunt opzetten met de naam PI_AP met wachtwoord Raspberry.

Nadat het script is voltooid, start u de Rπ0 opnieuw op. Als u nu op het netwerkpictogram in de rechterbovenhoek van het scherm klikt, staat er dat er geen draadloze interfaces zijn gevonden. Maak je geen zorgen; ze bestaan en werken. Op dit moment bestaat het originele wifi-netwerk en hebben we een nieuw wifi-netwerk genaamd Pi_AP. Neem een mobiele telefoon of ander apparaat en probeer verbinding te maken met het nieuwe wifi-toegangspunt. Open een webbrowser op het apparaat om de internetverbinding te testen terwijl u dit nieuwe toegangspunt gebruikt.

De volgende zeven configuratiebestanden worden gewijzigd door het installatieprogramma: /etc/dhcp/dhcpd.conf, /etc/default/isc-dhcp-server, /etc/network/interfaces, /etc/hostapd/hostapd.conf, /etc /default/hostapd, /etc/init.d/hostapd, en /etc/sysctl.conf. Mogelijk wilt u aanvullende wijzigingen aanbrengen in deze configuratiebestanden. De hierboven genoemde Adafruit-tutorial biedt aanvullende details. Wijzig bijvoorbeeld het bestand /etc/hostapd/hostapd.conf als u de naam van uw nieuwe toegangspunt of het wachtwoord wilt wijzigen. Als u meerdere Rπ0-toegangspunten op uw bestaande netwerk wilt aansluiten, heeft elk een uniek IP-adres nodig. Het installatieproces gebruikt 192.168.42.1. De bestanden /etc/dhcp/dhcpd.conf en /etc/network/interfaces moeten worden aangepast. Bovendien hebt u het commando sudo ifconfig wlan0 192.168.zz.1 nodig, waarbij zz wordt vervangen door een ander geheel getal. Dit toegangspunt is ook alleen getest voor IPv4-communicatie. Aanvullende aanpassingen aan de installatieprocedure of de configuratiebestanden kunnen nodig zijn voor zowel IPv4- als IPv6-communicatie op het toegangspunt.

Stap 5: Ontwerp de antenne

Ontwerp de antenne
Ontwerp de antenne

Het ontwerpen en maken van een antenne is makkelijker dan het klinkt. Onze aanpak was om te beginnen met een patroon, het aan te passen, het te simuleren om er zeker van te zijn dat het nog steeds aan onze behoeften voldoet, en het vervolgens op een PCB uit te tekenen. Als je geen eigen antenne wilt maken, gebruik dan degene die bij de wifi-adapter wordt geleverd. Als alternatief, als u uw eigen antenne wilt maken, maar niet wilt ontwerpen of simuleren, hebben we onze PCB-lay-outbestanden bijgevoegd. Lees echter verder als u geïnteresseerd bent in antenne-ontwerp, antennesimulatie of PCB-layout. De antenne die we gebruiken is niet geoptimaliseerd. Het doel hier is om te laten zien hoe je je eigen antenne kunt maken, niet om een ideale antenne te laten zien.

We wilden een richtantenne die werkt op wifi-frequenties. De Instructable waarmee we zijn begonnen, bevat een gedetailleerd patroon voor een directionele Yagi-antenne die kan worden gemaakt van paperclips en ijslollystokjes. We hebben slechts één wijziging aangebracht. Deze antenne is 42 cm lang en bevat 15 geleidende elementen. We hebben op vier na alle elementen verwijderd, dus de antenne zal korter zijn.

Vervolgens hebben we de antenne gesimuleerd om ervoor te zorgen dat deze nog steeds directioneel was, zelfs met minder elementen. EZNEC van Roy Lewallen is een eenvoudig te gebruiken antennesimulatietool. We gebruikten de demoversie van EZNEC 6.0. De eerste stap bij het gebruik van deze software is het beschrijven van de antenne. Klik op de knop Draden en voer de locatie van de antenne-elementen in. De grootte en locatie van deze elementen zijn gedetailleerd in het antennepatroon. Vervolgens hebben we de frequentie ingesteld op 2,4 GHz voor wifi-signalen en hebben we het grondtype gekozen als vrije ruimte. Het EZNEC-bestand dat de antenne beschrijft, WifiYagi.ez, is bijgevoegd.

De uitvoer van de EZNEC-simulatie wordt hieronder weergegeven en controleert of de gewijzigde antenne nog steeds directioneel is. Het linkerdeel van de afbeelding toont de antenne. De zwarte lijnen zijn de geleidende elementen en de rode cirkel op het tweede element is waar de wifi-adapter verbinding mee maakt. Het rechterdeel van de figuur is de grafiek van het 3D-stralingspatroon. De figuur toont de relatieve sterkte van het signaal op een vaste afstand van een zendantenne onder verschillende hoeken. Aangezien de plot groter is in x-richting dan in andere richtingen, is de antenne directioneel. De meeste energie die door de antenne wordt uitgezonden, gaat in de x-richting. Als we deze antenne goed oriënteren, en ervan uitgaande dat al het andere gelijk is, zou deze antenne over langere afstanden in de x-richting moeten kunnen communiceren dan wanneer we geen directionele antenne hadden gebruikt.

Afbeelding
Afbeelding

De volgende stap is het op maat maken van de printplaat. Hoewel het antennepatroon waarmee we zijn begonnen gemakkelijk te construeren is, is het moeilijk om precies te construeren. Printplaten worden nauwkeuriger vervaardigd en zijn duurzamer. We gebruikten het open source programma KiCad. Onze PCB-layoutbestanden zijn bijgevoegd in wifi_pcb.tar.gz. Gebruik de opdracht om het bestand uit te pakken:

tar -zxvf wifi_pcb.tar.gz

De stappen voor het opmaken van de PCB zijn:

  • Open een nieuw KiCad-project.
  • Ga naar de PCB-layouteditor.
  • Selecteer de knop Grafische lijnen toevoegen en de laag Edge. Cuts en definieer de omtrek van de PCB.
  • Selecteer de knop Grafische lijnen toevoegen en de F. Cu-laag en teken de antenne-elementen in de voorste koperen laag.
  • Selecteer de knop Vias toevoegen en plaats twee gaten waar de wifi-adapter wordt aangesloten.
  • Selecteer de knop Grafische veelhoek toevoegen en de laag F. Masker en teken een gat in het voorste soldeermasker zodat het de via-gaten niet bedekt. Herhaal met de B. Mask-laag om ook een gat in het achterste soldeermasker te tekenen.
  • Voeg eventuele extra markeringen of labels toe aan de zeefdruklagen.
  • Selecteer Bestand en vervolgens Plot om Gerber-bestanden te genereren.
Afbeelding
Afbeelding

Stap 6: Maak de antenne

Maak de antenne
Maak de antenne

We kochten PCB's gemaakt van onze lay-out. Adafruit heeft een lijst met hobbyistenvriendelijke PCB-fabrikanten. Hoewel we een paar PCB-fabrikanten hebben geprobeerd, weten we echt niet welke het beste is. De getoonde PCB is vervaardigd door Oshpark.

Zodra de PCB arriveert, is de volgende stap het solderen op de RG-58 coax-connector. De print heeft twee doorgaande gaten. De pin die bij de connector zit is te kort, dus soldeer een klein stukje draad in een van de via-gaatjes. Plaats een grote soldeerpunt die de schaal met het andere via-gat verbindt. Je hebt nu een directionele Yagi wifi-antenne gemaakt van een aangepaste PCB.

Afbeelding
Afbeelding

Koppel de Amazon Basics wifi-adapter los. Schroef de meegeleverde antenne los en schroef de nieuwe PCB-antenne erop. Sluit de wifi-adapter weer aan op de USB-hub. Het project is nu voltooid.

Aanbevolen: