Inhoudsopgave:

MicroPython-code downloaden naar XBee 3: 18 stappen (met afbeeldingen)
MicroPython-code downloaden naar XBee 3: 18 stappen (met afbeeldingen)

Video: MicroPython-code downloaden naar XBee 3: 18 stappen (met afbeeldingen)

Video: MicroPython-code downloaden naar XBee 3: 18 stappen (met afbeeldingen)
Video: ESP32 MicroPython Code Editor - Visual studio code 2024, Juli-
Anonim
Hoe MicroPython-code naar XBee 3 te downloaden
Hoe MicroPython-code naar XBee 3 te downloaden

MicroPython is een programmeertaal die is geïnspireerd op Python 3.0 en werkt op microcontrollers, zoals de XBee 3. MicroPython kan helpen de hoeveelheid benodigdheden en de algehele omvang van uw project te verminderen en dingen een stuk eenvoudiger te maken. Ik ontdekte echter dat toen ik MicroPython gebruikte, het proces van het uploaden en downloaden van de code naar het apparaat verwarrend was. Dus deze instructable is bedoeld om het "eenvoudige" proces uit te leggen voor het downloaden van code van en naar je XBee.

Als je dat nog niet hebt gedaan, kijk dan eens in de Digi MicroPython Programming Guide. Het is handig om een brede kennis te krijgen van hoe MicroPython op de XBees werkt, en ook voor het oplossen van problemen.

Deze tutorial gaat er niet van uit dat je bekend bent met XCTU, maar als je dat wel bent, kun je de kopjes van elke sectie lezen voor meer basisstappen voor het installeren en verwijderen van MicroPython-code. Het gaat er wel van uit dat je je code al hebt geschreven en hebt opgeslagen als een.py- of.mpy-bestand.

De XBee die ik gebruik maakt gebruik van het 802.15.4-protocol, dus eventuele verschillen die je tegenkomt tussen de tutorial en je eigen versie van XCTU kunnen daaraan te wijten zijn.

Enkele algemene regels waaraan u zich moet houden bij het gebruik van MicroPython op de XBees:

- Houd de baudrate op 115200 of hoger. Dit helpt gegevensverlies te voorkomen.

- Laat uw code snel door inkomende pakketten lopen. Bij gebruik van MicroPython kan de XBee slechts een wachtrij van 4 datapakketten bevatten - zodra de wachtrij vol is, worden nieuwe gegevens weggegooid.

- Zorg ervoor dat uw XBee een XBee3 is. MicroPython werkt op geen enkel ander model van de XBee.

Benodigdheden

  • XBee3 (zoveel als je nodig hebt)
  • Een XBee Explorer of soortgelijke dongle waarmee u uw XBee op uw computer kunt aansluiten
  • Een computer waarop XCTU is geïnstalleerd
  • Een.py- of.mpy-bestand met de code die u op de XBee. wilt installeren

Stap 1: Verbind uw XBee

Verbind uw XBee
Verbind uw XBee

Sluit de XBee aan die u wilt programmeren en open XCTU. Klik op Apparaten toevoegen (het pictogram dat lijkt op een XBee met een + erop) in de linkerbovenhoek en selecteer de juiste COM-poort. Zorg ervoor dat de baudrate correct is (we hebben de XBees ingesteld op 9600) en klik vervolgens op Voltooien om de XBee te verbinden.

XCTU duurt lang om veel dingen te laden. Als je de groene laadbalk ziet, wat je vaak zult zien, heb dan even geduld.

Stap 2: Zorg ervoor dat PS is ingesteld op 0 en AP is ingesteld op 4

Zorg ervoor dat PS is ingesteld op 0 en AP is ingesteld op 4
Zorg ervoor dat PS is ingesteld op 0 en AP is ingesteld op 4

Klik op het XBee-pictogram aan de linkerkant van het scherm om de instellingen aan de rechterkant weer te geven. Scrol aan de rechterkant van het scherm omlaag naar het gedeelte met de naam MicroPython-opdrachten en zorg ervoor dat PS is ingesteld op Uitgeschakeld [0]. Als dit niet het geval is, wijzigt u de instelling en drukt u op het potloodpictogram naast de instelling uiterst rechts om de wijziging naar de XBee te schrijven. Doe hetzelfde in de sectie genaamd UART-interface voor de AP-parameter, en zorg ervoor dat deze is ingesteld op MicroPython REPL [4].

