Jump to content

Minecraft mit Arduino WEmos D1 steuern und dem Smartphone


c64held

Empfohlene Beiträge

Hallo, guten tag.

Habe es jetzt geschafft Minecraft mit dem Arduino Wemos D1 und dem Smartphone zu steuern.
Ich spiele mit 70 Jahren mit Minecraft 1.7.10. Ich nehme es, weil es viele Mods gibt die ich brauche.

Das Mod dafür ist "SerialCraft-1.7.10-0.4-dev.jar". Einmal anschauen.
Man kann Steuerdaten hinschicken nach Minecraft und auch Daten von Minecraft empfangen.

Die App habe ich mit dem Programm "B4A" geschrieben. Ist ein wunderbares Programm.

Es gibt ein großes Forum dafür mit viel Hilfen.

Hardware habe ich :

- Wemos D1
- USB-TTl-Seriell

Zur Zeit steuere ich:

-vor
-zurück
-links
-rechts
-stop

Hier ist mal das Wemis D1 program :

	 #include <ESP8266WiFi.h>#include <SerialCraft.h>const char* ssid = "............";const char* password = "...........";WiFiServer server(80);SerialCraft sc;void setup() { sc.setup();   Serial.begin(9600);  WiFi.begin(ssid, password);  while (WiFi.status() != WL_CONNECTED) { delay(500); }  server.begin();}void loop() { sc.loop();  WiFiClient client = server.available(); if (!client) { return; }  while(!client.available()){ delay(1); }  String req = client.readStringUntil('\r'); client.flush();  if (req.indexOf("vor") != -1) sc.startMovingForward(); else if (req.indexOf("zur") != -1) sc.startMovingBackward();  else if (req.indexOf("links") != -1) sc.startMovingLeft(); else if (req.indexOf("rechts") != -1) sc.startMovingRight(); else if (req.indexOf("stop") != -1) { sc.stopMovingForward(); sc.stopMovingBackward(); sc.stopMovingLeft(); sc.stopMovingRight();  } else { client.stop(); return; }client.flush();delay(1);}
	

 

DSCN4973.JPG

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Irgendwie ist das Wemos -Programm nicht Formatiert.

Hier noch einmal:

	#include <ESP8266WiFi.h>
#include <SerialCraft.h>
	const char* ssid = "..............";
const char* password = "...............";
	WiFiServer server(80);
	SerialCraft sc;
	void setup() {
  sc.setup();  
  
  Serial.begin(9600);
 
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  
  server.begin();
}
	void loop() {
  sc.loop();
  
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  
  while(!client.available()){
    delay(1);
  }
  
  String req = client.readStringUntil('\r');
  client.flush();
  
  if (req.indexOf("vor") != -1)
    sc.startMovingForward();
  else if (req.indexOf("zur") != -1)
     sc.startMovingBackward(); 
  else if (req.indexOf("links") != -1)
    sc.startMovingLeft();
  else if (req.indexOf("rechts") != -1)
     sc.startMovingRight();
  else if (req.indexOf("stop") != -1) {
     sc.stopMovingForward();
     sc.stopMovingBackward();
     sc.stopMovingLeft();
     sc.stopMovingRight();    
  }
  else {
    client.stop();
    return;
  }
	  client.flush();
  delay(1);
}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B