Raspberry Pi connecté à un SIM800L

Aansluiten en gebruik maken van een GSM SIM800L module met de Raspberry Pi (zonder batterij).

Bijgewerkt 9 september 2020 - 0 Opmerkingen - , , , ,

ⓘ Dit artikel is mogelijk gedeeltelijk of volledig vertaald met automatische tools. Onze excuses voor eventuele fouten die dit kan veroorzaken.

De SIM800L is een GSM / GPRS modem die op grote schaal wordt gebruikt in de elektronica vanwege de zeer lage prijs en brede beschikbaarheid. Het is een betaalbare manier om SMS te verzenden met een Raspberry Pi of Arduino, verbinding te maken in 3G of een GPS te implementeren.

Het is echter bijna onmogelijk om bevredigende uitleg te vinden over het gebruik ervan en vooral over de verbinding ervan.

Dus in deze tutorial zullen we zien hoe je een SIM800L van een Raspberry aansluiten en van stroom voorzien (merk op dat het ook werkt voor een Arduino), zonder externe stroom of batterij!

De hardware die nodig is om je SIM800L aan te sluiten op je Raspberry.

We zullen ingaan op de details en uitleg later in deze tutorial, maar wees ervan bewust dat om een SIM800L te koppelen aan een Raspberry een beetje hardware nodig is. Dus je hebt nodig:

  • Van een SIM800L module.
  • Een soldeerbout om uw SIM800L te monteren als deze dat nog niet is.
  • Een breadboard, een condensator 5 V, 100 graden Fahrenheit of meer, een 1N4007 diode, Dupont kabels. Je zou kunnen kopen elk item alleen, maar je moet eigenlijk kopen tientallen condensatoren en diodes alleen maar om af te betalen van de verzendkosten. Dus ik denk dat het makkelijkste is om een elektronica kit als deze die alles wat we net genoemd bevat.
Zo'n kit bevat alles wat je nodig hebt.

Natuurlijk heb je ook een Raspberry met raspbian geïnstalleerd en een SIM-kaart met een abonnement nodig. Houd er rekening mee dat de simkaart in micro-simformaat moet zijn. Als de jouwe is een kleiner formaat (nano), moet u een adapter.

Laten we nu verder gaan met uitleg en praktijk.

Geen tijd of zin om de uitleg te lezen? Ga direct naar het gedeelte "In de praktijk…".

Theorie, hoe gebruik je een SIM800L met een Raspberry Pi?

De SIM800L is een modem. Het is degene die zich registreert bij het netwerk van uw operator, enz. Over het algemeen gedraagt het zich als een telefoon die je rechtstreeks vanaf je Framboos bedienen.

Om de SIM800L te bedienen, vanaf de Raspberry, moet je stroom leveren aan de eerste en fysiek en softwareeel verbinding zowel met behulp van een TTL-poort, vaker een poort of seriële interface genoemd.

Van daaruit u de SIM800L bedienen door hayes-commando's naar de seriepoort te sturen – in feite vaker aangeduid als AT-commando's – die opdrachten zijn die specifiek zijn voor de functies van een modem. Bijvoorbeeld het verzenden van een SMS, het invoeren van een pincode, het controleren van de status van het netwerk, en nog veel meer!

In theorie moet je om een SIM800L met de Raspberry Pi te gebruiken dit doen:

  1. Sluit de SIM800L VDD aan op een GPIO die stroom levert op de Raspberry.
  2. Sluit de SIM800L GND aan op een GND GPIO op de Framboos.
  3. Koppel de SIM800L TXD aan de Raspberry RXD.
  4. Koppel de RXD van de Raspberry aan de SIM800L TXD.
  5. Gegevens verzenden en ontvangen met AT-opdrachten op de seriële poort.

Alleen hier, dit alles is de theorie, maar je zult zien dat in de praktijk dingen zijn een beetje ingewikkelder …

De realiteit is, waarom is het moeilijk om een SIM800L aan te sluiten?

Als de theorie klinkt eenvoudig, in werkelijkheid vindt u een flink aantal tutorials op het internet uit te leggen hoe de SIM800L te gebruiken met een Raspberry. Erger nog, vindt u in wezen onjuiste tutorials die, in het beste geval, zal uw installatie volledig instabiel, in het slechtste geval, zal uw SIM800L beschadigen.

Maar hoe komt het dan dat er niet meer kwaliteitsmiddelen beschikbaar zijn voor zo'n bekende module? Omdat SIM800L is bijzonder moeilijk te voeden en gevoelig.

Een module ontworpen voor telefoons en batterijen.

Oorspronkelijk werd de SIM800L ontworpen om te worden gebruikt in telefoons door fabrikanten. Het gebruik ervan in consumentenelektronica is veel recenter en is helemaal niet door de fabrikant in overweging genomen.

Lithium-ion batterij in een telefoon.
In principe is de SIM800L wordt verondersteld te passen in telefoons met een batterij …

Als gevolg van het gebruik ervan in telefoons, de module is ontworpen om te worden aangedreven met lithium-ion batterijen, die spanningen van ongeveer 3,6 tot 3,7 volt bieden. Deze functie zal een eerste probleem vormen, omdat we in digitale elektronica meestal 3,3 volt of 5 volt gebruiken, maar niet 3,6 volt.

Een energie-hongerige module.

Het tweede probleem is dat de SIM800L radio-activiteiten uitvoert die grote, zeer punctuele huidige pieken vereisen. Meestal zijn de betrokken bewerkingen opnemen op het netwerk van de exploitant, het verzenden van berichten, enz. Als tijdens deze fasen de module niet de nodige stroom krijgt, wordt zijn gedrag volledig onvoorspelbaar, variërend van de foutmelding tot het opnieuw opstarten door het verlies van het netwerk.

Helaas blijkt dat de benodigdheden in het algemeen en de GPIO-poorten van de Raspberry Pi in het bijzonder moeite hebben om te reageren op dit soort pieken in consumptie.

In feite is de hoeveelheid verbruikte energie is zo groot en over zo'n korte periode van tijd dat het gebruik van stroomkabels die te lang en dun kan genoeg zijn om de module crash! Dit is meestal het geval als u meerdere Dupont-kabels in serie aansluit.

Wees gerust, we leggen uit hoe we deze twee problemen kunnen oplossen!

Hoe stroom je een SIM800L in de praktijk rechtstreeks van een Raspberry?

Zo zagen we dat we twee problemen hebben om een SIM800L van een Raspberry van stroom te krijgen: inconsistente spanning en pieken in stroomverbruik.

Eerst gaan we het spanningsprobleem aanpakken.

Verlaag de spanning van de Raspberry Pi.

Als we het datasheet, dat wil zeggen het technische blad, van de SIM800L lezen, zien we dat de fabrikant een stroomspanning van 3,4 en 4,4 volt aangeeft, met een optimale spanning van 4 volt.

De Raspberry Pi kan twee voltages leveren, 3,3 en 5 volt. Dus we moeten onze bloeddruk een beetje verhogen of verlagen.

Laten we een einde maken aan de eerste mogelijkheid die te ingewikkeld is om uit te voeren en naar de tweede te kijken. We zijn daarom op zoek naar een betrouwbare, eenvoudige en zeer goedkope manier om een spanning van ten minste 0,6 volt te verminderen, zonder de intensiteit van de stroom (ampère) te verminderen. Gelukkig blijkt dat er een elektronisch onderdeel is dat precies dat doet, en dat dit onderdeel bovendien zo wijdverbreid is dat absoluut alle elektronica het weet: de diode.

1N4007 diodes in close-up
De 1N4007 diode, waarschijnlijk de bekendste en meest gebruikte.

Diodes zijn vooral bekend om de stroom te laten passeren in een richting. Maar een van hun kenmerken is ook het veroorzaken van een spanningsval, die wordt geschat voor silicium diodes op 0,7 volt.

Dus we hoeven alleen maar een silicium diode in te voegen, we nemen een 1N4007, tussen de GPIO 5 volt van onze Pi en de PIN VDD (voeding) van onze SIM800L. En dat is het, we hebben een spanning van 4,3 volt, precies wat we nodig hebben.

Zorg voor een energiebron die kan reageren op piekverbruik.

Nu we ons spanningsprobleem hebben opgelost, blijft ons probleem van piekverbruik. Deze keer zouden we een component nodig die ons in staat zou stellen om "power" op te slaan en het zeer snel te leveren wanneer de SIM800L het nodig heeft. Nogmaals gelukkig, het bestaat en het heet een condensator!

Een stel condensatoren.
Condensatoren zijn overal te vinden, in alle soorten, maten en maten.

Condensatoren worden gebruikt in veel gevallen, maar een van de meest bekende toepassingen is vermogensstabilisatie. Ze laden wanneer er te veel stroom en ontlading wanneer er een tekort.

Dus we gaan een elektrolytische condensator (we nemen ten minste een 100-F 5 V, als we meer in F of volt geen problemen) parallel aan de VDD en GND dennen van onze SIM800L.

De volledige montage.

Nu we onze problemen hebben opgelost, laten we eens kijken hoe onze volledige bewerking eruit ziet voordat we alles testen door te sms'en.

Om al onze componenten op hun plaats te houden en met elkaar te verbinden gebruiken we een breadboard en Dupont kabels.

Dus hier is de laatste verbinding diagram, de rode draad gaat naar de VDD, de zwarte naar de GND.

Gemonteerd met een SIM800L en een Raspberry.
De volledige assemblage om een SIM800L aan te sluiten op een Raspberry Pi.

Een paar opmerkingen over het bewerken:

  • Maak de Raspberry-verbindingen uit en niet aangesloten, sluit het pas aan nadat je alles hebt gecontroleerd en zorg ervoor dat je bewerking goed is.
  • Wees voorzichtig om de condensator zo dicht mogelijk bij de SIM800L VDD en GND dennen, idealiter als op het diagram.
  • De condensator is een gepolariseerd onderdeel, het moet worden aangesloten in een precieze richting, anode op de VDD, kathode op de GND. De kathode wordt gekenmerkt door een witte streep aan de zijkant.
  • Net als de condensator is de diode een gepolariseerd onderdeel, opnieuw wordt de kathode gekenmerkt door een witte band.

Zodra de montage is voltooid, u de simkaart op de locatie van de SIM800L plaatsen.

Besteed veel aandacht aan de betekenis, het is absoluut niet intuïtief. Je moet de kaart kant contacten tegen de printplaat, de hoek gesneden scheef naar het diafragma (het overschrijdt een beetje). Als u de kaart ondersteboven invoert, heeft u een typische fout SIM not inserted met behulp van de module.

Zodra de montage is voltooid, schakel je je Raspberry Pi in, dan kunnen we testen door een sms te sturen!

Stuur je eerste SMS van de Raspberry met een SIM800L.

Om deze tutorial af te maken, sturen we een eerste SMS om te controleren of alles werkt. We zullen niet verder gaan op het gebruik van de SIM800L, maar weten dat het veel andere functies biedt. Zie voor verder gebruik de AT-opdrachtgids voor de SIM800.

Om te beginnen moet je onze tutorial volgen om de raspberry Pi-serie poort te activeren. Zodra u klaar bent met het activeren van de seriepoort, kunnen we via de seriepoort verbinding maken met de SIM800L.

Open hiervoor een verbinding met /dev/serial0 met minicom met behulp van de opdrachtregel hieronder:

sudo minicom -b 115000 -o -D /dev/serial0

Typ de opdracht in AT (vaak wordt de eerste regel niet weergegeven wanneer u typt, het is normaal) en gaat u vervolgens terug naar de regel om te valideren. U moet een antwoordbericht hebben OK.

Nu zullen we controleren of de SIM-kaart is ontgrendeld (de pincode is ingevoerd). Om dit te doen typt u de opdracht AT+CPIN?. Als de kaart is ontgrendeld, moet u een antwoord hebben:

+CPIN: READY
OK

Als je een antwoord hebt zoals hieronder is het omdat je de pincode van je kaart moet invoeren.

+CPIN: SIM PIN
OK

Gebruik hiervoor de opdracht AT+CPIN=0000 Vervangen 0000 door uw eigen pincode. U moet dan een antwoord in de vorm:

AT+CPIN=0000
OK
+CPIN: READY
SMS Ready
Call Ready

Het is oké, je bent verbonden met het netwerk van je operator. We hoeven alleen maar een sms te sturen. Gebruik hiervoor de opdrachten AT+CMGF=1 om de tekstmodus te activeren (het stelt ons in staat om de SMS te schrijven in een formaat dat begrijpelijk is voor een mens), dan AT+CMGS="+33612345678" Vervangen +33612345678 door het nummer waarnaar u de SMS wilt sturen.

Een teken > zal verschijnen, typ je sms en dan als je eenmaal klaar bent, doen Ctrl+Z.

Op het einde moet je iets van de volgende vorm:

AT+CMGF=1
OK
AT+CMGS="+33612345678"
> Mon premier SMS avec un SIM800L
+CMGS: 29

OK

En zie, je stuurde je eerste SMS met een Raspberry Pi en een SIM800L!

Zoals u zien het dagelijks gebruik direct met AT commando's is niet per se erg praktisch, maar wees gerust, software bestaat om je leven te vereenvoudigen, en we zullen praten over het zeer binnenkort in een andere tutorial!

Delen
Nieuwsbrief
Auteur :
Raspberry Pi FR
Word lid van de Raspberry Pi-gemeenschap
Van een computer van $ 35 zijn al 10 miljoen exemplaren verkocht
KOOP DE NIEUWE RASPBERRY PI 4
Gerelateerde tutorials
Gebruik een RFID-lezer met de Raspberry Pi. Activeer de TTL-seriële poort van de Raspberry Pi en controleer of deze werkt. Maak een Raspberry Pi-cluster met Docker Swarm Flits de groene LED aan boord van de Raspberry Pi. Schakel een LED aan en uit met de Raspberry Pi en Python.
Geen reacties
Delen
Aanmelden nieuwsbrief
Abonneer u op de nieuwsbrief.
Vond je dit artikel leuk?
Schrijf je in en blijf op de hoogte!