De PS-parameter bepaalt of de code al dan niet automatisch wordt uitgevoerd wanneer de XBee wordt ingeschakeld, en de AP-parameter is in feite de "bedieningsmodus" waarin de XBee zich bevindt. Om MicroPython te laten werken, moet deze zich in zijn eigen "MicroPython-modus" bevinden. " Als PS is ingesteld op Ingeschakeld [1], kan dit problemen veroorzaken bij sommige van deze stappen, dus ik vind het het beste om het uit te schakelen totdat ik klaar ben met het bijwerken van de code op de XBee.

Stap 3: Open Bestandssysteembeheer

Open de Bestandssysteembeheerder
Open de Bestandssysteembeheerder

Navigeer naar het gedeelte "Extra" in de balk bovenaan het scherm en selecteer Bestandssysteembeheer. Het opent een venster dat eruitziet als het bovenstaande - de bestanden op uw computer worden aan de linkerkant weergegeven en aan de rechterkant wordt een leeg venster weergegeven.

Stap 4: Configureer de juiste COM-poort

Configureer de juiste COM-poort
Configureer de juiste COM-poort

Druk op Configureren. Selecteer de juiste COM-poort, controleer of de baudrate correct is en klik op OK. U zou de naam van de geselecteerde COM-poort moeten zien op de plaats waar eerder stond: "Configureer de poort voordat u met het bestandssysteem gaat werken."

Stap 5: Open de verbinding met de XBee

Open de verbinding met de XBee
Open de verbinding met de XBee

Druk op Openen. Als u een foutmelding krijgt, werkt het meestal om de XBee los te koppelen en weer aan te sluiten en vervolgens op Openen te drukken. U zou nu de bestanden moeten zien die op de XBee zijn geladen aan de rechterkant van het venster. Als uw XBee gloednieuw is, ziet u waarschijnlijk maar twee mappen, maar als uw XBee al eerder is gebruikt, ziet u mogelijk andere bestanden in de map (op de mijne is er een genaamd "main.py").

Stap 6: Verwijder de oude code in Bestandssysteembeheer

Als uw XBee geen oude code bevat, kunt u deze stap overslaan.

Als u een oud codebestand op de XBee bijwerkt, moet u eerst het oude verwijderen. De XBee verwijdert niet automatisch oude versies van code en heeft een zeer beperkte opslagruimte, dus u moet oude codebestanden handmatig verwijderen.

MicroPython-code op de XBee moet in een bestand met de naam "main.py" staan zodat de XBee de code automatisch kan uitvoeren. U kunt meerdere bestanden op de XBee laden, maar de enige die bij het opstarten wordt uitgevoerd, is "main.py", dus u kunt meerdere modules gebruiken zolang u ze importeert naar "main.py". Als u meerdere modules gebruikt, hoeft u alleen de module te verwijderen die u opnieuw uploadt naar de XBee.

Klik eerst met de rechtermuisknop op het bestand dat u wilt verwijderen en selecteer Verwijderen. Na enkele ogenblikken zal het verdwijnen uit Bestandssysteembeheer. Het bestand is nu verwijderd uit de hoofdopslag van de XBee. De XBee heeft echter ook een werkgeheugen, waar het de laatste code opslaat die het moest uitvoeren, en dit moet ook worden gewist. Druk op Sluiten in de rechterbenedenhoek om Bestandssysteembeheer af te sluiten.

Stap 7: Wijzig AP in 1

Wijzig AP in 1
Wijzig AP in 1

Blader in de instellingen van de XBee aan de rechterkant van het scherm naar het gedeelte met de UART-interface. Wijzig de AP-parameter in API Mode Without Escapes [1] en klik op het potloodpictogram om het naar de XBee te schrijven. Hierdoor kunnen we AT-commando's naar de XBee sturen, wat we moeten doen om het werkgeheugen van de XBee te wissen. Als u uw XBee vanaf nieuw gebruikt, hoeft u deze stap waarschijnlijk niet uit te voeren als u er voor het eerst code op downloadt, maar het kan geen kwaad om te bevestigen dat het werkgeheugen is gewist.

Stap 8: Schakel over naar de werkmodus van de console en open de verbinding

Schakel over naar de werkmodus van consoles door op Alt-C te drukken of door op de knop rechtsboven te drukken die op een tv-monitor lijkt, en druk op Openen om de communicatielijn naar uw XBee te openen. We gebruiken deze modus om met onze XBees te praten.

Stap 9: Open de Frames Generator

Open de Frames-generator
Open de Frames-generator

Aan de rechterkant van het scherm, onder waar staat Verstuur een enkel pakket, klik op het +-pictogram en klik vervolgens op Frame maken met de tool 'Frames Generator' in het pop-upvenster. Dit opent de Frames Generator, die hierboven wordt weergegeven. We gebruiken dit om het bericht te genereren dat we naar de XBee sturen.

