SoftwareSerial wie benutzen?
Hallo an die Arduino- Community,
Ich habe mich ja schon sehr viel mit dem Arduino beschäftigt, aber natürlich nicht genug und es ist wahrscheinlich auch nur ein Bruchteil des Möglichen. So genug drum gelabert, zu meiner Frage: Ich benutze die App Blynk zusammen mit dem Arduino Uno, diese muss zum funktionieren eine durchgehende Verbindung zu meinem Serial Port (COM4 in meinem aktuellen Fall) haben, damit die funktioniert. Das bedeutet natürlich, dass ich meinen Seriellen Monitor nicht offen haben kann, da der ja ebenfalls auf den Port zugreifen muss, und nur 1 gleichzeitig geht.
Ich habe aber gehört, ich kann über den SoftwareSerial - Befehl einen zweiten Seriellen Monitor haben... Weiß nur gar nicht, wie der funktioniert, frei hätte ich aktuell die Pins 7 und 8 dafür.
Wie kann ich diesen zweiten Serial erstellen und IHN AUCH ÖFFNEN?
Ich möchte da auf dem Serial2.print nutzen, geht das? (Ich will ihn quasi, wie einen ganz normalen Seriellen Monitor nutzen... Über extra Software geht nichts. Ich habe zumindest schon PuTTY probiert, da öffnet der aber den Port nicht. )
Hier mein bisheriger Code: Blynk braucht halt einen der Seriellen Ports zum funktionieren, was muss ich hier anders machen? (müsst glaube ich nicht zwingend Ahnung von der App haben)
#define BLYNK_PRINT DebugSerial
#include <SoftwareSerial.h>
SoftwareSerial DebugSerial(7, 8); // RX, TX
#include <BlynkSimpleStream.h>
char auth[] = "UnFNS1fIbvFVX8QGBWDoBKah3aWND6dn";
void setup() { DebugSerial.begin(9600); Serial.begin(9600); Blynk.begin(Serial, auth);
//anderer stuff
}
void loop () {
Blynk.run();
//zum Beispiel:
if (Buttongedrückt) {
DebugSerial.println("Button gedrückt");
...stuff
}
MFG Alex - Freue mich auf eure Antworten!
2 Antworten
Code ist schon wieder komisch kopiert, hier nochmal korrekt:
#define BLYNK_PRINT DebugSerial
#include <SoftwareSerial.h>
SoftwareSerial DebugSerial(7, 8); // RX, TX
#include <BlynkSimpleStream.h>
char auth[] = "UnFNS1fIbvFVX8QGBWDoBKah3aWND6dn";
void setup() {
DebugSerial.begin(9600);
Serial.begin(9600);
Blynk.begin(Serial, auth);
}
void loop () {
Blynk.run();
//zum Beispiel:
if (Buttongedrückt) {
DebugSerial.println("Button gedrückt");
...stuff
}
Falls es jemandem hilft: Ich muss zum App starten/Verbinden mit dem Server vorher in der cmd.exe folgendes eingeben:
cd C:\Arduino\libraries\Blynk\scripts
blynk-ser.bat -c COM4 //das ist für das initialiseren des Seriellen Ports den ich nutzen will
Hätte auch noch die Analog Pins alle frei.
Hallo,
wie ist dein Hardware-aufbau für die pins 7 und 8 ??
weil Uno hat nur einen TTL-Chip auf USB...du benötigst natürlich einen zweiten TTL-USB-COnverter, der dann dir per pin 7 und 8 angeschlossen ist und dir auch diesen als Seriell ausgeben kann..du müsstest dann als hardware 2x usb-kabel verbindungen zum pc haben wobei du dann 2 ports hättest..dann sollte es funktionieren :)
was bringen dir 2 unos? du willst ja EIN Programm zwischen 2 ports nutzen oder?
oder du verbindest die 2 uno's miteinander durch software-serial überkreuzt der pins 7 und 8 ..und beide seiten haben programm was dir dieses umleitet auf den eingebauten TTL converter auf USB, somit hättest du auch 2 POrts am pc..aber ist ziemlich kompliziert wegen software, wie du dieses Softwaretechnisch kompatibel machst..
Wie ist das mit dem Arduino Mega, den habe ich auch noch.
Mega hat keinen converter, dafür ist dieser direkt mit usb verbunden und emuliert dieses selbst..er hat aber mehr als nur einen Serial-Ausgang wie der uno..da lassen sich sogar 3 oder 4 TTL-Converter anschliessen..
Also brauche ich auch beim Mega Hardware?
Und eine Idee hätte ich noch, wie läuft das wenn ich mir hier einfach ein USB- Kabel nehme und das in irgendeiner Form anschließe, geht das?
nein, usb-protokoll und TTL-Serial sind 2 verschiedene sachen...man kann keine banane mit apfel vergleichen..
hol dir einfach diesen converter..kosten ca 3-4€...
Achso, das ist jetzt natürlich etwas doof. XD
Danke, für deine Antwort. Habe gedacht man könnte das per Software Serial irgendwie simulieren... ohne Hardware...
:D Werde mir mal entsprechende Hardware holen.
Software-Serial ist dazu gedacht, um extra hardware anzuschliessen, wie z.B. BT-erweiterung oder GPS oder GSM usw..damit eben der eigentliche COM-port frei bleibt für programmierungen..
Oder mit 2 Arduinos?