Inhoudsopgave:
Video: Wireless Serial (UART) voor Arduino/STM32/etc.: 3 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Hopelijk is iedereen het met me eens dat de Arduino Serial een geweldig hulpmiddel is om je projecten te debuggen. Nou, het is eigenlijk de enige optie voor het debuggen van een Arduino. Maar soms is het niet mogelijk of praktisch om een USB-kabel van de Arduino of een andere microcontroller naar uw computer te leiden.
Dus maakte ik dit UART-WiFi-bord, gebaseerd op de ESP8266-01, die tegenwoordig spotgoedkoop is. De borden zijn klein, je kunt het op een breadboard aansluiten, stroom, RX, TX en aarde aansluiten en het stuurt alles wat het van de UART ontvangt via wifi naar je computer en vice versa.
Functies:
- baudrates tot 115200 (theoretisch zelfs tot 921600, maar dit is niet getest)
- ontvangt/verzendt gegevens van UART en verzendt/ontvangt gegevens via wifi rechtstreeks naar uw computer via poort 23 (Telnet)
- 18 componenten, onderdelen kosten ongeveer USD 3,50
- 20 x 45 mm dubbelzijdige printplaat, compatibel met breadboard
- 5 V-tolerante RX-pin
- ingangsspanning van 12 V tot 3,3 V, stroomverbruik gemiddeld ongeveer 80 mA
Ik gebruik deze borden nu ongeveer een half jaar en ik vond ze buitengewoon nuttig. Ik geef er zelfs de voorkeur aan boven USB-UART-bruggen, want met mijn bord steek ik er gewoon een in een breadboard en hoef ik me geen zorgen te maken over kabels over mijn hele bureau. Je hebt ook geen andere hardware, geen vrije USB-poorten en deze boards bieden volledige galvanische isolatie van je computer, wat een goede veiligheidsmaatregel is en je je geen zorgen hoeft te maken over verschillende aardpotentialen.
Stap 1: Hoe het werkt
Zodra de module van stroom wordt voorzien, begint deze te proberen verbinding te maken met de vooraf gedefinieerde WiFi. Tijdens die fase knippert de gele LED. Zodra de verbinding is gemaakt, blijft de gele LED branden. Daarna wacht de module op een verbinding van een Telnet-client (zie volgende stap) en knippert de groene LED. Nadat de verbinding tot stand is gebracht, toont de Telnet-terminal u een prompt met de vraag naar de gewenste baudrate. U voert de baudrate in de terminal in en u bent klaar! Nu wordt alles wat u in de terminal typt via WiFi verzonden en vervolgens uitgevoerd vanaf de TX-pin van de ESP8266. Evenzo wordt alles wat op de RX-pin verschijnt naar de terminal gestuurd. Kortom, je kunt het verschil niet zien tussen een seriële en telnet-console.
LED's:
- geel (meest links) - Wifi-status, knipperend - probeert verbinding te maken, brandt - verbonden
- groen (tweede van links) - Telnet-status. knipperend - wacht op verbinding, groen - verbonden
- blauw (twee meest rechtse) - RX en TX
Stap 2: Hoe het in te stellen?
Verbinding
De enige kleine complicatie is dat je een soort identificatiecode nodig hebt voor elk Telnet-apparaat (vergelijkbaar met elke seriële poort met een nummer). In mijn project heb ik Static IP gebruikt. Normaal gesproken ontvangt een apparaat, zodra het verbinding maakt met wifi, automatisch een IP-adres van de DHCP-server. Dit wordt dynamische IP-adressering genoemd, maar het probleem hier is dat het IP-adres kan veranderen. Dus ik heb het bord zo geprogrammeerd dat het altijd een vooraf gedefinieerd IP-adres krijgt, in mijn geval 192.168.2.20x, waarbij x het bordnummer is. Dit wordt statische IP-adressering genoemd. Dan sluit je gewoon een Telnet-console aan op 192.168.2.20x:23 en je bent klaar om te gaan.
Als console kun je verschillende apps gebruiken, de twee bekendste zijn waarschijnlijk PuTTY of YAT (Yet Another Terminal). Ik gebruik de laatste en in het afbeeldingsgedeelte kun je zien hoe je het moet instellen - je hoeft alleen het eerder genoemde statische IP-adres te kennen.
Firmware
De firmware is geschreven in Arduino IDE en is te vinden op mijn GitHub. Als u uw ESP8266 wilt programmeren, moet u in de header kijken en daar enkele variabelen wijzigen, namelijk:
- ssid - de naam van de wifi waarmee je het bord wilt verbinden
- pass - wachtwoord voor die wifi
- ip - het statische IP-adres dat u wilt dat het bord heeft; kies iets buiten de DHCP-pool (of kies gewoon iets tussen 200 - 250, dat is meestal gratis)
- gateway - het IP-adres van uw router
- subnet
U kunt de laatste twee informatie van de opdrachtregel krijgen door op Win + R te drukken, "cmd" in te typen en vervolgens "ipconfig" in te typen. Zie foto's.
Natuurlijk heb je de Arduino IDE, esp8266 toolchain etc. nodig, maar daar zijn veel andere tutorials over.
Bord
U moet ook de PCB vervaardigen. Hoewel het niet ingewikkeld is en je het in theorie thuis zou kunnen maken, raad ik je aan een Chinese PCB-fabrikant te gebruiken. Het is goedkoop en werkt prettig. Ik gebruikte ALLPCB en was tevreden.
Stroom
Je moet het bord van stroom voorzien. Je kunt hem ofwel rechtstreeks voeden met 3,3 V (jumper JP1 in de 3,3 V-positie) of de spanning voeden via een 3,3 V-regelaar (jumper in de andere positie). De regelaar kan spanningen tot 12 V aan. Alle condensatoren zijn al aan boord geïntegreerd.
Stap 3: Conclusie
Zoals ik al eerder zei, vond ik deze borden erg handig voor prototyping, niet alleen met een Arduino, maar met elke MCU in het algemeen. En ik gebruik ze nu ongeveer een half jaar en ik heb er geen problemen mee gehad.
Broncode, Eagle-bestanden en enkele afbeeldingen zijn te vinden op mijn GitHub of in het onderstaande zipbestand. Maar ik raad GitHub aan, omdat er mogelijk een nieuwere versie is.
Als je vragen, opmerkingen of suggesties hebt, laat ze dan gerust hieronder achter.
Aanbevolen:
Luciferin, Wireless Bias Lighting voor uw pc. 6 stappen (met afbeeldingen) Ajarnpa
Luciferin, draadloze biasverlichting voor uw pc.: Luciferin is een algemene term voor de lichtemitterende verbinding die wordt aangetroffen in organismen die bioluminescentie genereren, zoals vuurvliegjes en gloeiwormen. Firefly Luciferin is Java Fast Screen Capture pc-software die is ontworpen voor Glow Worm Luciferin-firmware, die
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Introductie - DIY Gimbal Mount voor Gopro Session, Etc.: 5 stappen (met afbeeldingen)
Inleiding - DIY Gimbal Mount voor Gopro Session, enz.: Ik heb te veel tijd besteed aan het zoeken naar een oplossing die zou werken met elke gimbal voor mobiele telefoons - een manier om de GoPro-sessie te monteren. Ik heb uiteindelijk besloten om het zelf te maken. Dezelfde houder werkt ook voor andere GoPro-camera's - gewoon monteren met elastiekjes. ik heb
Uw afbeeldingen opslaan voor uw taak: 4 stappen (met afbeeldingen)
Uw afbeeldingen opslaan voor uw taak: 1. Open een nieuw Google-document en gebruik deze pagina om uw afbeeldingen te beveiligen.2. Gebruik ctrl (control) en de "c" sleutel om te kopiëren.3. Gebruik ctrl (control) en de "v" sleutel om te plakken
Bereid enkele overtollige PIR-sensoren voor robotica voor: 3 stappen (met afbeeldingen)
Bereid wat overtollige PIR-sensoren voor robotica voor: ik vond een aantal PIR-sensoren op eBay. Ze zijn gemonteerd op een print die is gemaakt voor een handsfree set voor mobiele telefoons. Ik beschrijf hier graag hoe je de sensor voorbereidt voor gebruik in robotica-projecten. Als je niet weet wat een PIR-sensor is