Stap 10: Configureer de Frames Generator om een AT-opdracht te genereren

Configureer de Frames Generator om een AT-opdracht te genereren
Configureer de Frames Generator om een AT-opdracht te genereren

Als er Frame type staat, klik je op het vakje om een vervolgkeuzemenu te openen en selecteer je 0x08 - AT Command. Het scherm verandert in het hierboven getoonde formaat.

Stap 11: Voer het AT-commando in om het werkgeheugen te wissen

Voer het AT-commando in om het werkgeheugen te wissen
Voer het AT-commando in om het werkgeheugen te wissen

Typ PY in het rood gemarkeerde vak met het label AT-commando. Dit is het eerste deel van het AT-commando, dat in wezen de XBee vertelt dat we iets met MicroPython willen doen. Typ E in het vak met het label Parameterwaarde. Dit is het specifieke MicroPython-commando dat we willen dat de XBee uitvoert, dat het werkgeheugen van de XBee wist (ik probeer "E voor wissen" te onthouden). Terwijl u typt, verschijnen er cijfers in het vak onder aan het scherm.

Stap 12: Voeg het kader toe

Voeg het kader toe
Voeg het kader toe

Druk op OK. Nu ben je terug bij het raam waarin je zat voordat je de Frames Generator inging. De framenaam doet er niet echt toe voor onze doeleinden, dus negeer deze. U zou de nummers van het laatste venster in het vak van dit venster moeten zien. Selecteer in dat geval Frame toevoegen.

Stap 13: Stuur het AT-commando

Stuur het AT-commando
Stuur het AT-commando

Het nieuwe frame "frame_0" verschijnt in het vak met de naam Frames verzenden. Nu kunnen we het AT-commando naar de XBee sturen. Zorg ervoor dat het frame dat we zojuist hebben gemaakt, is gemarkeerd en klik vervolgens op de knop met de groene pijl met de tekst Geselecteerd frame verzenden. Blauwe en rode tekst verschijnt in het Frames-logboek hierboven.

Stap 14: Interpreteer het antwoord

Interpreteer het antwoord
Interpreteer het antwoord

De blauwe tekst is de opdracht die u zojuist hebt verzonden en de rode tekst is het antwoord van de XBee. Klik op de rode tekst om deze te lezen. Je kunt een hexadecimale regel zien die lijkt op wat we naar de XBee hebben gestuurd in het rechtervenster. Je kunt dit kopiëren en plakken in de Frames Interpreter-tool (toegankelijk door op de pijl naast het gereedschapspictogram hierboven te klikken), maar als het voorlaatste paar cijfers een dubbele nul is, betekent dit dat het erin is geslaagd het werkgeheugen te wissen.

Stap 15: Wijzig AP in 4

Klik op Sluiten in de linkerbovenhoek om de communicatie met de XBee af te sluiten.

Klik op het tandwielpictogram om terug te gaan naar de instellingen van de XBee en blader terug naar de UART-interface en verander de AP-parameter terug naar MicroPython REPL [4]. Schrijf de nieuwe instelling naar de XBee door op het potloodpictogram te klikken.

Stap 16: Sleep uw code naar de bestandssysteembeheerder

Sleep uw code naar de bestandssysteembeheerder
Sleep uw code naar de bestandssysteembeheerder

Ga terug naar Extra > Bestandssysteembeheer, configureer naar de juiste poort en klik op Openen. Aan de linkerkant van het venster (de bestanden van uw computer) navigeert u naar de code die u naar de XBee wilt uploaden en klikt en sleept u deze naar de rechterkant (de bestanden van de XBee). U zou het bestand aan de rechterkant moeten zien verschijnen. De nieuwe code wordt nu gedownload naar de XBee.

Stap 17: Open de MicroPython-terminal

Open de MicroPython-terminal
Open de MicroPython-terminal

Druk op Sluiten. Het is tijd om te controleren of de code werkt. Navigeer naar Extra > MicroPython Terminal. Selecteer Configureren, kies de juiste COM-poort en klik vervolgens op Openen. Er zou een zwarte, knipperende cursor in het venster moeten staan. Druk op enter en je ziet de MicroPython-prompt: >>>

Stap 18: Test uw code

Druk op Ctrl-R en de code in het bestand "main.py" wordt uitgevoerd. Als alles goed werkt, ben je klaar! Als u wilt dat de code automatisch wordt uitgevoerd wanneer de XBee wordt ingeschakeld, sluit u de MicroPython Terminal en scrolt u in de instellingen van de XBee omlaag naar MicroPython Commands en wijzigt u de PS-parameter in Enabled [1] en drukt u op het potloodpictogram om te schrijven het naar de XBee.

Aanbevolen: